summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgarak <garakmon@gmail.com>2018-12-16 20:05:31 -0500
committerGitHub <noreply@github.com>2018-12-16 20:05:31 -0500
commite292d0ca8375a8c54907d6bcf404e2e084344156 (patch)
treeb9c59449d47bf73d98d3e38fa26804a163d871ab /src
parent10237e8d13b35474ea999b4e9139f9a48a80c53d (diff)
parentd1e6e705ccf05f93933ae4494b1d388550d81d26 (diff)
Merge branch 'master' into fldeff
Diffstat (limited to 'src')
-rw-r--r--src/alloc.c210
-rw-r--r--src/apprentice.c320
-rw-r--r--src/battle_ai_script_commands.c2
-rw-r--r--src/battle_anim.c98
-rw-r--r--src/battle_anim_80A5C6C.c11
-rw-r--r--src/battle_anim_80D51AC.c99
-rwxr-xr-xsrc/battle_anim_8170478.c2267
-rw-r--r--src/battle_anim_effects_1.c5520
-rw-r--r--src/battle_anim_sound_tasks.c86
-rw-r--r--src/battle_anim_utility_funcs.c16
-rw-r--r--src/battle_controller_link_opponent.c17
-rw-r--r--src/battle_controller_link_partner.c2
-rw-r--r--src/battle_controller_opponent.c1
-rw-r--r--src/battle_controller_player.c1
-rw-r--r--src/battle_controller_player_partner.c5
-rw-r--r--src/battle_controller_recorded_opponent.c4
-rw-r--r--src/battle_controller_recorded_player.c4
-rw-r--r--src/battle_controller_wally.c3
-rw-r--r--src/battle_controllers.c68
-rw-r--r--src/battle_dome.c1227
-rw-r--r--src/battle_factory.c5
-rw-r--r--src/battle_factory_screen.c2
-rw-r--r--src/battle_gfx_sfx_util.c2
-rw-r--r--src/battle_interface.c420
-rw-r--r--src/battle_intro.c741
-rw-r--r--src/battle_main.c220
-rw-r--r--src/battle_message.c2160
-rw-r--r--src/battle_pike.c385
-rw-r--r--src/battle_pyramid.c707
-rw-r--r--src/battle_pyramid_bag.c2
-rw-r--r--src/battle_records.c2
-rw-r--r--src/battle_script_commands.c226
-rw-r--r--src/battle_setup.c23
-rw-r--r--src/battle_tent.c4
-rw-r--r--src/battle_tower.c1078
-rw-r--r--src/battle_transition.c42
-rw-r--r--src/battle_tv.c594
-rw-r--r--src/battle_util.c22
-rw-r--r--src/battle_util2.c2
-rw-r--r--src/berry.c6
-rw-r--r--src/berry_blender.c6
-rw-r--r--src/berry_fix_program.c2
-rw-r--r--src/berry_tag_screen.c2
-rw-r--r--src/birch_pc.c14
-rwxr-xr-xsrc/cable_car.c1006
-rw-r--r--src/clock.c2
-rw-r--r--src/contest.c2
-rw-r--r--src/contest_painting.c711
-rw-r--r--src/credits.c14
-rw-r--r--src/data/battle_frontier/battle_frontier_mons.h6177
-rw-r--r--src/data/battle_frontier/battle_frontier_trainer_mons.h15229
-rw-r--r--src/data/battle_frontier/battle_frontier_trainers.h2403
-rw-r--r--src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h1063
-rw-r--r--src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h1063
-rw-r--r--src/data/battle_frontier/battle_tent.h3005
-rw-r--r--src/data/battle_moves.h8524
-rw-r--r--src/data/contest_moves.h6000
-rw-r--r--src/data/decoration/description.h8
-rw-r--r--src/data/decoration/header.h9
-rw-r--r--src/data/decoration/icon.h9
-rw-r--r--src/data/decoration/tilemaps.h9
-rw-r--r--src/data/decoration/tiles.h5
-rwxr-xr-xsrc/data/field_event_obj/base_oam.h5
-rwxr-xr-xsrc/data/field_event_obj/berry_tree_graphics_tables.h6
-rwxr-xr-xsrc/data/field_event_obj/event_object_anims.h5
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics.h7
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics_info.h5
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics_info_pointers.h497
-rwxr-xr-xsrc/data/field_event_obj/event_object_pic_tables.h5
-rwxr-xr-xsrc/data/field_event_obj/event_object_subsprites.h5
-rwxr-xr-xsrc/data/field_event_obj/field_effect_object_template_pointers.h5
-rwxr-xr-xsrc/data/field_event_obj/field_effect_objects.h5
-rwxr-xr-xsrc/data/field_event_obj/movement_action_func_tables.h1221
-rwxr-xr-xsrc/data/field_event_obj/movement_type_func_tables.h5
-rw-r--r--src/data/graphics/items.h2
-rw-r--r--src/data/graphics/trainers.h8
-rw-r--r--src/data/item_icon_table.h817
-rw-r--r--src/data/items.h786
-rw-r--r--src/data/pokedex_orders.h1199
-rw-r--r--src/data/pokemon/base_stats.h5
-rw-r--r--src/data/pokemon/cry_ids.h275
-rw-r--r--src/data/pokemon/egg_moves.h5
-rw-r--r--src/data/pokemon/evolution.h5
-rw-r--r--src/data/pokemon/experience_tables.h5
-rw-r--r--src/data/pokemon/item_effects.h5
-rw-r--r--src/data/pokemon/level_up_learnset_pointers.h5
-rw-r--r--src/data/pokemon/level_up_learnsets.h5
-rw-r--r--src/data/pokemon/pokedex_entries.h1547
-rw-r--r--src/data/pokemon/pokedex_orders.h1195
-rw-r--r--src/data/pokemon/pokedex_text.h156
-rw-r--r--src/data/pokemon/tmhm_learnsets.h5
-rw-r--r--src/data/pokemon/trainer_class_lookups.h332
-rw-r--r--src/data/pokemon_graphics/back_pic_coordinates.h2643
-rw-r--r--src/data/pokemon_graphics/back_pic_table.h881
-rw-r--r--src/data/pokemon_graphics/enemy_mon_elevation.h826
-rw-r--r--src/data/pokemon_graphics/front_pic_coordinates.h2642
-rw-r--r--src/data/pokemon_graphics/front_pic_table.h887
-rw-r--r--src/data/pokemon_graphics/palette_table.h880
-rw-r--r--src/data/pokemon_graphics/shiny_palette_table.h880
-rw-r--r--src/data/region_map/region_map_entries.h2
-rw-r--r--src/data/text/abilities.h8
-rw-r--r--src/data/text/item_descriptions.h73
-rw-r--r--src/data/text/move_descriptions.h1418
-rw-r--r--src/data/text/species_names.h2
-rw-r--r--src/data/text/trainer_class_names.h137
-rw-r--r--src/data/trainer_graphics/front_pic_anims.h192
-rw-r--r--src/data/trainer_graphics/front_pic_tables.h8
-rw-r--r--src/data/trainer_parties.h19751
-rw-r--r--src/data/trainers.h296
-rw-r--r--src/data2b.c3
-rw-r--r--src/daycare.c15
-rw-r--r--src/decompress.c596
-rw-r--r--src/decoration.c6
-rw-r--r--src/dewford_trend.c2
-rw-r--r--src/diploma.c2
-rw-r--r--src/easy_chat.c5
-rw-r--r--src/effects_1.c2093
-rw-r--r--src/egg_hatch.c8
-rw-r--r--src/event_data.c3
-rw-r--r--src/event_object_movement.c798
-rw-r--r--src/evolution_scene.c2
-rw-r--r--src/field_control_avatar.c3
-rw-r--r--src/field_effect.c392
-rwxr-xr-xsrc/field_effect_helpers.c157
-rw-r--r--src/field_region_map.c2
-rw-r--r--src/field_screen.c15
-rw-r--r--src/field_screen_effect.c1261
-rw-r--r--src/field_specials.c213
-rw-r--r--src/field_weather.c1095
-rw-r--r--src/field_weather_effect.c2471
-rw-r--r--src/fieldmap.c2
-rw-r--r--src/fire.c923
-rw-r--r--src/fldeff_cut.c2
-rw-r--r--src/fldeff_flash.c4
-rw-r--r--src/fldeff_groundshake.c16
-rw-r--r--src/fldeff_sweetscent.c5
-rw-r--r--src/fossil_specials.c198
-rw-r--r--src/frontier_util.c127
-rw-r--r--src/ghost.c1161
-rw-r--r--src/gpu_regs.c210
-rw-r--r--src/graphics.c18
-rw-r--r--src/hall_of_fame.c2
-rw-r--r--src/international_string_util.c208
-rw-r--r--src/intro.c6
-rw-r--r--src/item.c281
-rw-r--r--src/item_icon.c7
-rwxr-xr-xsrc/item_menu.c262
-rw-r--r--src/item_menu_icons.c98
-rwxr-xr-xsrc/item_use.c15
-rw-r--r--src/landmark.c18
-rw-r--r--src/learn_move.c36
-rw-r--r--src/librfu_stwi.c34
-rw-r--r--src/link.c2
-rw-r--r--src/link_rfu.c1756
-rw-r--r--src/list_menu.c34
-rw-r--r--src/load_save.c2
-rw-r--r--src/mail.c2
-rw-r--r--src/main.c4
-rw-r--r--src/main_menu.c42
-rw-r--r--src/malloc.c210
-rw-r--r--src/mauville_old_man.c16
-rw-r--r--src/menu.c462
-rw-r--r--src/metatile_behavior.c480
-rw-r--r--src/mon_markings.c10
-rw-r--r--src/mossdeep_gym.c2
-rw-r--r--src/mystery_event_msg.c2
-rw-r--r--src/naming_screen.c4
-rw-r--r--src/new_game.c16
-rw-r--r--src/normal.c765
-rw-r--r--src/overworld.c74
-rw-r--r--src/player_pc.c105
-rw-r--r--src/pokeball.c12
-rw-r--r--src/pokeblock.c2
-rw-r--r--src/pokeblock_feed.c52
-rw-r--r--src/pokedex.c2027
-rwxr-xr-xsrc/pokedex_area_screen.c720
-rwxr-xr-xsrc/pokedex_cry_screen.c511
-rw-r--r--src/pokemon.c4187
-rw-r--r--src/pokemon_animation.c160
-rw-r--r--src/pokemon_icon.c882
-rw-r--r--src/pokemon_storage_system.c2
-rw-r--r--src/pokemon_summary_screen.c2
-rw-r--r--src/rayquaza_scene.c16
-rw-r--r--src/record_mixing.c10
-rw-r--r--src/recorded_battle.c4
-rw-r--r--src/region_map.c11
-rw-r--r--src/reset_save_heap.c2
-rw-r--r--src/roamer.c59
-rw-r--r--src/rom_8011DC0.c331
-rw-r--r--src/rom_8034C54.c7
-rw-r--r--src/rom_81520A8.c2
-rw-r--r--src/rotating_gate.c219
-rwxr-xr-xsrc/roulette_util.c700
-rw-r--r--src/rtc.c1
-rw-r--r--src/safari_zone.c36
-rw-r--r--src/scrcmd.c7
-rwxr-xr-xsrc/script_pokemon_util_80F87D8.c6
-rw-r--r--src/secret_base.c6
-rwxr-xr-xsrc/shop.c8
-rw-r--r--src/slot_machine.c140
-rw-r--r--src/start_menu.c22
-rw-r--r--src/strings.c428
-rw-r--r--src/task.c2
-rw-r--r--src/text.c26
-rw-r--r--src/title_screen.c16
-rw-r--r--src/trainer_pokemon_sprites.c6
-rw-r--r--src/trainer_see.c31
-rw-r--r--src/tv.c10
-rw-r--r--src/unk_pokedex_area_screen_helper.c13
-rw-r--r--src/use_pokeblock.c2
-rw-r--r--src/wallclock.c8
-rw-r--r--src/wild_encounter.c6432
-rw-r--r--src/window.c2
213 files changed, 94874 insertions, 40530 deletions
diff --git a/src/alloc.c b/src/alloc.c
new file mode 100644
index 000000000..2944bc1c6
--- /dev/null
+++ b/src/alloc.c
@@ -0,0 +1,210 @@
+#include "global.h"
+
+static void *sHeapStart;
+static u32 sHeapSize;
+static u32 malloc_c_unused_0300000c; // needed to align dma3_manager.o(.bss)
+
+#define MALLOC_SYSTEM_ID 0xA3A3
+
+struct MemBlock {
+ // Whether this block is currently allocated.
+ bool16 flag;
+
+ // Magic number used for error checking. Should equal MALLOC_SYSTEM_ID.
+ u16 magic;
+
+ // Size of the block (not including this header struct).
+ u32 size;
+
+ // Previous block pointer. Equals sHeapStart if this is the first block.
+ struct MemBlock *prev;
+
+ // Next block pointer. Equals sHeapStart if this is the last block.
+ struct MemBlock *next;
+
+ // Data in the memory block. (Arrays of length 0 are a GNU extension.)
+ u8 data[0];
+};
+
+void PutMemBlockHeader(void *block, struct MemBlock *prev, struct MemBlock *next, u32 size)
+{
+ struct MemBlock *header = (struct MemBlock *)block;
+
+ header->flag = FALSE;
+ header->magic = MALLOC_SYSTEM_ID;
+ header->size = size;
+ header->prev = prev;
+ header->next = next;
+}
+
+void PutFirstMemBlockHeader(void *block, u32 size)
+{
+ PutMemBlockHeader(block, (struct MemBlock *)block, (struct MemBlock *)block, size - sizeof(struct MemBlock));
+}
+
+void *AllocInternal(void *heapStart, u32 size)
+{
+ struct MemBlock *pos = (struct MemBlock *)heapStart;
+ struct MemBlock *head = pos;
+ struct MemBlock *splitBlock;
+ u32 foundBlockSize;
+
+ // Alignment
+ if (size & 3)
+ size = 4 * ((size / 4) + 1);
+
+ for (;;) {
+ // Loop through the blocks looking for unused block that's big enough.
+
+ if (!pos->flag) {
+ foundBlockSize = pos->size;
+
+ if (foundBlockSize >= size) {
+ if (foundBlockSize - size < 2 * sizeof(struct MemBlock)) {
+ // The block isn't much bigger than the requested size,
+ // so just use it.
+ pos->flag = TRUE;
+ } else {
+ // The block is significantly bigger than the requested
+ // size, so split the rest into a separate block.
+ foundBlockSize -= sizeof(struct MemBlock);
+ foundBlockSize -= size;
+
+ splitBlock = (struct MemBlock *)(pos->data + size);
+
+ pos->flag = TRUE;
+ pos->size = size;
+
+ PutMemBlockHeader(splitBlock, pos, pos->next, foundBlockSize);
+
+ pos->next = splitBlock;
+
+ if (splitBlock->next != head)
+ splitBlock->next->prev = splitBlock;
+ }
+
+ return pos->data;
+ }
+ }
+
+ if (pos->next == head)
+ return NULL;
+
+ pos = pos->next;
+ }
+}
+
+void FreeInternal(void *heapStart, void *pointer)
+{
+ if (pointer) {
+ struct MemBlock *head = (struct MemBlock *)heapStart;
+ struct MemBlock *block = (struct MemBlock *)((u8 *)pointer - sizeof(struct MemBlock));
+ block->flag = FALSE;
+
+ // If the freed block isn't the last one, merge with the next block
+ // if it's not in use.
+ if (block->next != head) {
+ if (!block->next->flag) {
+ block->size += sizeof(struct MemBlock) + block->next->size;
+ block->next->magic = 0;
+ block->next = block->next->next;
+ if (block->next != head)
+ block->next->prev = block;
+ }
+ }
+
+ // If the freed block isn't the first one, merge with the previous block
+ // if it's not in use.
+ if (block != head) {
+ if (!block->prev->flag) {
+ block->prev->next = block->next;
+
+ if (block->next != head)
+ block->next->prev = block->prev;
+
+ block->magic = 0;
+ block->prev->size += sizeof(struct MemBlock) + block->size;
+ }
+ }
+ }
+}
+
+void *AllocZeroedInternal(void *heapStart, u32 size)
+{
+ void *mem = AllocInternal(heapStart, size);
+
+ if (mem != NULL) {
+ if (size & 3)
+ size = 4 * ((size / 4) + 1);
+
+ CpuFill32(0, mem, size);
+ }
+
+ return mem;
+}
+
+bool32 CheckMemBlockInternal(void *heapStart, void *pointer)
+{
+ struct MemBlock *head = (struct MemBlock *)heapStart;
+ struct MemBlock *block = (struct MemBlock *)((u8 *)pointer - sizeof(struct MemBlock));
+
+ if (block->magic != MALLOC_SYSTEM_ID)
+ return FALSE;
+
+ if (block->next->magic != MALLOC_SYSTEM_ID)
+ return FALSE;
+
+ if (block->next != head && block->next->prev != block)
+ return FALSE;
+
+ if (block->prev->magic != MALLOC_SYSTEM_ID)
+ return FALSE;
+
+ if (block->prev != head && block->prev->next != block)
+ return FALSE;
+
+ if (block->next != head && block->next != (struct MemBlock *)(block->data + block->size))
+ return FALSE;
+
+ return TRUE;
+}
+
+void InitHeap(void *heapStart, u32 heapSize)
+{
+ sHeapStart = heapStart;
+ sHeapSize = heapSize;
+ PutFirstMemBlockHeader(heapStart, heapSize);
+}
+
+void *Alloc(u32 size)
+{
+ AllocInternal(sHeapStart, size);
+}
+
+void *AllocZeroed(u32 size)
+{
+ AllocZeroedInternal(sHeapStart, size);
+}
+
+void Free(void *pointer)
+{
+ FreeInternal(sHeapStart, pointer);
+}
+
+bool32 CheckMemBlock(void *pointer)
+{
+ return CheckMemBlockInternal(sHeapStart, pointer);
+}
+
+bool32 CheckHeap()
+{
+ struct MemBlock *pos = (struct MemBlock *)sHeapStart;
+
+ do {
+ if (!CheckMemBlockInternal(sHeapStart, pos->data))
+ return FALSE;
+ pos = pos->next;
+ } while (pos != (struct MemBlock *)sHeapStart);
+
+ return TRUE;
+}
diff --git a/src/apprentice.c b/src/apprentice.c
index 499f85094..ec8fea27b 100644
--- a/src/apprentice.c
+++ b/src/apprentice.c
@@ -9,7 +9,7 @@
#include "item.h"
#include "item_menu.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "new_game.h"
#include "party_menu.h"
@@ -2047,172 +2047,172 @@ NAKED
static void sub_81A1224(void)
{
asm_unified("\n\
- push {r4-r7,lr}\n\
- mov r7, r9\n\
- mov r6, r8\n\
- push {r6,r7}\n\
- ldr r1, =gSaveBlock2Ptr\n\
- ldr r3, [r1]\n\
- adds r0, r3, 0\n\
- adds r0, 0xB1\n\
- ldrb r0, [r0]\n\
- lsls r0, 26\n\
- lsrs r0, 28\n\
- adds r7, r1, 0\n\
- cmp r0, 0x2\n\
- bhi _081A1242\n\
- b _081A1362\n\
+ push {r4-r7,lr}\n\
+ mov r7, r9\n\
+ mov r6, r8\n\
+ push {r6,r7}\n\
+ ldr r1, =gSaveBlock2Ptr\n\
+ ldr r3, [r1]\n\
+ adds r0, r3, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ adds r7, r1, 0\n\
+ cmp r0, 0x2\n\
+ bhi _081A1242\n\
+ b _081A1362\n\
_081A1242:\n\
- movs r5, 0\n\
- movs r2, 0\n\
- adds r0, r3, 0\n\
- adds r0, 0xB8\n\
- ldrb r0, [r0]\n\
- lsls r0, 30\n\
- ldr r1, =gSpecialVar_0x8005\n\
- mov r12, r1\n\
- ldr r1, =gSpecialVar_Result\n\
- mov r8, r1\n\
- cmp r0, 0\n\
- beq _081A127C\n\
- adds r3, r7, 0\n\
+ movs r5, 0\n\
+ movs r2, 0\n\
+ adds r0, r3, 0\n\
+ adds r0, 0xB8\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 30\n\
+ ldr r1, =gSpecialVar_0x8005\n\
+ mov r12, r1\n\
+ ldr r1, =gSpecialVar_Result\n\
+ mov r8, r1\n\
+ cmp r0, 0\n\
+ beq _081A127C\n\
+ adds r3, r7, 0\n\
_081A125C:\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- adds r0, r2, 0x1\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- cmp r2, 0x8\n\
- bhi _081A127C\n\
- ldr r0, [r3]\n\
- lsls r1, r2, 2\n\
- adds r0, r1\n\
- adds r0, 0xB8\n\
- ldrb r0, [r0]\n\
- lsls r0, 30\n\
- cmp r0, 0\n\
- bne _081A125C\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ cmp r2, 0x8\n\
+ bhi _081A127C\n\
+ ldr r0, [r3]\n\
+ lsls r1, r2, 2\n\
+ adds r0, r1\n\
+ adds r0, 0xB8\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 30\n\
+ cmp r0, 0\n\
+ bne _081A125C\n\
_081A127C:\n\
- movs r4, 0\n\
- cmp r4, r5\n\
- bcs _081A1322\n\
- ldr r0, [r7]\n\
- adds r0, 0xB1\n\
- ldrb r0, [r0]\n\
- lsls r0, 26\n\
- lsrs r0, 28\n\
- subs r0, 0x3\n\
- cmp r4, r0\n\
- bge _081A1322\n\
- adds r6, r7, 0\n\
- mov r9, r4\n\
+ movs r4, 0\n\
+ cmp r4, r5\n\
+ bcs _081A1322\n\
+ ldr r0, [r7]\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ cmp r4, r0\n\
+ bge _081A1322\n\
+ adds r6, r7, 0\n\
+ mov r9, r4\n\
_081A1296:\n\
- ldr r3, [r6]\n\
- lsls r0, r4, 2\n\
- adds r2, r3, r0\n\
- adds r0, r2, 0\n\
- adds r0, 0xB8\n\
- ldrb r1, [r0]\n\
- lsls r0, r1, 30\n\
- lsrs r0, 30\n\
- cmp r0, 0x1\n\
- bne _081A1308\n\
- lsrs r0, r1, 6\n\
- cmp r0, 0\n\
- beq _081A1308\n\
- adds r0, r2, 0\n\
- adds r0, 0xBA\n\
- ldrh r0, [r0]\n\
- mov r2, r12\n\
- ldrh r2, [r2]\n\
- cmp r0, r2\n\
- bne _081A1308\n\
- adds r0, r3, 0\n\
- adds r0, 0xB1\n\
- ldrb r0, [r0]\n\
- lsls r0, 26\n\
- lsrs r0, 28\n\
- subs r0, 0x3\n\
- lsls r0, 2\n\
- adds r0, r3, r0\n\
- adds r0, 0xB8\n\
- ldrb r2, [r0]\n\
- movs r1, 0x3F\n\
- ands r1, r2\n\
- strb r1, [r0]\n\
- ldr r1, [r6]\n\
- adds r0, r1, 0\n\
- adds r0, 0xB1\n\
- ldrb r0, [r0]\n\
- lsls r0, 26\n\
- lsrs r0, 28\n\
- subs r0, 0x3\n\
- lsls r0, 2\n\
- adds r1, r0\n\
- mov r2, r12\n\
- ldrh r0, [r2]\n\
- adds r1, 0xBA\n\
- strh r0, [r1]\n\
- mov r1, r9\n\
- mov r0, r8\n\
- strh r1, [r0]\n\
- b _081A1362\n\
- .pool\n\
+ ldr r3, [r6]\n\
+ lsls r0, r4, 2\n\
+ adds r2, r3, r0\n\
+ adds r0, r2, 0\n\
+ adds r0, 0xB8\n\
+ ldrb r1, [r0]\n\
+ lsls r0, r1, 30\n\
+ lsrs r0, 30\n\
+ cmp r0, 0x1\n\
+ bne _081A1308\n\
+ lsrs r0, r1, 6\n\
+ cmp r0, 0\n\
+ beq _081A1308\n\
+ adds r0, r2, 0\n\
+ adds r0, 0xBA\n\
+ ldrh r0, [r0]\n\
+ mov r2, r12\n\
+ ldrh r2, [r2]\n\
+ cmp r0, r2\n\
+ bne _081A1308\n\
+ adds r0, r3, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r0, r3, r0\n\
+ adds r0, 0xB8\n\
+ ldrb r2, [r0]\n\
+ movs r1, 0x3F\n\
+ ands r1, r2\n\
+ strb r1, [r0]\n\
+ ldr r1, [r6]\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r1, r0\n\
+ mov r2, r12\n\
+ ldrh r0, [r2]\n\
+ adds r1, 0xBA\n\
+ strh r0, [r1]\n\
+ mov r1, r9\n\
+ mov r0, r8\n\
+ strh r1, [r0]\n\
+ b _081A1362\n\
+ .pool\n\
_081A1308:\n\
- adds r0, r4, 0x1\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, r5\n\
- bcs _081A1322\n\
- ldr r0, [r6]\n\
- adds r0, 0xB1\n\
- ldrb r0, [r0]\n\
- lsls r0, 26\n\
- lsrs r0, 28\n\
- subs r0, 0x3\n\
- cmp r4, r0\n\
- blt _081A1296\n\
+ adds r0, r4, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r4, r0, 24\n\
+ cmp r4, r5\n\
+ bcs _081A1322\n\
+ ldr r0, [r6]\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ cmp r4, r0\n\
+ blt _081A1296\n\
_081A1322:\n\
- ldr r2, [r7]\n\
- adds r0, r2, 0\n\
- adds r0, 0xB1\n\
- ldrb r0, [r0]\n\
- lsls r0, 26\n\
- lsrs r0, 28\n\
- subs r0, 0x3\n\
- lsls r0, 2\n\
- adds r2, r0\n\
- adds r2, 0xB8\n\
- ldrb r1, [r2]\n\
- movs r0, 0x3F\n\
- ands r0, r1\n\
- movs r1, 0x40\n\
- orrs r0, r1\n\
- strb r0, [r2]\n\
- ldr r1, [r7]\n\
- adds r0, r1, 0\n\
- adds r0, 0xB1\n\
- ldrb r0, [r0]\n\
- lsls r0, 26\n\
- lsrs r0, 28\n\
- subs r0, 0x3\n\
- lsls r0, 2\n\
- adds r1, r0\n\
- mov r2, r12\n\
- ldrh r0, [r2]\n\
- adds r1, 0xBA\n\
- strh r0, [r1]\n\
- movs r0, 0x1\n\
- mov r1, r8\n\
- strh r0, [r1]\n\
+ ldr r2, [r7]\n\
+ adds r0, r2, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r2, r0\n\
+ adds r2, 0xB8\n\
+ ldrb r1, [r2]\n\
+ movs r0, 0x3F\n\
+ ands r0, r1\n\
+ movs r1, 0x40\n\
+ orrs r0, r1\n\
+ strb r0, [r2]\n\
+ ldr r1, [r7]\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xB1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 26\n\
+ lsrs r0, 28\n\
+ subs r0, 0x3\n\
+ lsls r0, 2\n\
+ adds r1, r0\n\
+ mov r2, r12\n\
+ ldrh r0, [r2]\n\
+ adds r1, 0xBA\n\
+ strh r0, [r1]\n\
+ movs r0, 0x1\n\
+ mov r1, r8\n\
+ strh r0, [r1]\n\
_081A1362:\n\
- pop {r3,r4}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
+ pop {r3,r4}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
");
}
#endif // NONMATCHING
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index 3e7064eb5..a88189870 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -463,7 +463,7 @@ static u8 ChooseMoveOrAction_Doubles(void)
{
if (i == sBattler_AI || gBattleMons[i].hp == 0)
{
- actionOrMoveIndex[i] = -1;
+ actionOrMoveIndex[i] = 0xFF;
bestMovePointsForTarget[i] = -1;
}
else
diff --git a/src/battle_anim.c b/src/battle_anim.c
index e8720fcfb..5e62c0957 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -26,8 +26,6 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern const u16 gMovesWithQuietBGM[];
extern const u8 *const gBattleAnims_Moves[];
-extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
-extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
extern const struct BattleAnimBackground gBattleAnimBackgroundTable[];
// this file's functions
@@ -1386,54 +1384,54 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
static void (* const sScriptCmdTable[])(void) =
{
- ScriptCmd_loadspritegfx,
- ScriptCmd_unloadspritegfx,
- ScriptCmd_createsprite,
- ScriptCmd_createvisualtask,
- ScriptCmd_delay,
- ScriptCmd_waitforvisualfinish,
- ScriptCmd_hang1,
- ScriptCmd_hang2,
- ScriptCmd_end,
- ScriptCmd_playse,
- ScriptCmd_monbg,
- ScriptCmd_clearmonbg,
- ScriptCmd_setalpha,
- ScriptCmd_blendoff,
- ScriptCmd_call,
- ScriptCmd_return,
- ScriptCmd_setarg,
- ScriptCmd_choosetwoturnanim,
- ScriptCmd_jumpifmoveturn,
- ScriptCmd_goto,
- ScriptCmd_fadetobg,
- ScriptCmd_restorebg,
- ScriptCmd_waitbgfadeout,
- ScriptCmd_waitbgfadein,
- ScriptCmd_changebg,
- ScriptCmd_playsewithpan,
- ScriptCmd_setpan,
- ScriptCmd_panse_1B,
- ScriptCmd_loopsewithpan,
- ScriptCmd_waitplaysewithpan,
- ScriptCmd_setbldcnt,
- ScriptCmd_createsoundtask,
- ScriptCmd_waitsound,
- ScriptCmd_jumpargeq,
- ScriptCmd_monbg_22,
- ScriptCmd_clearmonbg_23,
- ScriptCmd_jumpifcontest,
- ScriptCmd_fadetobgfromset,
- ScriptCmd_panse_26,
- ScriptCmd_panse_27,
- ScriptCmd_monbgprio_28,
- ScriptCmd_monbgprio_29,
- ScriptCmd_monbgprio_2A,
- ScriptCmd_invisible,
- ScriptCmd_visible,
- ScriptCmd_doublebattle_2D,
- ScriptCmd_doublebattle_2E,
- ScriptCmd_stopsound
+ ScriptCmd_loadspritegfx,
+ ScriptCmd_unloadspritegfx,
+ ScriptCmd_createsprite,
+ ScriptCmd_createvisualtask,
+ ScriptCmd_delay,
+ ScriptCmd_waitforvisualfinish,
+ ScriptCmd_hang1,
+ ScriptCmd_hang2,
+ ScriptCmd_end,
+ ScriptCmd_playse,
+ ScriptCmd_monbg,
+ ScriptCmd_clearmonbg,
+ ScriptCmd_setalpha,
+ ScriptCmd_blendoff,
+ ScriptCmd_call,
+ ScriptCmd_return,
+ ScriptCmd_setarg,
+ ScriptCmd_choosetwoturnanim,
+ ScriptCmd_jumpifmoveturn,
+ ScriptCmd_goto,
+ ScriptCmd_fadetobg,
+ ScriptCmd_restorebg,
+ ScriptCmd_waitbgfadeout,
+ ScriptCmd_waitbgfadein,
+ ScriptCmd_changebg,
+ ScriptCmd_playsewithpan,
+ ScriptCmd_setpan,
+ ScriptCmd_panse_1B,
+ ScriptCmd_loopsewithpan,
+ ScriptCmd_waitplaysewithpan,
+ ScriptCmd_setbldcnt,
+ ScriptCmd_createsoundtask,
+ ScriptCmd_waitsound,
+ ScriptCmd_jumpargeq,
+ ScriptCmd_monbg_22,
+ ScriptCmd_clearmonbg_23,
+ ScriptCmd_jumpifcontest,
+ ScriptCmd_fadetobgfromset,
+ ScriptCmd_panse_26,
+ ScriptCmd_panse_27,
+ ScriptCmd_monbgprio_28,
+ ScriptCmd_monbgprio_29,
+ ScriptCmd_monbgprio_2A,
+ ScriptCmd_invisible,
+ ScriptCmd_visible,
+ ScriptCmd_doublebattle_2D,
+ ScriptCmd_doublebattle_2E,
+ ScriptCmd_stopsound
};
// code
diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c
index 2ac6cca90..9adbdd779 100644
--- a/src/battle_anim_80A5C6C.c
+++ b/src/battle_anim_80A5C6C.c
@@ -7,7 +7,7 @@
#include "decompress.h"
#include "dma3.h"
#include "gpu_regs.h"
-#include "malloc.h"
+#include "alloc.h"
#include "palette.h"
#include "pokemon_icon.h"
#include "sprite.h"
@@ -35,7 +35,6 @@ extern const union AffineAnimCmd *gUnknown_082FF6C0[];
// This file's functions.
void sub_80A64EC(struct Sprite *sprite);
-void sub_80A653C(struct Sprite *sprite);
void sub_80A6FB4(struct Sprite *sprite);
void sub_80A7144(struct Sprite *sprite);
void sub_80A791C(struct Sprite *sprite);
@@ -539,7 +538,7 @@ void WaitAnimForDuration(struct Sprite *sprite)
void sub_80A64D0(struct Sprite *sprite)
{
sub_80A64EC(sprite);
- sprite->callback = sub_80A653C;
+ sprite->callback = TranslateSpriteOverDuration;
sprite->callback(sprite);
}
@@ -557,7 +556,7 @@ void sub_80A64EC(struct Sprite *sprite)
sprite->data[1] = old;
}
-void sub_80A653C(struct Sprite *sprite)
+void TranslateSpriteOverDuration(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -613,7 +612,7 @@ void sub_80A65EC(struct Sprite *sprite)
sprite->callback = sub_80A64D0;
}
-void sub_80A6630(struct Sprite *sprite)
+void TranslateMonBGUntil(struct Sprite *sprite)
{
if (sprite->data[0] > 0)
{
@@ -627,7 +626,7 @@ void sub_80A6630(struct Sprite *sprite)
}
}
-// Same as sub_80A6630, but it operates on sub-pixel values
+// Same as TranslateMonBGUntil, but it operates on sub-pixel values
// to handle slower translations.
void sub_80A6680(struct Sprite *sprite)
{
diff --git a/src/battle_anim_80D51AC.c b/src/battle_anim_80D51AC.c
index 25e07dc3a..51be7bbe9 100644
--- a/src/battle_anim_80D51AC.c
+++ b/src/battle_anim_80D51AC.c
@@ -11,15 +11,15 @@ void AnimTask_ShakeMon2Step(u8 taskId);
void AnimTask_ShakeMonInPlaceStep(u8 taskId);
void AnimTask_ShakeAndSinkMonStep(u8 taskId);
void sub_80D57B8(u8 taskId);
-void DoHorizontalLunge(struct Sprite *sprite);
-void ReverseHorizontalLungeDirection(struct Sprite *sprite);
-void DoVerticalDip(struct Sprite *sprite);
-void ReverseVerticalDipDirection(struct Sprite* sprite);
-void SlideMonToOriginalPos(struct Sprite *sprite);
-void SlideMonToOriginalPosStep(struct Sprite *sprite);
-void SlideMonToOffset(struct Sprite *sprite);
-void sub_80D5B48(struct Sprite *sprite);
-void sub_80D5C20(struct Sprite *sprite);
+static void DoHorizontalLunge(struct Sprite *sprite);
+static void ReverseHorizontalLungeDirection(struct Sprite *sprite);
+static void DoVerticalDip(struct Sprite *sprite);
+static void ReverseVerticalDipDirection(struct Sprite* sprite);
+static void SlideMonToOriginalPos(struct Sprite *sprite);
+static void SlideMonToOriginalPosStep(struct Sprite *sprite);
+static void SlideMonToOffset(struct Sprite *sprite);
+static void sub_80D5B48(struct Sprite *sprite);
+static void sub_80D5C20(struct Sprite *sprite);
void AnimTask_WindUpLungePart1(u8 taskId);
void AnimTask_WindUpLungePart2(u8 taskId);
void AnimTask_SwayMonStep(u8 taskId);
@@ -28,6 +28,61 @@ void sub_80D6308(u8 taskId);
void sub_80D646C(u8 taskId);
void sub_80A8B3C(u8 taskId);
+const struct SpriteTemplate gHorizontalLungeSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = DoHorizontalLunge,
+};
+
+const struct SpriteTemplate gVerticalDipSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = DoVerticalDip,
+};
+
+const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SlideMonToOriginalPos,
+};
+
+const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SlideMonToOffset,
+};
+
+const struct SpriteTemplate gUnknown_0857FE88 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D5B48,
+};
+
// Task to facilitate simple shaking of a pokemon's picture in battle.
// The shaking alternates between the original position and the target position.
// arg 0: anim battler
@@ -373,7 +428,7 @@ void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId)
// horizontally, and then moves back in the opposite direction.
// arg 0: duration of single lunge direction
// arg 1: x pixel delta that is applied each frame
-void DoHorizontalLunge(struct Sprite *sprite)
+static void DoHorizontalLunge(struct Sprite *sprite)
{
sprite->invisible = TRUE;
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
@@ -386,14 +441,14 @@ void DoHorizontalLunge(struct Sprite *sprite)
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
sprite->data[4] = gBattleAnimArgs[0];
StoreSpriteCallbackInData6(sprite, ReverseHorizontalLungeDirection);
- sprite->callback = sub_80A6630;
+ sprite->callback = TranslateMonBGUntil;
}
-void ReverseHorizontalLungeDirection(struct Sprite *sprite)
+static void ReverseHorizontalLungeDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[1] = -sprite->data[1];
- sprite->callback = sub_80A6630;
+ sprite->callback = TranslateMonBGUntil;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -402,7 +457,7 @@ void ReverseHorizontalLungeDirection(struct Sprite *sprite)
// arg 0: duration of single dip direction
// arg 1: y pixel delta that is applied each frame
// arg 2: battler
-void DoVerticalDip(struct Sprite *sprite)
+static void DoVerticalDip(struct Sprite *sprite)
{
u8 spriteId;
sprite->invisible = TRUE;
@@ -413,14 +468,14 @@ void DoVerticalDip(struct Sprite *sprite)
sprite->data[3] = spriteId;
sprite->data[4] = gBattleAnimArgs[0];
StoreSpriteCallbackInData6(sprite, ReverseVerticalDipDirection);
- sprite->callback = sub_80A6630;
+ sprite->callback = TranslateMonBGUntil;
}
-void ReverseVerticalDipDirection(struct Sprite *sprite)
+static void ReverseVerticalDipDirection(struct Sprite *sprite)
{
sprite->data[0] = sprite->data[4];
sprite->data[2] = -sprite->data[2];
- sprite->callback = sub_80A6630;
+ sprite->callback = TranslateMonBGUntil;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -429,7 +484,7 @@ void ReverseVerticalDipDirection(struct Sprite *sprite)
// arg 0: 1 = target or 0 = attacker
// arg 1: direction (0 = horizontal and vertical, 1 = horizontal only, 2 = vertical only)
// arg 2: duration
-void SlideMonToOriginalPos(struct Sprite *sprite)
+static void SlideMonToOriginalPos(struct Sprite *sprite)
{
u32 monSpriteId;
if (!gBattleAnimArgs[0])
@@ -459,7 +514,7 @@ void SlideMonToOriginalPos(struct Sprite *sprite)
sprite->callback = SlideMonToOriginalPosStep;
}
-void SlideMonToOriginalPosStep(struct Sprite *sprite)
+static void SlideMonToOriginalPosStep(struct Sprite *sprite)
{
s8 monSpriteId;
u8 lo;
@@ -496,7 +551,7 @@ void SlideMonToOriginalPosStep(struct Sprite *sprite)
// arg 2: target y pixel offset
// arg 3: mirror vertical translation for opposite battle side
// arg 4: duration
-void SlideMonToOffset(struct Sprite *sprite)
+static void SlideMonToOffset(struct Sprite *sprite)
{
u8 battler;
u8 monSpriteId;
@@ -529,7 +584,7 @@ void SlideMonToOffset(struct Sprite *sprite)
sprite->callback = sub_80A6680;
}
-void sub_80D5B48(struct Sprite *sprite)
+static void sub_80D5B48(struct Sprite *sprite)
{
u8 spriteId;
u8 battlerId;
@@ -573,7 +628,7 @@ void sub_80D5B48(struct Sprite *sprite)
}
-void sub_80D5C20(struct Sprite *sprite)
+static void sub_80D5C20(struct Sprite *sprite)
{
gSprites[sprite->data[5]].pos2.x = 0;
gSprites[sprite->data[5]].pos2.y = 0;
diff --git a/src/battle_anim_8170478.c b/src/battle_anim_8170478.c
new file mode 100755
index 000000000..94f2c95b5
--- /dev/null
+++ b/src/battle_anim_8170478.c
@@ -0,0 +1,2267 @@
+#include "global.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "battle_controllers.h"
+#include "battle_interface.h"
+#include "decompress.h"
+#include "dma3.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "m4a.h"
+#include "main.h"
+#include "palette.h"
+#include "pokeball.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "util.h"
+#include "constants/rgb.h"
+#include "constants/items.h"
+#include "constants/songs.h"
+
+// iwram
+int gUnknown_030062DC;
+u16 gUnknown_030062E0;
+u16 gUnknown_030062E4;
+
+static void sub_8170660(u8);
+static void sub_8170A38(u8);
+static void sub_8170EF0(u8);
+static void sub_8171104(struct Sprite *);
+static void sub_8171030(u8);
+static void sub_81710A8(u8);
+static void sub_8171134(struct Sprite *);
+static void sub_8171CAC(struct Sprite *);
+static void sub_81711E8(struct Sprite *);
+static void sub_8171240(struct Sprite *);
+static void sub_817138C(struct Sprite *);
+static void sub_81713D0(struct Sprite *);
+static void sub_81717B4(struct Sprite *);
+static void sub_81714D4(struct Sprite *);
+static void sub_8171520(struct Sprite *);
+static void sub_81717D8(struct Sprite *);
+static void sub_8171AE4(struct Sprite *);
+static void sub_81717F8(struct Sprite *);
+static void sub_81719EC(struct Sprite *);
+static void sub_81718D8(struct Sprite *);
+static void sub_81719C0(struct Sprite *);
+static void sub_8171D60(u8);
+static void sub_8171AAC(struct Sprite *);
+static void sub_8171BAC(struct Sprite *);
+static void sub_8171CE8(struct Sprite *);
+static void PokeBallOpenParticleAnimation_Step1(struct Sprite *);
+static void PokeBallOpenParticleAnimation_Step2(struct Sprite *);
+static void DestroyBallOpenAnimationParticle(struct Sprite *);
+static void FanOutBallOpenParticles_Step1(struct Sprite *);
+static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *);
+static void PremierBallOpenParticleAnimation_Step1(struct Sprite *);
+static void sub_8172AB0(u8);
+static void sub_8172B40(u8);
+static void sub_8172B90(u8);
+static void sub_8172FEC(u8);
+static void sub_81731FC(struct Sprite *);
+static void sub_8173250(struct Sprite *);
+static void sub_81731B0(u8);
+static void sub_817339C(struct Sprite *);
+static void sub_81733D4(struct Sprite *);
+static void sub_8173400(struct Sprite *);
+static void PokeBallOpenParticleAnimation(u8);
+static void GreatBallOpenParticleAnimation(u8);
+static void SafariBallOpenParticleAnimation(u8);
+static void UltraBallOpenParticleAnimation(u8);
+static void MasterBallOpenParticleAnimation(u8);
+static void DiveBallOpenParticleAnimation(u8);
+static void RepeatBallOpenParticleAnimation(u8);
+static void TimerBallOpenParticleAnimation(u8);
+static void PremierBallOpenParticleAnimation(u8);
+static void sub_817330C(struct Sprite *);
+
+struct BallCaptureSuccessStarData
+{
+ s8 xOffset;
+ s8 yOffset;
+ s8 unk2;
+};
+
+static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] =
+{
+ {
+ .xOffset = 10,
+ .yOffset = 2,
+ .unk2 = -3,
+ },
+ {
+ .xOffset = 15,
+ .yOffset = 0,
+ .unk2 = -4,
+ },
+ {
+ .xOffset = -10,
+ .yOffset = 2,
+ .unk2 = -4,
+ },
+};
+
+const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] =
+{
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EC},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6ED},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EE},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6EF},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F0},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F1},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F2},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F3},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F4},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F5},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F6},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 0xD6F7},
+};
+
+const struct CompressedSpritePalette gBallOpenParticlePalettes[] =
+{
+ {gBattleAnimSpritePalette_136, 0xD6EC},
+ {gBattleAnimSpritePalette_136, 0xD6ED},
+ {gBattleAnimSpritePalette_136, 0xD6EE},
+ {gBattleAnimSpritePalette_136, 0xD6EF},
+ {gBattleAnimSpritePalette_136, 0xD6F0},
+ {gBattleAnimSpritePalette_136, 0xD6F1},
+ {gBattleAnimSpritePalette_136, 0xD6F2},
+ {gBattleAnimSpritePalette_136, 0xD6F3},
+ {gBattleAnimSpritePalette_136, 0xD6F4},
+ {gBattleAnimSpritePalette_136, 0xD6F5},
+ {gBattleAnimSpritePalette_136, 0xD6F6},
+ {gBattleAnimSpritePalette_136, 0xD6F7},
+};
+
+const union AnimCmd gUnknown_085E5154[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_085E5170[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085E5178[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085E5180[] =
+{
+ ANIMCMD_FRAME(5, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085E5188[] =
+{
+ ANIMCMD_FRAME(6, 4),
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_085E5194[] =
+{
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085E519C[] =
+{
+ gUnknown_085E5154,
+ gUnknown_085E5170,
+ gUnknown_085E5178,
+ gUnknown_085E5180,
+ gUnknown_085E5188,
+ gUnknown_085E5194,
+};
+
+const u8 gBallOpenParticleAnimNums[] =
+{
+ 0,
+ 0,
+ 0,
+ 5,
+ 1,
+ 2,
+ 2,
+ 3,
+ 5,
+ 5,
+ 4,
+ 4,
+};
+
+const TaskFunc gBallOpenParticleAnimationFuncs[] =
+{
+ PokeBallOpenParticleAnimation,
+ GreatBallOpenParticleAnimation,
+ SafariBallOpenParticleAnimation,
+ UltraBallOpenParticleAnimation,
+ MasterBallOpenParticleAnimation,
+ SafariBallOpenParticleAnimation,
+ DiveBallOpenParticleAnimation,
+ UltraBallOpenParticleAnimation,
+ RepeatBallOpenParticleAnimation,
+ TimerBallOpenParticleAnimation,
+ GreatBallOpenParticleAnimation,
+ PremierBallOpenParticleAnimation,
+};
+
+const struct SpriteTemplate gUnknown_085E51F0[] =
+{
+ {
+ .tileTag = 55020,
+ .paletteTag = 55020,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55021,
+ .paletteTag = 55021,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55022,
+ .paletteTag = 55022,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55023,
+ .paletteTag = 55023,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55024,
+ .paletteTag = 55024,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55025,
+ .paletteTag = 55025,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55026,
+ .paletteTag = 55026,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55027,
+ .paletteTag = 55027,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55028,
+ .paletteTag = 55028,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55029,
+ .paletteTag = 55029,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55030,
+ .paletteTag = 55030,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55031,
+ .paletteTag = 55031,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085E519C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+};
+
+const u16 gUnknown_085E5310[] =
+{
+ RGB(31, 22, 30),
+ RGB(16, 23, 30),
+ RGB(23, 30, 20),
+ RGB(31, 31, 15),
+ RGB(23, 20, 28),
+ RGB(21, 31, 25),
+ RGB(12, 25, 30),
+ RGB(30, 27, 10),
+ RGB(31, 24, 16),
+ RGB(29, 30, 30),
+ RGB(31, 17, 10),
+ RGB(31, 9, 10),
+ RGB(0, 0, 0),
+ RGB(1, 16, 0),
+ RGB(3, 0, 1),
+ RGB(1, 8, 0),
+ RGB(0, 8, 0),
+ RGB(3, 8, 1),
+ RGB(6, 8, 1),
+ RGB(4, 0, 0),
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85E5338 =
+{
+ .tileTag = ANIM_TAG_UNUSED_RED_BRICK,
+ .paletteTag = ANIM_TAG_UNUSED_RED_BRICK,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_817330C,
+};
+
+const union AnimCmd gUnknown_085E5350[] =
+{
+ ANIMCMD_FRAME(64, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085E5358[] = {
+ gUnknown_085E5350,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C =
+{
+ .tileTag = ANIM_TAG_ROCKS,
+ .paletteTag = ANIM_TAG_ROCKS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085E5358,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_817330C,
+};
+
+extern const struct SpriteTemplate gUnknown_085CE388;
+extern const struct SpriteTemplate gUnknown_085CE3A0;
+
+void unref_sub_8170478(u8 taskId)
+{
+ struct UnknownAnimStruct2 unknownStruct;
+ u8 healthBoxSpriteId;
+ u8 battler;
+ u8 spriteId1, spriteId2, spriteId3, spriteId4;
+
+ battler = gBattleAnimAttacker;
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 0);
+ SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0);
+ SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 1);
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
+
+ healthBoxSpriteId = gHealthboxSpriteIds[battler];
+ spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
+ spriteId2 = gSprites[healthBoxSpriteId].data[5];
+ spriteId3 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ spriteId4 = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ gSprites[healthBoxSpriteId].oam.priority = 1;
+ gSprites[spriteId1].oam.priority = 1;
+ gSprites[spriteId2].oam.priority = 1;
+ gSprites[spriteId3] = gSprites[healthBoxSpriteId];
+ gSprites[spriteId4] = gSprites[spriteId1];
+ gSprites[spriteId3].oam.objMode = ST_OAM_OBJ_WINDOW;
+ gSprites[spriteId4].oam.objMode = ST_OAM_OBJ_WINDOW;
+ gSprites[spriteId3].callback = SpriteCallbackDummy;
+ gSprites[spriteId4].callback = SpriteCallbackDummy;
+
+ sub_80A6B30(&unknownStruct);
+ sub_80A6D48(unknownStruct.bgId, gUnknown_08C2EA9C);
+ sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset);
+ LoadCompressedPalette(gUnknown_08C2DDA4, unknownStruct.unk8 << 4, 32);
+
+ gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
+ gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
+ gTasks[taskId].data[1] = 640;
+ gTasks[taskId].data[0] = spriteId3;
+ gTasks[taskId].data[2] = spriteId4;
+ gTasks[taskId].func = sub_8170660;
+}
+
+static void sub_8170660(u8 taskId)
+{
+ u8 spriteId1, spriteId2;
+ u8 battler;
+
+ battler = gBattleAnimAttacker;
+ gTasks[taskId].data[13] += gTasks[taskId].data[1];
+ gBattle_BG1_Y += (u16)gTasks[taskId].data[13] >> 8;
+ gTasks[taskId].data[13] &= 0xFF;
+
+ switch (gTasks[taskId].data[15])
+ {
+ case 0:
+ if (gTasks[taskId].data[11]++ > 1)
+ {
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[12]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
+ if (gTasks[taskId].data[12] == 8)
+ gTasks[taskId].data[15]++;
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[10] == 30)
+ gTasks[taskId].data[15]++;
+ break;
+ case 2:
+ if (gTasks[taskId].data[11]++ > 1)
+ {
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[12]--;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
+ if (gTasks[taskId].data[12] == 0)
+ {
+ sub_80A477C(0);
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+
+ SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ DestroySprite(&gSprites[gTasks[taskId].data[0]]);
+ DestroySprite(&gSprites[gTasks[taskId].data[2]]);
+ SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 0);
+ spriteId1 = gSprites[gHealthboxSpriteIds[battler]].oam.affineParam;
+ spriteId2 = gSprites[gHealthboxSpriteIds[battler]].data[5];
+ gSprites[gHealthboxSpriteIds[battler]].oam.priority = 1;
+ gSprites[spriteId1].oam.priority = 1;
+ gSprites[spriteId2].oam.priority = 1;
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+ break;
+ }
+}
+
+static void sub_8170834(u8 *paletteId1, u8 *paletteId2, u8 battler)
+{
+ u8 healthBoxSpriteId;
+ u8 spriteId1, spriteId2;
+ u16 offset1, offset2;
+
+ healthBoxSpriteId = gHealthboxSpriteIds[battler];
+ spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
+ spriteId2 = gSprites[healthBoxSpriteId].data[5];
+ *paletteId1 = AllocSpritePalette(0xD709);
+ *paletteId2 = AllocSpritePalette(0xD70A);
+
+ offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100;
+ offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100;
+ LoadPalette(&gPlttBufferUnfaded[offset1], *paletteId1 * 16 + 0x100, 0x20);
+ LoadPalette(&gPlttBufferUnfaded[offset2], *paletteId2 * 16 + 0x100, 0x20);
+
+ gSprites[healthBoxSpriteId].oam.paletteNum = *paletteId1;
+ gSprites[spriteId1].oam.paletteNum = *paletteId1;
+ gSprites[spriteId2].oam.paletteNum = *paletteId2;
+}
+
+void sub_8170920(u8 taskId)
+{
+ u8 paletteId1, paletteId2;
+ sub_8170834(&paletteId1, &paletteId2, gBattleAnimAttacker);
+ DestroyAnimVisualTask(taskId);
+}
+
+static void sub_817094C(u8 battler)
+{
+ u8 healthBoxSpriteId;
+ u8 spriteId1, spriteId2;
+ u8 paletteId1, paletteId2;
+
+ healthBoxSpriteId = gHealthboxSpriteIds[battler];
+ spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
+ spriteId2 = gSprites[healthBoxSpriteId].data[5];
+
+ FreeSpritePaletteByTag(0xD709);
+ FreeSpritePaletteByTag(0xD70A);
+ paletteId1 = IndexOfSpritePaletteTag(0xD6FF);
+ paletteId2 = IndexOfSpritePaletteTag(0xD704);
+ gSprites[healthBoxSpriteId].oam.paletteNum = paletteId1;
+ gSprites[spriteId1].oam.paletteNum = paletteId1;
+ gSprites[spriteId2].oam.paletteNum = paletteId2;
+}
+
+void sub_81709EC(u8 taskId)
+{
+ sub_817094C(gBattleAnimAttacker);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8170A0C(u8 taskId)
+{
+ gTasks[taskId].data[10] = gBattleAnimArgs[0];
+ gTasks[taskId].data[11] = gBattleAnimArgs[1];
+ gTasks[taskId].func = sub_8170A38;
+}
+
+static void sub_8170A38(u8 taskId)
+{
+ u8 paletteNum;
+ int paletteOffset, colorOffset;
+
+ gTasks[taskId].data[0]++;
+ if (gTasks[taskId].data[0]++ >= gTasks[taskId].data[11])
+ {
+ gTasks[taskId].data[0] = 0;
+ paletteNum = IndexOfSpritePaletteTag(0xD709);
+ colorOffset = gTasks[taskId].data[10] == 0 ? 6 : 2;
+ switch (gTasks[taskId].data[1])
+ {
+ case 0:
+ gTasks[taskId].data[2] += 2;
+ if (gTasks[taskId].data[2] > 16)
+ gTasks[taskId].data[2] = 16;
+
+ paletteOffset = paletteNum * 16 + 0x100;
+ BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31));
+ if (gTasks[taskId].data[2] == 16)
+ gTasks[taskId].data[1]++;
+ break;
+ case 1:
+ gTasks[taskId].data[2] -= 2;
+ if (gTasks[taskId].data[2] < 0)
+ gTasks[taskId].data[2] = 0;
+
+ paletteOffset = paletteNum * 16 + 0x100;
+ BlendPalette(paletteOffset + colorOffset, 1, gTasks[taskId].data[2], RGB(20, 27, 31));
+ if (gTasks[taskId].data[2] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+ }
+}
+
+void sub_8170B04(u8 taskId)
+{
+ u8 spriteId;
+
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ sub_80A7270(spriteId, 0);
+ gTasks[taskId].data[10] = 0x100;
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ gTasks[taskId].data[10] += 0x30;
+ obj_id_set_rotscale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
+ sub_80A7E6C(spriteId);
+ if (gTasks[taskId].data[10] >= 0x2D0)
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ sub_80A7344(spriteId);
+ gSprites[spriteId].invisible = 1;
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8170BB0(u8 taskId)
+{
+ u8 spriteId;
+ u16 ball;
+ u8 ballId;
+ u8 x, y;
+ u8 priority, subpriority;
+ u32 selectedPalettes;
+
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ ball = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL);
+ else
+ ball = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_POKEBALL);
+
+ ballId = ItemIdToBallId(ball);
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ priority = gSprites[spriteId].oam.priority;
+ subpriority = gSprites[spriteId].subpriority;
+ gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballId);
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+ gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId);
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (!gTasks[gTasks[taskId].data[10]].isActive && !gTasks[gTasks[taskId].data[11]].isActive)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8170CFC(u8 taskId)
+{
+ u8 ballId = ItemIdToBallId(gLastUsedItem);
+ LoadBallGfx(ballId);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8170D24(u8 taskId)
+{
+ u8 ballId = ItemIdToBallId(gLastUsedItem);
+ FreeBallGfx(ballId);
+ DestroyAnimVisualTask(taskId);
+}
+
+void AnimTask_IsBallBlockedByTrainer(u8 taskId)
+{
+ if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
+ gBattleAnimArgs[7] = -1;
+ else
+ gBattleAnimArgs[7] = 0;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+u8 ItemIdToBallId(u16 ballItem)
+{
+ switch (ballItem)
+ {
+ case ITEM_MASTER_BALL:
+ return 4;
+ case ITEM_ULTRA_BALL:
+ return 3;
+ case ITEM_GREAT_BALL:
+ return 1;
+ case ITEM_SAFARI_BALL:
+ return 2;
+ case ITEM_NET_BALL:
+ return 5;
+ case ITEM_DIVE_BALL:
+ return 6;
+ case ITEM_NEST_BALL:
+ return 7;
+ case ITEM_REPEAT_BALL:
+ return 8;
+ case ITEM_TIMER_BALL:
+ return 9;
+ case ITEM_LUXURY_BALL:
+ return 10;
+ case ITEM_PREMIER_BALL:
+ return 11;
+ case ITEM_POKE_BALL:
+ default:
+ return 0;
+ }
+}
+
+void sub_8170E04(u8 taskId)
+{
+ u8 ballId;
+ u8 spriteId;
+
+ ballId = ItemIdToBallId(gLastUsedItem);
+ spriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29);
+ gSprites[spriteId].data[0] = 34;
+ gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
+ gSprites[spriteId].callback = sub_8171104;
+ gBattleSpritesDataPtr->animationData->field_9_x2 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible;
+ gTasks[taskId].data[0] = spriteId;
+ gTasks[taskId].func = sub_8170EF0;
+}
+
+static void sub_8170EF0(u8 taskId)
+{
+ u8 spriteId = gTasks[taskId].data[0];
+ if ((u16)gSprites[spriteId].data[0] == 0xFFFF)
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8170F2C(u8 taskId)
+{
+ int x, y;
+ u8 ballId;
+ u8 subpriority;
+ u8 spriteId;
+
+ if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
+ {
+ x = 32;
+ y = 11;
+ }
+ else
+ {
+ x = 23;
+ y = 5;
+ }
+
+ ballId = ItemIdToBallId(gLastUsedItem);
+ subpriority = sub_80A82E4(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + 1;
+ spriteId = CreateSprite(&gBallSpriteTemplates[ballId], x + 32, y | 80, subpriority);
+ gSprites[spriteId].data[0] = 34;
+ gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
+ gSprites[spriteId].callback = SpriteCallbackDummy;
+ gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].callback = sub_8039E84;
+ gTasks[taskId].data[0] = spriteId;
+ gTasks[taskId].func = sub_8171030;
+}
+
+static void sub_8171030(u8 taskId)
+{
+ if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animCmdIndex == 1)
+ {
+ PlaySE12WithPanning(SE_NAGERU, 0);
+ gSprites[gTasks[taskId].data[0]].callback = sub_8171104;
+ CreateTask(sub_81710A8, 10);
+ gTasks[taskId].func = sub_8170EF0;
+ }
+}
+
+static void sub_81710A8(u8 taskId)
+{
+ if (gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].animEnded)
+ {
+ StartSpriteAnim(&gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]], 0);
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_8171104(struct Sprite *sprite)
+{
+ u16 temp = sprite->data[1];
+ u16 temp2 = sprite->data[2];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = temp;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = temp2;
+ sprite->data[5] = -40;
+ InitAnimArcTranslation(sprite);
+ sprite->callback = sub_8171134;
+}
+
+static void sub_8171134(struct Sprite *sprite)
+{
+ int i;
+ u8 ballId;
+ int ballId2; // extra var needed to match
+
+ if (TranslateAnimArc(sprite))
+ {
+ if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_TRAINER_BLOCK)
+ {
+ sprite->callback = sub_8171CAC;
+ }
+ else
+ {
+ StartSpriteAnim(sprite, 1);
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+
+ for (i = 0; i < 8; i++)
+ sprite->data[i] = 0;
+
+ sprite->data[5] = 0;
+ sprite->callback = sub_81711E8;
+ ballId = ItemIdToBallId(gLastUsedItem);
+ ballId2 = ballId;
+ if (ballId2 > 11)
+ return;
+ if (ballId2 < 0)
+ return;
+
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
+ LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId);
+ }
+ }
+}
+
+static void sub_81711E8(struct Sprite *sprite)
+{
+ if (++sprite->data[5] == 10)
+ {
+ sprite->data[5] = CreateTask(TaskDummy, 50);
+ sprite->callback = sub_8171240;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0;
+ }
+}
+
+static void sub_8171240(struct Sprite *sprite)
+{
+ u8 spriteId;
+ u8 taskId;
+
+ spriteId = gBattlerSpriteIds[gBattleAnimTarget];
+ taskId = sprite->data[5];
+
+ if (++gTasks[taskId].data[1] == 11)
+ PlaySE(SE_SUIKOMU);
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ sub_80A7270(spriteId, 0);
+ gTasks[taskId].data[10] = 256;
+ gUnknown_030062DC = 28;
+ gUnknown_030062E4 = (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) - (sprite->pos1.y + sprite->pos2.y);
+ gUnknown_030062E0 = (u32)(gUnknown_030062E4 * 256) / 28;
+ gTasks[taskId].data[2] = gUnknown_030062E0;
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ gTasks[taskId].data[10] += 0x20;
+ obj_id_set_rotscale(spriteId, gTasks[taskId].data[10], gTasks[taskId].data[10], 0);
+ gTasks[taskId].data[3] += gTasks[taskId].data[2];
+ gSprites[spriteId].pos2.y = -gTasks[taskId].data[3] >> 8;
+ if (gTasks[taskId].data[10] >= 0x480)
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ sub_80A7344(spriteId);
+ gSprites[spriteId].invisible = 1;
+ gTasks[taskId].data[0]++;
+ break;
+ default:
+ if (gTasks[taskId].data[1] > 10)
+ {
+ DestroyTask(taskId);
+ StartSpriteAnim(sprite, 2);
+ sprite->data[5] = 0;
+ sprite->callback = sub_817138C;
+ }
+ break;
+ }
+}
+
+static void sub_817138C(struct Sprite *sprite)
+{
+ int angle;
+
+ if (sprite->animEnded)
+ {
+ sprite->data[3] = 0;
+ sprite->data[4] = 40;
+ sprite->data[5] = 0;
+ angle = 0;
+ sprite->pos1.y += Cos(angle, 40);
+ sprite->pos2.y = -Cos(angle, sprite->data[4]);
+ sprite->callback = sub_81713D0;
+ }
+}
+
+static void sub_81713D0(struct Sprite *sprite)
+{
+ bool8 lastBounce;
+ int bounceCount;
+
+ lastBounce = 0;
+
+ switch (sprite->data[3] & 0xFF)
+ {
+ case 0:
+ sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
+ sprite->data[5] += (sprite->data[3] >> 8) + 4;
+ if (sprite->data[5] >= 64)
+ {
+ sprite->data[4] -= 10;
+ sprite->data[3] += 257;
+
+ bounceCount = sprite->data[3] >> 8;
+ if (bounceCount == 4)
+ lastBounce = 1;
+
+ // Play a different sound effect for each pokeball bounce.
+ switch (bounceCount)
+ {
+ case 1:
+ PlaySE(SE_KON);
+ break;
+ case 2:
+ PlaySE(SE_KON2);
+ break;
+ case 3:
+ PlaySE(SE_KON3);
+ break;
+ default:
+ PlaySE(SE_KON4);
+ break;
+ }
+ }
+ break;
+ case 1:
+ sprite->pos2.y = -Cos(sprite->data[5], sprite->data[4]);
+ sprite->data[5] -= (sprite->data[3] >> 8) + 4;
+ if (sprite->data[5] <= 0)
+ {
+ sprite->data[5] = 0;
+ sprite->data[3] &= -0x100;
+ }
+ break;
+ }
+
+ if (lastBounce)
+ {
+ sprite->data[3] = 0;
+ sprite->pos1.y += Cos(64, 40);
+ sprite->pos2.y = 0;
+ if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_NO_SHAKES)
+ {
+ sprite->data[5] = 0;
+ sprite->callback = sub_81717B4;
+ }
+ else
+ {
+ sprite->callback = sub_81714D4;
+ sprite->data[4] = 1;
+ sprite->data[5] = 0;
+ }
+ }
+}
+
+static void sub_81714D4(struct Sprite *sprite)
+{
+ if (++sprite->data[3] == 31)
+ {
+ sprite->data[3] = 0;
+ sprite->affineAnimPaused = 1;
+ StartSpriteAffineAnim(sprite, 1);
+ gBattleSpritesDataPtr->animationData->field_C = 0;
+ sprite->callback = sub_8171520;
+ PlaySE(SE_BOWA);
+ }
+}
+
+static void sub_8171520(struct Sprite *sprite)
+{
+ s8 state;
+ u16 var0;
+
+ switch (sprite->data[3] & 0xFF)
+ {
+ case 0:
+ if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
+ {
+ sprite->pos2.x += sprite->data[4];
+ gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
+ }
+ else
+ {
+ gBattleSpritesDataPtr->animationData->field_C += 0xB0;
+ }
+
+ sprite->data[5]++;
+ sprite->affineAnimPaused = 0;
+ var0 = sprite->data[5] + 7;
+ if (var0 > 14)
+ {
+ gBattleSpritesDataPtr->animationData->field_C = 0;
+ sprite->data[3]++;
+ sprite->data[5] = 0;
+ }
+ break;
+ case 1:
+ if (++sprite->data[5] == 1)
+ {
+ sprite->data[5] = 0;
+ sprite->data[4] = -sprite->data[4];
+ sprite->data[3]++;
+ sprite->affineAnimPaused = 0;
+ if (sprite->data[4] < 0)
+ ChangeSpriteAffineAnim(sprite, 2);
+ else
+ ChangeSpriteAffineAnim(sprite, 1);
+ }
+ else
+ {
+ sprite->affineAnimPaused = 1;
+ }
+ break;
+ case 2:
+ if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
+ {
+ sprite->pos2.x += sprite->data[4];
+ gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
+ }
+ else
+ {
+ gBattleSpritesDataPtr->animationData->field_C += 0xB0;
+ }
+
+ sprite->data[5]++;
+ sprite->affineAnimPaused = 0;
+ var0 = sprite->data[5] + 12;
+ if (var0 > 24)
+ {
+ gBattleSpritesDataPtr->animationData->field_C = 0;
+ sprite->data[3]++;
+ sprite->data[5] = 0;
+ }
+ break;
+ case 3:
+ if (sprite->data[5]++ < 0)
+ {
+ sprite->affineAnimPaused = 1;
+ break;
+ }
+
+ sprite->data[5] = 0;
+ sprite->data[4] = -sprite->data[4];
+ sprite->data[3]++;
+ sprite->affineAnimPaused = 0;
+ if (sprite->data[4] < 0)
+ ChangeSpriteAffineAnim(sprite, 2);
+ else
+ ChangeSpriteAffineAnim(sprite, 1);
+ // fall through
+ case 4:
+ if (gBattleSpritesDataPtr->animationData->field_C > 0xFF)
+ {
+ sprite->pos2.x += sprite->data[4];
+ gBattleSpritesDataPtr->animationData->field_C &= 0xFF;
+ }
+ else
+ {
+ gBattleSpritesDataPtr->animationData->field_C += 0xB0;
+ }
+
+ sprite->data[5]++;
+ sprite->affineAnimPaused = 0;
+ var0 = sprite->data[5] + 4;
+ if (var0 > 8)
+ {
+ gBattleSpritesDataPtr->animationData->field_C = 0;
+ sprite->data[3]++;
+ sprite->data[5] = 0;
+ sprite->data[4] = -sprite->data[4];
+ }
+ break;
+ case 5:
+ sprite->data[3] += 0x100;
+ state = sprite->data[3] >> 8;
+ if (state == gBattleSpritesDataPtr->animationData->ballThrowCaseId)
+ {
+ sprite->affineAnimPaused = 1;
+ sprite->callback = sub_81717B4;
+ }
+ else
+ {
+ if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_3_SHAKES_SUCCESS && state == 3)
+ {
+ sprite->callback = sub_81717D8;
+ sprite->affineAnimPaused = 1;
+ }
+ else
+ {
+ sprite->data[3]++;
+ sprite->affineAnimPaused = 1;
+ }
+ }
+ break;
+ case 6:
+ default:
+ if (++sprite->data[5] == 31)
+ {
+ sprite->data[5] = 0;
+ sprite->data[3] &= -0x100;
+ StartSpriteAffineAnim(sprite, 3);
+ if (sprite->data[4] < 0)
+ StartSpriteAffineAnim(sprite, 2);
+ else
+ StartSpriteAffineAnim(sprite, 1);
+
+ PlaySE(SE_BOWA);
+ }
+ break;
+ }
+}
+
+static void sub_81717B4(struct Sprite *sprite)
+{
+ if (++sprite->data[5] == 31)
+ {
+ sprite->data[5] = 0;
+ sprite->callback = sub_8171AE4;
+ }
+}
+
+static void sub_81717D8(struct Sprite *sprite)
+{
+ sprite->animPaused = 1;
+ sprite->callback = sub_81717F8;
+ sprite->data[3] = 0;
+ sprite->data[4] = 0;
+ sprite->data[5] = 0;
+}
+
+static void sub_81717F8(struct Sprite *sprite)
+{
+ u8 *battler = &gBattleAnimTarget;
+
+ sprite->data[4]++;
+ if (sprite->data[4] == 40)
+ {
+ PlaySE(SE_RG_GETTING);
+ BlendPalettes(0x10000 << sprite->oam.paletteNum, 6, RGB(0, 0, 0));
+ sub_81719EC(sprite);
+ }
+ else if (sprite->data[4] == 60)
+ {
+ BeginNormalPaletteFade(0x10000 << sprite->oam.paletteNum, 2, 6, 0, RGB(0, 0, 0));
+ }
+ else if (sprite->data[4] == 95)
+ {
+ gDoingBattleAnim = 0;
+ UpdateOamPriorityInAllHealthboxes(1);
+ m4aMPlayAllStop();
+ PlaySE(MUS_RG_FAN6);
+ }
+ else if (sprite->data[4] == 315)
+ {
+ FreeOamMatrix(gSprites[gBattlerSpriteIds[*battler]].oam.matrixNum);
+ DestroySprite(&gSprites[gBattlerSpriteIds[*battler]]);
+ sprite->data[0] = 0;
+ sprite->callback = sub_81718D8;
+ }
+}
+
+static void sub_81718D8(struct Sprite *sprite)
+{
+ u8 paletteIndex;
+
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ sprite->oam.objMode = ST_OAM_OBJ_BLEND;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
+ paletteIndex = IndexOfSpritePaletteTag(sprite->template->paletteTag);
+ BeginNormalPaletteFade(1 << (paletteIndex + 0x10), 0, 0, 16, RGB(31, 31, 31));
+ sprite->data[0]++;
+ break;
+ case 1:
+ if (sprite->data[1]++ > 0)
+ {
+ sprite->data[1] = 0;
+ sprite->data[2]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[2], sprite->data[2]));
+ if (sprite->data[2] == 16)
+ sprite->data[0]++;
+ }
+ break;
+ case 2:
+ sprite->invisible = 1;
+ sprite->data[0]++;
+ break;
+ default:
+ if (!gPaletteFade.active)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ sprite->data[0] = 0;
+ sprite->callback = sub_81719C0;
+ }
+ break;
+ }
+}
+
+static void sub_81719C0(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->data[0] = -1;
+ }
+ else
+ {
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_81719EC(struct Sprite *sprite)
+{
+ u32 i;
+ u8 subpriority;
+
+ if (sprite->subpriority)
+ {
+ subpriority = sprite->subpriority - 1;
+ }
+ else
+ {
+ subpriority = 0;
+ sprite->subpriority = 1;
+ }
+
+ sub_8171D60(4);
+ for (i = 0; i < 3; i++)
+ {
+ u8 spriteId = CreateSprite(&gUnknown_085E51F0[4], sprite->pos1.x, sprite->pos1.y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = 24;
+ gSprites[spriteId].data[2] = sprite->pos1.x + sBallCaptureSuccessStarData[i].xOffset;
+ gSprites[spriteId].data[4] = sprite->pos1.y + sBallCaptureSuccessStarData[i].yOffset;
+ gSprites[spriteId].data[5] = sBallCaptureSuccessStarData[i].unk2;
+ InitAnimArcTranslation(&gSprites[spriteId]);
+ gSprites[spriteId].callback = sub_8171AAC;
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[4]);
+ }
+ }
+}
+
+static void sub_8171AAC(struct Sprite *sprite)
+{
+ sprite->invisible = !sprite->invisible;
+ if (TranslateAnimArc(sprite))
+ DestroySprite(sprite);
+}
+
+// fakematching. I think the return type of ItemIdToBallId()
+// is wrong because of the weird required casting.
+static void sub_8171AE4(struct Sprite *sprite)
+{
+ u8 ballId;
+ int ballId2; // extra var needed to match
+
+ StartSpriteAnim(sprite, 1);
+ StartSpriteAffineAnim(sprite, 0);
+ sprite->callback = sub_8171BAC;
+
+ ballId = ItemIdToBallId(gLastUsedItem);
+ ballId2 = ballId;
+ if (ballId2 > 11)
+ goto LABEL;
+ if (ballId2 < 0)
+ goto LABEL;
+
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
+ LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId);
+
+ LABEL:
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = 0;
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 1);
+ AnimateSprite(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]]);
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] = 0x1000;
+}
+
+static void sub_8171BAC(struct Sprite *sprite)
+{
+ int next = FALSE;
+
+ if (sprite->animEnded)
+ sprite->invisible = 1;
+
+ if (gSprites[gBattlerSpriteIds[gBattleAnimTarget]].affineAnimEnded)
+ {
+ StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimTarget]], 0);
+ next = TRUE;
+ }
+ else
+ {
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] -= 288;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].data[1] >> 8;
+ }
+
+ if (sprite->animEnded && next)
+ {
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].pos2.y = 0;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible = gBattleSpritesDataPtr->animationData->field_9_x2;
+ sprite->data[0] = 0;
+ sprite->callback = sub_81719C0;
+ gDoingBattleAnim = 0;
+ UpdateOamPriorityInAllHealthboxes(1);
+ }
+}
+
+static void sub_8171CAC(struct Sprite *sprite)
+{
+ int i;
+
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+ for (i = 0; i < 6; i++)
+ sprite->data[i] = 0;
+
+ sprite->callback = sub_8171CE8;
+}
+
+static void sub_8171CE8(struct Sprite *sprite)
+{
+ s16 var0 = sprite->data[0] + 0x800;
+ s16 var1 = sprite->data[1] + 0x680;
+ sprite->pos2.x -= var1 >> 8;
+ sprite->pos2.y += var0 >> 8;
+ sprite->data[0] = (sprite->data[0] + 0x800) & 0xFF;
+ sprite->data[1] = (sprite->data[1] + 0x680) & 0xFF;
+
+ if (sprite->pos1.y + sprite->pos2.y > 160
+ || sprite->pos1.x + sprite->pos2.x < -8)
+ {
+ sprite->data[0] = 0;
+ sprite->callback = sub_81719C0;
+ gDoingBattleAnim = 0;
+ UpdateOamPriorityInAllHealthboxes(1);
+ }
+}
+
+static void sub_8171D60(u8 ballId)
+{
+ u8 taskId;
+
+ if (GetSpriteTileStartByTag(gBallOpenParticleSpritesheets[ballId].tag) == 0xFFFF)
+ {
+ LoadCompressedObjectPicUsingHeap(&gBallOpenParticleSpritesheets[ballId]);
+ LoadCompressedObjectPaletteUsingHeap(&gBallOpenParticlePalettes[ballId]);
+ }
+}
+
+u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
+{
+ u8 taskId;
+
+ sub_8171D60(ballId);
+ taskId = CreateTask(gBallOpenParticleAnimationFuncs[ballId], 5);
+ gTasks[taskId].data[1] = x;
+ gTasks[taskId].data[2] = y;
+ gTasks[taskId].data[3] = priority;
+ gTasks[taskId].data[4] = subpriority;
+ gTasks[taskId].data[15] = ballId;
+ PlaySE(SE_BOWA2);
+
+ return taskId;
+}
+
+void sub_8171E20(void)
+{
+ if (gMain.inBattle)
+ gBattleSpritesDataPtr->animationData->field_A++;
+}
+
+static void PokeBallOpenParticleAnimation(u8 taskId)
+{
+ u8 spriteId;
+ u8 x, y;
+ u8 priority, subpriority;
+ u8 ballId;
+ u8 var0;
+
+ ballId = gTasks[taskId].data[15];
+ if (gTasks[taskId].data[0] < 16)
+ {
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = PokeBallOpenParticleAnimation_Step1;
+ gSprites[spriteId].oam.priority = priority;
+
+ var0 = (u8)gTasks[taskId].data[0];
+ if (var0 >= 8)
+ var0 -= 8;
+
+ gSprites[spriteId].data[0] = var0 * 32;
+ }
+
+ if (gTasks[taskId].data[0] == 15)
+ {
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+ return;
+ }
+ }
+
+ gTasks[taskId].data[0]++;
+}
+
+static void PokeBallOpenParticleAnimation_Step1(struct Sprite *sprite)
+{
+ if (sprite->data[1] == 0)
+ sprite->callback = PokeBallOpenParticleAnimation_Step2;
+ else
+ sprite->data[1]--;
+}
+
+static void PokeBallOpenParticleAnimation_Step2(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], sprite->data[1]);
+ sprite->data[1] += 2;
+ if (sprite->data[1] == 50)
+ DestroyBallOpenAnimationParticle(sprite);
+}
+
+static void TimerBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 10;
+ gSprites[spriteId].data[5] = 2;
+ gSprites[spriteId].data[6] = 1;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+static void DiveBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 10;
+ gSprites[spriteId].data[5] = 1;
+ gSprites[spriteId].data[6] = 2;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+// Also used for Net Ball
+static void SafariBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 4;
+ gSprites[spriteId].data[5] = 1;
+ gSprites[spriteId].data[6] = 1;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+// Also used for Nest Ball
+static void UltraBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 10; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 25;
+ gSprites[spriteId].data[4] = 5;
+ gSprites[spriteId].data[5] = 1;
+ gSprites[spriteId].data[6] = 1;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+// Also used for Luxury Ball
+static void GreatBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ if (gTasks[taskId].data[7])
+ {
+ gTasks[taskId].data[7]--;
+ }
+ else
+ {
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 8;
+ gSprites[spriteId].data[5] = 2;
+ gSprites[spriteId].data[6] = 2;
+ }
+ }
+
+ gTasks[taskId].data[7] = 8;
+ if (++gTasks[taskId].data[0] == 2)
+ {
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+ }
+ }
+}
+
+static void FanOutBallOpenParticles_Step1(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], sprite->data[2]);
+ sprite->data[0] = (sprite->data[0] + sprite->data[4]) & 0xFF;
+ sprite->data[1] += sprite->data[5];
+ sprite->data[2] += sprite->data[6];
+ if (++sprite->data[3] == 51)
+ DestroyBallOpenAnimationParticle(sprite);
+}
+
+static void RepeatBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 12; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = RepeatBallOpenParticleAnimation_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 21;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+static void RepeatBallOpenParticleAnimation_Step1(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0], sprite->data[2]));
+ sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
+ sprite->data[1]++;
+ sprite->data[2]++;
+ if (++sprite->data[3] == 51)
+ DestroyBallOpenAnimationParticle(sprite);
+}
+
+static void MasterBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i, j;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (j = 0; j < 2; j++)
+ {
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = FanOutBallOpenParticles_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ gSprites[spriteId].data[4] = 8;
+
+ if (j == 0)
+ {
+ gSprites[spriteId].data[5] = 2;
+ gSprites[spriteId].data[6] = 1;
+ }
+ else
+ {
+ gSprites[spriteId].data[5] = 1;
+ gSprites[spriteId].data[6] = 2;
+ }
+ }
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+static void PremierBallOpenParticleAnimation(u8 taskId)
+{
+ u8 i;
+ u8 x, y, priority, subpriority, ballId;
+ u8 spriteId;
+
+ ballId = gTasks[taskId].data[15];
+ x = gTasks[taskId].data[1];
+ y = gTasks[taskId].data[2];
+ priority = gTasks[taskId].data[3];
+ subpriority = gTasks[taskId].data[4];
+
+ for (i = 0; i < 8; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_085E51F0[ballId], x, y, subpriority);
+ if (spriteId != MAX_SPRITES)
+ {
+ sub_8171E20();
+ StartSpriteAnim(&gSprites[spriteId], gBallOpenParticleAnimNums[ballId]);
+ gSprites[spriteId].callback = PremierBallOpenParticleAnimation_Step1;
+ gSprites[spriteId].oam.priority = priority;
+ gSprites[spriteId].data[0] = i * 32;
+ }
+ }
+
+ if (!gMain.inBattle)
+ gSprites[spriteId].data[7] = 1;
+
+ DestroyTask(taskId);
+}
+
+static void PremierBallOpenParticleAnimation_Step1(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ sprite->pos2.y = Cos(sprite->data[0], Sin(sprite->data[0] & 0x3F, sprite->data[2]));
+ sprite->data[0] = (sprite->data[0] + 10) & 0xFF;
+ sprite->data[1]++;
+ sprite->data[2]++;
+ if (++sprite->data[3] == 51)
+ DestroyBallOpenAnimationParticle(sprite);
+}
+
+static void DestroyBallOpenAnimationParticle(struct Sprite *sprite)
+{
+ int i, j;
+ int temp;
+
+ if (!gMain.inBattle)
+ {
+ temp = sprite->data[7]; // temp var needed to match
+ if (temp == 1)
+ DestroySpriteAndFreeResources(sprite);
+ else
+ DestroySprite(sprite);
+ }
+ else
+ {
+ gBattleSpritesDataPtr->animationData->field_A--;
+ if (gBattleSpritesDataPtr->animationData->field_A == 0)
+ {
+ for (i = 0; i < 12; i++)
+ {
+ if (FuncIsActiveTask(gBallOpenParticleAnimationFuncs[i]) == TRUE)
+ break;
+ }
+
+ if (i == 12)
+ {
+ for (j = 0; j < 12; j++)
+ {
+ FreeSpriteTilesByTag(gBallOpenParticleSpritesheets[j].tag);
+ FreeSpritePaletteByTag(gBallOpenParticlePalettes[j].tag);
+ }
+ }
+
+ DestroySprite(sprite);
+ }
+ else
+ {
+ DestroySprite(sprite);
+ }
+ }
+}
+
+u8 LaunchBallFadeMonTask(u8 unfadeLater, u8 battler, u32 selectedPalettes, u8 ballId)
+{
+ u8 taskId;
+
+ taskId = CreateTask(sub_8172AB0, 5);
+ gTasks[taskId].data[15] = ballId;
+ gTasks[taskId].data[3] = battler;
+ gTasks[taskId].data[10] = selectedPalettes;
+ gTasks[taskId].data[11] = selectedPalettes >> 16;
+
+ if (!unfadeLater)
+ {
+ BlendPalette(battler * 16 + 0x100, 16, 0, gUnknown_085E5310[ballId]);
+ gTasks[taskId].data[1] = 1;
+ }
+ else
+ {
+ BlendPalette(battler * 16 + 0x100, 16, 16, gUnknown_085E5310[ballId]);
+ gTasks[taskId].data[0] = 16;
+ gTasks[taskId].data[1] = -1;
+ gTasks[taskId].func = sub_8172B40;
+ }
+
+ BeginNormalPaletteFade(selectedPalettes, 0, 0, 16, RGB(31, 31, 31));
+ return taskId;
+}
+
+static void sub_8172AB0(u8 taskId)
+{
+ u8 ballId = gTasks[taskId].data[15];
+
+ if (gTasks[taskId].data[2] <= 16)
+ {
+ BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]);
+ gTasks[taskId].data[0] += gTasks[taskId].data[1];
+ gTasks[taskId].data[2]++;
+ }
+ else if (!gPaletteFade.active)
+ {
+ u32 selectedPalettes = (u16)gTasks[taskId].data[10] | ((u16)gTasks[taskId].data[11] << 16);
+ BeginNormalPaletteFade(selectedPalettes, 0, 16, 0, RGB(31, 31, 31));
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_8172B40(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ u32 selectedPalettes = (u16)gTasks[taskId].data[10] | ((u16)gTasks[taskId].data[11] << 16);
+ BeginNormalPaletteFade(selectedPalettes, 0, 16, 0, RGB(31, 31, 31));
+ gTasks[taskId].func = sub_8172B90;
+ }
+}
+
+static void sub_8172B90(u8 taskId)
+{
+ u8 ballId = gTasks[taskId].data[15];
+
+ if (gTasks[taskId].data[2] <= 16)
+ {
+ BlendPalette(gTasks[taskId].data[3] * 16 + 0x100, 16, gTasks[taskId].data[0], gUnknown_085E5310[ballId]);
+ gTasks[taskId].data[0] += gTasks[taskId].data[1];
+ gTasks[taskId].data[2]++;
+ }
+ else
+ {
+ DestroyTask(taskId);
+ }
+}
+
+void sub_8172BF0(u8 taskId)
+{
+ u8 spriteId;
+ u32 x;
+ u32 done;
+
+ done = FALSE;
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ switch (gTasks[taskId].data[10])
+ {
+ case 0:
+ gTasks[taskId].data[11] = gBattleAnimArgs[0];
+ gTasks[taskId].data[0] += 0x500;
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
+ else
+ gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
+
+ gTasks[taskId].data[0] &= 0xFF;
+ x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x + 32;
+ if (x > 304)
+ gTasks[taskId].data[10]++;
+ break;
+ case 1:
+ LoadBattleMonGfxAndAnimate(gBattleAnimAttacker, gTasks[taskId].data[11], spriteId);
+ gTasks[taskId].data[10]++;
+ break;
+ case 2:
+ gTasks[taskId].data[0] += 0x500;
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gSprites[spriteId].pos2.x -= gTasks[taskId].data[0] >> 8;
+ else
+ gSprites[spriteId].pos2.x += gTasks[taskId].data[0] >> 8;
+
+ gTasks[taskId].data[0] &= 0xFF;
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ if (gSprites[spriteId].pos2.x <= 0)
+ {
+ gSprites[spriteId].pos2.x = 0;
+ // done = FALSE; // fakematching--can't get the tail merge correct
+ goto DONE;
+ }
+ }
+ else
+ {
+ if (gSprites[spriteId].pos2.x >= 0)
+ {
+ gSprites[spriteId].pos2.x = 0;
+ done = TRUE;
+ }
+ }
+
+ if (done)
+ {
+ DONE:
+ DestroyAnimVisualTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_8172D98(u8 taskId)
+{
+ u8 spriteId;
+
+ switch (gTasks[taskId].data[15])
+ {
+ case 0:
+ if (sub_80A8364(gBattleAnimAttacker) == B_POSITION_OPPONENT_LEFT)
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ else
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0));
+ gTasks[taskId].data[15]++;
+ break;
+ case 1:
+ if (gTasks[taskId].data[1]++ > 1)
+ {
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[0]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - gTasks[taskId].data[0], gTasks[taskId].data[0]));
+ if (gTasks[taskId].data[0] == 16)
+ gTasks[taskId].data[15]++;
+ }
+ break;
+ case 2:
+ spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
+ RequestDma3Fill(0, (void *)OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * TILE_SIZE_4BPP, 0x800, 1);
+ ClearBehindSubstituteBit(gBattleAnimAttacker);
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8172E9C(u8 taskId)
+{
+ gBattleAnimArgs[7] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].behindSubstitute;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8172ED0(u8 taskId)
+{
+ gBattleAnimTarget = gEffectBattler;
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8172EF0(u8 battler, struct Pokemon *mon)
+{
+ int isShiny;
+ u32 otId, personality;
+ u32 shinyValue;
+ u8 taskId1, taskId2;
+
+ isShiny = 0;
+ gBattleSpritesDataPtr->healthBoxesData[battler].flag_x80 = 1;
+ otId = GetMonData(mon, MON_DATA_OT_ID);
+ personality = GetMonData(mon, MON_DATA_PERSONALITY);
+
+ if (IsBattlerSpriteVisible(battler))
+ {
+ shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality);
+ if (shinyValue < 8)
+ isShiny = TRUE;
+
+ if (isShiny)
+ {
+ if (GetSpriteTileStartByTag(0x27F9) == 0xFFFF)
+ {
+ LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[233]);
+ LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[233]);
+ }
+
+ taskId1 = CreateTask(sub_8172FEC, 10);
+ taskId2 = CreateTask(sub_8172FEC, 10);
+ gTasks[taskId1].data[0] = battler;
+ gTasks[taskId2].data[0] = battler;
+ gTasks[taskId1].data[1] = 0;
+ gTasks[taskId2].data[1] = 1;
+ return;
+ }
+ }
+
+ gBattleSpritesDataPtr->healthBoxesData[battler].field_1_x1 = 1;
+}
+
+static void sub_8172FEC(u8 taskId)
+{
+ u8 battler;
+ u8 x, y;
+ u8 spriteId;
+ u16 counter;
+ s16 state;
+ u8 pan;
+
+ if (gTasks[taskId].data[13] < 60)
+ {
+ gTasks[taskId].data[13]++;
+ return;
+ }
+
+ if (gBattleSpritesDataPtr->animationData->field_A)
+ return;
+
+ counter = gTasks[taskId].data[10]++;
+ if (counter & 3)
+ return;
+
+ battler = gTasks[taskId].data[0];
+ x = GetBattlerSpriteCoord(battler, 0);
+ y = GetBattlerSpriteCoord(battler, 1);
+ state = gTasks[taskId].data[11];
+ if (state == 0)
+ {
+ spriteId = CreateSprite(&gUnknown_085CE388, x, y, 5);
+ }
+ else if (state >= 0 && gTasks[taskId].data[11] < 4)
+ {
+ spriteId = CreateSprite(&gUnknown_085CE3A0, x, y, 5);
+ gSprites[spriteId].oam.tileNum += 4;
+ }
+ else
+ {
+ spriteId = CreateSprite(&gUnknown_085CE3A0, x, y, 5);
+ gSprites[spriteId].oam.tileNum += 5;
+ }
+
+ if (gTasks[taskId].data[1] == 0)
+ {
+ gSprites[spriteId].callback = sub_81731FC;
+ }
+ else
+ {
+ gSprites[spriteId].callback = sub_8173250;
+ gSprites[spriteId].pos2.x = -32;
+ gSprites[spriteId].pos2.y = 32;
+ gSprites[spriteId].invisible = 1;
+ if (gTasks[taskId].data[11] == 0)
+ {
+ if (GetBattlerSide(battler) == B_SIDE_PLAYER)
+ pan = 192;
+ else
+ pan = 63;
+
+ PlaySE12WithPanning(SE_REAPOKE, pan);
+ }
+ }
+
+ gSprites[spriteId].data[0] = taskId;
+ gTasks[taskId].data[11]++;
+ if (spriteId != MAX_SPRITES)
+ gTasks[taskId].data[12]++;
+
+ if (gTasks[taskId].data[11] == 5)
+ gTasks[taskId].func = sub_81731B0;
+}
+
+static void sub_81731B0(u8 taskId)
+{
+ u8 battler;
+
+ if (gTasks[taskId].data[12] == 0)
+ {
+ if (gTasks[taskId].data[1] == 1)
+ {
+ battler = gTasks[taskId].data[0];
+ gBattleSpritesDataPtr->healthBoxesData[battler].field_1_x1 = 1;
+ }
+
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_81731FC(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[1], 24);
+ sprite->pos2.y = Cos(sprite->data[1], 24);
+ sprite->data[1] += 12;
+ if (sprite->data[1] > 0xFF)
+ {
+ gTasks[sprite->data[0]].data[12]--;
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_8173250(struct Sprite *sprite)
+{
+ if (sprite->data[1] < 4)
+ {
+ sprite->data[1]++;
+ }
+ else
+ {
+ sprite->invisible = 0;
+ sprite->pos2.x += 5;
+ sprite->pos2.y -= 5;
+ if (sprite->pos2.x > 32)
+ {
+ gTasks[sprite->data[0]].data[12]--;
+ FreeSpriteOamMatrix(sprite);
+ DestroySprite(sprite);
+ }
+ }
+}
+
+void sub_81732B0(u8 taskId)
+{
+ u8 paletteIndex;
+
+ LoadCompressedObjectPicUsingHeap(&gBattleAnimPicTable[269]);
+ LoadCompressedObjectPaletteUsingHeap(&gBattleAnimPaletteTable[269]);
+ paletteIndex = IndexOfSpritePaletteTag(0x281D); // unused
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_81732E4(u8 taskId)
+{
+ FreeSpriteTilesByTag(0x281D);
+ FreeSpritePaletteByTag(0x281D);
+ DestroyAnimVisualTask(taskId);
+}
+
+static void sub_817330C(struct Sprite *sprite)
+{
+ InitAnimSpritePos(sprite, 0);
+ sprite->data[0] = 30;
+ sprite->data[2] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 0) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3];
+ sprite->data[5] = -32;
+ InitAnimArcTranslation(sprite);
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].callback = sub_8039E84;
+ sprite->callback = sub_817339C;
+}
+
+static void sub_817339C(struct Sprite *sprite)
+{
+ if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animCmdIndex == 1)
+ sprite->callback = sub_81733D4;
+}
+
+static void sub_81733D4(struct Sprite *sprite)
+{
+ if (TranslateAnimArc(sprite))
+ {
+ sprite->data[0] = 0;
+ sprite->invisible = 1;
+ sprite->callback = sub_8173400;
+ }
+}
+
+static void sub_8173400(struct Sprite *sprite)
+{
+ if (gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].animEnded)
+ {
+ if (++sprite->data[0] > 0)
+ {
+ StartSpriteAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0);
+ DestroyAnimSprite(sprite);
+ }
+ }
+}
+
+void sub_817345C(u8 taskId)
+{
+ switch (gBattleAnimArgs[0])
+ {
+ case 0:
+ gBattleAnimAttacker = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ gBattleAnimTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ break;
+ case 1:
+ gBattleAnimAttacker = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT);
+ gBattleAnimTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT);
+ break;
+ }
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void AnimTask_GetTrappedMoveAnimId(u8 taskId)
+{
+ if (gBattleSpritesDataPtr->animationData->animArg == 83)
+ gBattleAnimArgs[0] = 1;
+ else if (gBattleSpritesDataPtr->animationData->animArg == 250)
+ gBattleAnimArgs[0] = 2;
+ else if (gBattleSpritesDataPtr->animationData->animArg == 128)
+ gBattleAnimArgs[0] = 3;
+ else if (gBattleSpritesDataPtr->animationData->animArg == 328)
+ gBattleAnimArgs[0] = 4;
+ else
+ gBattleAnimArgs[0] = 0;
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_817351C(u8 taskId)
+{
+ gBattleAnimAttacker = gBattleSpritesDataPtr->animationData->animArg;
+ gBattleAnimTarget = gBattleSpritesDataPtr->animationData->animArg >> 8;
+ DestroyAnimVisualTask(taskId);
+}
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
new file mode 100644
index 000000000..0f56c05d8
--- /dev/null
+++ b/src/battle_anim_effects_1.c
@@ -0,0 +1,5520 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "battle_interface.h"
+#include "gpu_regs.h"
+#include "palette.h"
+#include "random.h"
+#include "sound.h"
+#include "trig.h"
+#include "util.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+
+EWRAM_DATA s16 gUnknown_0203A0F8[4] = {0};
+
+void AnimMovePowderParticle(struct Sprite *);
+void sub_80FE8E0(struct Sprite *);
+void sub_80FE930(struct Sprite *);
+void sub_80FE988(struct Sprite *);
+void sub_80FEAD8(struct Sprite *);
+void sub_80FEB44(struct Sprite *);
+void sub_80FED28(struct Sprite *);
+void sub_80FEE78(struct Sprite *);
+void sub_80FEF44(struct Sprite *);
+void sub_80FEFFC(struct Sprite *);
+void AnimLeechSeed(struct Sprite *);
+void AnimTranslateLinearSingleSineWave(struct Sprite *);
+void AnimMoveTwisterParticle(struct Sprite *);
+void sub_80FF374(struct Sprite *);
+void sub_80FF698(struct Sprite *);
+void sub_80FF768(struct Sprite *);
+void sub_80FF7EC(struct Sprite *);
+void sub_80FF934(struct Sprite *);
+void sub_80FFB18(struct Sprite *);
+void sub_80FFBF4(struct Sprite *);
+void sub_80FFC70(struct Sprite *);
+void sub_80FFCB4(struct Sprite *);
+void sub_80FFDBC(struct Sprite *);
+void sub_8100640(struct Sprite *);
+void sub_8100898(struct Sprite *);
+void sub_81009F8(struct Sprite *);
+void sub_8100A50(struct Sprite *);
+void sub_8100A94(struct Sprite *);
+void AnimCuttingSlice(struct Sprite *);
+void sub_8100B88(struct Sprite *);
+void sub_8100E1C(struct Sprite *);
+void sub_8100EF0(struct Sprite *);
+void sub_81010CC(struct Sprite *);
+void sub_810130C(struct Sprite *);
+void sub_810135C(struct Sprite *);
+void sub_8101440(struct Sprite *);
+void sub_81014F4(struct Sprite *);
+void sub_81015AC(struct Sprite *);
+void sub_8101898(struct Sprite *);
+void sub_8101940(struct Sprite *);
+void sub_8101B90(struct Sprite *);
+void sub_8101F40(struct Sprite *);
+void sub_8101FA8(struct Sprite *);
+void sub_8101FF0(struct Sprite *);
+void sub_81020D8(struct Sprite *);
+void sub_810217C(struct Sprite *);
+void sub_8102268(struct Sprite *);
+void sub_810234C(struct Sprite *);
+void sub_81024E0(struct Sprite *);
+void sub_8102540(struct Sprite *);
+void sub_8102844(struct Sprite *);
+void sub_8102BCC(struct Sprite *);
+void sub_8102CD4(struct Sprite *);
+void sub_8102EB0(struct Sprite *);
+void sub_8102FB8(struct Sprite *);
+void sub_8103028(struct Sprite *);
+void sub_8103164(struct Sprite *);
+void sub_8103208(struct Sprite *);
+void sub_8103284(struct Sprite *);
+void sub_8103390(struct Sprite *);
+static void AnimMovePowderParticleStep(struct Sprite *);
+static void sub_80FE9E4(struct Sprite *);
+static void sub_80FEB28(struct Sprite *);
+static void sub_80FEBFC(struct Sprite *);
+static void AnimLeechSeedStep(struct Sprite *);
+static void AnimLeechSeedSprouts(struct Sprite *);
+static void sub_80FED74(struct Sprite *);
+static void sub_80FEECC(struct Sprite *);
+static void sub_80FEF98(struct Sprite *);
+static void sub_80FF044(struct Sprite *);
+static void sub_80FF090(struct Sprite *);
+static void AnimTranslateLinearSingleSineWaveStep(struct Sprite *);
+static void AnimMoveTwisterParticleStep(struct Sprite *);
+static void sub_80FF3B0(struct Sprite *);
+static void sub_80FF3EC(struct Sprite *);
+static void sub_80FF53C(u8);
+static void sub_80FF5CC(u8);
+static void sub_80FFD2C(struct Sprite *);
+static void sub_80FF8DC(struct Sprite *);
+static void sub_80FFE58(struct Sprite *);
+static void sub_80FFEC4(struct Sprite *);
+static void sub_80FFF7C(struct Sprite *);
+static void sub_8100128(u8);
+static s16 sub_8100504(struct Sprite *);
+static void sub_8100524(struct Task *, u8);
+static void sub_80CC408(struct Sprite *);
+static void sub_810074C(struct Sprite *);
+static void sub_81009A0(struct Sprite *);
+static void AnimSliceStep(struct Sprite *);
+static void sub_8100E80(struct Sprite *);
+static void sub_8100FD4(struct Sprite *);
+static void sub_8101138(struct Sprite *);
+static void sub_8101298(struct Sprite *, int, int);
+static void sub_81014A0(struct Sprite *);
+static void sub_8101560(struct Sprite *);
+static void sub_81015D4(struct Sprite *);
+static void sub_8101684(struct Sprite *);
+static void sub_81016B8(struct Sprite *);
+static void sub_8101774(struct Sprite *);
+static void sub_8101820(struct Sprite *);
+static void sub_8101848(struct Sprite *);
+static void sub_8101998(struct Sprite *);
+static void sub_81019E8(struct Sprite *);
+static void sub_8101A74(struct Sprite *);
+static void sub_8101AC4(struct Sprite *);
+static void sub_8101B84(struct Sprite *);
+static void sub_8101AE8(struct Sprite *);
+static void sub_8101BA0(struct Sprite *);
+static void sub_8101D2C(u8);
+static void sub_8101EEC(u8);
+static void sub_8102044(struct Sprite *);
+static void sub_810207C(struct Sprite *);
+static void sub_810208C(struct Sprite *);
+static void sub_810213C(struct Sprite *);
+static void sub_81021CC(struct Sprite *);
+static void sub_810237C(struct Sprite *);
+static void sub_8102528(struct Sprite *);
+static void sub_8102584(struct Sprite *);
+static void sub_810296C(struct Sprite *);
+static void sub_8102AE0(u8);
+static void sub_8102B3C(struct Sprite *);
+static void sub_8102D8C(s16, s16, s16 *, s16 *, s8);
+static void sub_8102DE4(struct Sprite *);
+static void sub_8102F40(struct Sprite *);
+static void sub_81030B0(struct Sprite *);
+static void sub_81031D0(struct Sprite *);
+static void sub_8103250(struct Sprite *);
+static void sub_8103300(struct Sprite *);
+static void sub_8103320(struct Sprite *);
+static void sub_81033F0(struct Sprite *);
+static void sub_810342C(struct Sprite *);
+
+const union AnimCmd gUnknown_085920F0[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(6, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(10, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_FRAME(14, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08592114[] =
+{
+ gUnknown_085920F0,
+};
+
+const struct SpriteTemplate gSleepPowderParticleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SLEEP_POWDER,
+ .paletteTag = ANIM_TAG_SLEEP_POWDER,
+ .oam = &gUnknown_08524944,
+ .anims = gUnknown_08592114,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimMovePowderParticle,
+};
+
+const struct SpriteTemplate gStunSporeParticleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_STUN_SPORE,
+ .paletteTag = ANIM_TAG_STUN_SPORE,
+ .oam = &gUnknown_08524944,
+ .anims = gUnknown_08592114,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimMovePowderParticle,
+};
+
+const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_POISON_POWDER,
+ .paletteTag = ANIM_TAG_POISON_POWDER,
+ .oam = &gUnknown_08524944,
+ .anims = gUnknown_08592114,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimMovePowderParticle,
+};
+
+const union AnimCmd gUnknown_08592160[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592168[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592170[] =
+{
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592178[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592180[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592188[] =
+{
+ ANIMCMD_FRAME(5, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592190[] =
+{
+ ANIMCMD_FRAME(6, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592198[] =
+{
+ ANIMCMD_FRAME(7, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085921A0[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085921A8[] =
+{
+ gUnknown_08592160,
+ gUnknown_08592168,
+ gUnknown_08592170,
+ gUnknown_08592178,
+ gUnknown_08592180,
+ gUnknown_08592188,
+ gUnknown_08592190,
+};
+
+const union AnimCmd *const gUnknown_085921C4[] =
+{
+ gUnknown_08592198,
+};
+
+const union AnimCmd *const gUnknown_085921C8[] =
+{
+ gUnknown_085921A0,
+};
+
+const union AffineAnimCmd gUnknown_085921CC[] = {
+ AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_085921DC[] = {
+ gUnknown_085921CC,
+};
+
+const struct SpriteTemplate gUnknown_085921E0 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524A8C,
+ .anims = gUnknown_085921C8,
+ .images = NULL,
+ .affineAnims = gUnknown_085921DC,
+ .callback = sub_80FE8E0,
+};
+
+const struct SpriteTemplate gUnknown_085921F8 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085921A8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FE930,
+};
+
+const struct SpriteTemplate gUnknown_08592210 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085921C4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FE988,
+};
+
+const union AffineAnimCmd gUnknown_08592228[] = {
+ AFFINEANIMCMD_FRAME(320, 320, 0, 0),
+ AFFINEANIMCMD_FRAME(-14, -14, 0, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08592240[] = {
+ gUnknown_08592228,
+};
+
+const struct SpriteTemplate gUnknown_08592244 =
+{
+ .tileTag = ANIM_TAG_GRAY_ORB,
+ .paletteTag = ANIM_TAG_GRAY_ORB,
+ .oam = &gUnknown_085249C4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592240,
+ .callback = sub_80FE8E0,
+};
+
+const union AffineAnimCmd gUnknown_0859225C[] = {
+ AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_0859226C[] = {
+ gUnknown_0859225C,
+};
+
+const struct SpriteTemplate gUnknown_08592270 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524A8C,
+ .anims = gUnknown_085921C8,
+ .images = NULL,
+ .affineAnims = gUnknown_0859226C,
+ .callback = sub_80FEAD8,
+};
+
+const struct SpriteTemplate gUnknown_08592288 =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085921A8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEB44,
+};
+
+const union AnimCmd gUnknown_085922A0[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085922A8[] =
+{
+ ANIMCMD_FRAME(4, 7),
+ ANIMCMD_FRAME(8, 7),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085922B4[] =
+{
+ gUnknown_085922A0,
+ gUnknown_085922A8,
+};
+
+const struct SpriteTemplate gLeechSeedSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SEED,
+ .paletteTag = ANIM_TAG_SEED,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_085922B4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimLeechSeed,
+};
+
+const union AnimCmd gUnknown_085922D4[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085922DC[] =
+{
+ ANIMCMD_FRAME(4, 7),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085922E4[] =
+{
+ gUnknown_085922D4,
+ gUnknown_085922DC,
+};
+
+const struct SpriteTemplate gUnknown_085922EC =
+{
+ .tileTag = ANIM_TAG_SPORE,
+ .paletteTag = ANIM_TAG_SPORE,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_085922E4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FED28,
+};
+
+const union AnimCmd gUnknown_08592304[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859230C[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592314[] =
+{
+ gUnknown_08592304,
+};
+
+const union AnimCmd *const gUnknown_08592318[] =
+{
+ gUnknown_0859230C,
+};
+
+const struct SpriteTemplate gUnknown_0859231C =
+{
+ .tileTag = ANIM_TAG_FLOWER,
+ .paletteTag = ANIM_TAG_FLOWER,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592314,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEE78,
+};
+
+const struct SpriteTemplate gUnknown_08592334 =
+{
+ .tileTag = ANIM_TAG_FLOWER,
+ .paletteTag = ANIM_TAG_FLOWER,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08592318,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEF44,
+};
+
+const union AnimCmd gUnknown_0859234C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08592378[] =
+{
+ ANIMCMD_FRAME(24, 5),
+ ANIMCMD_FRAME(28, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592388[] =
+{
+ gUnknown_0859234C,
+ gUnknown_08592378,
+};
+
+const struct SpriteTemplate gUnknown_08592390 =
+{
+ .tileTag = ANIM_TAG_LEAF,
+ .paletteTag = ANIM_TAG_LEAF,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592388,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FEFFC,
+};
+
+const struct SpriteTemplate gUnknown_085923A8 =
+{
+ .tileTag = ANIM_TAG_LEAF,
+ .paletteTag = ANIM_TAG_LEAF,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592388,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimMoveTwisterParticle,
+};
+
+const union AnimCmd gUnknown_085923C0[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 3, .vFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085923D4[] =
+{
+ gUnknown_085923C0,
+};
+
+const struct SpriteTemplate gUnknown_085923D8 =
+{
+ .tileTag = ANIM_TAG_RAZOR_LEAF,
+ .paletteTag = ANIM_TAG_RAZOR_LEAF,
+ .oam = &gUnknown_08524934,
+ .anims = gUnknown_085923D4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimTranslateLinearSingleSineWave,
+};
+
+const union AffineAnimCmd gUnknown_085923F0[] = {
+ AFFINEANIMCMD_FRAME(0, 0, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08592400[] = {
+ gUnknown_085923F0,
+};
+
+const struct SpriteTemplate gSwiftStarSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_YELLOW_STAR,
+ .paletteTag = ANIM_TAG_YELLOW_STAR,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592400,
+ .callback = AnimTranslateLinearSingleSineWave,
+};
+
+const union AnimCmd gUnknown_0859241C[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(96, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592430[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(64, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(96, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592444[] =
+{
+ gUnknown_0859241C,
+ gUnknown_08592430,
+};
+
+const union AffineAnimCmd gUnknown_0859244C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
+ AFFINEANIMCMD_FRAME(11, 0, 0, 6),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859246C[] = {
+ AFFINEANIMCMD_FRAME(-256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(11, 0, 0, 6),
+ AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_0859248C[] = {
+ gUnknown_0859244C,
+ gUnknown_0859246C,
+};
+
+const struct SpriteTemplate gUnknown_08592494 =
+{
+ .tileTag = ANIM_TAG_TENDRILS,
+ .paletteTag = ANIM_TAG_TENDRILS,
+ .oam = &gUnknown_0852499C,
+ .anims = gUnknown_08592444,
+ .images = NULL,
+ .affineAnims = gUnknown_0859248C,
+ .callback = sub_80FF374,
+};
+
+const union AffineAnimCmd gUnknown_085924AC[] = {
+ AFFINEANIMCMD_FRAME(0, 0, 0, 0),
+ AFFINEANIMCMD_FRAME(48, 48, 0, 14),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085924C4[] = {
+ AFFINEANIMCMD_FRAME(-16, -16, 0, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_085924D4[] = {
+ gUnknown_085924AC,
+ gUnknown_085924C4,
+};
+
+const struct SpriteTemplate gUnknown_085924DC =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_085921C8,
+ .images = NULL,
+ .affineAnims = gUnknown_085924D4,
+ .callback = sub_80FF698,
+};
+
+const union AnimCmd gUnknown_085924F4[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(16, 7),
+ ANIMCMD_FRAME(32, 7),
+ ANIMCMD_FRAME(48, 7),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592508[] =
+{
+ ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 7, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859251C[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(16, 7),
+ ANIMCMD_FRAME(32, 7),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859252C[] =
+{
+ ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 7, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859253C[] =
+{
+ gUnknown_085924F4,
+ gUnknown_08592508,
+ gUnknown_0859251C,
+ gUnknown_0859252C,
+};
+
+const struct SpriteTemplate gUnknown_0859254C =
+{
+ .tileTag = ANIM_TAG_ROOTS,
+ .paletteTag = ANIM_TAG_ROOTS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_0859253C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FF768,
+};
+
+const struct SpriteTemplate gUnknown_08592564 =
+{
+ .tileTag = ANIM_TAG_ROOTS,
+ .paletteTag = ANIM_TAG_ROOTS,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_0859253C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FF7EC,
+};
+
+const union AnimCmd gUnknown_0859257C[] =
+{
+ ANIMCMD_FRAME(3, 3),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08592588[] =
+{
+ gUnknown_0859257C,
+};
+
+const struct SpriteTemplate gUnknown_0859258C =
+{
+ .tileTag = ANIM_TAG_ORBS,
+ .paletteTag = ANIM_TAG_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08592588,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FF934,
+};
+
+const union AnimCmd gUnknown_085925A4[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085925AC[] =
+{
+ gUnknown_085925A4,
+};
+
+const union AffineAnimCmd gUnknown_085925B0[] = {
+ AFFINEANIMCMD_FRAME(0, 0, -4, 10),
+ AFFINEANIMCMD_FRAME(0, 0, 4, 20),
+ AFFINEANIMCMD_FRAME(0, 0, -4, 10),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085925D0[] = {
+ AFFINEANIMCMD_FRAME(0, 0, -1, 2),
+ AFFINEANIMCMD_FRAME(0, 0, 1, 4),
+ AFFINEANIMCMD_FRAME(0, 0, -1, 4),
+ AFFINEANIMCMD_FRAME(0, 0, 1, 4),
+ AFFINEANIMCMD_FRAME(0, 0, -1, 4),
+ AFFINEANIMCMD_FRAME(0, 0, 1, 2),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08592608[] = {
+ gUnknown_085925B0,
+ gUnknown_085925D0,
+};
+
+const struct SpriteTemplate gUnknown_08592610 =
+{
+ .tileTag = ANIM_TAG_ITEM_BAG,
+ .paletteTag = ANIM_TAG_ITEM_BAG,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085925AC,
+ .images = NULL,
+ .affineAnims = gUnknown_08592608,
+ .callback = sub_80FFB18,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8592628 =
+{
+ .tileTag = ANIM_TAG_ITEM_BAG,
+ .paletteTag = ANIM_TAG_ITEM_BAG,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085925AC,
+ .images = NULL,
+ .affineAnims = gUnknown_08592608,
+ .callback = sub_80FFBF4,
+};
+
+const union AnimCmd gUnknown_08592640[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_FRAME(8, 4),
+ ANIMCMD_FRAME(12, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592654[] =
+{
+ gUnknown_08592640,
+};
+
+const struct SpriteTemplate gUnknown_08592658 =
+{
+ .tileTag = ANIM_TAG_GREEN_SPARKLE,
+ .paletteTag = ANIM_TAG_GREEN_SPARKLE,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592654,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80FFC70,
+};
+
+const struct SpriteTemplate gUnknown_08592670 =
+{
+ .tileTag = ANIM_TAG_ITEM_BAG,
+ .paletteTag = ANIM_TAG_ITEM_BAG,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085925AC,
+ .images = NULL,
+ .affineAnims = gUnknown_08592608,
+ .callback = sub_80FFCB4,
+};
+
+const union AffineAnimCmd gUnknown_08592688[] = {
+ AFFINEANIMCMD_FRAME(0, 0, 0, 3),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08592698[] = {
+ AFFINEANIMCMD_FRAME(0, -10, 0, 3),
+ AFFINEANIMCMD_FRAME(0, -6, 0, 3),
+ AFFINEANIMCMD_FRAME(0, -2, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 2, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 6, 0, 3),
+ AFFINEANIMCMD_FRAME(0, 10, 0, 3),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085926D8[] = {
+ gUnknown_08592688,
+ gUnknown_08592698,
+ gUnknown_085925B0,
+ gUnknown_085925D0,
+};
+
+const struct SpriteTemplate gUnknown_085926E8 =
+{
+ .tileTag = ANIM_TAG_ITEM_BAG,
+ .paletteTag = ANIM_TAG_ITEM_BAG,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085925AC,
+ .images = NULL,
+ .affineAnims = gUnknown_085926D8,
+ .callback = sub_80FFDBC,
+};
+
+const s8 gUnknown_08592700[][3] =
+{
+ {5, 24, 1},
+ {0, 4, 0},
+ {8, 16, -1},
+ {0, 2, 0},
+ {8, 16, 1},
+ {0, 2, 0},
+ {8, 16, 1},
+ {0, 2, 0},
+ {8, 16, 1},
+ {0, 16, 0},
+ {0, 0, 127},
+};
+
+const union AnimCmd gUnknown_08592724[] =
+{
+ ANIMCMD_FRAME(28, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859272C[] =
+{
+ ANIMCMD_FRAME(32, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592734[] =
+{
+ ANIMCMD_FRAME(20, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859273C[] =
+{
+ ANIMCMD_FRAME(28, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592744[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859274C[] =
+{
+ ANIMCMD_FRAME(16, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592754[] =
+{
+ ANIMCMD_FRAME(28, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859275C[] =
+{
+ gUnknown_08592724,
+ gUnknown_0859272C,
+ gUnknown_08592734,
+ gUnknown_0859273C,
+ gUnknown_08592744,
+ gUnknown_0859274C,
+ gUnknown_08592754,
+};
+
+const struct SpriteTemplate gUnknown_08592778 =
+{
+ .tileTag = ANIM_TAG_LEAF,
+ .paletteTag = ANIM_TAG_LEAF,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_0859275C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const union AffineAnimCmd gUnknown_08592790[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, 4, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_085927A8[] = {
+ gUnknown_08592790,
+};
+
+const struct SpriteTemplate gUnknown_085927AC =
+{
+ .tileTag = ANIM_TAG_FLOWER,
+ .paletteTag = ANIM_TAG_FLOWER,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08592318,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100640,
+};
+
+const struct SpriteTemplate gUnknown_085927C4 =
+{
+ .tileTag = ANIM_TAG_FLOWER,
+ .paletteTag = ANIM_TAG_FLOWER,
+ .oam = &gUnknown_0852496C,
+ .anims = gUnknown_08592314,
+ .images = NULL,
+ .affineAnims = gUnknown_085927A8,
+ .callback = sub_8100640,
+};
+
+const union AffineAnimCmd gUnknown_085927DC[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, -10, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd gUnknown_085927F4[] = {
+ AFFINEANIMCMD_FRAME(192, 192, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, -12, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd gUnknown_0859280C[] = {
+ AFFINEANIMCMD_FRAME(143, 143, 0, 0),
+ AFFINEANIMCMD_FRAME(0, 0, -15, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08592824[] = {
+ gUnknown_085927DC,
+};
+
+const union AffineAnimCmd *const gUnknown_08592828[] = {
+ gUnknown_085927F4,
+};
+
+const union AffineAnimCmd *const gUnknown_0859282C[] = {
+ gUnknown_0859280C,
+};
+
+const struct SpriteTemplate gUnknown_08592830 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_6,
+ .paletteTag = ANIM_TAG_SPARKLE_6,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592824,
+ .callback = sub_8100640,
+};
+
+const struct SpriteTemplate gUnknown_08592848 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_6,
+ .paletteTag = ANIM_TAG_SPARKLE_6,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592828,
+ .callback = sub_8100640,
+};
+
+const struct SpriteTemplate gUnknown_08592860 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_6,
+ .paletteTag = ANIM_TAG_SPARKLE_6,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859282C,
+ .callback = sub_8100640,
+};
+
+const u16 gMagicalLeafBlendColors[] =
+{
+ RGB(31, 0, 0),
+ RGB(31, 19, 0),
+ RGB(31, 31, 0),
+ RGB(0, 31, 0),
+ RGB(5, 14, 31),
+ RGB(22, 10, 31),
+ RGB(22, 21, 31),
+};
+
+const struct SpriteTemplate gUnknown_08592888 =
+{
+ .tileTag = ANIM_TAG_GREEN_SPIKE,
+ .paletteTag = ANIM_TAG_GREEN_SPIKE,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100898,
+};
+
+const union AnimCmd gUnknown_085928A0[] =
+{
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_FRAME(80, 3),
+ ANIMCMD_FRAME(96, 3),
+ ANIMCMD_FRAME(112, 6),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085928B4[] =
+{
+ ANIMCMD_FRAME(64, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(80, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(96, 3, .hFlip = TRUE),
+ ANIMCMD_FRAME(112, 6, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085928C8[] =
+{
+ gUnknown_085928A0,
+ gUnknown_085928B4,
+};
+
+const struct SpriteTemplate gUnknown_085928D0 =
+{
+ .tileTag = ANIM_TAG_SLAM_HIT,
+ .paletteTag = ANIM_TAG_SLAM_HIT,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085928C8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100A50,
+};
+
+const struct SpriteTemplate gUnknown_085928E8 =
+{
+ .tileTag = ANIM_TAG_WHIP_HIT,
+ .paletteTag = ANIM_TAG_WHIP_HIT,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085928C8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100A50,
+};
+
+const union AnimCmd gUnknown_08592900[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592918[] =
+{
+ gUnknown_08592900,
+};
+
+const struct SpriteTemplate gUnknown_0859291C =
+{
+ .tileTag = ANIM_TAG_UNUSED_HIT,
+ .paletteTag = ANIM_TAG_UNUSED_HIT,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592918,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81009F8,
+};
+
+const struct SpriteTemplate gUnknown_08592934 =
+{
+ .tileTag = ANIM_TAG_UNUSED_HIT_2,
+ .paletteTag = ANIM_TAG_UNUSED_HIT_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592918,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81009F8,
+};
+
+const union AffineAnimCmd gUnknown_0859294C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859295C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 32, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859296C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 64, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859297C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, 96, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859298C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, -128, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_0859299C[] = {
+ AFFINEANIMCMD_FRAME(256, 256, -96, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085929AC[] = {
+ AFFINEANIMCMD_FRAME(256, 256, -64, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_085929BC[] = {
+ AFFINEANIMCMD_FRAME(256, 256, -32, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085929CC[] = {
+ gUnknown_0859294C,
+ gUnknown_0859295C,
+ gUnknown_0859296C,
+ gUnknown_0859297C,
+ gUnknown_0859298C,
+ gUnknown_0859299C,
+ gUnknown_085929AC,
+ gUnknown_085929BC,
+};
+
+const struct SpriteTemplate gUnknown_085929EC =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085929CC,
+ .callback = sub_8100A94,
+};
+
+const union AnimCmd gUnknown_08592A04[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592A18[] =
+{
+ gUnknown_08592A04,
+};
+
+const struct SpriteTemplate gCuttingSliceSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_CUT,
+ .paletteTag = ANIM_TAG_CUT,
+ .oam = &gUnknown_08524A34,
+ .anims = gUnknown_08592A18,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = AnimCuttingSlice,
+};
+
+const struct SpriteTemplate gUnknown_08592A34 =
+{
+ .tileTag = ANIM_TAG_CUT,
+ .paletteTag = ANIM_TAG_CUT,
+ .oam = &gUnknown_08524A34,
+ .anims = gUnknown_08592A18,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100B88,
+};
+
+const union AnimCmd gUnknown_08592A4C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A54[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A5C[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A64[] =
+{
+ ANIMCMD_FRAME(12, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A6C[] =
+{
+ ANIMCMD_FRAME(16, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A74[] =
+{
+ ANIMCMD_FRAME(20, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A7C[] =
+{
+ ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A84[] =
+{
+ ANIMCMD_FRAME(4, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A8C[] =
+{
+ ANIMCMD_FRAME(8, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592A94[] =
+{
+ ANIMCMD_FRAME(12, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592A9C[] =
+{
+ gUnknown_08592A4C,
+ gUnknown_08592A54,
+ gUnknown_08592A5C,
+ gUnknown_08592A64,
+ gUnknown_08592A6C,
+ gUnknown_08592A74,
+ gUnknown_08592A7C,
+ gUnknown_08592A84,
+ gUnknown_08592A8C,
+ gUnknown_08592A94,
+};
+
+const struct SpriteTemplate gUnknown_08592AC4 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592A9C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100E1C,
+};
+
+const struct SpriteTemplate gUnknown_08592ADC =
+{
+ .tileTag = ANIM_TAG_PROTECT,
+ .paletteTag = ANIM_TAG_PROTECT,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8100EF0,
+};
+
+const union AffineAnimCmd gUnknown_08592AF4[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08592B04[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 24),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08592B34[] =
+{
+ gUnknown_08592AF4,
+ gUnknown_08592B04,
+};
+
+const struct SpriteTemplate gUnknown_08592B3C =
+{
+ .tileTag = ANIM_TAG_MILK_BOTTLE,
+ .paletteTag = ANIM_TAG_MILK_BOTTLE,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08592B34,
+ .callback = sub_81010CC,
+};
+
+const union AnimCmd gUnknown_08592B54[] =
+{
+ ANIMCMD_FRAME(0, 7),
+ ANIMCMD_FRAME(16, 7),
+ ANIMCMD_FRAME(32, 7),
+ ANIMCMD_FRAME(48, 7),
+ ANIMCMD_FRAME(64, 7),
+ ANIMCMD_FRAME(80, 7),
+ ANIMCMD_FRAME(96, 7),
+ ANIMCMD_FRAME(112, 7),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08592B78[] =
+{
+ gUnknown_08592B54,
+};
+
+const struct SpriteTemplate gUnknown_08592B7C =
+{
+ .tileTag = ANIM_TAG_SPARKLE_2,
+ .paletteTag = ANIM_TAG_SPARKLE_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592B78,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810130C,
+};
+
+const struct SpriteTemplate gUnknown_08592B94 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_2,
+ .paletteTag = ANIM_TAG_SPARKLE_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592B78,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810135C,
+};
+
+const union AnimCmd gUnknown_08592BAC[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(4, 10),
+ ANIMCMD_FRAME(8, 10),
+ ANIMCMD_FRAME(12, 10),
+ ANIMCMD_FRAME(16, 26),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_FRAME(24, 15),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592BD0[] =
+{
+ ANIMCMD_FRAME(0, 10, .hFlip = TRUE),
+ ANIMCMD_FRAME(4, 10, .hFlip = TRUE),
+ ANIMCMD_FRAME(8, 10, .hFlip = TRUE),
+ ANIMCMD_FRAME(12, 10, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 26, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(20, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(24, 15, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592BF4[] =
+{
+ gUnknown_08592BAC,
+ gUnknown_08592BD0,
+};
+
+const struct SpriteTemplate gUnknown_08592BFC =
+{
+ .tileTag = ANIM_TAG_UNUSED_BUBBLE_BURST,
+ .paletteTag = ANIM_TAG_UNUSED_BUBBLE_BURST,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592BF4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101440,
+};
+
+const union AnimCmd gUnknown_08592C14[] =
+{
+ ANIMCMD_FRAME(0, 40),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592C1C[] =
+{
+ gUnknown_08592C14,
+};
+
+const union AffineAnimCmd gUnknown_08592C20[] =
+{
+ AFFINEANIMCMD_FRAME(0x14, 0x14, -30, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 1, 24),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08592C20_2[] =
+{
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24),
+ AFFINEANIMCMD_LOOP(10),
+};
+
+const union AffineAnimCmd gUnknown_08592C50[] =
+{
+ AFFINEANIMCMD_FRAME(0x14, 0x14, 30, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, -1, 24),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08592C50_2[] =
+{
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 24),
+ AFFINEANIMCMD_LOOP(10),
+};
+
+const union AffineAnimCmd *const gUnknown_08592C80[] =
+{
+ gUnknown_08592C20,
+ gUnknown_08592C50,
+};
+
+const struct SpriteTemplate gUnknown_08592C88 =
+{
+ .tileTag = ANIM_TAG_LETTER_Z,
+ .paletteTag = ANIM_TAG_LETTER_Z,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_08592C1C,
+ .images = NULL,
+ .affineAnims = gUnknown_08592C80,
+ .callback = sub_81014F4,
+};
+
+const struct SpriteTemplate gUnknown_08592CA0 =
+{
+ .tileTag = ANIM_TAG_LOCK_ON,
+ .paletteTag = ANIM_TAG_LOCK_ON,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81015AC,
+};
+
+const struct SpriteTemplate gUnknown_08592CB8 =
+{
+ .tileTag = ANIM_TAG_LOCK_ON,
+ .paletteTag = ANIM_TAG_LOCK_ON,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101898,
+};
+
+const s8 gUnknown_08592CD0[][2] =
+{
+ { 64, 64},
+ { 0, -64},
+ {-64, 64},
+ { 32, -32},
+};
+
+const struct SpriteTemplate gUnknown_08592CD8 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101940,
+};
+
+const struct SpriteTemplate gUnknown_08592CF0 =
+{
+ .tileTag = 0,
+ .paletteTag = 0,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101B90,
+};
+
+const union AnimCmd gUnknown_08592D08[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592D1C[] =
+{
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592D24[] =
+{
+ gUnknown_08592D08,
+ gUnknown_08592D1C,
+};
+
+const struct SpriteTemplate gUnknown_08592D2C =
+{
+ .tileTag = ANIM_TAG_SLASH,
+ .paletteTag = ANIM_TAG_SLASH,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592D24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101F40,
+};
+
+const struct SpriteTemplate gUnknown_08592D44 =
+{
+ .tileTag = ANIM_TAG_SLASH_2,
+ .paletteTag = ANIM_TAG_SLASH_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592D24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101FA8,
+};
+
+const struct SpriteTemplate gUnknown_08592D5C =
+{
+ .tileTag = ANIM_TAG_SLASH_2,
+ .paletteTag = ANIM_TAG_SLASH_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592D24,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8101FF0,
+};
+
+const union AnimCmd gUnknown_08592D74[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(8, 12),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(24, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592D88[] =
+{
+ gUnknown_08592D74,
+};
+
+const struct SpriteTemplate gUnknown_08592D8C =
+{
+ .tileTag = ANIM_TAG_FOCUS_ENERGY,
+ .paletteTag = ANIM_TAG_FOCUS_ENERGY,
+ .oam = &gUnknown_08524954,
+ .anims = gUnknown_08592D88,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81020D8,
+};
+
+const union AnimCmd gUnknown_08592DA4[] =
+{
+ ANIMCMD_FRAME(0, 18),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 18),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 18),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 18),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_FRAME(64, 18),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_FRAME(64, 54),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592DE0[] =
+{
+ gUnknown_08592DA4,
+};
+
+const struct SpriteTemplate gUnknown_08592DE4 =
+{
+ .tileTag = ANIM_TAG_SPHERE_TO_CUBE,
+ .paletteTag = ANIM_TAG_SPHERE_TO_CUBE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592DE0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810217C,
+};
+
+const struct SpriteTemplate gUnknown_08592DFC =
+{
+ .tileTag = ANIM_TAG_BLACK_BALL,
+ .paletteTag = ANIM_TAG_BLACK_BALL,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const union AnimCmd gUnknown_08592E14[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592E2C[] =
+{
+ gUnknown_08592E14,
+};
+
+const struct SpriteTemplate gUnknown_08592E30 =
+{
+ .tileTag = ANIM_TAG_GRAY_SMOKE,
+ .paletteTag = ANIM_TAG_GRAY_SMOKE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592E2C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A77C8,
+};
+
+const union AnimCmd gUnknown_08592E48[] =
+{
+ ANIMCMD_FRAME(3, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592E5C[] =
+{
+ gUnknown_08592E48,
+};
+
+const union AffineAnimCmd gUnknown_08592E60[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08592E70[] =
+{
+ gUnknown_08592E60,
+};
+
+const struct SpriteTemplate gUnknown_08592E74 =
+{
+ .tileTag = ANIM_TAG_CONVERSION,
+ .paletteTag = ANIM_TAG_CONVERSION,
+ .oam = &gUnknown_08524AE4,
+ .anims = gUnknown_08592E5C,
+ .images = NULL,
+ .affineAnims = gUnknown_08592E70,
+ .callback = sub_8102268,
+};
+
+const union AnimCmd gUnknown_08592E8C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(3, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592EA0[] =
+{
+ gUnknown_08592E8C,
+};
+
+const struct SpriteTemplate gUnknown_08592EA4 =
+{
+ .tileTag = ANIM_TAG_CONVERSION,
+ .paletteTag = ANIM_TAG_CONVERSION,
+ .oam = &gUnknown_08524AE4,
+ .anims = gUnknown_08592EA0,
+ .images = NULL,
+ .affineAnims = gUnknown_08592E70,
+ .callback = sub_810234C,
+};
+
+const struct SpriteTemplate gUnknown_08592EBC =
+{
+ .tileTag = ANIM_TAG_MOON,
+ .paletteTag = ANIM_TAG_MOON,
+ .oam = &gUnknown_08524A3C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81024E0,
+};
+
+const union AnimCmd gUnknown_08592ED4[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_FRAME(12, 8),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08592EE8[] =
+{
+ gUnknown_08592ED4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8592EEC =
+{
+ .tileTag = ANIM_TAG_GREEN_SPARKLE,
+ .paletteTag = ANIM_TAG_GREEN_SPARKLE,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08592EE8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8102540,
+};
+
+const union AnimCmd gUnknown_08592F04[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_FRAME(80, 3),
+ ANIMCMD_FRAME(96, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592F28[] =
+{
+ gUnknown_08592F04,
+};
+
+const struct SpriteTemplate gUnknown_08592F2C =
+{
+ .tileTag = ANIM_TAG_BLUE_STAR,
+ .paletteTag = ANIM_TAG_BLUE_STAR,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592F28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A77C8,
+};
+
+const struct SpriteTemplate gUnknown_08592F44 =
+{
+ .tileTag = ANIM_TAG_HORN_HIT,
+ .paletteTag = ANIM_TAG_HORN_HIT,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8102844,
+};
+
+const union AnimCmd gUnknown_08592F5C[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592F70[] =
+{
+ gUnknown_08592F5C,
+};
+
+const struct SpriteTemplate gUnknown_08592F74 =
+{
+ .tileTag = ANIM_TAG_FANG_ATTACK,
+ .paletteTag = ANIM_TAG_FANG_ATTACK,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08592F70,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8102BCC,
+};
+
+const union AnimCmd gUnknown_08592F8C[] =
+{
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592F94[] =
+{
+ ANIMCMD_FRAME(4, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592F9C[] =
+{
+ ANIMCMD_FRAME(8, 41),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FA4[] =
+{
+ ANIMCMD_FRAME(12, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FAC[] =
+{
+ ANIMCMD_FRAME(16, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FB4[] =
+{
+ ANIMCMD_FRAME(20, 10),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FBC[] =
+{
+ ANIMCMD_FRAME(0, 10, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08592FC4[] =
+{
+ ANIMCMD_FRAME(4, 10, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08592FCC[] =
+{
+ gUnknown_08592F8C,
+ gUnknown_08592F94,
+ gUnknown_08592F9C,
+ gUnknown_08592FA4,
+ gUnknown_08592FAC,
+ gUnknown_08592FB4,
+ gUnknown_08592FBC,
+ gUnknown_08592FC4,
+};
+
+const union AffineAnimCmd gUnknown_08592FEC[] =
+{
+ AFFINEANIMCMD_FRAME(0xC, 0xC, 0, 16),
+ AFFINEANIMCMD_FRAME(0xFFF4, 0xFFF4, 0, 16),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08593004[] =
+{
+ gUnknown_08592FEC,
+};
+
+const struct SpriteTemplate gUnknown_08593008 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08592FCC,
+ .images = NULL,
+ .affineAnims = gUnknown_08593004,
+ .callback = sub_8102CD4,
+};
+
+const u16 gUnknown_08593020[][6] =
+{
+ {ANIM_TAG_MUSIC_NOTES, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)},
+ {ANIM_TAG_BENT_SPOON, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)},
+ {ANIM_TAG_SPHERE_TO_CUBE, RGB(31, 31, 31), RGB(31, 31, 24), RGB(31, 31, 17), RGB(31, 31, 10), RGB(31, 31, 3)},
+ {ANIM_TAG_LARGE_FRESH_EGG, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)},
+};
+
+const struct SpriteTemplate gUnknown_08593050 =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08592FCC,
+ .images = NULL,
+ .affineAnims = gUnknown_08593004,
+ .callback = sub_8102EB0,
+};
+
+const struct SpriteTemplate gUnknown_08593068 =
+{
+ .tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
+ .paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8102FB8,
+};
+
+const union AffineAnimCmd gUnknown_08593080[] =
+{
+ AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_08593098[] =
+{
+ gUnknown_08593080,
+};
+
+const struct SpriteTemplate gUnknown_0859309C =
+{
+ .tileTag = ANIM_TAG_MUSIC_NOTES,
+ .paletteTag = ANIM_TAG_MUSIC_NOTES,
+ .oam = &gUnknown_085249CC,
+ .anims = gUnknown_08592FCC,
+ .images = NULL,
+ .affineAnims = gUnknown_08593098,
+ .callback = sub_8103028,
+};
+
+const union AnimCmd gUnknown_085930B4[] =
+{
+ ANIMCMD_FRAME(0, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 2, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085930C8[] =
+{
+ ANIMCMD_FRAME(48, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 2, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 2, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085930DC[] =
+{
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085930F0[] =
+{
+ ANIMCMD_FRAME(48, 2),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(16, 2),
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08593104[] =
+{
+ gUnknown_085930B4,
+ gUnknown_085930DC,
+ gUnknown_085930C8,
+ gUnknown_085930F0,
+};
+
+const struct SpriteTemplate gUnknown_08593114 =
+{
+ .tileTag = ANIM_TAG_THOUGHT_BUBBLE,
+ .paletteTag = ANIM_TAG_THOUGHT_BUBBLE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08593104,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8103164,
+};
+
+const union AffineAnimCmd gUnknown_0859312C[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08593144[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 11),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 11),
+ AFFINEANIMCMD_LOOP(2),
+ AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08593144_2[] =
+{
+ AFFINEANIMCMD_FRAME(16, 16, 0, 0),
+ AFFINEANIMCMD_FRAME(30, 30, 0, 8),
+ AFFINEANIMCMD_FRAME(0, 0, 0, 16),
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0, 0, 4, 11),
+ AFFINEANIMCMD_FRAME(0, 0, -4, 11),
+ AFFINEANIMCMD_LOOP(2),
+ AFFINEANIMCMD_FRAME(-30, -30, 0, 8),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085931B4[] =
+{
+ gUnknown_0859312C,
+ gUnknown_08593144,
+};
+
+const struct SpriteTemplate gUnknown_085931BC =
+{
+ .tileTag = ANIM_TAG_FINGER,
+ .paletteTag = ANIM_TAG_FINGER,
+ .oam = &gUnknown_085249D4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085931B4,
+ .callback = sub_8103208,
+};
+
+const struct SpriteTemplate gUnknown_085931D4 =
+{
+ .tileTag = ANIM_TAG_FINGER,
+ .paletteTag = ANIM_TAG_FINGER,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085931B4,
+ .callback = sub_8103284,
+};
+
+const union AnimCmd gUnknown_085931EC[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085931F4[] =
+{
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085931FC[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859321C[] =
+{
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859323C[] =
+{
+ gUnknown_085931EC,
+ gUnknown_085931F4,
+ gUnknown_085931FC,
+ gUnknown_0859321C,
+};
+
+const struct SpriteTemplate gUnknown_0859324C =
+{
+ .tileTag = ANIM_TAG_FINGER_2,
+ .paletteTag = ANIM_TAG_FINGER_2,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_0859323C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8103390,
+};
+
+// Animates the falling particles that horizontally wave back and forth.
+// Used by Sleep Powder, Stun Spore, and Poison Powder.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: total duration in frames
+// arg 3: vertical movement speed (sub-pixel value)
+// arg 4: wave amplitude
+// arg 5: wave speed
+void AnimMovePowderParticle(struct Sprite* sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+
+ if (GetBattlerSide(gBattleAnimAttacker))
+ {
+ sprite->data[3] = -gBattleAnimArgs[4];
+ }
+ else
+ {
+ sprite->data[3] = gBattleAnimArgs[4];
+ }
+
+ sprite->data[4] = gBattleAnimArgs[5];
+ sprite->callback = AnimMovePowderParticleStep;
+}
+
+static void AnimMovePowderParticleStep(struct Sprite* sprite)
+{
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ sprite->pos2.y = sprite->data[2] >> 8;
+ sprite->data[2] += sprite->data[1];
+ sprite->pos2.x = Sin(sprite->data[5], sprite->data[3]);
+ sprite->data[5] = (sprite->data[5] + sprite->data[4]) & 0xFF;
+ }
+ else
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_80FE8E0(struct Sprite* sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+}
+
+void sub_80FE930(struct Sprite* sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+ StartSpriteAnim(sprite, gBattleAnimArgs[3]);
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_80FE988(struct Sprite* sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ InitAnimLinearTranslation(sprite);
+ sprite->data[5] = gBattleAnimArgs[3];
+ sprite->callback = sub_80FE9E4;
+ sprite->callback(sprite);
+}
+
+static void sub_80FE9E4(struct Sprite* sprite)
+{
+ if (TranslateAnimLinear(sprite))
+ {
+ DestroySprite(sprite);
+ }
+ else
+ {
+ if (sprite->data[5] > 0x7F)
+ sprite->subpriority = sub_80A82E4(gBattleAnimTarget) + 1;
+ else
+ sprite->subpriority = sub_80A82E4(gBattleAnimTarget) + 6;
+
+ sprite->pos2.x += Sin(sprite->data[5], 5);
+ sprite->pos2.y += Cos(sprite->data[5], 14);
+ sprite->data[5] = (sprite->data[5] + 15) & 0xFF;
+ }
+}
+
+void sub_80FEA58(u8 taskId)
+{
+ gTasks[taskId].data[0]--;
+ if (gTasks[taskId].data[0] == -1)
+ {
+ gTasks[taskId].data[1]++;
+ gTasks[taskId].data[0] = 6;
+ gBattleAnimArgs[0] = 15;
+ gBattleAnimArgs[1] = 0;
+ gBattleAnimArgs[2] = 80;
+ gBattleAnimArgs[3] = 0;
+ CreateSpriteAndAnimate(&gUnknown_08592210, 0, 0, sub_80A82E4(gBattleAnimTarget) + 1);
+ }
+
+ if (gTasks[taskId].data[1] == 15)
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_80FEAD8(struct Sprite* sprite)
+{
+ sub_80A6980(sprite, TRUE);
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[5] = gBattleAnimArgs[2];
+ InitAnimArcTranslation(sprite);
+ sprite->callback = sub_80FEB28;
+}
+
+static void sub_80FEB28(struct Sprite* sprite)
+{
+ if (TranslateAnimArc(sprite))
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80FEB44(struct Sprite* sprite)
+{
+ u16 a = Random2();
+ u16 b;
+
+ StartSpriteAnim(sprite, a & 7);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ if (GetBattlerSide(gBattleAnimAttacker))
+ {
+ sprite->pos1.x -= 20;
+ }
+ else
+ {
+ sprite->pos1.x += 20;
+ }
+
+ b = Random2();
+ sprite->data[0] = (b & 31) + 64;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sub_80A7160(sprite);
+ sprite->data[5] = Random2() & 0xFF;
+ sprite->data[6] = sprite->subpriority;
+ sprite->callback = sub_80FEBFC;
+ sprite->callback(sprite);
+}
+
+static void sub_80FEBFC(struct Sprite* sprite)
+{
+ if (sub_80A70E8(sprite))
+ {
+ DestroyAnimSprite(sprite);
+ }
+ else
+ {
+ sprite->pos2.y += Cos(sprite->data[5], 12);
+ if (sprite->data[5] < 0x7F)
+ sprite->subpriority = sprite->data[6];
+ else
+ sprite->subpriority = sprite->data[6] + 1;
+
+ sprite->data[5] = (sprite->data[5] + 24) & 0xFF;
+ }
+}
+
+// seed (sprouts a sapling from a seed.)
+// Used by Leech Seed.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x pixel offset
+// arg 3: target y pixel offset
+// arg 4: duration
+// arg 5: wave amplitude
+void AnimLeechSeed(struct Sprite* sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+ if (GetBattlerSide(gBattleAnimAttacker))
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[3];
+ sprite->data[5] = gBattleAnimArgs[5];
+ InitAnimArcTranslation(sprite);
+ sprite->callback = AnimLeechSeedStep;
+}
+
+static void AnimLeechSeedStep(struct Sprite* sprite)
+{
+ if (TranslateAnimArc(sprite))
+ {
+ sprite->invisible = 1;
+ sprite->data[0] = 10;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, AnimLeechSeedSprouts);
+ }
+}
+
+static void AnimLeechSeedSprouts(struct Sprite* sprite)
+{
+ sprite->invisible = 0;
+ StartSpriteAnim(sprite, 1);
+ sprite->data[0] = 60;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_80FED28(struct Sprite* sprite)
+{
+ sub_80A6980(sprite, TRUE);
+ StartSpriteAnim(sprite, gBattleAnimArgs[4]);
+ if (gBattleAnimArgs[4] == 1)
+ sprite->oam.objMode = ST_OAM_OBJ_BLEND;
+
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->callback = sub_80FED74;
+ sprite->callback(sprite);
+}
+
+static void sub_80FED74(struct Sprite* sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[1], 32);
+ sprite->pos2.y = Cos(sprite->data[1], -3) + ((sprite->data[2] += 24) >> 8);
+ if ((u16)(sprite->data[1] - 0x40) < 0x80)
+ {
+ sprite->oam.priority = (sub_80A8328(gBattleAnimTarget) & 3);
+ }
+ else
+ {
+ u8 priority = sub_80A8328(gBattleAnimTarget) + 1;
+ if (priority > 3)
+ priority = 3;
+
+ sprite->oam.priority = priority;
+ }
+
+ sprite->data[1] = (sprite->data[1] + 2) & 0xFF;
+ if (--sprite->data[0] == -1)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80FEE1C(u8 taskId)
+{
+ if (IsContest() || !IsDoubleBattle())
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ if (sub_80A8364(gBattleAnimTarget) == 1)
+ SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 3);
+ else
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+void sub_80FEE78(struct Sprite* sprite)
+{
+ InitAnimSpritePos(sprite, 0);
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ InitAnimLinearTranslation(sprite);
+ sprite->data[5] = 0x40;
+ sprite->callback = sub_80FEECC;
+ sprite->callback(sprite);
+}
+
+static void sub_80FEECC(struct Sprite* sprite)
+{
+ if (!TranslateAnimLinear(sprite))
+ {
+ sprite->pos2.x += Sin(sprite->data[5], 32);
+ sprite->pos2.y += Cos(sprite->data[5], -5);
+ if ((u16)(sprite->data[5] - 0x40) < 0x80)
+ sprite->subpriority = sub_80A82E4(gBattleAnimAttacker) - 1;
+ else
+ sprite->subpriority = sub_80A82E4(gBattleAnimAttacker) + 1;
+
+ sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
+ }
+ else
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_80FEF44(struct Sprite* sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+ sprite->data[0] = gBattleAnimArgs[3];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = sprite->pos1.x;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ InitAnimLinearTranslation(sprite);
+ sprite->data[5] = 0x40;
+ sprite->callback = sub_80FEF98;
+ sprite->callback(sprite);
+}
+
+static void sub_80FEF98(struct Sprite* sprite)
+{
+ if (!TranslateAnimLinear(sprite))
+ {
+ sprite->pos2.x += Sin(sprite->data[5], 8);
+ if ((u16)(sprite->data[5] - 59) < 5 || (u16)(sprite->data[5] - 187) < 5)
+ sprite->oam.matrixNum ^= 0x8;
+
+ sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
+ }
+ else
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_80FEFFC(struct Sprite* sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[0] = gBattleAnimArgs[0];
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[2];
+ sprite->callback = sub_80FF044;
+}
+
+static void sub_80FF044(struct Sprite* sprite)
+{
+ if (!sprite->data[2])
+ {
+ if (sprite->data[1] & 1)
+ {
+ sprite->data[0] = 0x80;
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ }
+ else
+ {
+ sprite->data[0] = sprite->data[1] & 1;
+ sprite->data[1] = sprite->data[1] & 1;
+ sprite->data[2] = sprite->data[1] & 1;
+ }
+ sprite->callback = sub_80FF090;
+ }
+ else
+ {
+ sprite->data[2]--;
+ sprite->pos1.x += sprite->data[0];
+ sprite->pos1.y += sprite->data[1];
+ }
+}
+
+static void sub_80FF090(struct Sprite* sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker))
+ sprite->pos2.x = -Sin(sprite->data[0], 25);
+ else
+ sprite->pos2.x = Sin(sprite->data[0], 25);
+
+ sprite->data[0] = (sprite->data[0] + 2) & 0xFF;
+ sprite->data[1]++;
+ if (!(sprite->data[1] & 1))
+ sprite->pos2.y++;
+
+ if (sprite->data[1] > 80)
+ DestroyAnimSprite(sprite);
+}
+
+// Animates a sprite that moves linearly from one location to another, with a
+// single-cycle sine wave added to the y position along the way.
+// Used by Razor Leaf and Magical Leaf.
+// arg 0: initial x offset
+// arg 1: initial y offset
+// arg 2: target x offset
+// arg 3: target y offset
+// arg 4: translation duration
+// arg 5: wave amplitude
+// arg 6: target between double battle opponents (boolean)
+void AnimTranslateLinearSingleSineWave(struct Sprite* sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ if (!gBattleAnimArgs[6])
+ {
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ }
+ else
+ {
+ SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]);
+ sprite->data[2] += gBattleAnimArgs[2];
+ sprite->data[4] += gBattleAnimArgs[3];
+ }
+
+ sprite->data[5] = gBattleAnimArgs[5];
+ InitAnimArcTranslation(sprite);
+ if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
+ sprite->data[0] = 1;
+ else
+ sprite->data[0] = 0;
+
+ sprite->callback = AnimTranslateLinearSingleSineWaveStep;
+}
+
+static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite)
+{
+ bool8 destroy = FALSE;
+ s16 a = sprite->data[0];
+ s16 b = sprite->data[7];
+ s16 r0;
+
+ sprite->data[0] = 1;
+ TranslateAnimArc(sprite);
+ r0 = sprite->data[7];
+ sprite->data[0] = a;
+ if (b > 200 && r0 < 56 && sprite->oam.affineParam == 0)
+ sprite->oam.affineParam++;
+
+ if (sprite->oam.affineParam && sprite->data[0])
+ {
+ sprite->invisible ^= 1;
+ sprite->oam.affineParam++;
+ if (sprite->oam.affineParam == 30)
+ destroy = TRUE;
+ }
+
+ if (sprite->pos1.x + sprite->pos2.x > 256
+ || sprite->pos1.x + sprite->pos2.x < -16
+ || sprite->pos1.y + sprite->pos2.y > 160
+ || sprite->pos1.y + sprite->pos2.y < -16)
+ destroy = TRUE;
+
+ if (destroy)
+ DestroyAnimSprite(sprite);
+}
+
+// Animates particles in the Twister move animation.
+// arg 0: duration
+// arg 1: total y delta (the particles rise upward)
+// arg 2: wave period (higher means faster wave)
+// arg 3: wave amplitude
+// arg 4: speedup frame (particles move faster at the end of the animation)
+void AnimMoveTwisterParticle(struct Sprite* sprite)
+{
+ if (IsDoubleBattle() == TRUE)
+ SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->pos1.x, &sprite->pos1.y);
+
+ sprite->pos1.y += 32;
+ sprite->data[0] = gBattleAnimArgs[0];
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[2];
+ sprite->data[3] = gBattleAnimArgs[3];
+ sprite->data[4] = gBattleAnimArgs[4];
+ sprite->callback = AnimMoveTwisterParticleStep;
+}
+
+static void AnimMoveTwisterParticleStep(struct Sprite* sprite)
+{
+ if (sprite->data[1] == 0xFF)
+ {
+ sprite->pos1.y -= 2;
+ }
+ else if (sprite->data[1] > 0)
+ {
+ sprite->pos1.y -= 2;
+ sprite->data[1] -= 2;
+ }
+
+ sprite->data[5] += sprite->data[2];
+ if (sprite->data[0] < sprite->data[4])
+ sprite->data[5] += sprite->data[2];
+
+ sprite->data[5] &= 0xFF;
+ sprite->pos2.x = Cos(sprite->data[5], sprite->data[3]);
+ sprite->pos2.y = Sin(sprite->data[5], 5);
+ if (sprite->data[5] < 0x80)
+ sprite->oam.priority = sub_80A8328(gBattleAnimTarget) - 1;
+ else
+ sprite->oam.priority = sub_80A8328(gBattleAnimTarget) + 1;
+
+ if (--sprite->data[0] == 0)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80FF374(struct Sprite* sprite)
+{
+ sub_80A6980(sprite, FALSE);
+ sprite->affineAnimPaused = 1;
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[2]);
+ sprite->data[6] = gBattleAnimArgs[2];
+ sprite->data[7] = gBattleAnimArgs[3];
+ sprite->callback = sub_80FF3B0;
+}
+
+static void sub_80FF3B0(struct Sprite* sprite)
+{
+ if ((u16)gBattleAnimArgs[7] == 0xFFFF)
+ {
+ sprite->affineAnimPaused = 0;
+ GetAnimBattlerSpriteId(1);
+ sprite->data[0] = 0x100;
+ sprite->callback = sub_80FF3EC;
+ }
+}
+
+static void sub_80FF3EC(struct Sprite* sprite)
+{
+ GetAnimBattlerSpriteId(1);
+ if (!sprite->data[2])
+ sprite->data[0] += 11;
+ else
+ sprite->data[0] -= 11;
+
+ if (++sprite->data[1] == 6)
+ {
+ sprite->data[1] = 0;
+ sprite->data[2] ^= 1;
+ }
+
+ if (sprite->affineAnimEnded)
+ {
+ if (--sprite->data[7] > 0)
+ StartSpriteAffineAnim(sprite, sprite->data[6]);
+ else
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_80FF458(u8 taskId)
+{
+ u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
+ if (gSprites[spriteId].invisible)
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ sub_80A7270(spriteId, 1);
+ gTasks[taskId].data[14] = gSprites[spriteId].oam.priority;
+ gSprites[spriteId].oam.priority = sub_80A8328(gBattleAnimTarget);
+ spriteId = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER);
+ gTasks[taskId].data[15] = gSprites[spriteId].oam.priority;
+ gSprites[spriteId].oam.priority = sub_80A8328(BATTLE_PARTNER(gBattleAnimTarget));
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[11] = 256;
+ gTasks[taskId].func = sub_80FF53C;
+ }
+}
+
+static void sub_80FF53C(u8 taskId)
+{
+ u8 spriteId = GetAnimBattlerSpriteId(1);
+ gTasks[taskId].data[10] += gTasks[taskId].data[0];
+ gSprites[spriteId].pos2.x = gTasks[taskId].data[10] >> 8;
+ if (GetBattlerSide(gBattleAnimTarget))
+ gSprites[spriteId].pos2.x = -gSprites[spriteId].pos2.x;
+
+ gTasks[taskId].data[11] += 16;
+ obj_id_set_rotscale(spriteId, gTasks[taskId].data[11], gTasks[taskId].data[11], 0);
+ sub_80A7E6C(spriteId);
+ if (--gTasks[taskId].data[1] == 0)
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = sub_80FF5CC;
+ }
+}
+
+static void sub_80FF5CC(u8 taskId)
+{
+ if ((u16)gBattleAnimArgs[7] == 0xFFFF)
+ {
+ if (gTasks[taskId].data[0] == 0)
+ {
+ u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
+ sub_80A7344(spriteId);
+ gSprites[spriteId].pos2.x = 0;
+ gSprites[spriteId].pos2.y = 0;
+ gSprites[spriteId].oam.priority = gTasks[taskId].data[14];
+ spriteId = GetAnimBattlerSpriteId(ANIM_DEF_PARTNER);
+ gSprites[spriteId].oam.priority = gTasks[taskId].data[15];
+ gTasks[taskId].data[0]++;
+ return;
+ }
+ }
+ else
+ {
+ if (gTasks[taskId].data[0] == 0)
+ return;
+ }
+
+ gTasks[taskId].data[0]++;
+ if (gTasks[taskId].data[0] == 3)
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_80FF698(struct Sprite* sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ {
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ gBattleAnimArgs[0] *= -1;
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[1];
+ sprite->invisible = 1;
+ sprite->data[0]++;
+ break;
+ }
+ case 1:
+ {
+ sprite->invisible = 0;
+ if (sprite->affineAnimEnded)
+ {
+ ChangeSpriteAffineAnim(sprite, 1);
+ sprite->data[0] = 25;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->callback = sub_80A70C0;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ break;
+ }
+ }
+ }
+}
+
+void sub_80FF768(struct Sprite* sprite)
+{
+ if (!sprite->data[0])
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->pos2.x = gBattleAnimArgs[0];
+ sprite->pos2.y = gBattleAnimArgs[1];
+ sprite->subpriority = gBattleAnimArgs[2] + 30;
+ StartSpriteAnim(sprite, gBattleAnimArgs[3]);
+ sprite->data[2] = gBattleAnimArgs[4];
+ sprite->data[0]++;
+ if (sprite->pos1.y + sprite->pos2.y > 120)
+ sprite->pos1.y += sprite->pos2.y + sprite->pos1.y - 120;
+ }
+ sprite->callback = sub_80FF8DC;
+}
+
+void sub_80FF7EC(struct Sprite *sprite)
+{
+ s16 p1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ s16 p2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ s16 e1 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ s16 e2 = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+
+ e1 -= p1;
+ e2 -= p2;
+ sprite->pos1.x = p1 + e1 * gBattleAnimArgs[0] / 100;
+ sprite->pos1.y = p2 + e2 * gBattleAnimArgs[0] / 100;
+ sprite->pos2.x = gBattleAnimArgs[1];
+ sprite->pos2.y = gBattleAnimArgs[2];
+ sprite->subpriority = gBattleAnimArgs[3] + 30;
+ StartSpriteAnim(sprite, gBattleAnimArgs[4]);
+ sprite->data[2] = gBattleAnimArgs[5];
+ sprite->callback = sub_80FF8DC;
+ gUnknown_0203A0F8[0] = sprite->pos1.x;
+ gUnknown_0203A0F8[1] = sprite->pos1.y;
+ gUnknown_0203A0F8[2] = e1;
+ gUnknown_0203A0F8[3] = e2;
+}
+
+static void sub_80FF8DC(struct Sprite* sprite)
+{
+ if (++sprite->data[0] > (sprite->data[2] - 10))
+ sprite->invisible = sprite->data[0] % 2;
+
+ if (sprite->data[0] > sprite->data[2])
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80FF934(struct Sprite* sprite)
+{
+ if (!sprite->data[0])
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->data[2] = gBattleAnimArgs[3];
+ sprite->data[3] = gBattleAnimArgs[4];
+ }
+
+ sprite->data[0]++;
+ sprite->pos2.x = sprite->data[1] * sprite->data[0];
+ sprite->pos2.y = Sin((sprite->data[0] * 20) & 0xFF, sprite->data[2]);
+ if (sprite->data[0] > sprite->data[3])
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80FF9B8(struct Sprite* sprite, s16 c)
+{
+ s32 a = (sprite->pos1.x * 256) | sprite->pos1.y;
+ s32 b = (sprite->data[6] * 256) | sprite->data[7];
+ c *= 256;
+ sprite->data[5] = a;
+ sprite->data[6] = b;
+ sprite->data[7] = c;
+}
+
+bool8 sub_80FF9E0(struct Sprite* sprite)
+{
+ u16 r10 = (u8)(sprite->data[5] >> 8);
+ u16 r9 = (u8)sprite->data[5];
+ s32 r2 = (u8)(sprite->data[6] >> 8);
+ s32 r4 = (u8)sprite->data[6];
+ s16 r6 = sprite->data[7] >> 8;
+ s16 r3 = sprite->data[7] & 0xFF;
+ s16 r4_2;
+ s16 r0;
+ s32 var1;
+ s32 var2;
+
+ if (r2 == 0)
+ r2 = -32;
+ else if (r2 == 255)
+ r2 = 272;
+
+ r4_2 = r4 - r9;
+ r0 = r2 - r10;
+ var1 = r0 * r3 / r6;
+ var2 = r4_2 * r3 / r6;
+ sprite->pos1.x = var1 + r10;
+ sprite->pos1.y = var2 + r9;
+ if (++r3 == r6)
+ return TRUE;
+
+ sprite->data[7] = (r6 << 8) | r3;
+ return FALSE;
+}
+
+void sub_80FFA84(struct Sprite* sprite)
+{
+ if (sprite->data[0] == 10)
+ StartSpriteAffineAnim(sprite, 1);
+
+ sprite->data[0]++;
+ if (sprite->data[0] > 50)
+ DestroyAnimSprite(sprite);
+}
+
+static void sub_80FFAB4(struct Sprite* sprite)
+{
+ sprite->data[0] += sprite->data[3] * 128 / sprite->data[4];
+ if (sprite->data[0] >= 128)
+ {
+ sprite->data[1]++;
+ sprite->data[0] = 0;
+ }
+
+ sprite->pos2.y = Sin(sprite->data[0] + 128, 30 - sprite->data[1] * 8);
+ if (sub_80FF9E0(sprite))
+ {
+ sprite->pos2.y = 0;
+ sprite->data[0] = 0;
+ sprite->callback = sub_80FFA84;
+ }
+}
+
+void sub_80FFB18(struct Sprite* sprite)
+{
+ s16 e1;
+ s16 e2;
+ InitAnimSpritePos(sprite, 0);
+ e1 = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ e2 = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ if (BATTLE_PARTNER(gBattleAnimAttacker) == gBattleAnimTarget)
+ {
+ sprite->data[6] = e1;
+ sprite->data[7] = e2 + 10;
+ sub_80FF9B8(sprite, 60);
+ sprite->data[3] = 1;
+ }
+ else
+ {
+ sprite->data[6] = e1;
+ sprite->data[7] = e2 + 10;
+ sub_80FF9B8(sprite, 60);
+ sprite->data[3] = 3;
+ }
+
+ sprite->data[4] = 60;
+ sprite->callback = sub_80FFAB4;
+}
+
+static void sub_80FFB90(struct Sprite* sprite)
+{
+ int zero;
+ sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]);
+ zero = 0;
+ if (sprite->data[0] > 0x7F)
+ {
+ sprite->data[1]++;
+ sprite->data[0] = zero;
+ }
+
+ sprite->pos2.y = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8);
+ if (sub_80FF9E0(sprite))
+ {
+ sprite->pos2.y = zero;
+ sprite->data[0] = zero;
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_80FFBF4(struct Sprite* sprite)
+{
+ s16 e = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ {
+ sprite->data[6] = 0;
+ sprite->data[7] = e + 10;
+ sub_80FF9B8(sprite, 40);
+ sprite->data[3] = 3;
+ sprite->data[4] = 0x3C;
+ sprite->callback = sub_80FFAB4;
+ }
+ else
+ {
+ sprite->data[6] = 255;
+ sprite->data[7] = e + 10;
+ if (IsContest())
+ sprite->data[6] = 0;
+
+ sub_80FF9B8(sprite, 40);
+ sprite->data[3] = 3;
+ sprite->data[4] = 0x3C;
+ sprite->callback = sub_80FFB90;
+ }
+}
+
+void sub_80FFC70(struct Sprite* sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sub_80A6980(sprite, FALSE);
+ sprite->data[1] = gBattleAnimArgs[2];
+ }
+
+ sprite->data[0]++;
+ sprite->pos2.y = sprite->data[1] * sprite->data[0];
+ if (sprite->animEnded)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_80FFCB4(struct Sprite* sprite)
+{
+ s16 p1;
+ s16 p2;
+ sub_80A6980(sprite, FALSE);
+ p1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ p2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ if (BATTLE_PARTNER(gBattleAnimTarget) == gBattleAnimAttacker)
+ {
+ sprite->data[6] = p1;
+ sprite->data[7] = p2 + 10;
+ sub_80FF9B8(sprite, 60);
+ sprite->data[3] = 1;
+ }
+ else
+ {
+ sprite->data[6] = p1;
+ sprite->data[7] = p2 + 10;
+ sub_80FF9B8(sprite, 60);
+ sprite->data[3] = 3;
+ }
+
+ sprite->data[4] = 60;
+ sprite->callback = sub_80FFD2C;
+}
+
+static void sub_80FFD2C(struct Sprite* sprite)
+{
+ int zero;
+ sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]);
+ zero = 0;
+ if (sprite->data[0] > 127)
+ {
+ sprite->data[1]++;
+ sprite->data[0] = zero;
+ }
+
+ sprite->pos2.y = Sin(sprite->data[0] + 0x80, 30 - sprite->data[1] * 8);
+ if (sprite->pos2.y == 0)
+ PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(63));
+
+ if (sub_80FF9E0(sprite))
+ {
+ sprite->pos2.y = 0;
+ sprite->data[0] = 0;
+ sprite->callback = sub_80FFA84;
+ PlaySE12WithPanning(SE_W145B, BattleAnimAdjustPanning(-64));
+ }
+}
+
+void sub_80FFDBC(struct Sprite* sprite)
+{
+ int a;
+ int b;
+
+ if (!sprite->data[0])
+ {
+ if (!IsContest())
+ {
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->pos1.x = 120;
+ }
+ else
+ {
+ a = gBattleAnimArgs[1] - 32;
+ if (a < 0)
+ b = gBattleAnimArgs[1] + 0xDF;
+ else
+ b = a;
+
+ sprite->data[1] = a - ((b >> 8) << 8);
+ sprite->pos1.x = 70;
+ }
+
+ sprite->pos1.y = gBattleAnimArgs[0];
+ sprite->data[2] = gBattleAnimArgs[0];
+ sprite->data[4] = 20;
+ sprite->pos2.x = Cos(sprite->data[1], 60);
+ sprite->pos2.y = Sin(sprite->data[1], 20);
+ sprite->callback = sub_80FFE58;
+ if (sprite->data[1] > 0 && sprite->data[1] < 192)
+ sprite->subpriority = 31;
+ else
+ sprite->subpriority = 29;
+ }
+}
+
+static void sub_80FFE58(struct Sprite* sprite)
+{
+ switch (sprite->data[3])
+ {
+ case 0:
+ if (sprite->data[2] > 78)
+ {
+ sprite->data[3] = 1;
+ StartSpriteAffineAnim(sprite, 1);
+ break;
+ }
+ else
+ {
+ sprite->data[2] += sprite->data[4] / 10;
+ sprite->data[4] += 3;
+ sprite->pos1.y = sprite->data[2];
+ break;
+ }
+ break;
+ case 1:
+ if (sprite->data[3] && sprite->affineAnimEnded)
+ {
+ sprite->data[0] = 0;
+ sprite->data[2] = 0;
+ sprite->callback = sub_80FFEC4;
+ }
+ break;
+ }
+}
+
+static void sub_80FFEC4(struct Sprite* sprite)
+{
+ if (sprite->data[2] == gUnknown_08592700[sprite->data[0]][1])
+ {
+ if (gUnknown_08592700[sprite->data[0]][2] == 127)
+ {
+ sprite->data[0] = 0;
+ sprite->callback = sub_80FFF7C;
+ }
+
+ sprite->data[2] = 0;
+ sprite->data[0]++;
+ }
+ else
+ {
+ sprite->data[2]++;
+ sprite->data[1] = (gUnknown_08592700[sprite->data[0]][0] * gUnknown_08592700[sprite->data[0]][2] + sprite->data[1]) & 0xFF;
+ if (!IsContest())
+ {
+ if ((u16)(sprite->data[1] - 1) < 191)
+ sprite->subpriority = 31;
+ else
+ sprite->subpriority = 29;
+ }
+
+ sprite->pos2.x = Cos(sprite->data[1], 60);
+ sprite->pos2.y = Sin(sprite->data[1], 20);
+ }
+}
+
+static void sub_80FFF7C(struct Sprite* sprite)
+{
+ if (sprite->data[0] > 20)
+ DestroyAnimSprite(sprite);
+
+ sprite->invisible = sprite->data[0] % 2;
+ sprite->data[0]++;
+}
+
+void sub_80FFFC0(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[4] = sub_80A82E4(gBattleAnimTarget) - 1;
+ task->data[6] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ task->data[10] = sub_80A861C(gBattleAnimTarget, 1);
+ task->data[11] = sub_80A861C(gBattleAnimTarget, 0);
+ task->data[5] = (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) ? 1 : -1;
+ task->data[9] = 56 - (task->data[5] * 64);
+ task->data[8] = task->data[7] - task->data[9] + task->data[6];
+ task->data[2] = CreateSprite(&gUnknown_08592778, task->data[8], task->data[9], task->data[4]);
+ if (task->data[2] == MAX_SPRITES)
+ DestroyAnimVisualTask(taskId);
+
+ gSprites[task->data[2]].data[0] = 10;
+ gSprites[task->data[2]].data[1] = task->data[8];
+ gSprites[task->data[2]].data[2] = task->data[6] - (task->data[10] / 2 + 10) * task->data[5];
+ gSprites[task->data[2]].data[3] = task->data[9];
+ gSprites[task->data[2]].data[4] = task->data[7] + (task->data[11] / 2 + 10) * task->data[5];
+ gSprites[task->data[2]].data[5] = sub_8100504(&gSprites[task->data[2]]);
+ InitAnimArcTranslation(&gSprites[task->data[2]]);
+ task->func = sub_8100128;
+}
+
+static void sub_8100128(u8 taskId)
+{
+ struct Task* task = &gTasks[taskId];
+ struct Sprite* sprite = &gSprites[task->data[2]];
+ int a = task->data[0];
+ switch (a)
+ {
+ case 4:
+ sub_8100524(task, taskId);
+ if (TranslateAnimArc(sprite))
+ {
+ task->data[15] = 5;
+ task->data[0] = 0xFF;
+ }
+ break;
+ case 8:
+ sub_8100524(task, taskId);
+ if (TranslateAnimArc(sprite))
+ {
+ task->data[15] = 9;
+ task->data[0] = 0xFF;
+ }
+ break;
+ case 0:
+ sub_8100524(task, taskId);
+ if (TranslateAnimArc(sprite))
+ {
+ task->data[15] = 1;
+ task->data[0] = 0xFF;
+ }
+ break;
+ case 1:
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->data[0] = 10;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = task->data[6];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = task->data[7];
+ sprite->data[5] = sub_8100504(sprite);
+ task->data[4] += 2;
+ task->data[3] = a;
+ sprite->subpriority = task->data[4];
+ StartSpriteAnim(sprite, task->data[3]);
+ InitAnimArcTranslation(sprite);
+ task->data[0]++;
+ break;
+ case 2:
+ sub_8100524(task, taskId);
+ if (TranslateAnimArc(sprite))
+ {
+ task->data[15] = 3;
+ task->data[0] = 0xFF;
+ }
+ break;
+ case 3:
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->data[0] = 10;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = task->data[7] - ((task->data[11] / 2) + 10) * task->data[5];
+ sprite->data[5] = sub_8100504(sprite);
+ task->data[3] = 2;
+ sprite->subpriority = task->data[4];
+ StartSpriteAnim(sprite, task->data[3]);
+ InitAnimArcTranslation(sprite);
+ task->data[0]++;
+ break;
+ case 5:
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->data[0] = 10;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = task->data[6] + ((task->data[10] / 2) + 10) * task->data[5];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5];
+ sprite->data[5] = sub_8100504(sprite);
+ task->data[4] -= 2;
+ task->data[3] = 3;
+ sprite->subpriority = task->data[4];
+ StartSpriteAnim(sprite, task->data[3]);
+ InitAnimArcTranslation(sprite);
+ task->data[0]++;
+ break;
+ case 6:
+ sub_8100524(task, taskId);
+ if (TranslateAnimArc(sprite))
+ {
+ task->data[15] = 7;
+ task->data[0] = 0xFF;
+ }
+ break;
+ case 7:
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->data[0] = 10;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = task->data[6];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = task->data[7];
+ sprite->data[5] = sub_8100504(sprite);
+ task->data[4] += 2;
+ task->data[3] = 4;
+ sprite->subpriority = task->data[4];
+ StartSpriteAnim(sprite, task->data[3]);
+ InitAnimArcTranslation(sprite);
+ task->data[0]++;
+ break;
+ case 9:
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->data[0] = 10;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = task->data[6] - ((task->data[10] / 2) + 10) * task->data[5];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = task->data[7] + ((task->data[11] / 2) + 10) * task->data[5];
+ sprite->data[5] = sub_8100504(sprite);
+ task->data[3] = 5;
+ sprite->subpriority = task->data[4];
+ StartSpriteAnim(sprite, task->data[3]);
+ InitAnimArcTranslation(sprite);
+ task->data[0]++;
+ break;
+ case 10:
+ sub_8100524(task, taskId);
+ if (TranslateAnimArc(sprite))
+ {
+ task->data[15] = 11;
+ task->data[0] = 0xFF;
+ }
+ break;
+ case 11:
+ {
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->data[0] = 10;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = task->data[8];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = task->data[9];
+ sprite->data[5] = sub_8100504(sprite);
+ task->data[4] -= 2;
+ task->data[3] = 6;
+ sprite->subpriority = task->data[4];
+ StartSpriteAnim(sprite, task->data[3]);
+ InitAnimArcTranslation(sprite);
+ task->data[0]++;
+ break;
+ }
+ case 12:
+ sub_8100524(task, taskId);
+ if (TranslateAnimArc(sprite))
+ {
+ DestroySprite(sprite);
+ task->data[0]++;
+ }
+ break;
+ case 13:
+ if (task->data[12] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
+ case 0xFF:
+ if (++task->data[1] > 5)
+ {
+ task->data[1] = 0;
+ task->data[0] = task->data[15];
+ }
+ break;
+ }
+}
+
+static s16 sub_8100504(struct Sprite* sprite)
+{
+ s16 var = 8;
+ if (sprite->data[4] < sprite->pos1.y)
+ var = -var;
+
+ return var;
+}
+
+static void sub_8100524(struct Task* task, u8 taskId)
+{
+ task->data[14]++;
+ if (task->data[14] > 0)
+ {
+ u8 spriteId;
+ s16 spriteX;
+ s16 spriteY;
+ task->data[14] = 0;
+ spriteX = gSprites[task->data[2]].pos1.x + gSprites[task->data[2]].pos2.x;
+ spriteY = gSprites[task->data[2]].pos1.y + gSprites[task->data[2]].pos2.y;
+ spriteId = CreateSprite(&gUnknown_08592778, spriteX, spriteY, task->data[4]);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[6] = taskId;
+ gSprites[spriteId].data[7] = 12;
+ gTasks[taskId].data[12]++;
+ gSprites[spriteId].data[0] = task->data[13] & 1;
+ gTasks[taskId].data[13]++;
+ StartSpriteAnim(&gSprites[spriteId], task->data[3]);
+ gSprites[spriteId].subpriority = task->data[4];
+ gSprites[spriteId].callback = sub_80CC408;
+ }
+ }
+}
+
+static void sub_80CC408(struct Sprite* sprite)
+{
+ sprite->data[0]++;
+ if (sprite->data[0] > 1)
+ {
+ sprite->data[0] = 0;
+ sprite->invisible ^= 1;
+ sprite->data[1]++;
+ if (sprite->data[1] > 8)
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ DestroySprite(sprite);
+ }
+ }
+}
+
+void sub_8100640(struct Sprite* sprite)
+{
+ u8 battler;
+ if (!gBattleAnimArgs[6])
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ if (GetBattlerSide(battler) != 0)
+ {
+ sprite->data[4] = 0;
+ sprite->data[2] = gBattleAnimArgs[3];
+ sprite->pos1.x = 0xFFF0;
+ }
+ else
+ {
+ sprite->data[4] = 1;
+ sprite->data[2] = -gBattleAnimArgs[3];
+ sprite->pos1.x = 0x100;
+ }
+
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[3] = gBattleAnimArgs[4];
+ switch (gBattleAnimArgs[5])
+ {
+ case 0:
+ sprite->pos1.y = gBattleAnimArgs[0];
+ sprite->oam.priority = sub_80A8328(battler);
+ break;
+ case 1:
+ sprite->pos1.y = gBattleAnimArgs[0];
+ sprite->oam.priority = sub_80A8328(battler) + 1;
+ break;
+ case 2:
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[0];
+ sprite->oam.priority = sub_80A8328(battler);
+ break;
+ case 3:
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[0];
+ GetAnimBattlerSpriteId(ANIM_TARGET);
+ sprite->oam.priority = sub_80A8328(battler) + 1;
+ break;
+ }
+
+ sprite->callback = sub_810074C;
+}
+
+static void sub_810074C(struct Sprite* sprite)
+{
+ int a = sprite->data[7];
+ sprite->data[7]++;
+ sprite->pos2.y = (sprite->data[1] * gSineTable[sprite->data[0]]) >> 8;
+ sprite->pos2.x = sprite->data[2] * a;
+ sprite->data[0] = (sprite->data[3] * a) & 0xFF;
+ if (!sprite->data[4])
+ {
+ if (sprite->pos2.x + sprite->pos1.x <= 0xF7)
+ return;
+ }
+ else
+ {
+ if (sprite->pos2.x + sprite->pos1.x > -16)
+ return;
+ }
+
+ move_anim_8074EE0(sprite);
+}
+
+void sub_81007C4(u8 taskId)
+{
+ struct Task* task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[8] = IndexOfSpritePaletteTag(ANIM_TAG_LEAF) * 16 + 256;
+ task->data[12] = IndexOfSpritePaletteTag(ANIM_TAG_RAZOR_LEAF) * 16 + 256;
+ task->data[0]++;
+ break;
+ case 1:
+ if (++task->data[9] >= 0)
+ {
+ task->data[9] = 0;
+ BlendPalette(task->data[8], 16, task->data[10], gMagicalLeafBlendColors[task->data[11]]);
+ BlendPalette(task->data[12], 16, task->data[10], gMagicalLeafBlendColors[task->data[11]]);
+ if (++task->data[10] == 17)
+ {
+ task->data[10] = 0;
+ if (++task->data[11] == 7)
+ task->data[11] = 0;
+ }
+ }
+ break;
+ }
+
+ if (gBattleAnimArgs[7] == -1)
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8100898(struct Sprite* sprite)
+{
+ u8 a;
+ u8 b;
+ u16 c;
+ u16 x;
+ u16 y;
+
+ if (gBattleAnimArgs[4] == 0)
+ {
+ DestroyAnimSprite(sprite);
+ }
+ else
+ {
+ if (gBattleAnimArgs[0] == 0)
+ {
+ a = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ b = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ }
+ else
+ {
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ }
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ if (gBattleAnimArgs[1] == 0)
+ {
+ sprite->pos1.x = gBattleAnimArgs[2] + a;
+ sprite->pos1.y = gBattleAnimArgs[3] + b;
+ sprite->data[5] = a;
+ sprite->data[6] = b;
+ }
+ else
+ {
+ sprite->pos1.x = a;
+ sprite->pos1.y = b;
+ sprite->data[5] = gBattleAnimArgs[2] + a;
+ sprite->data[6] = gBattleAnimArgs[3] + b;
+ }
+
+ x = sprite->pos1.x;
+ sprite->data[1] = x * 16;
+ y = sprite->pos1.y;
+ sprite->data[2] = y * 16;
+ sprite->data[3] = (sprite->data[5] - sprite->pos1.x) * 16 / gBattleAnimArgs[4];
+ sprite->data[4] = (sprite->data[6] - sprite->pos1.y) * 16 / gBattleAnimArgs[4];
+ c = ArcTan2Neg(sprite->data[5] - x, sprite->data[6] - y);
+ if (IsContest())
+ c -= 0x8000;
+
+ sub_80A73E0(sprite, 0, 0x100, 0x100, c);
+ sprite->callback = sub_81009A0;
+ }
+}
+
+static void sub_81009A0(struct Sprite* sprite)
+{
+ if (sprite->data[0])
+ {
+ sprite->data[1] += sprite->data[3];
+ sprite->data[2] += sprite->data[4];
+ sprite->pos1.x = sprite->data[1] >> 4 ;
+ sprite->pos1.y = sprite->data[2] >> 4 ;
+ sprite->data[0]--;
+ }
+ else
+ {
+ move_anim_8074EE0(sprite);
+ }
+}
+
+static void sub_81009DC(struct Sprite* sprite)
+{
+ if (sprite->animEnded)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81009F8(struct Sprite* sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) != 0)
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+ else
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+
+ sprite->callback = sub_80A67D8;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_8100A50(struct Sprite* sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) == 0)
+ StartSpriteAnim(sprite, 1);
+
+ sprite->callback = sub_81009DC;
+ sub_80A6864(sprite, gBattleAnimArgs[0]);
+ sprite->pos1.y += gBattleAnimArgs[1];
+}
+
+void sub_8100A94(struct Sprite* sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[3] = gBattleAnimArgs[4];
+ sprite->data[5] = gBattleAnimArgs[5];
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[6]);
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A66DC;
+}
+
+// Moves the sprite in a diagonally slashing motion across the target mon.
+// Used by moves such as MOVE_CUT and MOVE_AERIAL_ACE.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: slice direction; 0 = right-to-left, 1 = left-to-right
+void AnimCuttingSlice(struct Sprite* sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ sprite->pos1.y += 8;
+
+ sprite->callback = AnimSliceStep;
+ if (gBattleAnimArgs[2] == 0)
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ }
+ else
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ sprite->hFlip = 1;
+ }
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[1] -= 0x400;
+ sprite->data[2] += 0x400;
+ sprite->data[5] = gBattleAnimArgs[2];
+ if (sprite->data[5] == 1)
+ sprite->data[1] = -sprite->data[1];
+}
+
+void sub_8100B88(struct Sprite* sprite)
+{
+ u8 a;
+ u8 b;
+ switch (gBattleAnimArgs[3])
+ {
+ case 1:
+ a = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 0);
+ b = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 1);
+ break;
+ case 2:
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
+ {
+ a = (GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 0) + a) / 2;
+ b = (GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 1) + b) / 2;
+ }
+ break;
+ case 0:
+ default:
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ break;
+ }
+
+ sprite->pos1.x = a;
+ sprite->pos1.y = b;
+ if (GetBattlerSide(gBattleAnimTarget) == 0)
+ sprite->pos1.y += 8;
+
+ sprite->callback = AnimSliceStep;
+ if (gBattleAnimArgs[2] == 0)
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ }
+ else
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ sprite->hFlip = 1;
+ }
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[1] -= 0x400;
+ sprite->data[2] += 0x400;
+ sprite->data[5] = gBattleAnimArgs[2];
+ if (sprite->data[5] == 1)
+ sprite->data[1] = -sprite->data[1];
+}
+
+static void AnimSliceStep(struct Sprite* sprite)
+{
+ sprite->data[3] += sprite->data[1];
+ sprite->data[4] += sprite->data[2];
+ if (sprite->data[5] == 0)
+ sprite->data[1] += 0x18;
+ else
+ sprite->data[1] -= 0x18;
+
+ sprite->data[2] -= 0x18;
+ sprite->pos2.x = sprite->data[3] >> 8;
+ sprite->pos2.y = sprite->data[4] >> 8;
+ sprite->data[0]++;
+ if (sprite->data[0] == 20)
+ {
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->data[0] = 3;
+ sprite->callback = WaitAnimForDuration;
+ }
+}
+
+void unref_sub_8100D38(struct Sprite* sprite)
+{
+ if (sprite->data[2] > 1)
+ {
+ if (sprite->data[3] & 1)
+ {
+ sprite->invisible = 0;
+ gSprites[sprite->data[0]].invisible = 0;
+ gSprites[sprite->data[1]].invisible = 0;
+ }
+ else
+ {
+ sprite->invisible = 1;
+ gSprites[sprite->data[0]].invisible = 1;
+ gSprites[sprite->data[1]].invisible = 1;
+ }
+
+ sprite->data[2] = 0;
+ sprite->data[3]++;
+ }
+ else
+ {
+ sprite->data[2]++;
+ }
+
+ if (sprite->data[3] == 10)
+ {
+ DestroySprite(&gSprites[sprite->data[0]]);
+ DestroySprite(&gSprites[sprite->data[1]]);
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_8100E1C(struct Sprite* sprite)
+{
+ sprite->data[0] = gBattleAnimArgs[2];
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ else
+ sprite->pos1.x += gBattleAnimArgs[0];
+
+ StartSpriteAnim(sprite, gBattleAnimArgs[5]);
+ sprite->data[1] = -gBattleAnimArgs[3];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[3] = gBattleAnimArgs[4];
+ sprite->callback = sub_8100E80;
+ sprite->callback(sprite);
+}
+
+static void sub_8100E80(struct Sprite* sprite)
+{
+ sprite->pos2.x = Cos(sprite->data[0], 100);
+ sprite->pos2.y = Sin(sprite->data[0], 20);
+ if (sprite->data[0] < 128)
+ sprite->subpriority = 0;
+ else
+ sprite->subpriority = 14;
+
+ sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF;
+ sprite->data[5] += 0x82;
+ sprite->pos2.y += sprite->data[5] >> 8;
+ sprite->data[2]++;
+ if (sprite->data[2] == sprite->data[3])
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8100EF0(struct Sprite* sprite)
+{
+ if (IsContest())
+ gBattleAnimArgs[1] += 8;
+
+ sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || IsContest())
+ sprite->oam.priority = sub_80A8328(gBattleAnimAttacker) + 1;
+ else
+ sprite->oam.priority = sub_80A8328(gBattleAnimAttacker);
+
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[2] = (IndexOfSpritePaletteTag(ANIM_TAG_PROTECT) << 4) + 0x100;
+ sprite->data[7] = 16;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7]));
+ sprite->callback = sub_8100FD4;
+}
+
+static void sub_8100FD4(struct Sprite *sprite)
+{
+ int a;
+ int i;
+ sprite->data[5] += 96;
+ sprite->pos2.x = -(sprite->data[5] >> 8);
+ if (++sprite->data[1] > 1)
+ {
+ sprite->data[1] = 0;
+ a = gPlttBufferFaded[sprite->data[2] + 1];
+ i = 0;
+ do
+ {
+ gPlttBufferFaded[sprite->data[2] + ++i] = gPlttBufferFaded[sprite->data[2] + i + 1];
+ } while (i < 6);
+
+ gPlttBufferFaded[sprite->data[2] + 7] = a;
+ }
+
+ if (sprite->data[7] > 6 && sprite->data[0] >0 && ++sprite->data[6] > 1)
+ {
+ sprite->data[6] = 0;
+ sprite->data[7] -= 1;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7]));
+ }
+
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0] -= 1;
+ }
+ else if (++sprite->data[6] > 1)
+ {
+ sprite->data[6] = 0;
+ sprite->data[7]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - sprite->data[7], sprite->data[7]));
+ if (sprite->data[7] == 16)
+ {
+ sprite->invisible = 1;
+ sprite->callback = sub_80A67F4;
+ }
+ }
+}
+
+void sub_81010CC(struct Sprite* sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8;
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ sprite->data[3] = 0;
+ sprite->data[4] = 0;
+ sprite->data[6] = 0;
+ sprite->data[7] = 16;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7]));
+ sprite->callback = sub_8101138;
+}
+
+static void sub_8101138(struct Sprite* sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ if (++sprite->data[2] > 0)
+ {
+ sprite->data[2] = 0;
+ if (((++sprite->data[1]) & 1) != 0)
+ {
+ if (sprite->data[6] <= 15)
+ sprite->data[6]++;
+ }
+ else if (sprite->data[7] > 0)
+ sprite->data[7]--;
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7]));
+ if (sprite->data[6] == 16 && sprite->data[7] == 0)
+ {
+ sprite->data[1] = 0;
+ sprite->data[0]++;
+ }
+ }
+ break;
+ case 1:
+ if (++sprite->data[1] > 8)
+ {
+ sprite->data[1] = 0;
+ StartSpriteAffineAnim(sprite, 1);
+ sprite->data[0]++;
+ }
+ break;
+ case 2:
+ sub_8101298(sprite, 16, 4);
+ if (++sprite->data[1] > 2)
+ {
+ sprite->data[1] = 0;
+ sprite->pos1.y++;
+ }
+
+ if (++sprite->data[2] <= 29)
+ break;
+
+ if (sprite->data[2] & 1)
+ {
+ if (sprite->data[6] > 0)
+ sprite->data[6]--;
+ }
+ else if (sprite->data[7] <= 15)
+ {
+ sprite->data[7]++;
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7]));
+ if (sprite->data[6] == 0 && sprite->data[7] == 16)
+ {
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ sprite->data[0]++;
+ }
+ break;
+ case 3:
+ sprite->invisible = 1;
+ sprite->data[0]++;
+ break;
+ case 4:
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ DestroyAnimSprite(sprite);
+ break;
+ }
+}
+
+static void sub_8101298(struct Sprite* sprite, int unk1, int unk2)
+{
+ if (sprite->data[3] <= 11)
+ sprite->data[4] += 2;
+
+ if ((u16)(sprite->data[3] - 0x12) <= 0x17)
+ sprite->data[4] -= 2;
+
+ if ((sprite->data[3]) > 0x2F)
+ sprite->data[4] += 2;
+
+ sprite->pos2.x = sprite->data[4] / 9;
+ sprite->pos2.y = sprite->data[4] / 14;
+ if (sprite->pos2.y < 0)
+ sprite->pos2.y *= -1;
+
+ sprite->data[3]++;
+ if (sprite->data[3] > 0x3B)
+ sprite->data[3] = 0;
+}
+
+void sub_810130C(struct Sprite* sprite)
+{
+ if (!gBattleAnimArgs[2])
+ sub_80A6838(sprite);
+
+ sub_80A6864(sprite, gBattleAnimArgs[0]);
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[5];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[2] = gBattleAnimArgs[4];
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = sub_80A656C;
+}
+
+void sub_810135C(struct Sprite* sprite)
+{
+ u8 battler;
+ if (!gBattleAnimArgs[2])
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ if (IsDoubleBattle() && IsBattlerSpriteVisible(BATTLE_PARTNER(battler)))
+ {
+ SetAverageBattlerPositions(battler, gBattleAnimArgs[6], &sprite->pos1.x, &sprite->pos1.y);
+ sub_80A6864(sprite, gBattleAnimArgs[0]);
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+ else
+ {
+ if (!gBattleAnimArgs[6])
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, 1) + gBattleAnimArgs[1];
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[1];
+ }
+
+ sub_80A6864(sprite, gBattleAnimArgs[0]);
+ }
+
+ sprite->data[0] = gBattleAnimArgs[5];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[2] = gBattleAnimArgs[4];
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = sub_80A656C;
+}
+
+void sub_8101440(struct Sprite* sprite)
+{
+ sub_80A6838(sprite);
+ if (GetBattlerSide(gBattleAnimAttacker) == 0)
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ }
+ else
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ StartSpriteAnim(sprite, 1);
+ }
+
+ sprite->callback = sub_81014A0;
+}
+
+static void sub_81014A0(struct Sprite* sprite)
+{
+ if (++sprite->data[0] > 30)
+ {
+ sprite->pos2.y = (30 - sprite->data[0]) / 3;
+ sprite->pos2.x = Sin(sprite->data[1] * 4, 3);
+ sprite->data[1]++;
+ }
+
+ if (sprite->animEnded)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81014F4(struct Sprite* sprite)
+{
+ sub_80A6838(sprite);
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[3] = 1;
+ }
+ else
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[3] = 0xFFFF;
+ StartSpriteAffineAnim(sprite, 1);
+ }
+
+ sprite->callback = sub_8101560;
+}
+
+static void sub_8101560(struct Sprite* sprite)
+{
+ sprite->pos2.y = -(sprite->data[0] / 0x28);
+ sprite->pos2.x = sprite->data[4] / 10;
+ sprite->data[4] += sprite->data[3] * 2;
+ sprite->data[0] += sprite->data[1];
+ if (++sprite->data[1] > 60)
+ move_anim_8074EE0(sprite);
+}
+
+void sub_81015AC(struct Sprite* sprite)
+{
+ sprite->pos1.x -= 32;
+ sprite->pos1.y -= 32;
+ sprite->data[0] = 20;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, sub_81015D4);
+}
+
+static void sub_81015D4(struct Sprite* sprite)
+{
+ switch (sprite->data[5] & 1)
+ {
+ case 0:
+ sprite->data[0] = 1;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, sub_81015D4);
+ break;
+ case 1:
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+ sprite->data[0] = 8;
+ sprite->data[2] = sprite->pos1.x + gUnknown_08592CD0[sprite->data[5] >> 8][0];
+ sprite->data[4] = sprite->pos1.y + gUnknown_08592CD0[sprite->data[5] >> 8][1];
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, sub_8101684);
+ sprite->data[5] += 0x100;
+ PlaySE12WithPanning(SE_W199, BattleAnimAdjustPanning(63));
+ break;
+ }
+
+ sprite->data[5] ^= 1;
+}
+
+static void sub_8101684(struct Sprite* sprite)
+{
+ if ((sprite->data[5] >> 8) == 4)
+ {
+ sprite->data[0] = 10;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, sub_81016B8);
+ }
+ else
+ {
+ sprite->callback = sub_81015D4;
+ }
+}
+
+static void sub_81016B8(struct Sprite* sprite)
+{
+ s16 a;
+ s16 b;
+ if (sprite->oam.affineParam == 0)
+ {
+ sprite->data[0] = 3;
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, sub_8101774);
+ }
+ else
+ {
+ switch (sprite->oam.affineParam)
+ {
+ case 1:
+ a = -8;
+ b = -8;
+ break;
+ case 2:
+ a = -8;
+ b = 8;
+ break;
+ case 3:
+ a = 8;
+ b = -8;
+ break;
+ default:
+ a = 8;
+ b = 8;
+ break;
+ }
+
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+ sprite->data[0] = 6;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + a;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + b;
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, sub_8101820);
+ }
+}
+
+static void sub_8101774(struct Sprite* sprite)
+{
+ if (sprite->data[2] == 0)
+ {
+ if ((sprite->data[1] += 3) > 16)
+ sprite->data[1] = 16;
+ }
+ else if ((sprite->data[1] -= 3) < 0)
+ {
+ sprite->data[1] = 0;
+ }
+
+ BlendPalettes(sub_80A75AC(1, 1, 1, 1, 1, 0, 0), sprite->data[1], RGB(31, 31, 31));
+ if (sprite->data[1] == 16)
+ {
+ int pal;
+ sprite->data[2]++;
+ pal = sprite->oam.paletteNum;
+ LoadPalette(&gPlttBufferUnfaded[0x108 + pal * 16], pal * 16 | 0x101, 4);
+ PlaySE12WithPanning(SE_W043, BattleAnimAdjustPanning(63));
+ }
+ else if (sprite->data[1] == 0)
+ {
+ sprite->callback = sub_8101820;
+ }
+}
+
+static void sub_8101820(struct Sprite* sprite)
+{
+ if ((u16)gBattleAnimArgs[7] == 0xFFFF)
+ {
+ sprite->data[1] = 0;
+ sprite->data[0] = 0;
+ sprite->callback = sub_8101848;
+ }
+}
+
+static void sub_8101848(struct Sprite* sprite)
+{
+ if (sprite->data[0] % 3 == 0)
+ {
+ sprite->data[1]++;
+ sprite->invisible ^= 1;
+ }
+
+ sprite->data[0]++;
+ if (sprite->data[1] == 8)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8101898(struct Sprite* sprite)
+{
+ sprite->oam.affineParam = gBattleAnimArgs[0];
+ if ((s16)sprite->oam.affineParam == 1)
+ {
+ sprite->pos1.x -= 0x18;
+ sprite->pos1.y -= 0x18;
+ }
+ else if ((s16)sprite->oam.affineParam == 2)
+ {
+ sprite->pos1.x -= 0x18;
+ sprite->pos1.y += 0x18;
+ sprite->oam.matrixNum = 16;
+ }
+ else if ((s16)sprite->oam.affineParam == 3)
+ {
+ sprite->pos1.x += 0x18;
+ sprite->pos1.y -= 0x18;
+ sprite->oam.matrixNum = 8;
+ }
+ else
+ {
+ sprite->pos1.x += 0x18;
+ sprite->pos1.y += 0x18;
+ sprite->oam.matrixNum = 24;
+ }
+
+ sprite->oam.tileNum = (sprite->oam.tileNum + 16);
+ sprite->callback = sub_81015AC;
+ sprite->callback(sprite);
+}
+
+void sub_8101940(struct Sprite* sprite)
+{
+ sprite->invisible = 1;
+ sprite->data[0] = 0;
+ switch (gBattleAnimArgs[0])
+ {
+ case 0:
+ sprite->callback = sub_8101998;
+ break;
+ case 1:
+ sprite->callback = sub_8101A74;
+ break;
+ case 2:
+ sprite->callback = sub_8101AC4;
+ break;
+ default:
+ sprite->callback = sub_8101B84;
+ break;
+ }
+}
+
+static void sub_8101998(struct Sprite* sprite)
+{
+ sprite->data[0] = 6;
+ sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? 2 : -2;
+ sprite->data[2] = 0;
+ sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
+ StoreSpriteCallbackInData6(sprite, sub_81019E8);
+ sprite->callback = TranslateMonBGUntil;
+}
+
+static void sub_81019E8(struct Sprite* sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
+ sub_80A7270(sprite->data[3], 0);
+ sprite->data[4] = (sprite->data[6] = GetBattlerSide(gBattleAnimAttacker)) ? 0x300 : 0xFFFFFD00;
+ sprite->data[5] = 0;
+ }
+
+ sprite->data[5] += sprite->data[4];
+ obj_id_set_rotscale(sprite->data[3], 0x100, 0x100, sprite->data[5]);
+ sub_80A73A0(sprite->data[3]);
+ if (++sprite->data[0] > 3)
+ {
+ sprite->data[0] = 0;
+ sprite->callback = sub_8101B84;
+ }
+}
+
+static void sub_8101A74(struct Sprite* sprite)
+{
+ sprite->data[0] = 4;
+ sprite->data[1] = (GetBattlerSide(gBattleAnimAttacker)) ? -3 : 3;
+ sprite->data[2] = 0;
+ sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
+ StoreSpriteCallbackInData6(sprite, sub_8101B84);
+ sprite->callback = TranslateMonBGUntil;
+}
+
+static void sub_8101AC4(struct Sprite* sprite)
+{
+ if (++sprite->data[0] > 8)
+ {
+ sprite->data[0] = 0;
+ sprite->callback = sub_8101AE8;
+ }
+}
+
+static void sub_8101AE8(struct Sprite* sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
+ sprite->data[6] = GetBattlerSide(gBattleAnimAttacker);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->data[4] = 0xFC00;
+ sprite->data[5] = 0xC00;
+ }
+ else
+ {
+ sprite->data[4] = 0x400;
+ sprite->data[5] = 0xF400;
+ }
+ }
+
+ sprite->data[5] += sprite->data[4];
+ obj_id_set_rotscale(sprite->data[3], 0x100, 0x100, sprite->data[5]);
+ sub_80A73A0(sprite->data[3]);
+ if (++sprite->data[0] > 2)
+ {
+ sub_80A7344(sprite->data[3]);
+ sprite->callback = sub_8101B84;
+ }
+}
+
+static void sub_8101B84(struct Sprite* sprite)
+{
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8101B90(struct Sprite *sprite)
+{
+ sprite->data[0] = 0;
+ sprite->callback = sub_8101BA0;
+}
+
+static void sub_8101BA0(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[1] = 0;
+ sprite->data[2] = gBattlerSpriteIds[gBattleAnimAttacker];
+ sprite->data[3] = GetBattlerSide(gBattleAnimAttacker);
+ sprite->data[4] = (sprite->data[3] != B_SIDE_PLAYER) ? 0x200 : -0x200;
+ sprite->data[5] = 0;
+ sub_80A7270(sprite->data[2], 0);
+ sprite->data[0]++;
+ // fall through
+ case 1:
+ sprite->data[5] += sprite->data[4];
+ obj_id_set_rotscale(sprite->data[2], 0x100, 0x100, sprite->data[5]);
+ sub_80A73A0(sprite->data[2]);
+ if (++sprite->data[1] > 3)
+ {
+ sprite->data[1] = 0;
+ sprite->data[4] *= -1;
+ sprite->data[0]++;
+ }
+ break;
+ case 2:
+ sprite->data[5] += sprite->data[4];
+ obj_id_set_rotscale(sprite->data[2], 0x100, 0x100, sprite->data[5]);
+ sub_80A73A0(sprite->data[2]);
+ if (++sprite->data[1] > 3)
+ {
+ sub_80A7344(sprite->data[2]);
+ DestroyAnimSprite(sprite);
+ }
+ break;
+ }
+}
+
+void sub_8101C94(u8 taskId)
+{
+ u8 a;
+
+ gTasks[taskId].data[0] = gBattlerSpriteIds[gBattleAnimAttacker];
+ a = GetBattlerSide(gBattleAnimAttacker);
+ gTasks[taskId].data[1] = a;
+ gTasks[taskId].data[2] = 0;
+ switch (gBattleAnimArgs[0])
+ {
+ default:
+ DestroyAnimVisualTask(taskId);
+ break;
+ case 0:
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].data[3] = 8;
+ gTasks[taskId].data[4] = 0;
+ gTasks[taskId].data[5] = 3;
+ if (a == 0)
+ gTasks[taskId].data[5] *= -1;
+
+ gTasks[taskId].func = sub_8101D2C;
+ break;
+ case 1:
+ gTasks[taskId].data[3] = 8;
+ gTasks[taskId].data[4] = 0x600;
+ gTasks[taskId].data[5] = 0xC0;
+ if (a == 0)
+ {
+ gTasks[taskId].data[4] = -gTasks[taskId].data[4];
+ gTasks[taskId].data[5] = -gTasks[taskId].data[5];
+ }
+
+ gTasks[taskId].func = sub_8101EEC;
+ break;
+ }
+}
+
+static void sub_8101D2C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ switch (task->data[2])
+ {
+ case 0:
+ if (task->data[3])
+ {
+ task->data[4] += task->data[5];
+ gSprites[task->data[0]].pos2.x = task->data[4];
+ task->data[3]--;
+ }
+ else
+ {
+ task->data[3] = 8;
+ task->data[4] = 0;
+ task->data[5] = (task->data[1] == 0) ? -0xC0 : 0xC0;
+ sub_80A7270(task->data[0], 0);
+ task->data[2]++;
+ }
+ break;
+ case 1:
+ if (task->data[3])
+ {
+ task->data[4] += task->data[5];
+ obj_id_set_rotscale(task->data[0], 0x100, 0x100, task->data[4]);
+ sub_80A73A0(task->data[0]);
+ task->data[3]--;
+ }
+ else
+ {
+ task->data[3] = 8;
+ task->data[4] = gSprites[task->data[0]].pos2.x;
+ task->data[5] = (task->data[1] == 0) ? 0x2 : -0x2;
+ task->data[6] = 1;
+ task->data[2]++;
+ }
+ break;
+ case 2:
+ if (task->data[3])
+ {
+ if (task->data[6])
+ {
+ task->data[6]--;
+ }
+ else
+ {
+ if (task->data[3] & 1)
+ gSprites[task->data[0]].pos2.x = task->data[4] + task->data[5];
+ else
+ gSprites[task->data[0]].pos2.x = task->data[4] - task->data[5];
+
+ task->data[6] = 1;
+ task->data[3]--;
+ }
+ }
+ else
+ {
+ gSprites[task->data[0]].pos2.x = task->data[4];
+ task->data[3] = 12;
+ task->data[2]++;
+ }
+ break;
+ case 3:
+ if (task->data[3])
+ {
+ task->data[3]--;
+ }
+ else
+ {
+ task->data[3] = 3;
+ task->data[4] = gSprites[task->data[0]].pos2.x;
+ task->data[5] = (task->data[1] == 0) ? 8 : -8;
+ task->data[2]++;
+ }
+ break;
+ case 4:
+ if (task->data[3])
+ {
+ task->data[4] += task->data[5];
+ gSprites[task->data[0]].pos2.x = task->data[4];
+ task->data[3]--;
+ }
+ else
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ break;
+ }
+}
+
+static void sub_8101EEC(u8 taskId)
+{
+ struct Task* task = &gTasks[taskId];
+ if (task->data[3])
+ {
+ task->data[4] -= task->data[5];
+ obj_id_set_rotscale(task->data[0], 0x100, 0x100, task->data[4]);
+ sub_80A73A0(task->data[0]);
+ task->data[3]--;
+ }
+ else
+ {
+ sub_80A7344(task->data[0]);
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+void sub_8101F40(struct Sprite* sprite)
+{
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[2];
+ }
+
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ StoreSpriteCallbackInData6(sprite, sub_810208C);
+ sprite->callback = sub_80A67D8;
+}
+
+void sub_8101FA8(struct Sprite* sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0;
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ StoreSpriteCallbackInData6(sprite, sub_8102044);
+ sprite->callback = sub_80A67D8;
+}
+
+void sub_8101FF0(struct Sprite* sprite)
+{
+ sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ StartSpriteAnim(sprite, 1);
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->callback = sub_810208C;
+}
+
+static void sub_8102044(struct Sprite* sprite)
+{
+ if (++sprite->data[0] > 8)
+ {
+ sprite->data[0] = 12;
+ sprite->data[1] = 8;
+ sprite->data[2] = 0;
+ StoreSpriteCallbackInData6(sprite, sub_810207C);
+ sprite->callback = TranslateSpriteOverDuration;
+ }
+}
+
+static void sub_810207C(struct Sprite* sprite)
+{
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->callback = sub_810208C;
+}
+
+static void sub_810208C(struct Sprite* sprite)
+{
+ if (++sprite->data[0] > 1)
+ {
+ sprite->data[0] = 0;
+ sprite->invisible = !sprite->invisible;
+ if (++sprite->data[1] > 8)
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_81020D8(struct Sprite* sprite)
+{
+ if (gBattleAnimArgs[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[2];
+ }
+ else
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[2];
+ }
+
+ sprite->data[0] = 0;
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->callback = sub_810213C;
+}
+
+static void sub_810213C(struct Sprite* sprite)
+{
+ if (++sprite->data[0] > sprite->data[1])
+ {
+ sprite->data[0] = 0;
+ sprite->pos1.y--;
+ }
+
+ sprite->pos1.y -= sprite->data[0];
+ if (sprite->animEnded)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_810217C(struct Sprite* sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12;
+ sprite->data[0] = 0;
+ sprite->data[1] = 2;
+ sprite->data[2] = 0;
+ sprite->data[3] = 0;
+ sprite->data[4] = 0;
+ sprite->data[5] = BattleAnimAdjustPanning(-64);
+ sprite->callback = sub_81021CC;
+}
+
+static void sub_81021CC(struct Sprite* sprite)
+{
+ if (++sprite->data[0] >= sprite->data[1])
+ {
+ sprite->invisible = !sprite->invisible;
+ if (!sprite->invisible)
+ {
+ sprite->data[4]++;
+ if (!(sprite->data[4] & 1))
+ PlaySE12WithPanning(SE_W207B, sprite->data[5]);
+ }
+
+ sprite->data[0] = 0;
+ if (++sprite->data[2] > 1)
+ {
+ sprite->data[2] = 0;
+ sprite->data[1]++;
+ }
+ }
+
+ if (sprite->animEnded && sprite->data[1] > 16 && sprite->invisible)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8102268(struct Sprite* sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ if (IsContest())
+ sprite->pos1.y += 10;
+
+ sprite->data[0]++;
+ }
+
+ if ((u16)gBattleAnimArgs[7] == 0xFFFF)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81022D4(u8 taskId)
+{
+ if (gTasks[taskId].data[2] == 1)
+ {
+ gBattleAnimArgs[7] = 0xFFFF;
+ gTasks[taskId].data[2]++;
+ }
+ else if (gTasks[taskId].data[2] == 2)
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ if (++gTasks[taskId].data[0] == 4)
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - gTasks[taskId].data[1], gTasks[taskId].data[1]));
+ if (gTasks[taskId].data[1] == 16)
+ gTasks[taskId].data[2]++;
+ }
+ }
+}
+
+void sub_810234C(struct Sprite* sprite)
+{
+ sub_80A6980(sprite, FALSE);
+ sprite->animPaused = 1;
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->callback = sub_810237C;
+}
+
+static void sub_810237C(struct Sprite* sprite)
+{
+ if (sprite->data[0])
+ {
+ sprite->data[0]--;
+ }
+ else
+ {
+ sprite->animPaused = 0;
+ sprite->data[0] = 30;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ }
+}
+
+void sub_81023E0(u8 taskId)
+{
+ if (++gTasks[taskId].data[0] == 4)
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1]));
+ if (gTasks[taskId].data[1] == 16)
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+void unref_sub_8102434(u8 taskId)
+{
+ u8 i;
+ for (i = 0; i < gBattlersCount; i++)
+ {
+ if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == B_SIDE_PLAYER)
+ SetHealthboxSpriteInvisible(gHealthboxSpriteIds[i]);
+
+ if (gBattleAnimArgs[1] == 1 && GetBattlerSide(i) == B_SIDE_OPPONENT)
+ SetHealthboxSpriteInvisible(gHealthboxSpriteIds[i]);
+ }
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void unref_sub_81024A8(u8 taskId)
+{
+ u8 i;
+ for (i = 0; i < gBattlersCount; i++)
+ SetHealthboxSpriteVisible(gHealthboxSpriteIds[i]);
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_81024E0(struct Sprite* sprite)
+{
+ if (IsContest())
+ {
+ sprite->pos1.x = 48;
+ sprite->pos1.y = 40;
+ }
+ else
+ {
+ sprite->pos1.x = gBattleAnimArgs[0];
+ sprite->pos1.y = gBattleAnimArgs[1];
+ }
+
+ sprite->oam.shape = 0;
+ sprite->oam.size = 3;
+ sprite->data[0] = 0;
+ sprite->callback = sub_8102528;
+}
+
+static void sub_8102528(struct Sprite* sprite)
+{
+ if (sprite->data[0])
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8102540(struct Sprite* sprite)
+{
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
+ sprite->pos1.y = gBattleAnimArgs[1];
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ sprite->data[3] = 0;
+ sprite->data[4] = 1;
+ sprite->callback = sub_8102584;
+}
+
+static void sub_8102584(struct Sprite* sprite)
+{
+ if (++sprite->data[1] > 1)
+ {
+ sprite->data[1] = 0;
+ if (sprite->data[2] < 120)
+ {
+ sprite->pos1.y++;
+ sprite->data[2]++;
+ }
+ }
+
+ if (sprite->data[0])
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81026A8(u8);
+
+
+void sub_81025C0(u8 taskId)
+{
+ int a = sub_80A75AC(1, 0, 0, 0, 0, 0, 0) & 0xFFFF;
+ int b;
+ int c;
+ int d;
+
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].data[3] = a;
+ gTasks[taskId].data[4] = 0;
+ gTasks[taskId].data[5] = 0;
+ gTasks[taskId].data[6] = 0;
+ gTasks[taskId].data[7] = 13;
+ gTasks[taskId].data[8] = 14;
+ gTasks[taskId].data[9] = 15;
+ b = sub_80A76C4(1, 1, 1, 1);
+ c = a | b;
+ sub_80A8048(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void*)c);
+ b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON));
+ d = IndexOfSpritePaletteTag(ANIM_TAG_GREEN_SPARKLE);
+ BeginNormalPaletteFade((0x10000 << d) | b, 0, 0, 16, RGB(27, 29, 31));
+ gTasks[taskId].func = sub_81026A8;
+ gTasks[taskId].func(taskId);
+}
+
+void sub_81026A8(u8 taskId)
+{
+ struct Task* task = &gTasks[taskId];
+ switch (task->data[0])
+ {
+ case 0:
+ if (++task->data[1] > 0)
+ {
+ u16 color;
+ u16 bitmask;
+ u16 r3;
+ u16 i;
+ u16 j;
+ task->data[1] = 0;
+ if (++task->data[2] <= 15)
+ {
+ u16 red;
+ u16 green;
+ u16 blue;
+ task->data[4] += task->data[7];
+ task->data[5] += task->data[8];
+ task->data[6] += task->data[9];
+ red = task->data[4] >> 3;
+ green = task->data[5] >> 3;
+ blue = task->data[6] >> 3;
+ color = RGB(red, green, blue);
+ }
+ else
+ {
+ color = RGB(27, 29, 31);
+ task->data[0]++;
+ }
+
+ bitmask = 1;
+ r3 = 0;
+ for (i = 0; i <= 15; i++)
+ {
+ if (task->data[3] & bitmask)
+ {
+ for (j = 1; j <= 15; j++)
+ {
+ gPlttBufferFaded[r3 + j] = color;
+ }
+ }
+
+ bitmask <<= 1;
+ r3 += 16;
+ }
+ }
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ {
+ u8 spriteId;
+ for (spriteId = 0; spriteId < MAX_SPRITES; spriteId++)
+ {
+ if (gSprites[spriteId].template == &gUnknown_08592EBC || gSprites[spriteId].template == &gBattleAnimSpriteTemplate_8592EEC)
+ gSprites[spriteId].data[0] = 1;
+ }
+
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (++task->data[1] > 30)
+ {
+ BeginNormalPaletteFade((u32)sub_80A8050(task->data[14], task->data[15]), 0, 16, 0, RGB(27, 29, 31));
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8102844(struct Sprite* sprite)
+{
+ if (gBattleAnimArgs[2] < 2)
+ gBattleAnimArgs[2] = 2;
+
+ if (gBattleAnimArgs[2] > 0x7F)
+ gBattleAnimArgs[2] = 0x7F;
+
+ sprite->data[0] = 0;
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
+ sprite->data[6] = sprite->pos1.x;
+ sprite->data[7] = sprite->pos1.y;
+ if (IsContest())
+ {
+ sprite->oam.matrixNum = 8;
+ sprite->pos1.x += 40;
+ sprite->pos1.y += 20;
+ sprite->data[2] = sprite->pos1.x << 7;
+ sprite->data[3] = -0x1400 / sprite->data[1];
+ sprite->data[4] = sprite->pos1.y << 7;
+ sprite->data[5] = -0xA00 / sprite->data[1];
+ }
+ else if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ sprite->pos1.x -= 40;
+ sprite->pos1.y += 20;
+ sprite->data[2] = sprite->pos1.x << 7;
+ sprite->data[3] = 0x1400 / sprite->data[1];
+ sprite->data[4] = sprite->pos1.y << 7;
+ sprite->data[5] = -0xA00 / sprite->data[1];
+ }
+ else
+ {
+ sprite->pos1.x += 40;
+ sprite->pos1.y -= 20;
+ sprite->data[2] = sprite->pos1.x << 7;
+ sprite->data[3] = -0x1400 / sprite->data[1];
+ sprite->data[4] = sprite->pos1.y << 7;
+ sprite->data[5] = 0xA00 / sprite->data[1];
+ sprite->oam.matrixNum = 24;
+ }
+
+ sprite->callback = sub_810296C;
+}
+
+static void sub_810296C(struct Sprite* sprite)
+{
+ sprite->data[2] += sprite->data[3];
+ sprite->data[4] += sprite->data[5];
+ sprite->pos1.x = sprite->data[2] >> 7;
+ sprite->pos1.y = sprite->data[4] >> 7;
+ if (--sprite->data[1] == 1)
+ {
+ sprite->pos1.x = sprite->data[6];
+ sprite->pos1.y = sprite->data[7];
+ }
+
+ if (sprite->data[1] == 0)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81029B4(u8 taskId)
+{
+ u16 i;
+ int obj;
+ u16 r3;
+ u16 r4;
+ struct Task* task = &gTasks[taskId];
+ task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ task->data[1] = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
+ r3 = (task->data[1] * 16) + 0x100;
+ r4 = (gSprites[task->data[0]].oam.paletteNum + 16) << 4;
+ for (i = 1; i < 16; i++)
+ gPlttBufferUnfaded[r3 + i] = gPlttBufferUnfaded[r4 + i];
+
+ BlendPalette(r3, 16, 11, RGB(0, 0, 0));
+ task->data[3] = 0;
+ i = 0;
+ while (i < 2 && (obj = duplicate_obj_of_side_rel2move_in_transparent_mode(0)) >= 0)
+ {
+ gSprites[obj].oam.paletteNum = task->data[1];
+ gSprites[obj].data[0] = 0;
+ gSprites[obj].data[1] = i << 7;
+ gSprites[obj].data[2] = taskId;
+ gSprites[obj].callback = sub_8102B3C;
+ task->data[3]++;
+ i++;
+ }
+
+ task->func = sub_8102AE0;
+ if (sub_80A8364(gBattleAnimAttacker) == 1)
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
+ else
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
+}
+
+static void sub_8102AE0(u8 taskId)
+{
+ struct Task* task = &gTasks[taskId];
+ if (!task->data[3])
+ {
+ if (sub_80A8364(gBattleAnimAttacker) == 1)
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
+ else
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
+
+ FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+static void sub_8102B3C(struct Sprite* sprite)
+{
+ if (++sprite->data[3] > 1)
+ {
+ sprite->data[3] = 0;
+ sprite->data[0]++;
+ }
+
+ if (sprite->data[0] > 64)
+ {
+ gTasks[sprite->data[2]].data[3]--;
+ obj_delete_but_dont_free_vram(sprite);
+ }
+ else
+ {
+ sprite->data[4] = gSineTable[sprite->data[0]] / 6;
+ sprite->data[5] = gSineTable[sprite->data[0]] / 13;
+ sprite->data[1] = (sprite->data[1] + sprite->data[5]) & 0xFF;
+ sprite->pos2.x = Sin(sprite->data[1], sprite->data[4]);
+ }
+}
+
+void sub_8102BCC(struct Sprite* sprite)
+{
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = sub_80A67D8;
+}
+
+void sub_8102BE8(u8 taskId)
+{
+ u16 i;
+ u16 j;
+ u16 index;
+
+ index = IndexOfSpritePaletteTag(gUnknown_08593020[0][0]);
+ if (index != 0xFF)
+ {
+ index = (index << 4) + 0x100;
+ for (i = 1; i < ARRAY_COUNT(gUnknown_08593020[0]); i++)
+ gPlttBufferFaded[index + i] = gUnknown_08593020[0][i];
+ }
+
+ for (j = 1; j < ARRAY_COUNT(gUnknown_08593020); j++)
+ {
+ index = AllocSpritePalette(gUnknown_08593020[j][0]);
+ if (index != 0xFF)
+ {
+ index = (index << 4) + 0x100;
+ for (i = 1; i < ARRAY_COUNT(gUnknown_08593020[0]); i++)
+ gPlttBufferFaded[index + i] = gUnknown_08593020[j][i];
+ }
+ }
+ DestroyAnimVisualTask(taskId);
+}
+
+// clears the rainbow effect for musical notes.
+void sub_8102CA0(u8 taskId)
+{
+ u16 i;
+ for (i = 1; i < ARRAY_COUNT(gUnknown_08593020); i++)
+ FreeSpritePaletteByTag(gUnknown_08593020[i][0]);
+
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8102CD4(struct Sprite* sprite)
+{
+ u8 index;
+ u8 a;
+ u8 b;
+ sub_80A6838(sprite);
+ StartSpriteAnim(sprite, gBattleAnimArgs[0]);
+ if ((index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[1]][0])) != 0xFF)
+ sprite->oam.paletteNum = index;
+
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[2] = 0;
+ sprite->data[3] = gBattleAnimArgs[2];
+ if (IsContest())
+ {
+ a = 48;
+ b = 40;
+ }
+ else
+ {
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ }
+
+ sprite->data[4] = sprite->pos1.x << 4;
+ sprite->data[5] = sprite->pos1.y << 4;
+ sub_8102D8C(a - sprite->pos1.x, b - sprite->pos1.y, &sprite->data[6], &sprite->data[7], 40);
+ sprite->callback = sub_8102DE4;
+}
+
+static void sub_8102D8C(s16 a, s16 b, s16* c, s16* d, s8 e)
+{
+ int f;
+ int g;
+ if (a < 0)
+ e = -e;
+
+ f = a << 8;
+ g = f / e;
+ if (g == 0)
+ g = 1;
+
+ *c = f / g;
+ *d = (b << 8) / g;
+}
+
+static void sub_8102DE4(struct Sprite* sprite)
+{
+ int b;
+ s16 a;
+ int c;
+ u8 index;
+ sprite->data[0]++;
+ b = sprite->data[0] * 5 - ((sprite->data[0] * 5 / 256) << 8);
+ sprite->data[4] += sprite->data[6];
+ sprite->data[5] += sprite->data[7];
+ sprite->pos1.x = sprite->data[4] >> 4;
+ sprite->pos1.y = sprite->data[5] >> 4;
+ sprite->pos2.y = Sin(b, 15);
+ a = (u16)sprite->pos1.y;
+ c = (u16)sprite->pos1.x;
+
+ if ((u32)((c + 16) << 16) > (0x110) << 16 || a < -16 || a > 0x80)
+ {
+ move_anim_8074EE0(sprite);
+ }
+ else
+ {
+ if (sprite->data[3] && ++sprite->data[2] > sprite->data[3])
+ {
+ sprite->data[2] = 0;
+ if (++sprite->data[1] > 3)
+ sprite->data[1] = 0;
+
+ index = IndexOfSpritePaletteTag(gUnknown_08593020[sprite->data[1]][0]);
+ if (index != 0xFF)
+ sprite->oam.paletteNum = index;
+ }
+ }
+}
+
+void sub_8102EB0(struct Sprite* sprite)
+{
+ int a;
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
+ {
+ a = gBattleAnimArgs[1];
+ (u16)gBattleAnimArgs[1] = -a;
+ }
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ StartSpriteAnim(sprite, gBattleAnimArgs[0]);
+ sprite->data[2] = 0;
+ sprite->data[3] = 0;
+ sprite->data[4] = sprite->pos1.x << 4;
+ sprite->data[5] = sprite->pos1.y << 4;
+ sprite->data[6] = (gBattleAnimArgs[1] << 4) / 5;
+ sprite->data[7] = (gBattleAnimArgs[2] << 7) / 5;
+ sprite->callback = sub_8102F40;
+}
+
+static void sub_8102F40(struct Sprite* sprite)
+{
+ sprite->data[4] += sprite->data[6];
+ sprite->data[5] += sprite->data[7];
+ sprite->pos1.x = sprite->data[4] >> 4;
+ sprite->pos1.y = sprite->data[5] >> 4;
+ if (sprite->data[0] > 5 && sprite->data[3] == 0)
+ {
+ sprite->data[2] = (sprite->data[2] + 16) & 0xFF;
+ sprite->pos2.x = Cos(sprite->data[2], 18);
+ sprite->pos2.y = Sin(sprite->data[2], 18);
+ if (sprite->data[2] == 0)
+ sprite->data[3] = 1;
+ }
+
+ if (++sprite->data[0] == 48)
+ move_anim_8074EE0(sprite);
+}
+
+void sub_8102FB8(struct Sprite* sprite)
+{
+ s16 a;
+ if (gBattleAnimArgs[0] == 1)
+ {
+ sprite->oam.matrixNum = 8;
+ a = 16;
+ }
+ else
+ {
+ a = -16;
+ }
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + a;
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 8;
+ sprite->data[0] = 8;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+void sub_8103028(struct Sprite* sprite)
+{
+ s16 xDiff;
+ u8 index;
+ sub_80A6838(sprite);
+ sprite->pos1.y += 8;
+ StartSpriteAnim(sprite, gBattleAnimArgs[1]);
+ index = IndexOfSpritePaletteTag(gUnknown_08593020[gBattleAnimArgs[2]][0]);
+ if (index != 0xFF)
+ sprite->oam.paletteNum = index;
+
+ xDiff = (gBattleAnimArgs[0] == 0) ? -32 : 32;
+ sprite->data[0] = 40;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = xDiff + sprite->data[1];
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = sprite->data[3] - 40;
+ InitAnimLinearTranslation(sprite);
+ sprite->data[5] = gBattleAnimArgs[3];
+ sprite->callback = sub_81030B0;
+}
+
+static void sub_81030B0(struct Sprite* sprite)
+{
+ if (TranslateAnimLinear(sprite) == 0)
+ {
+ s16 xDiff;
+ xDiff = Sin(sprite->data[5], 8);
+ if (sprite->pos2.x < 0)
+ xDiff = -xDiff;
+
+ sprite->pos2.x += xDiff;
+ sprite->pos2.y += Sin(sprite->data[5], 4);
+ sprite->data[5] = (sprite->data[5] + 8) & 0xFF;
+ }
+ else
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_810310C(u8 battler, struct Sprite* sprite)
+{
+ if (GetBattlerSide(battler) == B_SIDE_PLAYER)
+ sprite->pos1.x = sub_80A861C(battler, 5) + 8;
+ else
+ sprite->pos1.x = sub_80A861C(battler, 4) - 8;
+
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)sub_80A861C(battler, 0) / 4;
+}
+
+void sub_8103164(struct Sprite* sprite)
+{
+ u8 a;
+ u8 battler;
+ if (gBattleAnimArgs[0] == 0)
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ sub_810310C(battler, sprite);
+ a = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? 0 : 1;
+ sprite->data[0] = gBattleAnimArgs[1];
+ sprite->data[1] = a + 2;
+ StartSpriteAnim(sprite, a);
+ StoreSpriteCallbackInData6(sprite, sub_81031D0);
+ sprite->callback = sub_80A67D8;
+}
+
+static void sub_81031D0(struct Sprite* sprite)
+{
+ if (--sprite->data[0] == 0)
+ {
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ StartSpriteAnim(sprite, sprite->data[1]);
+ sprite->callback = sub_80A67D8;
+ }
+}
+
+void sub_8103208(struct Sprite* sprite)
+{
+ u8 battler;
+ if (gBattleAnimArgs[0] == 0)
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ sub_810310C(battler, sprite);
+ sprite->data[0] = 0;
+ StoreSpriteCallbackInData6(sprite, sub_8103250);
+ sprite->callback = sub_80A67BC;
+}
+
+static void sub_8103250(struct Sprite* sprite)
+{
+ if (++sprite->data[0] > 16)
+ {
+ StartSpriteAffineAnim(sprite, 1);
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A67BC;
+ }
+}
+
+void sub_8103284(struct Sprite* sprite)
+{
+ u8 battler;
+ if (gBattleAnimArgs[0] == 0)
+ battler = gBattleAnimAttacker;
+ else
+ battler = gBattleAnimTarget;
+
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, 0);
+ sprite->pos1.y = sub_80A861C(battler, 2);
+ if (sprite->pos1.y <= 9)
+ sprite->pos1.y = 10;
+
+ sprite->data[0] = 1;
+ sprite->data[1] = 0;
+ sprite->data[2] = sprite->subpriority;
+ sprite->data[3] = sprite->subpriority + 4;
+ sprite->data[4] = 0;
+ StoreSpriteCallbackInData6(sprite, sub_8103300);
+ sprite->callback = sub_80A67BC;
+}
+
+static void sub_8103300(struct Sprite* sprite)
+{
+ if (++sprite->data[4] > 12)
+ sprite->callback = sub_8103320;
+}
+
+static void sub_8103320(struct Sprite* sprite)
+{
+ s16 temp;
+ s16 temp2;
+ sprite->data[1] += 4;
+ if (sprite->data[1] > 254)
+ {
+ if (--sprite->data[0] == 0)
+ {
+ sprite->pos2.x = 0;
+ sprite->callback = sub_8103250;
+ return;
+ }
+ else
+ {
+ sprite->data[1] &= 0xFF;
+ }
+ }
+
+ if (sprite->data[1] > 0x4F)
+ sprite->subpriority = sprite->data[3];
+
+ if (sprite->data[1] > 0x9F)
+ sprite->subpriority = sprite->data[2];
+
+ temp = gSineTable[sprite->data[1]];
+ sprite->pos2.x = (temp2 = temp >> 3) + (temp2 >> 1);
+}
+
+void sub_8103390(struct Sprite* sprite)
+{
+ u8 bank;
+ if (gBattleAnimArgs[0] == 0)
+ bank = gBattleAnimAttacker;
+ else
+ bank = gBattleAnimTarget;
+
+ sub_810310C(bank, sprite);
+ if (GetBattlerSide(bank) == B_SIDE_PLAYER)
+ {
+ StartSpriteAnim(sprite, 0);
+ sprite->data[0] = 2;
+ }
+ else
+ {
+ StartSpriteAnim(sprite, 1);
+ sprite->data[0] = 3;
+ }
+
+ sprite->callback = sub_81033F0;
+}
+
+static void sub_81033F0(struct Sprite* sprite)
+{
+ if (++sprite->data[1] > 10)
+ {
+ sprite->data[1] = 0;
+ StartSpriteAnim(sprite, sprite->data[0]);
+ StoreSpriteCallbackInData6(sprite, sub_810342C);
+ sprite->callback = sub_80A67D8;
+ }
+}
+
+static void sub_810342C(struct Sprite* sprite)
+{
+ if (++sprite->data[1] > 5)
+ DestroyAnimSprite(sprite);
+}
diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c
index 07fb604b8..e5f0cd165 100644
--- a/src/battle_anim_sound_tasks.c
+++ b/src/battle_anim_sound_tasks.c
@@ -389,50 +389,50 @@ void sub_8159308(u8 taskId)
NAKED
void sub_8159308(u8 taskId)
{
- asm_unified(" push {r4,r5,lr}\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- adds r5, r0, 0\n\
- ldr r1, =gTasks\n\
- lsls r0, r5, 2\n\
- adds r0, r5\n\
- lsls r0, 3\n\
- adds r4, r0, r1\n\
- ldrh r2, [r4, 0xE]\n\
- ldrh r0, [r4, 0x1C]\n\
- adds r1, r0, 0x1\n\
- strh r1, [r4, 0x1C]\n\
- lsls r0, 16\n\
- asrs r0, 16\n\
- movs r3, 0x12\n\
- ldrsh r1, [r4, r3]\n\
- cmp r0, r1\n\
- bne _08159342\n\
- movs r0, 0\n\
- strh r0, [r4, 0x1C]\n\
- ldrh r1, [r4, 0x1E]\n\
- adds r0, r2, r1\n\
- strh r0, [r4, 0x1E]\n\
- movs r2, 0x1E\n\
- ldrsh r0, [r4, r2]\n\
- bl KeepPanInRange\n\
- strh r0, [r4, 0x1E]\n\
+ asm_unified(" push {r4,r5,lr}\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ adds r5, r0, 0\n\
+ ldr r1, =gTasks\n\
+ lsls r0, r5, 2\n\
+ adds r0, r5\n\
+ lsls r0, 3\n\
+ adds r4, r0, r1\n\
+ ldrh r2, [r4, 0xE]\n\
+ ldrh r0, [r4, 0x1C]\n\
+ adds r1, r0, 0x1\n\
+ strh r1, [r4, 0x1C]\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ movs r3, 0x12\n\
+ ldrsh r1, [r4, r3]\n\
+ cmp r0, r1\n\
+ bne _08159342\n\
+ movs r0, 0\n\
+ strh r0, [r4, 0x1C]\n\
+ ldrh r1, [r4, 0x1E]\n\
+ adds r0, r2, r1\n\
+ strh r0, [r4, 0x1E]\n\
+ movs r2, 0x1E\n\
+ ldrsh r0, [r4, r2]\n\
+ bl KeepPanInRange\n\
+ strh r0, [r4, 0x1E]\n\
_08159342:\n\
- ldr r1, =gUnknown_02038440\n\
- ldrh r0, [r4, 0x1E]\n\
- strb r0, [r1]\n\
- movs r3, 0x1E\n\
- ldrsh r1, [r4, r3]\n\
- movs r2, 0xC\n\
- ldrsh r0, [r4, r2]\n\
- cmp r1, r0\n\
- bne _0815935A\n\
- adds r0, r5, 0\n\
- bl DestroyAnimVisualTask\n\
+ ldr r1, =gUnknown_02038440\n\
+ ldrh r0, [r4, 0x1E]\n\
+ strb r0, [r1]\n\
+ movs r3, 0x1E\n\
+ ldrsh r1, [r4, r3]\n\
+ movs r2, 0xC\n\
+ ldrsh r0, [r4, r2]\n\
+ cmp r1, r0\n\
+ bne _0815935A\n\
+ adds r0, r5, 0\n\
+ bl DestroyAnimVisualTask\n\
_0815935A:\n\
- pop {r4,r5}\n\
- pop {r0}\n\
- bx r0\n\
- .pool");
+ pop {r4,r5}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool");
}
#endif
diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c
index 11cf46ab5..85ff692b3 100644
--- a/src/battle_anim_utility_funcs.c
+++ b/src/battle_anim_utility_funcs.c
@@ -3,7 +3,7 @@
#include "contest.h"
#include "gpu_regs.h"
#include "graphics.h"
-#include "malloc.h"
+#include "alloc.h"
#include "palette.h"
#include "sound.h"
#include "sprite.h"
@@ -40,14 +40,14 @@ static void sub_8117FD0(u8);
const u16 gUnknown_08597418 = RGB(31, 31, 31);
-// no clue what these are...
-// possibly some register offsets
-const u8 gUnknown_0859741A[] = {0x08, 0x0a, 0x0c, 0x0e};
-const u8 gUnknown_0859741E[] = {0x08, 0x0a, 0x0c, 0x0e};
+// These belong in battle_intro.c, but there putting them there causes 2 bytes of alignment padding
+// between the two .rodata segments. Perhaps battle_intro.c actually belongs in this file, too.
+const u8 gUnknown_0859741A[] = {REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT};
+const u8 gUnknown_0859741E[] = {REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT};
void sub_8116620(u8 taskId)
{
- u32 selectedPalettes = sub_811583C(gBattleAnimArgs[0]);
+ u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
selectedPalettes |= sub_80A76C4((gBattleAnimArgs[0] >> 7) & 1,
(gBattleAnimArgs[0] >> 8) & 1,
(gBattleAnimArgs[0] >> 9) & 1,
@@ -62,7 +62,7 @@ void sub_8116664(u8 taskId)
u8 animBattlers[2];
animBattlers[1] = 0xFF;
- selectedPalettes = sub_811583C(1);
+ selectedPalettes = UnpackSelectedBattleAnimPalettes(1);
switch (gBattleAnimArgs[0])
{
case 2:
@@ -105,7 +105,7 @@ void sub_8116664(u8 taskId)
void AnimTask_SetCamouflageBlend(u8 taskId)
{
- u32 selectedPalettes = sub_811583C(gBattleAnimArgs[0]);
+ u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
switch (gBattleTerrain)
{
case BATTLE_TERRAIN_GRASS:
diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c
index 0cec046e4..8cbc62aab 100644
--- a/src/battle_controller_link_opponent.c
+++ b/src/battle_controller_link_opponent.c
@@ -27,7 +27,6 @@
#include "constants/trainers.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
@@ -1251,17 +1250,17 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|| (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN)
{
if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE)
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_LEAF];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
else
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RED];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
}
else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY
|| (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE)
{
if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE)
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_MAY];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY];
else
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN];
}
else
{
@@ -1280,17 +1279,17 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_LEAF_GREEN)
{
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0)
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_LEAF];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF];
else
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RED];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED];
}
else if ((gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_RUBY
|| (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].version & 0xFF) == VERSION_SAPPHIRE)
{
if (gLinkPlayers[GetMultiplayerId() ^ BIT_SIDE].gender != 0)
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_MAY];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY];
else
- trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN];
+ trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN];
}
else
{
diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c
index 04a3784da..0cd15f39e 100644
--- a/src/battle_controller_link_partner.c
+++ b/src/battle_controller_link_partner.c
@@ -26,8 +26,6 @@
#include "constants/songs.h"
#include "constants/trainers.h"
-extern struct UnusedControllerStruct gUnknown_02022D0C;
-
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c
index 403cc5eed..c057e8575 100644
--- a/src/battle_controller_opponent.c
+++ b/src/battle_controller_opponent.c
@@ -34,7 +34,6 @@
#include "constants/trainers.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index 49629198c..2bd5ef365 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -37,7 +37,6 @@
extern u8 gUnknown_0203CEE8;
extern u8 gUnknown_0203CEE9;
extern u8 gUnknown_0203CF00[];
-extern struct UnusedControllerStruct gUnknown_02022D0C;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c
index bd892c922..02dd1383b 100644
--- a/src/battle_controller_player_partner.c
+++ b/src/battle_controller_player_partner.c
@@ -6,6 +6,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_setup.h"
+#include "battle_tower.h"
#include "bg.h"
#include "data2.h"
#include "item_use.h"
@@ -26,15 +27,11 @@
#include "constants/songs.h"
#include "constants/trainers.h"
-extern struct UnusedControllerStruct gUnknown_02022D0C;
-
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_81358F4(void);
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
-extern void SetMultiuseSpriteTemplateToPokemon(u16, u8);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void PlayerPartnerHandleGetMonData(void);
diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c
index b54e61255..0cf3634dc 100644
--- a/src/battle_controller_recorded_opponent.c
+++ b/src/battle_controller_recorded_opponent.c
@@ -6,6 +6,7 @@
#include "battle_interface.h"
#include "battle_message.h"
#include "battle_setup.h"
+#include "battle_tower.h"
#include "battle_tv.h"
#include "bg.h"
#include "data2.h"
@@ -29,14 +30,11 @@
#include "constants/trainers.h"
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
-extern u8 gUnknown_0203C7B4;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
extern u16 sub_8068B48(void);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void RecordedOpponentHandleGetMonData(void);
diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c
index 17b115caa..4d7fdc01e 100644
--- a/src/battle_controller_recorded_player.c
+++ b/src/battle_controller_recorded_player.c
@@ -25,16 +25,12 @@
#include "constants/battle_anim.h"
#include "constants/songs.h"
-extern u32 gTransformedPersonalities[MAX_BATTLERS_COUNT];
-extern u8 gUnknown_0203C7B4;
extern struct MusicPlayerInfo gMPlayInfo_BGM;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
-extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
// this file's functions
static void RecordedPlayerHandleGetMonData(void);
diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c
index 1a3a2d53d..5d87c4f90 100644
--- a/src/battle_controller_wally.c
+++ b/src/battle_controller_wally.c
@@ -31,9 +31,6 @@
#include "constants/songs.h"
#include "constants/trainers.h"
-extern s32 gUnknown_0203CD70;
-extern struct UnusedControllerStruct gUnknown_02022D0C;
-
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index 1c6942ead..a6d6e9294 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -13,10 +13,10 @@
#include "constants/abilities.h"
#include "constants/species.h"
-extern u8 gUnknown_02022D08;
-extern u8 gUnknown_02022D09;
-extern u8 gUnknown_02022D0A;
-
+static EWRAM_DATA u8 sLinkSendTaskId = 0;
+static EWRAM_DATA u8 sLinkReceiveTaskId = 0;
+static EWRAM_DATA u8 sUnknown_02022D0A = 0;
+EWRAM_DATA struct UnusedControllerStruct gUnknown_02022D0C = {};
static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {};
extern void sub_81B8D64(u8 battlerId, u8 arg1); // party_menu
@@ -681,20 +681,20 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size)
static void CreateTasksForSendRecvLinkBuffers(void)
{
- gUnknown_02022D08 = CreateTask(Task_HandleSendLinkBuffersData, 0);
- gTasks[gUnknown_02022D08].data[11] = 0;
- gTasks[gUnknown_02022D08].data[12] = 0;
- gTasks[gUnknown_02022D08].data[13] = 0;
- gTasks[gUnknown_02022D08].data[14] = 0;
- gTasks[gUnknown_02022D08].data[15] = 0;
+ sLinkSendTaskId = CreateTask(Task_HandleSendLinkBuffersData, 0);
+ gTasks[sLinkSendTaskId].data[11] = 0;
+ gTasks[sLinkSendTaskId].data[12] = 0;
+ gTasks[sLinkSendTaskId].data[13] = 0;
+ gTasks[sLinkSendTaskId].data[14] = 0;
+ gTasks[sLinkSendTaskId].data[15] = 0;
- gUnknown_02022D09 = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0);
- gTasks[gUnknown_02022D09].data[12] = 0;
- gTasks[gUnknown_02022D09].data[13] = 0;
- gTasks[gUnknown_02022D09].data[14] = 0;
- gTasks[gUnknown_02022D09].data[15] = 0;
+ sLinkReceiveTaskId = CreateTask(Task_HandleCopyReceivedLinkBuffersData, 0);
+ gTasks[sLinkReceiveTaskId].data[12] = 0;
+ gTasks[sLinkReceiveTaskId].data[13] = 0;
+ gTasks[sLinkReceiveTaskId].data[14] = 0;
+ gTasks[sLinkReceiveTaskId].data[15] = 0;
- gUnknown_02022D0A = 0;
+ sUnknown_02022D0A = 0;
}
enum
@@ -716,24 +716,24 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data)
s32 i;
alignedSize = size - size % 4 + 4;
- if (gTasks[gUnknown_02022D08].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
+ if (gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA + 1 > BATTLE_BUFFER_LINK_SIZE)
{
- gTasks[gUnknown_02022D08].data[12] = gTasks[gUnknown_02022D08].data[14];
- gTasks[gUnknown_02022D08].data[14] = 0;
+ gTasks[sLinkSendTaskId].data[12] = gTasks[sLinkSendTaskId].data[14];
+ gTasks[sLinkSendTaskId].data[14] = 0;
}
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_TARGET] = gBattlerTarget;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags;
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_HI] = (alignedSize & 0x0000FF00) >> 8;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ABSENT_BATTLER_FLAGS] = gAbsentBattlerFlags;
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_EFFECT_BATTLER] = gEffectBattler;
for (i = 0; i < size; i++)
- gLinkBattleSendBuffer[gTasks[gUnknown_02022D08].data[14] + LINK_BUFF_DATA + i] = data[i];
+ gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_DATA + i] = data[i];
- gTasks[gUnknown_02022D08].data[14] = gTasks[gUnknown_02022D08].data[14] + alignedSize + LINK_BUFF_DATA;
+ gTasks[sLinkSendTaskId].data[14] = gTasks[sLinkSendTaskId].data[14] + alignedSize + LINK_BUFF_DATA;
}
static void Task_HandleSendLinkBuffersData(u8 taskId)
@@ -845,19 +845,19 @@ void sub_8033648(void)
#endif
r6 = gBlockRecvBuffer[i][2];
- if (gTasks[gUnknown_02022D09].data[14] + 9 + r6 > 0x1000)
+ if (gTasks[sLinkReceiveTaskId].data[14] + 9 + r6 > 0x1000)
{
- gTasks[gUnknown_02022D09].data[12] = gTasks[gUnknown_02022D09].data[14];
- gTasks[gUnknown_02022D09].data[14] = 0;
+ gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14];
+ gTasks[sLinkReceiveTaskId].data[14] = 0;
}
- dest = &gLinkBattleRecvBuffer[gTasks[gUnknown_02022D09].data[14]];
+ dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]];
src = recvBuffer;
for (j = 0; j < r6 + 8; j++)
dest[j] = src[j];
- gTasks[gUnknown_02022D09].data[14] = gTasks[gUnknown_02022D09].data[14] + r6 + 8;
+ gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + r6 + 8;
}
}
}
diff --git a/src/battle_dome.c b/src/battle_dome.c
index 152a11ae8..514b57c97 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -8,7 +8,7 @@
#include "event_data.h"
#include "overworld.h"
#include "util.h"
-#include "malloc.h"
+#include "alloc.h"
#include "string_util.h"
#include "random.h"
#include "task.h"
@@ -26,6 +26,7 @@
#include "international_string_util.h"
#include "trainer_pokemon_sprites.h"
#include "scanline_effect.h"
+#include "script_pokemon_util_80F87D8.h"
#include "graphics.h"
#include "constants/species.h"
#include "constants/moves.h"
@@ -57,19 +58,9 @@ struct UnkStruct_860DD10
};
extern void sub_81B8558(void);
-extern u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId);
-extern u8 GetFrontierBrainMonEvs(u8, u8);
-extern u8 GetFrontierBrainMonNature(u8);
-extern void sub_81A4C30(void);
-extern u8 sub_81A3610(void);
-extern u16 GetFrontierBrainMonSpecies(u8);
-extern void ReducePlayerPartyToSelectedMons(void);
extern u8 gSelectedOrderFromParty[];
-extern const u16 gBattleFrontierHeldItems[];
-extern const struct FacilityMon gBattleFrontierMons[];
-extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
extern const struct SpriteTemplate gUnknown_0860CFA8;
// text
@@ -256,361 +247,361 @@ static EWRAM_DATA u8 *sTilemapBuffer = NULL;
// Const rom data.
static const u8 sMovePointsForDomeTrainers[MOVES_COUNT][DOME_TOURNAMENT_TRAINERS_COUNT] =
{
- [MOVE_NONE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_POUND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_KARATE_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DOUBLE_SLAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_COMET_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_MEGA_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_PAY_DAY] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_FIRE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_ICE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_THUNDER_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SCRATCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_VICE_GRIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_GUILLOTINE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_RAZOR_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SWORDS_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
- [MOVE_CUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WING_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WHIRLWIND] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FLY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BIND] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_VINE_WHIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_STOMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DOUBLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MEGA_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ROLLING_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SAND_ATTACK] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HEADBUTT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_HORN_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FURY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_HORN_DRILL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BODY_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_WRAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_TAKE_DOWN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_THRASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DOUBLE_EDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TAIL_WHIP] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_POISON_STING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_TWINEEDLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_PIN_MISSILE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LEER] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_BITE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_GROWL] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ROAR] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SING] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SUPERSONIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SONIC_BOOM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DISABLE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ACID] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_EMBER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_FLAMETHROWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
- [MOVE_MIST] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_WATER_GUN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HYDRO_PUMP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0},
- [MOVE_SURF] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0},
- [MOVE_ICE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
- [MOVE_BLIZZARD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1},
- [MOVE_PSYBEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_BUBBLE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_AURORA_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_HYPER_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0},
- [MOVE_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DRILL_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SUBMISSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LOW_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_COUNTER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_SEISMIC_TOSS] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_STRENGTH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ABSORB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MEGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_LEECH_SEED] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GROWTH] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_RAZOR_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SOLAR_BEAM] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0},
- [MOVE_POISON_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_STUN_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SLEEP_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_PETAL_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_STRING_SHOT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DRAGON_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FIRE_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_THUNDER_SHOCK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_THUNDERBOLT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
- [MOVE_THUNDER_WAVE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_THUNDER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1},
- [MOVE_ROCK_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_EARTHQUAKE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0},
- [MOVE_FISSURE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0},
- [MOVE_DIG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TOXIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_CONFUSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_PSYCHIC] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
- [MOVE_HYPNOSIS] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_MEDITATE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_AGILITY] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_QUICK_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TELEPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_NIGHT_SHADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MIMIC] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SCREECH] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DOUBLE_TEAM] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_RECOVER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_HARDEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_MINIMIZE] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SMOKESCREEN] = {0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CONFUSE_RAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WITHDRAW] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DEFENSE_CURL] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BARRIER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LIGHT_SCREEN] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_HAZE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_REFLECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_FOCUS_ENERGY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BIDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_METRONOME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
- [MOVE_MIRROR_MOVE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
- [MOVE_SELF_DESTRUCT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
- [MOVE_EGG_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
- [MOVE_LICK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SMOG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SLUDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_BONE_CLUB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_FIRE_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
- [MOVE_WATERFALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CLAMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SWIFT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SKULL_BASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_SPIKE_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CONSTRICT] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_AMNESIA] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_KINESIS] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SOFT_BOILED] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HI_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GLARE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DREAM_EATER] = {1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_POISON_GAS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BARRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LEECH_LIFE] = {0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_LOVELY_KISS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SKY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
- [MOVE_TRANSFORM] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BUBBLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DIZZY_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FLASH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_PSYWAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SPLASH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ACID_ARMOR] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_CRABHAMMER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
- [MOVE_EXPLOSION] = {0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0},
- [MOVE_FURY_SWIPES] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BONEMERANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_REST] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ROCK_SLIDE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_HYPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SHARPEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_CONVERSION] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_TRI_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SUPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SLASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SUBSTITUTE] = {0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_STRUGGLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_SKETCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
- [MOVE_TRIPLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_THIEF] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SPIDER_WEB] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MIND_READER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_NIGHTMARE] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FLAME_WHEEL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SNORE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_CURSE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_FLAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CONVERSION_2] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_AEROBLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_COTTON_SPORE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_REVERSAL] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SPITE] = {0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_POWDER_SNOW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_PROTECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0},
- [MOVE_MACH_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SCARY_FACE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_FAINT_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SWEET_KISS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BELLY_DRUM] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SLUDGE_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1},
- [MOVE_MUD_SLAP] = {0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_OCTAZOOKA] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SPIKES] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ZAP_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1},
- [MOVE_FORESIGHT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DESTINY_BOND] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_PERISH_SONG] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_ICY_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_DETECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_BONE_RUSH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LOCK_ON] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_OUTRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1},
- [MOVE_SANDSTORM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GIGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_ENDURE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_CHARM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ROLLOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_FALSE_SWIPE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SWAGGER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_MILK_DRINK] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SPARK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_FURY_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_STEEL_WING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_MEAN_LOOK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_ATTRACT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SLEEP_TALK] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
- [MOVE_HEAL_BELL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_RETURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_PRESENT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
- [MOVE_FRUSTRATION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SAFEGUARD] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_PAIN_SPLIT] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SACRED_FIRE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1},
- [MOVE_MAGNITUDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DYNAMIC_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1},
- [MOVE_MEGAHORN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
- [MOVE_DRAGON_BREATH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_BATON_PASS] = {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ENCORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_PURSUIT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_RAPID_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SWEET_SCENT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_IRON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1},
- [MOVE_METAL_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_VITAL_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_MORNING_SUN] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_SYNTHESIS] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_MOONLIGHT] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_HIDDEN_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CROSS_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0},
- [MOVE_TWISTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_RAIN_DANCE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_SUNNY_DAY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_CRUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_MIRROR_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_PSYCH_UP] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_EXTREME_SPEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_ANCIENT_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1},
- [MOVE_SHADOW_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_FUTURE_SIGHT] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ROCK_SMASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_WHIRLPOOL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_BEAT_UP] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FAKE_OUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_UPROAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_STOCKPILE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SPIT_UP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_SWALLOW] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_HEAT_WAVE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},
- [MOVE_HAIL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_TORMENT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FLATTER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WILL_O_WISP] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_MEMENTO] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FACADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FOCUS_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_SMELLING_SALT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FOLLOW_ME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_NATURE_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_CHARGE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TAUNT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HELPING_HAND] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TRICK] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ROLE_PLAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_WISH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ASSIST] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_INGRAIN] = {1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_SUPERPOWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0},
- [MOVE_MAGIC_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_RECYCLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_REVENGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_BRICK_BREAK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_YAWN] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_KNOCK_OFF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_ENDEAVOR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_ERUPTION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
- [MOVE_SKILL_SWAP] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_IMPRISON] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_REFRESH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_GRUDGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_SNATCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
- [MOVE_SECRET_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DIVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ARM_THRUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CAMOUFLAGE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TAIL_GLOW] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_LUSTER_PURGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1},
- [MOVE_MIST_BALL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1},
- [MOVE_FEATHER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_TEETER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_BLAZE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_MUD_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ICE_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_NEEDLE_ARM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SLACK_OFF] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_HYPER_VOICE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
- [MOVE_POISON_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_CRUSH_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_BLAST_BURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_HYDRO_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_METEOR_MASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1},
- [MOVE_ASTONISH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_WEATHER_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_AROMATHERAPY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
- [MOVE_FAKE_TEARS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_AIR_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_OVERHEAT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1},
- [MOVE_ODOR_SLEUTH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_ROCK_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SILVER_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1},
- [MOVE_METAL_SOUND] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_GRASS_WHISTLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_TICKLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_COSMIC_POWER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_WATER_SPOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
- [MOVE_SIGNAL_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SHADOW_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_EXTRASENSORY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_SKY_UPPERCUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SAND_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_SHEER_COLD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0},
- [MOVE_MUDDY_WATER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1},
- [MOVE_BULLET_SEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_AERIAL_ACE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ICICLE_SPEAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_IRON_DEFENSE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BLOCK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
- [MOVE_HOWL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_DRAGON_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_FRENZY_PLANT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_BULK_UP] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_BOUNCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1},
- [MOVE_MUD_SHOT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
- [MOVE_POISON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_COVET] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_VOLT_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0},
- [MOVE_MAGICAL_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_WATER_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_CALM_MIND] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_LEAF_BLADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
- [MOVE_DRAGON_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_ROCK_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_SHOCK_WAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
- [MOVE_WATER_PULSE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
- [MOVE_DOOM_DESIRE] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
- [MOVE_PSYCHO_BOOST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
+ [MOVE_NONE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_POUND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_KARATE_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_DOUBLE_SLAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_COMET_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_MEGA_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_PAY_DAY] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_FIRE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_ICE_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_THUNDER_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SCRATCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_VICE_GRIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_GUILLOTINE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_RAZOR_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SWORDS_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0},
+ [MOVE_CUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_GUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_WING_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_WHIRLWIND] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FLY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BIND] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_VINE_WHIP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_STOMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_DOUBLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_MEGA_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ROLLING_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_SAND_ATTACK] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_HEADBUTT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_HORN_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FURY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_HORN_DRILL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BODY_SLAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_WRAP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_TAKE_DOWN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_THRASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_DOUBLE_EDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_TAIL_WHIP] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_POISON_STING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_TWINEEDLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_PIN_MISSILE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_LEER] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_BITE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_GROWL] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_ROAR] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SING] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SUPERSONIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SONIC_BOOM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_DISABLE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ACID] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_EMBER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_FLAMETHROWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
+ [MOVE_MIST] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_WATER_GUN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_HYDRO_PUMP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0},
+ [MOVE_SURF] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0},
+ [MOVE_ICE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
+ [MOVE_BLIZZARD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1},
+ [MOVE_PSYBEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_BUBBLE_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_AURORA_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_HYPER_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0},
+ [MOVE_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_DRILL_PECK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SUBMISSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_LOW_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_COUNTER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0},
+ [MOVE_SEISMIC_TOSS] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_STRENGTH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_ABSORB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_MEGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_LEECH_SEED] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_GROWTH] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_RAZOR_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SOLAR_BEAM] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0},
+ [MOVE_POISON_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_STUN_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SLEEP_POWDER] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_PETAL_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_STRING_SHOT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_DRAGON_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FIRE_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_THUNDER_SHOCK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_THUNDERBOLT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
+ [MOVE_THUNDER_WAVE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_THUNDER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1},
+ [MOVE_ROCK_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_EARTHQUAKE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0},
+ [MOVE_FISSURE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0},
+ [MOVE_DIG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_TOXIC] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_CONFUSION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_PSYCHIC] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
+ [MOVE_HYPNOSIS] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_MEDITATE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_AGILITY] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_QUICK_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_RAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_TELEPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_NIGHT_SHADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_MIMIC] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SCREECH] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_DOUBLE_TEAM] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_RECOVER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_HARDEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_MINIMIZE] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SMOKESCREEN] = {0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_CONFUSE_RAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_WITHDRAW] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_DEFENSE_CURL] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BARRIER] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_LIGHT_SCREEN] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_HAZE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_REFLECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_FOCUS_ENERGY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BIDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_METRONOME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
+ [MOVE_MIRROR_MOVE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
+ [MOVE_SELF_DESTRUCT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
+ [MOVE_EGG_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0},
+ [MOVE_LICK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SMOG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_SLUDGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_BONE_CLUB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_FIRE_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
+ [MOVE_WATERFALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_CLAMP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_SWIFT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SKULL_BASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
+ [MOVE_SPIKE_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_CONSTRICT] = {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_AMNESIA] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_KINESIS] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SOFT_BOILED] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_HI_JUMP_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_GLARE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_DREAM_EATER] = {1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0},
+ [MOVE_POISON_GAS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BARRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_LEECH_LIFE] = {0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_LOVELY_KISS] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SKY_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
+ [MOVE_TRANSFORM] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BUBBLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_DIZZY_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SPORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FLASH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_PSYWAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SPLASH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ACID_ARMOR] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_CRABHAMMER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
+ [MOVE_EXPLOSION] = {0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0},
+ [MOVE_FURY_SWIPES] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BONEMERANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_REST] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ROCK_SLIDE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_HYPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_SHARPEN] = {0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_CONVERSION] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_TRI_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SUPER_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SLASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SUBSTITUTE] = {0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_STRUGGLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_SKETCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0},
+ [MOVE_TRIPLE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_THIEF] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SPIDER_WEB] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_MIND_READER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_NIGHTMARE] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FLAME_WHEEL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SNORE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_CURSE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_FLAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_CONVERSION_2] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_AEROBLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
+ [MOVE_COTTON_SPORE] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_REVERSAL] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SPITE] = {0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_POWDER_SNOW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_PROTECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0},
+ [MOVE_MACH_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SCARY_FACE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_FAINT_ATTACK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SWEET_KISS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BELLY_DRUM] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SLUDGE_BOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1},
+ [MOVE_MUD_SLAP] = {0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_OCTAZOOKA] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_SPIKES] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ZAP_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1},
+ [MOVE_FORESIGHT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_DESTINY_BOND] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_PERISH_SONG] = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_ICY_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_DETECT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_BONE_RUSH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_LOCK_ON] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_OUTRAGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1},
+ [MOVE_SANDSTORM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_GIGA_DRAIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_ENDURE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_CHARM] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_ROLLOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_FALSE_SWIPE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SWAGGER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_MILK_DRINK] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SPARK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_FURY_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_STEEL_WING] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_MEAN_LOOK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_ATTRACT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SLEEP_TALK] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0},
+ [MOVE_HEAL_BELL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_RETURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_PRESENT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0},
+ [MOVE_FRUSTRATION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SAFEGUARD] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_PAIN_SPLIT] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SACRED_FIRE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1},
+ [MOVE_MAGNITUDE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_DYNAMIC_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1},
+ [MOVE_MEGAHORN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0},
+ [MOVE_DRAGON_BREATH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_BATON_PASS] = {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ENCORE] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_PURSUIT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_RAPID_SPIN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SWEET_SCENT] = {0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_IRON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1},
+ [MOVE_METAL_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_VITAL_THROW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_MORNING_SUN] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_SYNTHESIS] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_MOONLIGHT] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_HIDDEN_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_CROSS_CHOP] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0},
+ [MOVE_TWISTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_RAIN_DANCE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_SUNNY_DAY] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_CRUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_MIRROR_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_PSYCH_UP] = {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_EXTREME_SPEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_ANCIENT_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1},
+ [MOVE_SHADOW_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_FUTURE_SIGHT] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ROCK_SMASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_WHIRLPOOL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_BEAT_UP] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FAKE_OUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_UPROAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_STOCKPILE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SPIT_UP] = {1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
+ [MOVE_SWALLOW] = {1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_HEAT_WAVE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},
+ [MOVE_HAIL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_TORMENT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FLATTER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_WILL_O_WISP] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_MEMENTO] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FACADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FOCUS_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
+ [MOVE_SMELLING_SALT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FOLLOW_ME] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_NATURE_POWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_CHARGE] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_TAUNT] = {0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_HELPING_HAND] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_TRICK] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_ROLE_PLAY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_WISH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_ASSIST] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
+ [MOVE_INGRAIN] = {1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_SUPERPOWER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0},
+ [MOVE_MAGIC_COAT] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0},
+ [MOVE_RECYCLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_REVENGE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0},
+ [MOVE_BRICK_BREAK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_YAWN] = {1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_KNOCK_OFF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_ENDEAVOR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_ERUPTION] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
+ [MOVE_SKILL_SWAP] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_IMPRISON] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
+ [MOVE_REFRESH] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_GRUDGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_SNATCH] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0},
+ [MOVE_SECRET_POWER] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_DIVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_ARM_THRUST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_CAMOUFLAGE] = {0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_TAIL_GLOW] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_LUSTER_PURGE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1},
+ [MOVE_MIST_BALL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1},
+ [MOVE_FEATHER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_TEETER_DANCE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_BLAZE_KICK] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_MUD_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_ICE_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_NEEDLE_ARM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SLACK_OFF] = {0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_HYPER_VOICE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0},
+ [MOVE_POISON_FANG] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_CRUSH_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_BLAST_BURN] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
+ [MOVE_HYDRO_CANNON] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
+ [MOVE_METEOR_MASH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1},
+ [MOVE_ASTONISH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_WEATHER_BALL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_AROMATHERAPY] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
+ [MOVE_FAKE_TEARS] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_AIR_CUTTER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_OVERHEAT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1},
+ [MOVE_ODOR_SLEUTH] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_ROCK_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_SILVER_WIND] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1},
+ [MOVE_METAL_SOUND] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_GRASS_WHISTLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_TICKLE] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_COSMIC_POWER] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_WATER_SPOUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0},
+ [MOVE_SIGNAL_BEAM] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SHADOW_PUNCH] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_EXTRASENSORY] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_SKY_UPPERCUT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SAND_TOMB] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_SHEER_COLD] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0},
+ [MOVE_MUDDY_WATER] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1},
+ [MOVE_BULLET_SEED] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_AERIAL_ACE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ICICLE_SPEAR] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_IRON_DEFENSE] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BLOCK] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0},
+ [MOVE_HOWL] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_DRAGON_CLAW] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_FRENZY_PLANT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
+ [MOVE_BULK_UP] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_BOUNCE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1},
+ [MOVE_MUD_SHOT] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1},
+ [MOVE_POISON_TAIL] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_COVET] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_VOLT_TACKLE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0},
+ [MOVE_MAGICAL_LEAF] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_WATER_SPORT] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_CALM_MIND] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_LEAF_BLADE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0},
+ [MOVE_DRAGON_DANCE] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_ROCK_BLAST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_SHOCK_WAVE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
+ [MOVE_WATER_PULSE] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1},
+ [MOVE_DOOM_DESIRE] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0},
+ [MOVE_PSYCHO_BOOST] = {0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1},
};
static const u8 gUnknown_0860C988[][DOME_TOURNAMENT_TRAINERS_COUNT] =
@@ -3148,239 +3139,239 @@ NAKED
static s32 GetTypeEffectivenessPoints(s32 move, s32 species, s32 arg2)
{
asm_unified("\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x8\n\
- adds r3, r0, 0\n\
- adds r4, r1, 0\n\
- str r2, [sp]\n\
- movs r6, 0\n\
- movs r2, 0x14\n\
- cmp r3, 0\n\
- beq _0818FFF0\n\
- ldr r0, =0x0000ffff\n\
- cmp r3, r0\n\
- beq _0818FFF0\n\
- ldr r0, =gBattleMoves\n\
- lsls r1, r3, 1\n\
- adds r1, r3\n\
- lsls r1, 2\n\
- adds r3, r1, r0\n\
- ldrb r0, [r3, 0x1]\n\
- cmp r0, 0\n\
- bne _0818FFFC\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x8\n\
+ adds r3, r0, 0\n\
+ adds r4, r1, 0\n\
+ str r2, [sp]\n\
+ movs r6, 0\n\
+ movs r2, 0x14\n\
+ cmp r3, 0\n\
+ beq _0818FFF0\n\
+ ldr r0, =0x0000ffff\n\
+ cmp r3, r0\n\
+ beq _0818FFF0\n\
+ ldr r0, =gBattleMoves\n\
+ lsls r1, r3, 1\n\
+ adds r1, r3\n\
+ lsls r1, 2\n\
+ adds r3, r1, r0\n\
+ ldrb r0, [r3, 0x1]\n\
+ cmp r0, 0\n\
+ bne _0818FFFC\n\
_0818FFF0:\n\
- movs r0, 0\n\
- b _08190156\n\
- .pool\n\
+ movs r0, 0\n\
+ b _08190156\n\
+ .pool\n\
_0818FFFC:\n\
- ldr r1, =gBaseStats\n\
- lsls r0, r4, 3\n\
- subs r0, r4\n\
- lsls r0, 2\n\
- adds r0, r1\n\
- ldrb r1, [r0, 0x6]\n\
- mov r10, r1\n\
- ldrb r1, [r0, 0x7]\n\
- mov r9, r1\n\
- ldrb r0, [r0, 0x16]\n\
- mov r8, r0\n\
- ldrb r3, [r3, 0x2]\n\
- str r3, [sp, 0x4]\n\
- cmp r0, 0x1A\n\
- bne _0819002C\n\
- cmp r3, 0x4\n\
- bne _0819002C\n\
- ldr r0, [sp]\n\
- cmp r0, 0x1\n\
- bne _081900AA\n\
- movs r2, 0x8\n\
- b _081900A4\n\
- .pool\n\
+ ldr r1, =gBaseStats\n\
+ lsls r0, r4, 3\n\
+ subs r0, r4\n\
+ lsls r0, 2\n\
+ adds r0, r1\n\
+ ldrb r1, [r0, 0x6]\n\
+ mov r10, r1\n\
+ ldrb r1, [r0, 0x7]\n\
+ mov r9, r1\n\
+ ldrb r0, [r0, 0x16]\n\
+ mov r8, r0\n\
+ ldrb r3, [r3, 0x2]\n\
+ str r3, [sp, 0x4]\n\
+ cmp r0, 0x1A\n\
+ bne _0819002C\n\
+ cmp r3, 0x4\n\
+ bne _0819002C\n\
+ ldr r0, [sp]\n\
+ cmp r0, 0x1\n\
+ bne _081900AA\n\
+ movs r2, 0x8\n\
+ b _081900A4\n\
+ .pool\n\
_0819002C:\n\
- ldr r0, =gTypeEffectiveness\n\
- adds r1, r6, r0\n\
- ldrb r0, [r1]\n\
- ldr r7, =gTypeEffectiveness\n\
- cmp r0, 0xFF\n\
- beq _081900A4\n\
- adds r4, r1, 0\n\
+ ldr r0, =gTypeEffectiveness\n\
+ adds r1, r6, r0\n\
+ ldrb r0, [r1]\n\
+ ldr r7, =gTypeEffectiveness\n\
+ cmp r0, 0xFF\n\
+ beq _081900A4\n\
+ adds r4, r1, 0\n\
_0819003A:\n\
- ldrb r0, [r4]\n\
- cmp r0, 0xFE\n\
- beq _08190096\n\
- ldrb r0, [r4]\n\
- ldr r1, [sp, 0x4]\n\
- cmp r0, r1\n\
- bne _08190096\n\
- ldrb r0, [r4, 0x1]\n\
- adds r5, r6, 0x1\n\
- cmp r0, r10\n\
- bne _0819006C\n\
- adds r1, r6, 0x2\n\
- mov r0, r8\n\
- cmp r0, 0x19\n\
- bne _0819005E\n\
- ldrb r0, [r4, 0x2]\n\
- cmp r0, 0x28\n\
- bne _0819006C\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0xFE\n\
+ beq _08190096\n\
+ ldrb r0, [r4]\n\
+ ldr r1, [sp, 0x4]\n\
+ cmp r0, r1\n\
+ bne _08190096\n\
+ ldrb r0, [r4, 0x1]\n\
+ adds r5, r6, 0x1\n\
+ cmp r0, r10\n\
+ bne _0819006C\n\
+ adds r1, r6, 0x2\n\
+ mov r0, r8\n\
+ cmp r0, 0x19\n\
+ bne _0819005E\n\
+ ldrb r0, [r4, 0x2]\n\
+ cmp r0, 0x28\n\
+ bne _0819006C\n\
_0819005E:\n\
- adds r0, r1, r7\n\
- ldrb r0, [r0]\n\
- muls r0, r2\n\
- movs r1, 0xA\n\
- bl __divsi3\n\
- adds r2, r0, 0\n\
+ adds r0, r1, r7\n\
+ ldrb r0, [r0]\n\
+ muls r0, r2\n\
+ movs r1, 0xA\n\
+ bl __divsi3\n\
+ adds r2, r0, 0\n\
_0819006C:\n\
- adds r0, r5, r7\n\
- ldrb r0, [r0]\n\
- cmp r0, r9\n\
- bne _08190096\n\
- cmp r10, r9\n\
- beq _08190096\n\
- adds r1, r6, 0x2\n\
- mov r0, r8\n\
- cmp r0, 0x19\n\
- bne _08190088\n\
- adds r0, r1, r7\n\
- ldrb r0, [r0]\n\
- cmp r0, 0x28\n\
- bne _08190096\n\
+ adds r0, r5, r7\n\
+ ldrb r0, [r0]\n\
+ cmp r0, r9\n\
+ bne _08190096\n\
+ cmp r10, r9\n\
+ beq _08190096\n\
+ adds r1, r6, 0x2\n\
+ mov r0, r8\n\
+ cmp r0, 0x19\n\
+ bne _08190088\n\
+ adds r0, r1, r7\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x28\n\
+ bne _08190096\n\
_08190088:\n\
- adds r0, r1, r7\n\
- ldrb r0, [r0]\n\
- muls r0, r2\n\
- movs r1, 0xA\n\
- bl __divsi3\n\
- adds r2, r0, 0\n\
+ adds r0, r1, r7\n\
+ ldrb r0, [r0]\n\
+ muls r0, r2\n\
+ movs r1, 0xA\n\
+ bl __divsi3\n\
+ adds r2, r0, 0\n\
_08190096:\n\
- adds r4, 0x3\n\
- adds r6, 0x3\n\
- ldr r1, =gTypeEffectiveness\n\
- adds r0, r6, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, 0xFF\n\
- bne _0819003A\n\
+ adds r4, 0x3\n\
+ adds r6, 0x3\n\
+ ldr r1, =gTypeEffectiveness\n\
+ adds r0, r6, r1\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0xFF\n\
+ bne _0819003A\n\
_081900A4:\n\
- ldr r0, [sp]\n\
- cmp r0, 0x1\n\
- beq _081900E0\n\
+ ldr r0, [sp]\n\
+ cmp r0, 0x1\n\
+ beq _081900E0\n\
_081900AA:\n\
- ldr r1, [sp]\n\
- cmp r1, 0x1\n\
- bgt _081900BC\n\
- cmp r1, 0\n\
- beq _081900C4\n\
- b _08190154\n\
- .pool\n\
+ ldr r1, [sp]\n\
+ cmp r1, 0x1\n\
+ bgt _081900BC\n\
+ cmp r1, 0\n\
+ beq _081900C4\n\
+ b _08190154\n\
+ .pool\n\
_081900BC:\n\
- ldr r0, [sp]\n\
- cmp r0, 0x2\n\
- beq _08190114\n\
- b _08190154\n\
+ ldr r0, [sp]\n\
+ cmp r0, 0x2\n\
+ beq _08190114\n\
+ b _08190154\n\
_081900C4:\n\
- cmp r2, 0xA\n\
- beq _08190146\n\
- cmp r2, 0xA\n\
- ble _08190146\n\
- cmp r2, 0x28\n\
- beq _0819014A\n\
- cmp r2, 0x28\n\
- bgt _081900DA\n\
- cmp r2, 0x14\n\
- beq _08190104\n\
- b _08190146\n\
+ cmp r2, 0xA\n\
+ beq _08190146\n\
+ cmp r2, 0xA\n\
+ ble _08190146\n\
+ cmp r2, 0x28\n\
+ beq _0819014A\n\
+ cmp r2, 0x28\n\
+ bgt _081900DA\n\
+ cmp r2, 0x14\n\
+ beq _08190104\n\
+ b _08190146\n\
_081900DA:\n\
- cmp r2, 0x50\n\
- bne _08190146\n\
- b _08190100\n\
+ cmp r2, 0x50\n\
+ bne _08190146\n\
+ b _08190100\n\
_081900E0:\n\
- cmp r2, 0xA\n\
- beq _08190104\n\
- cmp r2, 0xA\n\
- bgt _081900F2\n\
- cmp r2, 0\n\
- beq _08190100\n\
- cmp r2, 0x5\n\
- beq _0819014A\n\
- b _08190146\n\
+ cmp r2, 0xA\n\
+ beq _08190104\n\
+ cmp r2, 0xA\n\
+ bgt _081900F2\n\
+ cmp r2, 0\n\
+ beq _08190100\n\
+ cmp r2, 0x5\n\
+ beq _0819014A\n\
+ b _08190146\n\
_081900F2:\n\
- cmp r2, 0x28\n\
- beq _08190108\n\
- cmp r2, 0x28\n\
- ble _08190146\n\
- cmp r2, 0x50\n\
- beq _0819010E\n\
- b _08190146\n\
+ cmp r2, 0x28\n\
+ beq _08190108\n\
+ cmp r2, 0x28\n\
+ ble _08190146\n\
+ cmp r2, 0x50\n\
+ beq _0819010E\n\
+ b _08190146\n\
_08190100:\n\
- movs r2, 0x8\n\
- b _08190154\n\
+ movs r2, 0x8\n\
+ b _08190154\n\
_08190104:\n\
- movs r2, 0x2\n\
- b _08190154\n\
+ movs r2, 0x2\n\
+ b _08190154\n\
_08190108:\n\
- movs r2, 0x2\n\
- negs r2, r2\n\
- b _08190154\n\
+ movs r2, 0x2\n\
+ negs r2, r2\n\
+ b _08190154\n\
_0819010E:\n\
- movs r2, 0x4\n\
- negs r2, r2\n\
- b _08190154\n\
+ movs r2, 0x4\n\
+ negs r2, r2\n\
+ b _08190154\n\
_08190114:\n\
- cmp r2, 0xA\n\
- beq _08190146\n\
- cmp r2, 0xA\n\
- bgt _08190126\n\
- cmp r2, 0\n\
- beq _0819013A\n\
- cmp r2, 0x5\n\
- beq _08190140\n\
- b _08190146\n\
+ cmp r2, 0xA\n\
+ beq _08190146\n\
+ cmp r2, 0xA\n\
+ bgt _08190126\n\
+ cmp r2, 0\n\
+ beq _0819013A\n\
+ cmp r2, 0x5\n\
+ beq _08190140\n\
+ b _08190146\n\
_08190126:\n\
- cmp r2, 0x28\n\
- beq _0819014E\n\
- cmp r2, 0x28\n\
- bgt _08190134\n\
- cmp r2, 0x14\n\
- beq _0819014A\n\
- b _08190146\n\
+ cmp r2, 0x28\n\
+ beq _0819014E\n\
+ cmp r2, 0x28\n\
+ bgt _08190134\n\
+ cmp r2, 0x14\n\
+ beq _0819014A\n\
+ b _08190146\n\
_08190134:\n\
- cmp r2, 0x50\n\
- beq _08190152\n\
- b _08190146\n\
+ cmp r2, 0x50\n\
+ beq _08190152\n\
+ b _08190146\n\
_0819013A:\n\
- movs r2, 0x10\n\
- negs r2, r2\n\
- b _08190154\n\
+ movs r2, 0x10\n\
+ negs r2, r2\n\
+ b _08190154\n\
_08190140:\n\
- movs r2, 0x8\n\
- negs r2, r2\n\
- b _08190154\n\
+ movs r2, 0x8\n\
+ negs r2, r2\n\
+ b _08190154\n\
_08190146:\n\
- movs r2, 0\n\
- b _08190154\n\
+ movs r2, 0\n\
+ b _08190154\n\
_0819014A:\n\
- movs r2, 0x4\n\
- b _08190154\n\
+ movs r2, 0x4\n\
+ b _08190154\n\
_0819014E:\n\
- movs r2, 0xC\n\
- b _08190154\n\
+ movs r2, 0xC\n\
+ b _08190154\n\
_08190152:\n\
- movs r2, 0x14\n\
+ movs r2, 0x14\n\
_08190154:\n\
- adds r0, r2, 0\n\
+ adds r0, r2, 0\n\
_08190156:\n\
- add sp, 0x8\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
+ add sp, 0x8\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r1}\n\
+ bx r1\n\
");
}
#endif // NONMATCHING
@@ -4791,7 +4782,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTournamentId)
i = 0;
if (trainerId == TRAINER_PLAYER)
- j = gFacilityClassToTrainerClass[FACILITY_CLASS_PKMN_TRAINER_BRENDAN];
+ j = gFacilityClassToTrainerClass[FACILITY_CLASS_BRENDAN];
else if (trainerId == TRAINER_FRONTIER_BRAIN)
j = GetDomeBrainTrainerClass();
else
@@ -6204,58 +6195,58 @@ static void sub_8194F58(void)
monLevel = 50;
for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT; i++)
- {
- monTypesBits = 0;
- statSums[i] = 0;
- ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
- for (j = 0; j < 3; j++)
- {
- CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species,
- monLevel, ivs,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].evSpread,
- gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].nature,
- statValues);
-
- statSums[i] += statValues[STAT_ATK];
- statSums[i] += statValues[STAT_DEF];
- statSums[i] += statValues[STAT_SPATK];
- statSums[i] += statValues[STAT_SPDEF];
- statSums[i] += statValues[STAT_SPEED];
- statSums[i] += statValues[STAT_HP];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type1];
- monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type2];
- }
-
- // Because GF hates temporary vars, trainerId acts like monTypesCount here.
- for (trainerId = 0, j = 0; j < 32; j++)
- {
- if (monTypesBits & 1)
- trainerId++;
- monTypesBits >>= 1;
- }
- statSums[i] += (trainerId * monLevel) / 20;
- }
-
- for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT - 1; i++)
- {
- for (j = i + 1; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++)
- {
- if (statSums[i] < statSums[j])
- {
- SwapDomeTrainers(i, j, statSums);
- }
- else if (statSums[i] == statSums[j])
- {
+ {
+ monTypesBits = 0;
+ statSums[i] = 0;
+ ivs = GetDomeTrainerMonIvs(gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId);
+ for (j = 0; j < 3; j++)
+ {
+ CalcDomeMonStats(gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species,
+ monLevel, ivs,
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].evSpread,
+ gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].nature,
+ statValues);
+
+ statSums[i] += statValues[STAT_ATK];
+ statSums[i] += statValues[STAT_DEF];
+ statSums[i] += statValues[STAT_SPATK];
+ statSums[i] += statValues[STAT_SPDEF];
+ statSums[i] += statValues[STAT_SPEED];
+ statSums[i] += statValues[STAT_HP];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type1];
+ monTypesBits |= gBitTable[gBaseStats[gFacilityTrainerMons[gSaveBlock2Ptr->frontier.domeMonIds[i][j]].species].type2];
+ }
+
+ // Because GF hates temporary vars, trainerId acts like monTypesCount here.
+ for (trainerId = 0, j = 0; j < 32; j++)
+ {
+ if (monTypesBits & 1)
+ trainerId++;
+ monTypesBits >>= 1;
+ }
+ statSums[i] += (trainerId * monLevel) / 20;
+ }
+
+ for (i = 0; i < DOME_TOURNAMENT_TRAINERS_COUNT - 1; i++)
+ {
+ for (j = i + 1; j < DOME_TOURNAMENT_TRAINERS_COUNT; j++)
+ {
+ if (statSums[i] < statSums[j])
+ {
+ SwapDomeTrainers(i, j, statSums);
+ }
+ else if (statSums[i] == statSums[j])
+ {
if (gSaveBlock2Ptr->frontier.domeTrainers[i].trainerId > gSaveBlock2Ptr->frontier.domeTrainers[j].trainerId)
SwapDomeTrainers(i, j, statSums);
- }
- }
- }
+ }
+ }
+ }
- Free(statSums);
- Free(statValues);
+ Free(statSums);
+ Free(statValues);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < 4; i++)
DecideRoundWinners(i);
gSaveBlock2Ptr->frontier.lvlMode = lvlMode;
diff --git a/src/battle_factory.c b/src/battle_factory.c
index 1d7fbafc9..a693acfb6 100644
--- a/src/battle_factory.c
+++ b/src/battle_factory.c
@@ -13,11 +13,6 @@
#include "constants/trainers.h"
#include "constants/moves.h"
-extern const struct FacilityMon gBattleFrontierMons[];
-extern const struct FacilityMon gSlateportBattleTentMons[];
-extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
-extern const u16 gBattleFrontierHeldItems[];
-
// IWRAM bss
static IWRAM_DATA bool8 gUnknown_03001288;
diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c
index 42a9b579c..60b233daf 100644
--- a/src/battle_factory_screen.c
+++ b/src/battle_factory_screen.c
@@ -10,7 +10,7 @@
#include "palette.h"
#include "task.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "bg.h"
#include "gpu_regs.h"
#include "string_util.h"
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 6f9d2db80..8d7ed2dce 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -6,7 +6,7 @@
#include "constants/battle_anim.h"
#include "battle_interface.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "graphics.h"
#include "random.h"
#include "util.h"
diff --git a/src/battle_interface.c b/src/battle_interface.c
index c7eb11293..9fd8e116a 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -543,11 +543,11 @@ enum
static const u16 sStatusIconColors[] =
{
- RGB(24, 12, 24), // PAL_STATUS_PSN
- RGB(23, 23, 3), // PAL_STATUS_PAR
- RGB(20, 20, 17), // PAL_STATUS_SLP
- RGB(17, 22, 28), // PAL_STATUS_FRZ
- RGB(28, 14, 10) // PAL_STATUS_BRN
+ [PAL_STATUS_PSN] = RGB(24, 12, 24),
+ [PAL_STATUS_PAR] = RGB(23, 23, 3),
+ [PAL_STATUS_SLP] = RGB(20, 20, 17),
+ [PAL_STATUS_FRZ] = RGB(17, 22, 28),
+ [PAL_STATUS_BRN] = RGB(28, 14, 10),
};
static const struct WindowTemplate sHealthboxWindowTemplate = {0, 0, 0, 8, 2, 0, 0}; // width = 8, height = 2
@@ -647,225 +647,225 @@ NAKED
static void sub_8072308(s16 arg0, u16 *arg1, u8 arg2)
{
asm(".syntax unified\n\
- 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\
- adds r7, r1, 0\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- mov r10, r2\n\
- movs r3, 0\n\
- movs r2, 0\n\
+ 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\
+ adds r7, r1, 0\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ mov r10, r2\n\
+ movs r3, 0\n\
+ movs r2, 0\n\
_08072324:\n\
- lsls r0, r3, 24\n\
- asrs r0, 24\n\
- mov r3, sp\n\
- adds r1, r3, r0\n\
- strb r2, [r1]\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r3, r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0x3\n\
- ble _08072324\n\
- movs r3, 0x3\n\
- movs r0, 0x1\n\
- negs r0, r0\n\
- mov r9, r0\n\
- mov r8, sp\n\
+ lsls r0, r3, 24\n\
+ asrs r0, 24\n\
+ mov r3, sp\n\
+ adds r1, r3, r0\n\
+ strb r2, [r1]\n\
+ adds r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r3, r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0x3\n\
+ ble _08072324\n\
+ movs r3, 0x3\n\
+ movs r0, 0x1\n\
+ negs r0, r0\n\
+ mov r9, r0\n\
+ mov r8, sp\n\
_08072344:\n\
- lsls r0, r5, 16\n\
- asrs r6, r0, 16\n\
- cmp r6, 0\n\
- ble _08072372\n\
- lsls r4, r3, 24\n\
- asrs r4, 24\n\
- mov r1, sp\n\
- adds r5, r1, r4\n\
- adds r0, r6, 0\n\
- movs r1, 0xA\n\
- bl __modsi3\n\
- strb r0, [r5]\n\
- adds r0, r6, 0\n\
- movs r1, 0xA\n\
- bl __divsi3\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- subs r4, 0x1\n\
- lsls r4, 24\n\
- lsrs r3, r4, 24\n\
- b _08072344\n\
+ lsls r0, r5, 16\n\
+ asrs r6, r0, 16\n\
+ cmp r6, 0\n\
+ ble _08072372\n\
+ lsls r4, r3, 24\n\
+ asrs r4, 24\n\
+ mov r1, sp\n\
+ adds r5, r1, r4\n\
+ adds r0, r6, 0\n\
+ movs r1, 0xA\n\
+ bl __modsi3\n\
+ strb r0, [r5]\n\
+ adds r0, r6, 0\n\
+ movs r1, 0xA\n\
+ bl __divsi3\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ subs r4, 0x1\n\
+ lsls r4, 24\n\
+ lsrs r3, r4, 24\n\
+ b _08072344\n\
_08072372:\n\
- lsls r1, r3, 24\n\
- asrs r0, r1, 24\n\
- cmp r0, r9\n\
- ble _08072396\n\
- movs r4, 0xFF\n\
- movs r3, 0x1\n\
- negs r3, r3\n\
+ lsls r1, r3, 24\n\
+ asrs r0, r1, 24\n\
+ cmp r0, r9\n\
+ ble _08072396\n\
+ movs r4, 0xFF\n\
+ movs r3, 0x1\n\
+ negs r3, r3\n\
_08072380:\n\
- asrs r2, r1, 24\n\
- mov r5, sp\n\
- adds r1, r5, r2\n\
- ldrb r0, [r1]\n\
- orrs r0, r4\n\
- strb r0, [r1]\n\
- subs r2, 0x1\n\
- lsls r1, r2, 24\n\
- asrs r0, r1, 24\n\
- cmp r0, r3\n\
- bgt _08072380\n\
+ asrs r2, r1, 24\n\
+ mov r5, sp\n\
+ adds r1, r5, r2\n\
+ ldrb r0, [r1]\n\
+ orrs r0, r4\n\
+ strb r0, [r1]\n\
+ subs r2, 0x1\n\
+ lsls r1, r2, 24\n\
+ asrs r0, r1, 24\n\
+ cmp r0, r3\n\
+ bgt _08072380\n\
_08072396:\n\
- mov r1, r8\n\
- ldrb r0, [r1, 0x3]\n\
- cmp r0, 0xFF\n\
- bne _080723A2\n\
- movs r0, 0\n\
- strb r0, [r1, 0x3]\n\
+ mov r1, r8\n\
+ ldrb r0, [r1, 0x3]\n\
+ cmp r0, 0xFF\n\
+ bne _080723A2\n\
+ movs r0, 0\n\
+ strb r0, [r1, 0x3]\n\
_080723A2:\n\
- mov r2, r10\n\
- cmp r2, 0\n\
- bne _08072432\n\
- movs r3, 0\n\
- movs r1, 0\n\
- movs r6, 0xFC\n\
- lsls r6, 8\n\
- movs r5, 0x1E\n\
- mov r12, r5\n\
+ mov r2, r10\n\
+ cmp r2, 0\n\
+ bne _08072432\n\
+ movs r3, 0\n\
+ movs r1, 0\n\
+ movs r6, 0xFC\n\
+ lsls r6, 8\n\
+ movs r5, 0x1E\n\
+ mov r12, r5\n\
_080723B4:\n\
- lsls r1, 24\n\
- asrs r2, r1, 24\n\
- mov r0, sp\n\
- adds r5, r0, r2\n\
- ldrb r0, [r5]\n\
- mov r8, r1\n\
- cmp r0, 0xFF\n\
- bne _080723EA\n\
- lsls r1, r2, 1\n\
- adds r1, r7\n\
- ldrh r2, [r1]\n\
- adds r0, r6, 0\n\
- ands r0, r2\n\
- mov r2, r12\n\
- orrs r0, r2\n\
- strh r0, [r1]\n\
- lsls r3, 24\n\
- asrs r1, r3, 23\n\
- adds r1, r7\n\
- adds r1, 0x40\n\
- ldrh r2, [r1]\n\
- adds r0, r6, 0\n\
- ands r0, r2\n\
- mov r5, r12\n\
- orrs r0, r5\n\
- strh r0, [r1]\n\
- b _0807241A\n\
+ lsls r1, 24\n\
+ asrs r2, r1, 24\n\
+ mov r0, sp\n\
+ adds r5, r0, r2\n\
+ ldrb r0, [r5]\n\
+ mov r8, r1\n\
+ cmp r0, 0xFF\n\
+ bne _080723EA\n\
+ lsls r1, r2, 1\n\
+ adds r1, r7\n\
+ ldrh r2, [r1]\n\
+ adds r0, r6, 0\n\
+ ands r0, r2\n\
+ mov r2, r12\n\
+ orrs r0, r2\n\
+ strh r0, [r1]\n\
+ lsls r3, 24\n\
+ asrs r1, r3, 23\n\
+ adds r1, r7\n\
+ adds r1, 0x40\n\
+ ldrh r2, [r1]\n\
+ adds r0, r6, 0\n\
+ ands r0, r2\n\
+ mov r5, r12\n\
+ orrs r0, r5\n\
+ strh r0, [r1]\n\
+ b _0807241A\n\
_080723EA:\n\
- lsls r2, 1\n\
- adds r2, r7\n\
- ldrh r0, [r2]\n\
- adds r1, r6, 0\n\
- ands r1, r0\n\
- ldrb r0, [r5]\n\
- adds r0, 0x14\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
- lsls r4, r3, 24\n\
- asrs r3, r4, 24\n\
- lsls r2, r3, 1\n\
- adds r2, r7\n\
- adds r2, 0x40\n\
- ldrh r0, [r2]\n\
- adds r1, r6, 0\n\
- ands r1, r0\n\
- mov r5, sp\n\
- adds r0, r5, r3\n\
- ldrb r0, [r0]\n\
- adds r0, 0x34\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
- adds r3, r4, 0\n\
+ lsls r2, 1\n\
+ adds r2, r7\n\
+ ldrh r0, [r2]\n\
+ adds r1, r6, 0\n\
+ ands r1, r0\n\
+ ldrb r0, [r5]\n\
+ adds r0, 0x14\n\
+ orrs r1, r0\n\
+ strh r1, [r2]\n\
+ lsls r4, r3, 24\n\
+ asrs r3, r4, 24\n\
+ lsls r2, r3, 1\n\
+ adds r2, r7\n\
+ adds r2, 0x40\n\
+ ldrh r0, [r2]\n\
+ adds r1, r6, 0\n\
+ ands r1, r0\n\
+ mov r5, sp\n\
+ adds r0, r5, r3\n\
+ ldrb r0, [r0]\n\
+ adds r0, 0x34\n\
+ orrs r1, r0\n\
+ strh r1, [r2]\n\
+ adds r3, r4, 0\n\
_0807241A:\n\
- movs r0, 0x80\n\
- lsls r0, 17\n\
- add r0, r8\n\
- lsrs r1, r0, 24\n\
- movs r2, 0x80\n\
- lsls r2, 17\n\
- adds r0, r3, r2\n\
- lsrs r3, r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0x3\n\
- ble _080723B4\n\
- b _08072496\n\
+ movs r0, 0x80\n\
+ lsls r0, 17\n\
+ add r0, r8\n\
+ lsrs r1, r0, 24\n\
+ movs r2, 0x80\n\
+ lsls r2, 17\n\
+ adds r0, r3, r2\n\
+ lsrs r3, r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0x3\n\
+ ble _080723B4\n\
+ b _08072496\n\
_08072432:\n\
- movs r3, 0\n\
- movs r4, 0xFC\n\
- lsls r4, 8\n\
- movs r6, 0x1E\n\
+ movs r3, 0\n\
+ movs r4, 0xFC\n\
+ lsls r4, 8\n\
+ movs r6, 0x1E\n\
_0807243A:\n\
- lsls r1, r3, 24\n\
- asrs r2, r1, 24\n\
- mov r3, sp\n\
- adds r5, r3, r2\n\
- ldrb r0, [r5]\n\
- adds r3, r1, 0\n\
- cmp r0, 0xFF\n\
- bne _08072466\n\
- lsls r1, r2, 1\n\
- adds r1, r7\n\
- ldrh r2, [r1]\n\
- adds r0, r4, 0\n\
- ands r0, r2\n\
- orrs r0, r6\n\
- strh r0, [r1]\n\
- adds r1, 0x40\n\
- ldrh r2, [r1]\n\
- adds r0, r4, 0\n\
- ands r0, r2\n\
- orrs r0, r6\n\
- strh r0, [r1]\n\
- b _08072488\n\
+ lsls r1, r3, 24\n\
+ asrs r2, r1, 24\n\
+ mov r3, sp\n\
+ adds r5, r3, r2\n\
+ ldrb r0, [r5]\n\
+ adds r3, r1, 0\n\
+ cmp r0, 0xFF\n\
+ bne _08072466\n\
+ lsls r1, r2, 1\n\
+ adds r1, r7\n\
+ ldrh r2, [r1]\n\
+ adds r0, r4, 0\n\
+ ands r0, r2\n\
+ orrs r0, r6\n\
+ strh r0, [r1]\n\
+ adds r1, 0x40\n\
+ ldrh r2, [r1]\n\
+ adds r0, r4, 0\n\
+ ands r0, r2\n\
+ orrs r0, r6\n\
+ strh r0, [r1]\n\
+ b _08072488\n\
_08072466:\n\
- lsls r2, 1\n\
- adds r2, r7\n\
- ldrh r0, [r2]\n\
- adds r1, r4, 0\n\
- ands r1, r0\n\
- ldrb r0, [r5]\n\
- adds r0, 0x14\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
- adds r2, 0x40\n\
- ldrh r0, [r2]\n\
- adds r1, r4, 0\n\
- ands r1, r0\n\
- ldrb r0, [r5]\n\
- adds r0, 0x34\n\
- orrs r1, r0\n\
- strh r1, [r2]\n\
+ lsls r2, 1\n\
+ adds r2, r7\n\
+ ldrh r0, [r2]\n\
+ adds r1, r4, 0\n\
+ ands r1, r0\n\
+ ldrb r0, [r5]\n\
+ adds r0, 0x14\n\
+ orrs r1, r0\n\
+ strh r1, [r2]\n\
+ adds r2, 0x40\n\
+ ldrh r0, [r2]\n\
+ adds r1, r4, 0\n\
+ ands r1, r0\n\
+ ldrb r0, [r5]\n\
+ adds r0, 0x34\n\
+ orrs r1, r0\n\
+ strh r1, [r2]\n\
_08072488:\n\
- movs r5, 0x80\n\
- lsls r5, 17\n\
- adds r0, r3, r5\n\
- lsrs r3, r0, 24\n\
- asrs r0, 24\n\
- cmp r0, 0x3\n\
- ble _0807243A\n\
+ movs r5, 0x80\n\
+ lsls r5, 17\n\
+ adds r0, r3, r5\n\
+ lsrs r3, r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0x3\n\
+ ble _0807243A\n\
_08072496:\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\
+ 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\
.syntax divided");
}
diff --git a/src/battle_intro.c b/src/battle_intro.c
index 0ccc7e828..736e35a87 100644
--- a/src/battle_intro.c
+++ b/src/battle_intro.c
@@ -1,21 +1,728 @@
#include "global.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "battle_main.h"
+#include "battle_setup.h"
+#include "bg.h"
+#include "gpu_regs.h"
+#include "main.h"
+#include "scanline_effect.h"
#include "task.h"
+#include "trig.h"
+#include "constants/trainers.h"
-extern void task_battle_intro_80BC47C(u8);
-extern void task00_battle_intro_80BC6C8(u8);
-extern void task_battle_intro_80BC47C(u8);
-extern void task_battle_intro_anim(u8);
-
-const TaskFunc gUnknown_08597424[] =
-{
- task_battle_intro_80BC47C,
- task_battle_intro_80BC47C,
- task00_battle_intro_80BC6C8,
- task00_battle_intro_80BC6C8,
- task00_battle_intro_80BC6C8,
- task_battle_intro_80BC47C,
- task_battle_intro_80BC47C,
- task_battle_intro_80BC47C,
- task_battle_intro_anim,
- task_battle_intro_anim,
+static EWRAM_DATA u16 sBgCnt = 0;
+
+extern const u8 gUnknown_0859741A[];
+extern const u8 gUnknown_0859741E[];
+
+static void BattleIntroSlide1(u8);
+static void BattleIntroSlide2(u8);
+static void BattleIntroSlide3(u8);
+static void BattleIntroSlideLink(u8);
+static void BattleIntroSlidePartner(u8);
+
+static const TaskFunc sBattleIntroSlideFuncs[] =
+{
+ BattleIntroSlide1, // BATTLE_TERRAIN_GRASS
+ BattleIntroSlide1, // BATTLE_TERRAIN_LONG_GRASS
+ BattleIntroSlide2, // BATTLE_TERRAIN_SAND
+ BattleIntroSlide2, // BATTLE_TERRAIN_UNDERWATER
+ BattleIntroSlide2, // BATTLE_TERRAIN_WATER
+ BattleIntroSlide1, // BATTLE_TERRAIN_POND
+ BattleIntroSlide1, // BATTLE_TERRAIN_MOUNTAIN
+ BattleIntroSlide1, // BATTLE_TERRAIN_CAVE
+ BattleIntroSlide3, // BATTLE_TERRAIN_BUILDING
+ BattleIntroSlide3, // BATTLE_TERRAIN_PLAIN
};
+
+void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value)
+{
+ if (bgId < 4)
+ {
+ sBgCnt = GetGpuReg(gUnknown_0859741A[bgId]);
+ switch (attributeId)
+ {
+ case BG_ANIM_SCREEN_SIZE:
+ ((struct BgCnt *)&sBgCnt)->screenSize = value;
+ break;
+ case BG_ANIM_AREA_OVERFLOW_MODE:
+ ((struct BgCnt *)&sBgCnt)->areaOverflowMode = value;
+ break;
+ case BG_ANIM_MOSAIC:
+ ((struct BgCnt *)&sBgCnt)->mosaic = value;
+ break;
+ case BG_ANIM_CHAR_BASE_BLOCK:
+ ((struct BgCnt *)&sBgCnt)->charBaseBlock = value;
+ break;
+ case BG_ANIM_PRIORITY:
+ ((struct BgCnt *)&sBgCnt)->priority = value;
+ break;
+ case BG_ANIM_PALETTES_MODE:
+ ((struct BgCnt *)&sBgCnt)->palettes = value;
+ break;
+ case BG_ANIM_SCREEN_BASE_BLOCK:
+ ((struct BgCnt *)&sBgCnt)->screenBaseBlock = value;
+ break;
+ }
+
+ SetGpuReg(gUnknown_0859741A[bgId], sBgCnt);
+ }
+}
+
+int GetAnimBgAttribute(u8 bgId, u8 attributeId)
+{
+ u16 bgCnt;
+
+ if (bgId < 4)
+ {
+ bgCnt = GetGpuReg(gUnknown_0859741E[bgId]);
+ switch (attributeId)
+ {
+ case BG_ANIM_SCREEN_SIZE:
+ return ((struct BgCnt *)&bgCnt)->screenSize;
+ case BG_ANIM_AREA_OVERFLOW_MODE:
+ return ((struct BgCnt *)&bgCnt)->areaOverflowMode;
+ case BG_ANIM_MOSAIC:
+ return ((struct BgCnt *)&bgCnt)->mosaic;
+ case BG_ANIM_CHAR_BASE_BLOCK:
+ return ((struct BgCnt *)&bgCnt)->charBaseBlock;
+ case BG_ANIM_PRIORITY:
+ return ((struct BgCnt *)&bgCnt)->priority;
+ case BG_ANIM_PALETTES_MODE:
+ return ((struct BgCnt *)&bgCnt)->palettes;
+ case BG_ANIM_SCREEN_BASE_BLOCK:
+ return ((struct BgCnt *)&bgCnt)->screenBaseBlock;
+ }
+ }
+
+ return 0;
+}
+
+void HandleIntroSlide(u8 terrain)
+{
+ u8 taskId;
+
+ if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) && gPartnerTrainerId != TRAINER_STEVEN_PARTNER)
+ {
+ taskId = CreateTask(BattleIntroSlidePartner, 0);
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ taskId = CreateTask(BattleIntroSlideLink, 0);
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER)
+ {
+ taskId = CreateTask(BattleIntroSlide3, 0);
+ }
+ else if ((gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) && gGameVersion != VERSION_RUBY)
+ {
+ terrain = BATTLE_TERRAIN_UNDERWATER;
+ taskId = CreateTask(BattleIntroSlide2, 0);
+ }
+ else
+ {
+ taskId = CreateTask(sBattleIntroSlideFuncs[terrain], 0);
+ }
+
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = terrain;
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].data[4] = 0;
+ gTasks[taskId].data[5] = 0;
+ gTasks[taskId].data[6] = 0;
+}
+
+void sub_811828C(u8 taskId)
+{
+ DestroyTask(taskId);
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ gBattle_BG2_X = 0;
+ gBattle_BG2_Y = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+}
+
+static void BattleIntroSlide1(u8 taskId)
+{
+ int i;
+
+ gBattle_BG1_X += 6;
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ gTasks[taskId].data[2] = 16;
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ gTasks[taskId].data[2] = 1;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 1:
+ if (--gTasks[taskId].data[2] == 0)
+ {
+ gTasks[taskId].data[0]++;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
+ }
+ break;
+ case 2:
+ gBattle_WIN0V -= 0xFF;
+ if ((gBattle_WIN0V & 0xFF00) == 0x3000)
+ {
+ gTasks[taskId].data[0]++;
+ gTasks[taskId].data[2] = 240;
+ gTasks[taskId].data[3] = 32;
+ gIntroSlideFlags &= ~1;
+ }
+ break;
+ case 3:
+ if (gTasks[taskId].data[3])
+ {
+ gTasks[taskId].data[3]--;
+ }
+ else
+ {
+ if (gTasks[taskId].data[1] == 1)
+ {
+ if (gBattle_BG1_Y != 0xFFB0)
+ gBattle_BG1_Y -= 2;
+ }
+ else
+ {
+ if (gBattle_BG1_Y != 0xFFC8)
+ gBattle_BG1_Y -= 1;
+ }
+ }
+
+ if (gBattle_WIN0V & 0xFF00)
+ gBattle_WIN0V -= 0x3FC;
+
+ if (gTasks[taskId].data[2])
+ gTasks[taskId].data[2] -= 2;
+
+ // Scanline settings have already been set in CB2_InitBattleInternal()
+ for (i = 0; i < 80; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].data[2];
+
+ for (; i < 160; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].data[2];
+
+ if (!gTasks[taskId].data[2])
+ {
+ gScanlineEffect.state = 3;
+ gTasks[taskId].data[0]++;
+ CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE);
+ SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0);
+ SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0);
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256);
+ }
+ break;
+ case 4:
+ sub_811828C(taskId);
+ break;
+ }
+}
+
+static void BattleIntroSlide2(u8 taskId)
+{
+ int i;
+
+ switch (gTasks[taskId].data[1])
+ {
+ case 2:
+ case 4:
+ gBattle_BG1_X += 8;
+ break;
+ case 3:
+ gBattle_BG1_X += 6;
+ break;
+ }
+
+ if (gTasks[taskId].data[1] == 4)
+ {
+ gBattle_BG1_Y = Cos2(gTasks[taskId].data[6]) / 512 - 8;
+ if (gTasks[taskId].data[6] < 180)
+ gTasks[taskId].data[6] += 4;
+ else
+ gTasks[taskId].data[6] += 6;
+
+ if (gTasks[taskId].data[6] == 360)
+ gTasks[taskId].data[6] = 0;
+ }
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ gTasks[taskId].data[4] = 16;
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ gTasks[taskId].data[2] = 16;
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ gTasks[taskId].data[2] = 1;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 1:
+ if (--gTasks[taskId].data[2] == 0)
+ {
+ gTasks[taskId].data[0]++;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
+ }
+ break;
+ case 2:
+ gBattle_WIN0V -= 0xFF;
+ if ((gBattle_WIN0V & 0xFF00) == 0x3000)
+ {
+ gTasks[taskId].data[0]++;
+ gTasks[taskId].data[2] = 240;
+ gTasks[taskId].data[3] = 32;
+ gTasks[taskId].data[5] = 1;
+ gIntroSlideFlags &= ~1;
+ }
+ break;
+ case 3:
+ if (gTasks[taskId].data[3])
+ {
+ if (--gTasks[taskId].data[3] == 0)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(15, 0));
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ }
+ }
+ else
+ {
+ if ((gTasks[taskId].data[4] & 0x1F) && --gTasks[taskId].data[5] == 0)
+ {
+ gTasks[taskId].data[4] += 0xFF;
+ gTasks[taskId].data[5] = 4;
+ }
+ }
+
+ if (gBattle_WIN0V & 0xFF00)
+ gBattle_WIN0V -= 0x3FC;
+
+ if (gTasks[taskId].data[2])
+ gTasks[taskId].data[2] -= 2;
+
+ // Scanline settings have already been set in CB2_InitBattleInternal()
+ for (i = 0; i < 80; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].data[2];
+
+ for (; i < 160; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].data[2];
+
+ if (!gTasks[taskId].data[2])
+ {
+ gScanlineEffect.state = 3;
+ gTasks[taskId].data[0]++;
+ CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE);
+ SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0);
+ SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0);
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256);
+ }
+ break;
+ case 4:
+ sub_811828C(taskId);
+ break;
+ }
+
+ if (gTasks[taskId].data[0] != 4)
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[4], 0));
+}
+
+static void BattleIntroSlide3(u8 taskId)
+{
+ int i;
+
+ gBattle_BG1_X += 8;
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 8));
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ gTasks[taskId].data[4] = BLDALPHA_BLEND(8, 8);
+ if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
+ {
+ gTasks[taskId].data[2] = 16;
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ gTasks[taskId].data[2] = 1;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 1:
+ if (--gTasks[taskId].data[2] == 0)
+ {
+ gTasks[taskId].data[0]++;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
+ }
+ break;
+ case 2:
+ gBattle_WIN0V -= 0xFF;
+ if ((gBattle_WIN0V & 0xFF00) == 0x3000)
+ {
+ gTasks[taskId].data[0]++;
+ gTasks[taskId].data[2] = 240;
+ gTasks[taskId].data[3] = 32;
+ gTasks[taskId].data[5] = 1;
+ gIntroSlideFlags &= ~1;
+ }
+ break;
+ case 3:
+ if (gTasks[taskId].data[3])
+ {
+ gTasks[taskId].data[3]--;
+ }
+ else
+ {
+ if ((gTasks[taskId].data[4] & 0xF) && --gTasks[taskId].data[5] == 0)
+ {
+ gTasks[taskId].data[4] += 0xFF;
+ gTasks[taskId].data[5] = 6;
+ }
+ }
+
+ if (gBattle_WIN0V & 0xFF00)
+ gBattle_WIN0V -= 0x3FC;
+
+ if (gTasks[taskId].data[2])
+ gTasks[taskId].data[2] -= 2;
+
+ // Scanline settings have already been set in CB2_InitBattleInternal()
+ for (i = 0; i < 80; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].data[2];
+
+ for (; i < 160; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].data[2];
+
+ if (!gTasks[taskId].data[2])
+ {
+ gScanlineEffect.state = 3;
+ gTasks[taskId].data[0]++;
+ CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE);
+ SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0);
+ SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0);
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256);
+ }
+ break;
+ case 4:
+ sub_811828C(taskId);
+ break;
+ }
+
+ if (gTasks[taskId].data[0] != 4)
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[4], 0));
+}
+
+static void BattleIntroSlideLink(u8 taskId)
+{
+ int i;
+
+ if (gTasks[taskId].data[0] > 1 && !gTasks[taskId].data[4])
+ {
+ u16 var0 = gBattle_BG1_X & 0x8000;
+ if (var0 || gBattle_BG1_X < 80)
+ {
+ gBattle_BG1_X += 3;
+ gBattle_BG2_X -= 3;
+ }
+ else
+ {
+ CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE);
+ CpuFill32(0, (void *)BG_SCREEN_ADDR(30), BG_SCREEN_SIZE);
+ gTasks[taskId].data[4] = 1;
+ }
+ }
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ gTasks[taskId].data[2] = 32;
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (--gTasks[taskId].data[2] == 0)
+ {
+ gTasks[taskId].data[0]++;
+ gSprites[gBattleStruct->field_7D].oam.objMode = ST_OAM_OBJ_WINDOW;
+ gSprites[gBattleStruct->field_7D].callback = sub_8038B74;
+ gSprites[gBattleStruct->field_7E].oam.objMode = ST_OAM_OBJ_WINDOW;
+ gSprites[gBattleStruct->field_7E].callback = sub_8038B74;
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2);
+ }
+ break;
+ case 2:
+ gBattle_WIN0V -= 0xFF;
+ if ((gBattle_WIN0V & 0xFF00) == 0x3000)
+ {
+ gTasks[taskId].data[0]++;
+ gTasks[taskId].data[2] = 240;
+ gTasks[taskId].data[3] = 32;
+ gIntroSlideFlags &= ~1;
+ }
+ break;
+ case 3:
+ if (gBattle_WIN0V & 0xFF00)
+ gBattle_WIN0V -= 0x3FC;
+
+ if (gTasks[taskId].data[2])
+ gTasks[taskId].data[2] -= 2;
+
+ // Scanline settings have already been set in CB2_InitBattleInternal()
+ for (i = 0; i < 80; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].data[2];
+
+ for (; i < 160; i++)
+ gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].data[2];
+
+ if (!gTasks[taskId].data[2])
+ {
+ gScanlineEffect.state = 3;
+ gTasks[taskId].data[0]++;
+ SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0);
+ SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0);
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256);
+ }
+ break;
+ case 4:
+ sub_811828C(taskId);
+ break;
+ }
+}
+
+static void BattleIntroSlidePartner(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ gTasks[taskId].data[2] = 1;
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (--gTasks[taskId].data[2] == 0)
+ {
+ gTasks[taskId].data[0]++;
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(2) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT512x256);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(2) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256);
+ SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON | DISPCNT_OBJWIN_ON);
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN1_BG1 | WININ_WIN1_BG2 | WININ_WIN1_BG3 | WININ_WIN1_OBJ | WININ_WIN1_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR);
+ gBattle_BG0_Y = -48;
+ gBattle_BG1_X = 240;
+ gBattle_BG2_X = -240;
+ }
+ break;
+ case 2:
+ gBattle_WIN0V += 0x100;
+ if ((gBattle_WIN0V & 0xFF00) != 0x100)
+ gBattle_WIN0V--;
+
+ if ((gBattle_WIN0V & 0xFF00) == 0x2000)
+ {
+ gTasks[taskId].data[0]++;
+ gTasks[taskId].data[2] = 240;
+ gIntroSlideFlags &= ~1;
+ }
+ break;
+ case 3:
+ if ((gBattle_WIN0V & 0xFF00) != 0x4C00)
+ gBattle_WIN0V += 0x3FC;
+
+ if (gTasks[taskId].data[2])
+ gTasks[taskId].data[2] -= 2;
+
+ gBattle_BG1_X = gTasks[taskId].data[2];
+ gBattle_BG2_X = -gTasks[taskId].data[2];
+ if (!gTasks[taskId].data[2])
+ gTasks[taskId].data[0]++;
+ break;
+ case 4:
+ gBattle_BG0_Y += 2;
+ gBattle_BG2_Y += 2;
+ if ((gBattle_WIN0V & 0xFF00) != 0x5000)
+ gBattle_WIN0V += 0xFF;
+
+ if (!gBattle_BG0_Y)
+ {
+ CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE * 4);
+ SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) & ~DISPCNT_WIN1_ON);
+ SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0);
+ SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0);
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256);
+ gScanlineEffect.state = 3;
+ gTasks[taskId].data[0]++;
+ }
+ break;
+ case 5:
+ sub_811828C(taskId);
+ break;
+ }
+}
+
+void sub_8118FBC(int bgId, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, u8 *arg5, u16 *arg6, u16 tilesOffset)
+{
+ int i, j;
+ u8 battler = GetBattlerAtPosition(battlerPosition);
+ int offset = tilesOffset;
+ CpuCopy16(gMonSpritesGfxPtr->sprites[battlerPosition] + BG_SCREEN_SIZE * gBattleMonForms[battler], arg5, BG_SCREEN_SIZE);
+ LoadBgTiles(bgId, arg5, 0x1000, tilesOffset);
+ for (i = arg2; i < arg2 + 8; i++)
+ {
+ for (j = arg1; j < arg1 + 8; j++)
+ {
+ arg6[i * 32 + j] = offset | (arg4 << 12);
+ offset++;
+ }
+ }
+
+ LoadBgTilemap(bgId, arg6, BG_SCREEN_SIZE, 0);
+}
+
+#ifdef NONMATCHING
+void unref_sub_8119094(u8 arg0, u8 arg1, u8 battlerPosition, u8 arg3, u8 arg4, u16 arg5, u8 arg6, u8 arg7)
+{
+ int i, j;
+ int offset;
+ DmaCopy16(3, gMonSpritesGfxPtr->sprites[battlerPosition] + BG_SCREEN_SIZE * arg3, (void *)BG_SCREEN_ADDR(0) + arg5, BG_SCREEN_SIZE);
+ offset = (arg5 >> 5) - (arg7 << 9);
+ for (i = arg1; i < arg1 + 8; i++)
+ {
+ for (j = arg0; j < arg0 + 8; j++)
+ {
+ ((u16 *)BG_VRAM)[i * 32 + j + (arg6 * 0x400) + arg0] = offset | (arg4 << 12);
+ offset++;
+ }
+ }
+}
+#else
+NAKED
+void unref_sub_8119094(u8 arg0, u8 arg1, u8 battlerPosition, u8 arg3, u8 arg4, u16 arg5, u8 arg6, u8 arg7)
+{
+ asm_unified("\n\
+ 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\
+ ldr r4, [sp, 0x24]\n\
+ ldr r5, [sp, 0x28]\n\
+ mov r8, r5\n\
+ ldr r5, [sp, 0x2C]\n\
+ ldr r6, [sp, 0x30]\n\
+ mov r9, r6\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r12, r0\n\
+ lsls r1, 24\n\
+ lsls r2, 24\n\
+ lsls r3, 24\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ mov r10, r4\n\
+ mov r7, r8\n\
+ lsls r7, 16\n\
+ lsrs r6, r7, 16\n\
+ lsls r5, 24\n\
+ lsrs r5, 24\n\
+ mov r0, r9\n\
+ lsls r0, 24\n\
+ mov r9, r0\n\
+ ldr r4, =0x040000d4\n\
+ ldr r0, =gMonSpritesGfxPtr\n\
+ ldr r0, [r0]\n\
+ lsrs r2, 22\n\
+ adds r0, 0x4\n\
+ adds r0, r2\n\
+ lsrs r3, 13\n\
+ ldr r0, [r0]\n\
+ adds r0, r3\n\
+ str r0, [r4]\n\
+ movs r0, 0xC0\n\
+ lsls r0, 19\n\
+ adds r6, r0\n\
+ str r6, [r4, 0x4]\n\
+ ldr r0, =0x80000400\n\
+ str r0, [r4, 0x8]\n\
+ ldr r0, [r4, 0x8]\n\
+ adds r2, r7, 0\n\
+ lsrs r2, 21\n\
+ mov r6, r9\n\
+ lsrs r6, 15\n\
+ subs r4, r2, r6\n\
+ lsrs r0, r1, 24\n\
+ adds r1, r0, 0\n\
+ adds r1, 0x8\n\
+ cmp r0, r1\n\
+ bge _08119148\n\
+ mov r9, r1\n\
+ mov r7, r12\n\
+ lsls r7, 1\n\
+ mov r8, r7\n\
+ lsls r5, 11\n\
+ str r5, [sp]\n\
+_08119110:\n\
+ mov r2, r12\n\
+ adds r3, r2, 0\n\
+ adds r3, 0x8\n\
+ adds r5, r0, 0x1\n\
+ cmp r2, r3\n\
+ bge _08119142\n\
+ mov r1, r10\n\
+ lsls r6, r1, 12\n\
+ lsls r0, 6\n\
+ movs r7, 0xC0\n\
+ lsls r7, 19\n\
+ adds r0, r7\n\
+ ldr r1, [sp]\n\
+ adds r0, r1, r0\n\
+ mov r7, r8\n\
+ adds r1, r7, r0\n\
+ subs r2, r3, r2\n\
+_08119132:\n\
+ adds r0, r4, 0\n\
+ orrs r0, r6\n\
+ strh r0, [r1]\n\
+ adds r4, 0x1\n\
+ adds r1, 0x2\n\
+ subs r2, 0x1\n\
+ cmp r2, 0\n\
+ bne _08119132\n\
+_08119142:\n\
+ adds r0, r5, 0\n\
+ cmp r0, r9\n\
+ blt _08119110\n\
+_08119148:\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
diff --git a/src/battle_main.c b/src/battle_main.c
index 8bdd2220b..fb2e5105a 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -23,7 +23,7 @@
#include "link_rfu.h"
#include "load_save.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "m4a.h"
#include "palette.h"
#include "party_menu.h"
@@ -81,7 +81,7 @@ extern const u8 *const gBattlescriptsForBallThrow[];
extern const u8 *const gBattlescriptsForRunningByItem[];
extern const u8 *const gBattlescriptsForUsingItem[];
extern const u8 *const gBattlescriptsForSafariActions[];
-extern const struct ScanlineEffectParams gUnknown_0831AC70;
+extern const struct ScanlineEffectParams gBattleIntroSlideScanlineEffectParams;
// strings
extern const u8 gText_LinkStandby3[];
@@ -451,10 +451,10 @@ const struct TrainerMoney gTrainerMoneyTable[] =
{TRAINER_CLASS_AROMA_LADY, 10},
{TRAINER_CLASS_RUIN_MANIAC, 15},
{TRAINER_CLASS_INTERVIEWER, 12},
- {TRAINER_CLASS_TUBER_1, 1},
- {TRAINER_CLASS_TUBER_2, 1},
+ {TRAINER_CLASS_TUBER_F, 1},
+ {TRAINER_CLASS_TUBER_M, 1},
{TRAINER_CLASS_SIS_AND_BRO, 3},
- {TRAINER_CLASS_COOLTRAINER_1, 12},
+ {TRAINER_CLASS_COOLTRAINER, 12},
{TRAINER_CLASS_HEX_MANIAC, 6},
{TRAINER_CLASS_LADY, 50},
{TRAINER_CLASS_BEAUTY, 20},
@@ -507,35 +507,35 @@ const struct TrainerMoney gTrainerMoneyTable[] =
static void (* const sTurnActionsFuncsTable[])(void) =
{
- HandleAction_UseMove, // B_ACTION_USE_MOVE
- HandleAction_UseItem, // B_ACTION_USE_ITEM
- HandleAction_Switch, // B_ACTION_SWITCH
- HandleAction_Run, // B_ACTION_RUN
- HandleAction_WatchesCarefully, // B_ACTION_SAFARI_WATCH_CAREFULLY
- HandleAction_SafariZoneBallThrow, // B_ACTION_SAFARI_BALL
- HandleAction_ThrowPokeblock, // B_ACTION_SAFARI_POKEBLOCK
- HandleAction_GoNear, // B_ACTION_SAFARI_GO_NEAR
- HandleAction_SafariZoneRun, // B_ACTION_SAFARI_RUN
- HandleAction_WallyBallThrow, // B_ACTION_WALLY_THROW
- HandleAction_RunBattleScript, // B_ACTION_EXEC_SCRIPT
- HandleAction_Action11, // not sure about this one
- HandleAction_ActionFinished, // B_ACTION_FINISHED
- HandleAction_NothingIsFainted, // B_ACTION_NOTHING_FAINTED
+ [B_ACTION_USE_MOVE] = HandleAction_UseMove,
+ [B_ACTION_USE_ITEM] = HandleAction_UseItem,
+ [B_ACTION_SWITCH] = HandleAction_Switch,
+ [B_ACTION_RUN] = HandleAction_Run,
+ [B_ACTION_SAFARI_WATCH_CAREFULLY] = HandleAction_WatchesCarefully,
+ [B_ACTION_SAFARI_BALL] = HandleAction_SafariZoneBallThrow,
+ [B_ACTION_SAFARI_POKEBLOCK] = HandleAction_ThrowPokeblock,
+ [B_ACTION_SAFARI_GO_NEAR] = HandleAction_GoNear,
+ [B_ACTION_SAFARI_RUN] = HandleAction_SafariZoneRun,
+ [B_ACTION_WALLY_THROW] = HandleAction_WallyBallThrow,
+ [B_ACTION_EXEC_SCRIPT] = HandleAction_RunBattleScript,
+ [11] = HandleAction_Action11, // not sure about this one
+ [B_ACTION_FINISHED] = HandleAction_ActionFinished,
+ [B_ACTION_NOTHING_FAINTED] = HandleAction_NothingIsFainted,
};
static void (* const sEndTurnFuncsTable[])(void) =
{
- HandleEndTurn_ContinueBattle, // battle outcome 0
- HandleEndTurn_BattleWon, // B_OUTCOME_WON
- HandleEndTurn_BattleLost, // B_OUTCOME_LOST
- HandleEndTurn_BattleLost, // B_OUTCOME_DREW
- HandleEndTurn_RanFromBattle, // B_OUTCOME_RAN
- HandleEndTurn_FinishBattle, // B_OUTCOME_PLAYER_TELEPORTED
- HandleEndTurn_MonFled, // B_OUTCOME_MON_FLED
- HandleEndTurn_FinishBattle, // B_OUTCOME_CAUGHT
- HandleEndTurn_FinishBattle, // B_OUTCOME_NO_SAFARI_BALLS
- HandleEndTurn_FinishBattle, // B_OUTCOME_FORFEITED
- HandleEndTurn_FinishBattle, // B_OUTCOME_MON_TELEPORTED
+ [0] = HandleEndTurn_ContinueBattle, //B_OUTCOME_NONE?
+ [B_OUTCOME_WON] = HandleEndTurn_BattleWon,
+ [B_OUTCOME_LOST] = HandleEndTurn_BattleLost,
+ [B_OUTCOME_DREW] = HandleEndTurn_BattleLost,
+ [B_OUTCOME_RAN] = HandleEndTurn_RanFromBattle,
+ [B_OUTCOME_PLAYER_TELEPORTED] = HandleEndTurn_FinishBattle,
+ [B_OUTCOME_MON_FLED] = HandleEndTurn_MonFled,
+ [B_OUTCOME_CAUGHT] = HandleEndTurn_FinishBattle,
+ [B_OUTCOME_NO_SAFARI_BALLS] = HandleEndTurn_FinishBattle,
+ [B_OUTCOME_FORFEITED] = HandleEndTurn_FinishBattle,
+ [B_OUTCOME_MON_TELEPORTED] = HandleEndTurn_FinishBattle,
};
const u8 gStatusConditionString_PoisonJpn[8] = _("どく$$$$$");
@@ -633,7 +633,7 @@ static void CB2_InitBattleInternal(void)
gScanlineEffectRegBuffers[1][i] = 0xFF10;
}
- ScanlineEffect_SetParams(gUnknown_0831AC70);
+ ScanlineEffect_SetParams(gBattleIntroSlideScanlineEffectParams);
}
ResetPaletteFade();
@@ -3071,7 +3071,7 @@ static void BattleStartClearSetData(void)
*(gBattleStruct->AI_monToSwitchIntoId + i) = PARTY_SIZE;
}
- gBattleStruct->field_DF = 0;
+ gBattleStruct->givenExpMons = 0;
gBattleStruct->field_92 = 0;
gRandomTurnNumber = Random();
@@ -3192,7 +3192,7 @@ void SwitchInClearSetData(void)
gBattleResources->flags->flags[gActiveBattler] = 0;
gCurrentMove = 0;
- gBattleStruct->field_DA = 0xFF;
+ gBattleStruct->arenaTurnCounter = 0xFF;
ClearBattlerMoveHistory(gActiveBattler);
ClearBattlerAbilityHistory(gActiveBattler);
@@ -3610,85 +3610,85 @@ NAKED
static void BattleIntroOpponent1SendsOutMonAnimation(void)
{
asm(".syntax unified\n\
- push {r4-r6,lr}\n\
- ldr r0, =gBattleTypeFlags\n\
- ldr r2, [r0]\n\
- movs r0, 0x80\n\
- lsls r0, 17\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _0803B298\n\
- movs r0, 0x80\n\
- lsls r0, 18\n\
- ands r0, r2\n\
- cmp r0, 0\n\
- beq _0803B298\n\
- movs r1, 0x80\n\
- lsls r1, 24\n\
- ands r1, r2\n\
- negs r0, r1\n\
- orrs r0, r1\n\
- lsrs r5, r0, 31\n\
- b _0803B29A\n\
- .pool\n\
+ push {r4-r6,lr}\n\
+ ldr r0, =gBattleTypeFlags\n\
+ ldr r2, [r0]\n\
+ movs r0, 0x80\n\
+ lsls r0, 17\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _0803B298\n\
+ movs r0, 0x80\n\
+ lsls r0, 18\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _0803B298\n\
+ movs r1, 0x80\n\
+ lsls r1, 24\n\
+ ands r1, r2\n\
+ negs r0, r1\n\
+ orrs r0, r1\n\
+ lsrs r5, r0, 31\n\
+ b _0803B29A\n\
+ .pool\n\
_0803B288:\n\
- ldr r1, =gBattleMainFunc\n\
- ldr r0, =BattleIntroOpponent2SendsOutMonAnimation\n\
- b _0803B2F0\n\
- .pool\n\
+ ldr r1, =gBattleMainFunc\n\
+ ldr r0, =BattleIntroOpponent2SendsOutMonAnimation\n\
+ b _0803B2F0\n\
+ .pool\n\
_0803B298:\n\
- movs r5, 0x1\n\
+ movs r5, 0x1\n\
_0803B29A:\n\
- ldr r0, =gBattleControllerExecFlags\n\
- ldr r2, [r0]\n\
- cmp r2, 0\n\
- bne _0803B2F2\n\
- ldr r0, =gActiveBattler\n\
- strb r2, [r0]\n\
- ldr r1, =gBattlersCount\n\
- adds r4, r0, 0\n\
- ldrb r1, [r1]\n\
- cmp r2, r1\n\
- bcs _0803B2EC\n\
- adds r6, r4, 0\n\
+ ldr r0, =gBattleControllerExecFlags\n\
+ ldr r2, [r0]\n\
+ cmp r2, 0\n\
+ bne _0803B2F2\n\
+ ldr r0, =gActiveBattler\n\
+ strb r2, [r0]\n\
+ ldr r1, =gBattlersCount\n\
+ adds r4, r0, 0\n\
+ ldrb r1, [r1]\n\
+ cmp r2, r1\n\
+ bcs _0803B2EC\n\
+ adds r6, r4, 0\n\
_0803B2B2:\n\
- ldrb r0, [r4]\n\
- bl GetBattlerPosition\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, r5\n\
- bne _0803B2D8\n\
- movs r0, 0\n\
- bl BtlController_EmitIntroTrainerBallThrow\n\
- ldrb r0, [r4]\n\
- bl MarkBattlerForControllerExec\n\
- ldr r0, =gBattleTypeFlags\n\
- ldr r0, [r0]\n\
- ldr r1, =0x00008040\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0803B288\n\
+ ldrb r0, [r4]\n\
+ bl GetBattlerPosition\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, r5\n\
+ bne _0803B2D8\n\
+ movs r0, 0\n\
+ bl BtlController_EmitIntroTrainerBallThrow\n\
+ ldrb r0, [r4]\n\
+ bl MarkBattlerForControllerExec\n\
+ ldr r0, =gBattleTypeFlags\n\
+ ldr r0, [r0]\n\
+ ldr r1, =0x00008040\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0803B288\n\
_0803B2D8:\n\
- ldrb r0, [r6]\n\
- adds r0, 0x1\n\
- strb r0, [r6]\n\
- ldr r1, =gBattlersCount\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- ldr r4, =gActiveBattler\n\
- ldrb r1, [r1]\n\
- cmp r0, r1\n\
- bcc _0803B2B2\n\
+ ldrb r0, [r6]\n\
+ adds r0, 0x1\n\
+ strb r0, [r6]\n\
+ ldr r1, =gBattlersCount\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ ldr r4, =gActiveBattler\n\
+ ldrb r1, [r1]\n\
+ cmp r0, r1\n\
+ bcc _0803B2B2\n\
_0803B2EC:\n\
- ldr r1, =gBattleMainFunc\n\
- ldr r0, =BattleIntroRecordMonsToDex\n\
+ ldr r1, =gBattleMainFunc\n\
+ ldr r0, =BattleIntroRecordMonsToDex\n\
_0803B2F0:\n\
- str r0, [r1]\n\
+ str r0, [r1]\n\
_0803B2F2:\n\
- pop {r4-r6}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n\
.syntax divided");
}
#endif // NONMATCHING
@@ -3994,7 +3994,7 @@ void BattleTurnPassed(void)
if (gBattleResults.battleTurnCounter < 0xFF)
{
gBattleResults.battleTurnCounter++;
- gBattleStruct->field_DA++;
+ gBattleStruct->arenaTurnCounter++;
}
for (i = 0; i < gBattlersCount; i++)
@@ -4013,7 +4013,7 @@ void BattleTurnPassed(void)
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
BattleScriptExecute(BattleScript_82DB881);
- else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->field_DA == 0)
+ else if (gBattleTypeFlags & BATTLE_TYPE_ARENA && gBattleStruct->arenaTurnCounter == 0)
BattleScriptExecute(BattleScript_ArenaTurnBeginning);
}
@@ -4591,10 +4591,10 @@ static void sub_803CDF8(void)
void SwapTurnOrder(u8 id1, u8 id2)
{
- u32 temp;
+ u32 temp;
- SWAP(gActionsByTurnOrder[id1], gActionsByTurnOrder[id2], temp);
- SWAP(gBattlerByTurnOrder[id1], gBattlerByTurnOrder[id2], temp);
+ SWAP(gActionsByTurnOrder[id1], gActionsByTurnOrder[id2], temp);
+ SWAP(gBattlerByTurnOrder[id1], gBattlerByTurnOrder[id2], temp);
}
u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves)
@@ -5594,7 +5594,7 @@ bool8 TryRunFromBattle(u8 battler)
if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN)
{
- gLastUsedItem = gBattleMons[battler].item ;
+ gLastUsedItem = gBattleMons[battler].item;
gProtectStructs[battler].fleeFlag = 1;
effect++;
}
diff --git a/src/battle_message.c b/src/battle_message.c
index 47c4cbe1d..75f9b1da8 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -71,58 +71,58 @@ static const u8 sText_ABoosted[] = _(" a boosted");
static const u8 sText_PkmnGrewToLv[] = _("{B_BUFF1} grew to\nLV. {B_BUFF2}!{UNKNOWN_A}\p");
static const u8 sText_PkmnLearnedMove[] = _("{B_BUFF1} learned\n{B_BUFF2}!{UNKNOWN_A}\p");
static const u8 sText_TryToLearnMove1[] = _("{B_BUFF1} is trying to\nlearn {B_BUFF2}.\p");
-static const u8 sText_TryToLearnMove2[] = _("But, {B_BUFF1} can’t learn\nmore than four moves.\p");
+static const u8 sText_TryToLearnMove2[] = _("But, {B_BUFF1} can't learn\nmore than four moves.\p");
static const u8 sText_TryToLearnMove3[] = _("Delete a move to make\nroom for {B_BUFF2}?");
static const u8 sText_PkmnForgotMove[] = _("{B_BUFF1} forgot\n{B_BUFF2}.\p");
static const u8 sText_StopLearningMove[] = _("{PAUSE 32}Stop learning\n{B_BUFF2}?");
static const u8 sText_DidNotLearnMove[] = _("{B_BUFF1} did not learn\n{B_BUFF2}.\p");
static const u8 sText_UseNextPkmn[] = _("Use next POKéMON?");
-static const u8 sText_AttackMissed[] = _("{B_ATK_NAME_WITH_PREFIX}’s\nattack missed!");
+static const u8 sText_AttackMissed[] = _("{B_ATK_NAME_WITH_PREFIX}'s\nattack missed!");
static const u8 sText_PkmnProtectedItself[] = _("{B_DEF_NAME_WITH_PREFIX}\nprotected itself!");
static const u8 sText_AvoidedDamage[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\ndamage with {B_DEF_ABILITY}!");
static const u8 sText_PkmnMakesGroundMiss[] = _("{B_DEF_NAME_WITH_PREFIX} makes GROUND\nmoves miss with {B_DEF_ABILITY}!");
static const u8 sText_PkmnAvoidedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\nthe attack!");
-static const u8 sText_ItDoesntAffect[] = _("It doesn’t affect\n{B_DEF_NAME_WITH_PREFIX}…");
+static const u8 sText_ItDoesntAffect[] = _("It doesn't affect\n{B_DEF_NAME_WITH_PREFIX}…");
static const u8 sText_AttackerFainted[] = _("{B_ATK_NAME_WITH_PREFIX}\nfainted!\p");
static const u8 sText_TargetFainted[] = _("{B_DEF_NAME_WITH_PREFIX}\nfainted!\p");
static const u8 sText_PlayerGotMoney[] = _("{B_PLAYER_NAME} got ¥{B_BUFF1}\nfor winning!\p");
static const u8 sText_PlayerWhiteout[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\p");
static const u8 sText_PlayerWhiteout2[] = _("{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}");
static const u8 sText_PreventsEscape[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} prevents\nescape with {B_SCR_ACTIVE_ABILITY}!\p");
-static const u8 sText_CantEscape2[] = _("Can’t escape!\p");
-static const u8 sText_AttackerCantEscape[] = _("{B_ATK_NAME_WITH_PREFIX} can’t escape!");
+static const u8 sText_CantEscape2[] = _("Can't escape!\p");
+static const u8 sText_AttackerCantEscape[] = _("{B_ATK_NAME_WITH_PREFIX} can't escape!");
static const u8 sText_HitXTimes[] = _("Hit {B_BUFF1} time(s)!");
static const u8 sText_PkmnFellAsleep[] = _("{B_EFF_NAME_WITH_PREFIX}\nfell asleep!");
-static const u8 sText_PkmnMadeSleep[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nmade {B_EFF_NAME_WITH_PREFIX} sleep!");
+static const u8 sText_PkmnMadeSleep[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade {B_EFF_NAME_WITH_PREFIX} sleep!");
static const u8 sText_PkmnAlreadyAsleep[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready asleep!");
static const u8 sText_PkmnAlreadyAsleep2[] = _("{B_ATK_NAME_WITH_PREFIX} is\nalready asleep!");
-static const u8 sText_PkmnWasntAffected[] = _("{B_DEF_NAME_WITH_PREFIX}\nwasn’t affected!");
+static const u8 sText_PkmnWasntAffected[] = _("{B_DEF_NAME_WITH_PREFIX}\nwasn't affected!");
static const u8 sText_PkmnWasPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX}\nwas poisoned!");
-static const u8 sText_PkmnPoisonedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\npoisoned {B_EFF_NAME_WITH_PREFIX}!");
+static const u8 sText_PkmnPoisonedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\npoisoned {B_EFF_NAME_WITH_PREFIX}!");
static const u8 sText_PkmnHurtByPoison[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby poison!");
static const u8 sText_PkmnAlreadyPoisoned[] = _("{B_DEF_NAME_WITH_PREFIX} is already\npoisoned.");
static const u8 sText_PkmnBadlyPoisoned[] = _("{B_EFF_NAME_WITH_PREFIX} is badly\npoisoned!");
static const u8 sText_PkmnEnergyDrained[] = _("{B_DEF_NAME_WITH_PREFIX} had its\nenergy drained!");
static const u8 sText_PkmnWasBurned[] = _("{B_EFF_NAME_WITH_PREFIX} was burned!");
-static const u8 sText_PkmnBurnedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nburned {B_EFF_NAME_WITH_PREFIX}!");
+static const u8 sText_PkmnBurnedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nburned {B_EFF_NAME_WITH_PREFIX}!");
static const u8 sText_PkmnHurtByBurn[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby its burn!");
static const u8 sText_PkmnAlreadyHasBurn[] = _("{B_DEF_NAME_WITH_PREFIX} already\nhas a burn.");
static const u8 sText_PkmnWasFrozen[] = _("{B_EFF_NAME_WITH_PREFIX} was\nfrozen solid!");
-static const u8 sText_PkmnFrozenBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nfroze {B_EFF_NAME_WITH_PREFIX} solid!");
+static const u8 sText_PkmnFrozenBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nfroze {B_EFF_NAME_WITH_PREFIX} solid!");
static const u8 sText_PkmnIsFrozen[] = _("{B_ATK_NAME_WITH_PREFIX} is\nfrozen solid!");
static const u8 sText_PkmnWasDefrosted[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndefrosted!");
static const u8 sText_PkmnWasDefrosted2[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted!");
static const u8 sText_PkmnWasDefrostedBy[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted by {B_CURRENT_MOVE}!");
static const u8 sText_PkmnWasParalyzed[] = _("{B_EFF_NAME_WITH_PREFIX} is paralyzed!\nIt may be unable to move!");
-static const u8 sText_PkmnWasParalyzedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nparalyzed {B_EFF_NAME_WITH_PREFIX}!\lIt may be unable to move!");
-static const u8 sText_PkmnIsParalyzed[] = _("{B_ATK_NAME_WITH_PREFIX} is paralyzed!\nIt can’t move!");
+static const u8 sText_PkmnWasParalyzedBy[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nparalyzed {B_EFF_NAME_WITH_PREFIX}!\lIt may be unable to move!");
+static const u8 sText_PkmnIsParalyzed[] = _("{B_ATK_NAME_WITH_PREFIX} is paralyzed!\nIt can't move!");
static const u8 sText_PkmnIsAlreadyParalyzed[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready paralyzed!");
static const u8 sText_PkmnHealedParalysis[] = _("{B_DEF_NAME_WITH_PREFIX} was\nhealed of paralysis!");
-static const u8 sText_PkmnDreamEaten[] = _("{B_DEF_NAME_WITH_PREFIX}’s\ndream was eaten!");
-static const u8 sText_StatsWontIncrease[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_BUFF1}\nwon’t go higher!");
-static const u8 sText_StatsWontDecrease[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}\nwon’t go lower!");
-static const u8 sText_TeamStoppedWorking[] = _("Your team’s {B_BUFF1}\nstopped working!");
-static const u8 sText_FoeStoppedWorking[] = _("The foe’s {B_BUFF1}\nstopped working!");
+static const u8 sText_PkmnDreamEaten[] = _("{B_DEF_NAME_WITH_PREFIX}'s\ndream was eaten!");
+static const u8 sText_StatsWontIncrease[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go higher!");
+static const u8 sText_StatsWontDecrease[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go lower!");
+static const u8 sText_TeamStoppedWorking[] = _("Your team's {B_BUFF1}\nstopped working!");
+static const u8 sText_FoeStoppedWorking[] = _("The foe's {B_BUFF1}\nstopped working!");
static const u8 sText_PkmnIsConfused[] = _("{B_ATK_NAME_WITH_PREFIX} is\nconfused!");
static const u8 sText_PkmnHealedConfusion[] = _("{B_ATK_NAME_WITH_PREFIX} snapped\nout of confusion!");
static const u8 sText_PkmnWasConfused[] = _("{B_EFF_NAME_WITH_PREFIX} became\nconfused!");
@@ -134,14 +134,14 @@ static const u8 sText_PkmnBlownAway[] = _("{B_DEF_NAME_WITH_PREFIX} was\nblown a
static const u8 sText_PkmnChangedType[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto the {B_BUFF1} type!");
static const u8 sText_PkmnFlinched[] = _("{B_ATK_NAME_WITH_PREFIX} flinched!");
static const u8 sText_PkmnRegainedHealth[] = _("{B_DEF_NAME_WITH_PREFIX} regained\nhealth!");
-static const u8 sText_PkmnHPFull[] = _("{B_DEF_NAME_WITH_PREFIX}’s\nHP is full!");
-static const u8 sText_PkmnRaisedSpDef[] = _("{B_ATK_PREFIX2}’s {B_CURRENT_MOVE}\nraised SP. DEF!");
-static const u8 sText_PkmnRaisedSpDefALittle[] = _("{B_ATK_PREFIX2}’s {B_CURRENT_MOVE}\nraised SP. DEF a little!");
-static const u8 sText_PkmnRaisedDef[] = _("{B_ATK_PREFIX2}’s {B_CURRENT_MOVE}\nraised DEFENSE!");
-static const u8 sText_PkmnRaisedDefALittle[] = _("{B_ATK_PREFIX2}’s {B_CURRENT_MOVE}\nraised DEFENSE a little!");
-static const u8 sText_PkmnCoveredByVeil[] = _("{B_ATK_PREFIX2}’s party is covered\nby a veil!");
-static const u8 sText_PkmnUsedSafeguard[] = _("{B_DEF_NAME_WITH_PREFIX}’s party is protected\nby SAFEGUARD!");
-static const u8 sText_PkmnSafeguardExpired[] = _("{B_ATK_PREFIX3}’s party is no longer\nprotected by SAFEGUARD!");
+static const u8 sText_PkmnHPFull[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nHP is full!");
+static const u8 sText_PkmnRaisedSpDef[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF!");
+static const u8 sText_PkmnRaisedSpDefALittle[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF a little!");
+static const u8 sText_PkmnRaisedDef[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE!");
+static const u8 sText_PkmnRaisedDefALittle[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE a little!");
+static const u8 sText_PkmnCoveredByVeil[] = _("{B_ATK_PREFIX2}'s party is covered\nby a veil!");
+static const u8 sText_PkmnUsedSafeguard[] = _("{B_DEF_NAME_WITH_PREFIX}'s party is protected\nby SAFEGUARD!");
+static const u8 sText_PkmnSafeguardExpired[] = _("{B_ATK_PREFIX3}'s party is no longer\nprotected by SAFEGUARD!");
static const u8 sText_PkmnWentToSleep[] = _("{B_ATK_NAME_WITH_PREFIX} went\nto sleep!");
static const u8 sText_PkmnSleptHealthy[] = _("{B_ATK_NAME_WITH_PREFIX} slept and\nbecame healthy!");
static const u8 sText_PkmnWhippedWhirlwind[] = _("{B_ATK_NAME_WITH_PREFIX} whipped\nup a whirlwind!");
@@ -152,7 +152,7 @@ static const u8 sText_PkmnFlewHigh[] = _("{B_ATK_NAME_WITH_PREFIX} flew\nup high
static const u8 sText_PkmnDugHole[] = _("{B_ATK_NAME_WITH_PREFIX} dug a hole!");
static const u8 sText_PkmnHidUnderwater[] = _("{B_ATK_NAME_WITH_PREFIX} hid\nunderwater!");
static const u8 sText_PkmnSprangUp[] = _("{B_ATK_NAME_WITH_PREFIX} sprang up!");
-static const u8 sText_PkmnSqueezedByBind[] = _("{B_DEF_NAME_WITH_PREFIX} was squeezed by\n{B_ATK_NAME_WITH_PREFIX}’s BIND!");
+static const u8 sText_PkmnSqueezedByBind[] = _("{B_DEF_NAME_WITH_PREFIX} was squeezed by\n{B_ATK_NAME_WITH_PREFIX}'s BIND!");
static const u8 sText_PkmnTrappedInVortex[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nin the vortex!");
static const u8 sText_PkmnTrappedBySandTomb[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nby SAND TOMB!");
static const u8 sText_PkmnWrappedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was WRAPPED by\n{B_ATK_NAME_WITH_PREFIX}!");
@@ -167,21 +167,21 @@ static const u8 sText_PkmnHitWithRecoil[] = _("{B_ATK_NAME_WITH_PREFIX} is hit\n
static const u8 sText_PkmnProtectedItself2[] = _("{B_ATK_NAME_WITH_PREFIX} protected\nitself!");
static const u8 sText_PkmnBuffetedBySandstorm[] = _("{B_ATK_NAME_WITH_PREFIX} is buffeted\nby the sandstorm!");
static const u8 sText_PkmnPeltedByHail[] = _("{B_ATK_NAME_WITH_PREFIX} is pelted\nby HAIL!");
-static const u8 sText_PkmnsXWoreOff[] = _("{B_ATK_PREFIX1}’s {B_BUFF1}\nwore off!");
+static const u8 sText_PkmnsXWoreOff[] = _("{B_ATK_PREFIX1}'s {B_BUFF1}\nwore off!");
static const u8 sText_PkmnSeeded[] = _("{B_DEF_NAME_WITH_PREFIX} was seeded!");
static const u8 sText_PkmnEvadedAttack[] = _("{B_DEF_NAME_WITH_PREFIX} evaded\nthe attack!");
-static const u8 sText_PkmnSappedByLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX}’s health is\nsapped by LEECH SEED!");
+static const u8 sText_PkmnSappedByLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX}'s health is\nsapped by LEECH SEED!");
static const u8 sText_PkmnFastAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} is fast\nasleep.");
static const u8 sText_PkmnWokeUp[] = _("{B_ATK_NAME_WITH_PREFIX} woke up!");
-static const u8 sText_PkmnUproarKeptAwake[] = _("But {B_SCR_ACTIVE_NAME_WITH_PREFIX}’s UPROAR\nkept it awake!");
+static const u8 sText_PkmnUproarKeptAwake[] = _("But {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s UPROAR\nkept it awake!");
static const u8 sText_PkmnWokeUpInUproar[] = _("{B_ATK_NAME_WITH_PREFIX} woke up\nin the UPROAR!");
static const u8 sText_PkmnCausedUproar[] = _("{B_ATK_NAME_WITH_PREFIX} caused\nan UPROAR!");
static const u8 sText_PkmnMakingUproar[] = _("{B_ATK_NAME_WITH_PREFIX} is making\nan UPROAR!");
static const u8 sText_PkmnCalmedDown[] = _("{B_ATK_NAME_WITH_PREFIX} calmed down.");
-static const u8 sText_PkmnCantSleepInUproar[] = _("But {B_DEF_NAME_WITH_PREFIX} can’t\nsleep in an UPROAR!");
+static const u8 sText_PkmnCantSleepInUproar[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!");
static const u8 sText_PkmnStockpiled[] = _("{B_ATK_NAME_WITH_PREFIX} STOCKPILED\n{B_BUFF1}!");
-static const u8 sText_PkmnCantStockpile[] = _("{B_ATK_NAME_WITH_PREFIX} can’t\nSTOCKPILE any more!");
-static const u8 sText_PkmnCantSleepInUproar2[] = _("But {B_DEF_NAME_WITH_PREFIX} can’t\nsleep in an UPROAR!");
+static const u8 sText_PkmnCantStockpile[] = _("{B_ATK_NAME_WITH_PREFIX} can't\nSTOCKPILE any more!");
+static const u8 sText_PkmnCantSleepInUproar2[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!");
static const u8 sText_UproarKeptPkmnAwake[] = _("But the UPROAR kept\n{B_DEF_NAME_WITH_PREFIX} awake!");
static const u8 sText_PkmnStayedAwakeUsing[] = _("{B_DEF_NAME_WITH_PREFIX} stayed awake\nusing its {B_DEF_ABILITY}!");
static const u8 sText_PkmnStoringEnergy[] = _("{B_ATK_NAME_WITH_PREFIX} is storing\nenergy!");
@@ -193,45 +193,45 @@ static const u8 sText_PkmnTransformedInto[] = _("{B_ATK_NAME_WITH_PREFIX} transf
static const u8 sText_PkmnMadeSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} made\na SUBSTITUTE!");
static const u8 sText_PkmnHasSubstitute[] = _("{B_ATK_NAME_WITH_PREFIX} already\nhas a SUBSTITUTE!");
static const u8 sText_SubstituteDamaged[] = _("The SUBSTITUTE took damage\nfor {B_DEF_NAME_WITH_PREFIX}!\p");
-static const u8 sText_PkmnSubstituteFaded[] = _("{B_DEF_NAME_WITH_PREFIX}’s\nSUBSTITUTE faded!\p");
+static const u8 sText_PkmnSubstituteFaded[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nSUBSTITUTE faded!\p");
static const u8 sText_PkmnMustRecharge[] = _("{B_ATK_NAME_WITH_PREFIX} must\nrecharge!");
-static const u8 sText_PkmnRageBuilding[] = _("{B_DEF_NAME_WITH_PREFIX}’s RAGE\nis building!");
-static const u8 sText_PkmnMoveWasDisabled[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}\nwas disabled!");
+static const u8 sText_PkmnRageBuilding[] = _("{B_DEF_NAME_WITH_PREFIX}'s RAGE\nis building!");
+static const u8 sText_PkmnMoveWasDisabled[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwas disabled!");
static const u8 sText_PkmnMoveDisabledNoMore[] = _("{B_ATK_NAME_WITH_PREFIX} is disabled\nno more!");
static const u8 sText_PkmnGotEncore[] = _("{B_DEF_NAME_WITH_PREFIX} got\nan ENCORE!");
-static const u8 sText_PkmnEncoreEnded[] = _("{B_ATK_NAME_WITH_PREFIX}’s ENCORE\nended!");
+static const u8 sText_PkmnEncoreEnded[] = _("{B_ATK_NAME_WITH_PREFIX}'s ENCORE\nended!");
static const u8 sText_PkmnTookAim[] = _("{B_ATK_NAME_WITH_PREFIX} took aim\nat {B_DEF_NAME_WITH_PREFIX}!");
static const u8 sText_PkmnSketchedMove[] = _("{B_ATK_NAME_WITH_PREFIX} SKETCHED\n{B_BUFF1}!");
static const u8 sText_PkmnTryingToTakeFoe[] = _("{B_ATK_NAME_WITH_PREFIX} is trying\nto take its foe with it!");
static const u8 sText_PkmnTookFoe[] = _("{B_DEF_NAME_WITH_PREFIX} took\n{B_ATK_NAME_WITH_PREFIX} with it!");
-static const u8 sText_PkmnReducedPP[] = _("Reduced {B_DEF_NAME_WITH_PREFIX}’s\n{B_BUFF1} by {B_BUFF2}!");
-static const u8 sText_PkmnStoleItem[] = _("{B_ATK_NAME_WITH_PREFIX} stole\n{B_DEF_NAME_WITH_PREFIX}’s {B_LAST_ITEM}!");
-static const u8 sText_TargetCantEscapeNow[] = _("{B_DEF_NAME_WITH_PREFIX} can’t\nescape now!");
+static const u8 sText_PkmnReducedPP[] = _("Reduced {B_DEF_NAME_WITH_PREFIX}'s\n{B_BUFF1} by {B_BUFF2}!");
+static const u8 sText_PkmnStoleItem[] = _("{B_ATK_NAME_WITH_PREFIX} stole\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!");
+static const u8 sText_TargetCantEscapeNow[] = _("{B_DEF_NAME_WITH_PREFIX} can't\nescape now!");
static const u8 sText_PkmnFellIntoNightmare[] = _("{B_DEF_NAME_WITH_PREFIX} fell into\na NIGHTMARE!");
static const u8 sText_PkmnLockedInNightmare[] = _("{B_ATK_NAME_WITH_PREFIX} is locked\nin a NIGHTMARE!");
static const u8 sText_PkmnLaidCurse[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP and\nlaid a CURSE on {B_DEF_NAME_WITH_PREFIX}!");
static const u8 sText_PkmnAfflictedByCurse[] = _("{B_ATK_NAME_WITH_PREFIX} is afflicted\nby the CURSE!");
-static const u8 sText_SpikesScattered[] = _("SPIKES were scattered all around\nthe opponent’s side!");
+static const u8 sText_SpikesScattered[] = _("SPIKES were scattered all around\nthe opponent's side!");
static const u8 sText_PkmnHurtBySpikes[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is hurt\nby SPIKES!");
static const u8 sText_PkmnIdentified[] = _("{B_ATK_NAME_WITH_PREFIX} identified\n{B_DEF_NAME_WITH_PREFIX}!");
-static const u8 sText_PkmnPerishCountFell[] = _("{B_ATK_NAME_WITH_PREFIX}’s PERISH count\nfell to {B_BUFF1}!");
+static const u8 sText_PkmnPerishCountFell[] = _("{B_ATK_NAME_WITH_PREFIX}'s PERISH count\nfell to {B_BUFF1}!");
static const u8 sText_PkmnBracedItself[] = _("{B_ATK_NAME_WITH_PREFIX} braced\nitself!");
static const u8 sText_PkmnEnduredHit[] = _("{B_DEF_NAME_WITH_PREFIX} ENDURED\nthe hit!");
static const u8 sText_MagnitudeStrength[] = _("MAGNITUDE {B_BUFF1}!");
static const u8 sText_PkmnCutHPMaxedAttack[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP\nand maximized ATTACK!");
-static const u8 sText_PkmnCopiedStatChanges[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}’s stat changes!");
-static const u8 sText_PkmnGotFree[] = _("{B_ATK_NAME_WITH_PREFIX} got free of\n{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}!");
+static const u8 sText_PkmnCopiedStatChanges[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s stat changes!");
+static const u8 sText_PkmnGotFree[] = _("{B_ATK_NAME_WITH_PREFIX} got free of\n{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!");
static const u8 sText_PkmnShedLeechSeed[] = _("{B_ATK_NAME_WITH_PREFIX} shed\nLEECH SEED!");
static const u8 sText_PkmnBlewAwaySpikes[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nSPIKES!");
static const u8 sText_PkmnFledFromBattle[] = _("{B_ATK_NAME_WITH_PREFIX} fled from\nbattle!");
static const u8 sText_PkmnForesawAttack[] = _("{B_ATK_NAME_WITH_PREFIX} foresaw\nan attack!");
static const u8 sText_PkmnTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX} took the\n{B_BUFF1} attack!");
static const u8 sText_PkmnChoseXAsDestiny[] = _("{B_ATK_NAME_WITH_PREFIX} chose\n{B_CURRENT_MOVE} as its destiny!");
-static const u8 sText_PkmnAttack[] = _("{B_BUFF1}’s attack!");
+static const u8 sText_PkmnAttack[] = _("{B_BUFF1}'s attack!");
static const u8 sText_PkmnCenterAttention[] = _("{B_ATK_NAME_WITH_PREFIX} became the\ncenter of attention!");
static const u8 sText_PkmnChargingPower[] = _("{B_ATK_NAME_WITH_PREFIX} began\ncharging power!");
static const u8 sText_NaturePowerTurnedInto[] = _("NATURE POWER turned into\n{B_CURRENT_MOVE}!");
-static const u8 sText_PkmnStatusNormal[] = _("{B_ATK_NAME_WITH_PREFIX}’s status\nreturned to normal!");
+static const u8 sText_PkmnStatusNormal[] = _("{B_ATK_NAME_WITH_PREFIX}'s status\nreturned to normal!");
static const u8 sText_PkmnSubjectedToTorment[] = _("{B_DEF_NAME_WITH_PREFIX} was subjected\nto TORMENT!");
static const u8 sText_PkmnTighteningFocus[] = _("{B_ATK_NAME_WITH_PREFIX} is tightening\nits focus!");
static const u8 sText_PkmnFellForTaunt[] = _("{B_DEF_NAME_WITH_PREFIX} fell for\nthe TAUNT!");
@@ -240,93 +240,93 @@ static const u8 sText_PkmnSwitchedItems[] = _("{B_ATK_NAME_WITH_PREFIX} switched
static const u8 sText_PkmnObtainedX[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}.");
static const u8 sText_PkmnObtainedX2[] = _("{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}.");
static const u8 sText_PkmnObtainedXYObtainedZ[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}.");
-static const u8 sText_PkmnCopiedFoe[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}!");
+static const u8 sText_PkmnCopiedFoe[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!");
static const u8 sText_PkmnMadeWish[] = _("{B_ATK_NAME_WITH_PREFIX} made a WISH!");
-static const u8 sText_PkmnWishCameTrue[] = _("{B_BUFF1}’s WISH\ncame true!");
+static const u8 sText_PkmnWishCameTrue[] = _("{B_BUFF1}'s WISH\ncame true!");
static const u8 sText_PkmnPlantedRoots[] = _("{B_ATK_NAME_WITH_PREFIX} planted its roots!");
static const u8 sText_PkmnAbsorbedNutrients[] = _("{B_ATK_NAME_WITH_PREFIX} absorbed\nnutrients with its roots!");
static const u8 sText_PkmnAnchoredItself[] = _("{B_DEF_NAME_WITH_PREFIX} anchored\nitself with its roots!");
static const u8 sText_PkmnWasMadeDrowsy[] = _("{B_ATK_NAME_WITH_PREFIX} made\n{B_DEF_NAME_WITH_PREFIX} drowsy!");
-static const u8 sText_PkmnKnockedOff[] = _("{B_ATK_NAME_WITH_PREFIX} knocked off\n{B_DEF_NAME_WITH_PREFIX}’s {B_LAST_ITEM}!");
+static const u8 sText_PkmnKnockedOff[] = _("{B_ATK_NAME_WITH_PREFIX} knocked off\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!");
static const u8 sText_PkmnSwappedAbilities[] = _("{B_ATK_NAME_WITH_PREFIX} swapped abilities\nwith its opponent!");
-static const u8 sText_PkmnSealedOpponentMove[] = _("{B_ATK_NAME_WITH_PREFIX} sealed the\nopponent’s move(s)!");
+static const u8 sText_PkmnSealedOpponentMove[] = _("{B_ATK_NAME_WITH_PREFIX} sealed the\nopponent's move(s)!");
static const u8 sText_PkmnWantsGrudge[] = _("{B_ATK_NAME_WITH_PREFIX} wants the\nopponent to bear a GRUDGE!");
-static const u8 sText_PkmnLostPPGrudge[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_BUFF1} lost\nall its PP due to the GRUDGE!");
+static const u8 sText_PkmnLostPPGrudge[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} lost\nall its PP due to the GRUDGE!");
static const u8 sText_PkmnShroudedItself[] = _("{B_ATK_NAME_WITH_PREFIX} shrouded\nitself in {B_CURRENT_MOVE}!");
-static const u8 sText_PkmnMoveBounced[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_CURRENT_MOVE}\nwas bounced back by MAGIC COAT!");
+static const u8 sText_PkmnMoveBounced[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nwas bounced back by MAGIC COAT!");
static const u8 sText_PkmnWaitsForTarget[] = _("{B_ATK_NAME_WITH_PREFIX} waits for a target\nto make a move!");
-static const u8 sText_PkmnSnatchedMove[] = _("{B_DEF_NAME_WITH_PREFIX} SNATCHED\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s move!");
-static const u8 sText_ElectricityWeakened[] = _("Electricity’s power was\nweakened!");
-static const u8 sText_FireWeakened[] = _("Fire’s power was\nweakened!");
+static const u8 sText_PkmnSnatchedMove[] = _("{B_DEF_NAME_WITH_PREFIX} SNATCHED\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s move!");
+static const u8 sText_ElectricityWeakened[] = _("Electricity's power was\nweakened!");
+static const u8 sText_FireWeakened[] = _("Fire's power was\nweakened!");
static const u8 sText_XFoundOneY[] = _("{B_ATK_NAME_WITH_PREFIX} found\none {B_LAST_ITEM}!");
static const u8 sText_SoothingAroma[] = _("A soothing aroma wafted\nthrough the area!");
-static const u8 sText_ItemsCantBeUsedNow[] = _("Items can’t be used now.{PAUSE 64}");
+static const u8 sText_ItemsCantBeUsedNow[] = _("Items can't be used now.{PAUSE 64}");
static const u8 sText_ForXCommaYZ[] = _("For {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n{B_LAST_ITEM} {B_BUFF1}");
static const u8 sText_PkmnUsedXToGetPumped[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used\n{B_LAST_ITEM} to get pumped!");
-static const u8 sText_PkmnLostFocus[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfocus and couldn’t move!");
+static const u8 sText_PkmnLostFocus[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfocus and couldn't move!");
static const u8 sText_PkmnWasDraggedOut[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndragged out!\p");
static const u8 sText_TheWallShattered[] = _("The wall shattered!");
static const u8 sText_ButNoEffect[] = _("But it had no effect!");
static const u8 sText_PkmnHasNoMovesLeft[] = _("{B_ACTIVE_NAME_WITH_PREFIX} has no\nmoves left!\p");
-static const u8 sText_PkmnMoveIsDisabled[] = _("{B_ACTIVE_NAME_WITH_PREFIX}’s {B_CURRENT_MOVE}\nis disabled!\p");
-static const u8 sText_PkmnCantUseMoveTorment[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can’t use the same\nmove in a row due to the TORMENT!\p");
-static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can’t use\n{B_CURRENT_MOVE} after the TAUNT!\p");
-static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can’t use the\nsealed {B_CURRENT_MOVE}!\p");
-static const u8 sText_PkmnMadeItRain[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nmade it rain!");
-static const u8 sText_PkmnRaisedSpeed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!");
+static const u8 sText_PkmnMoveIsDisabled[] = _("{B_ACTIVE_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p");
+static const u8 sText_PkmnCantUseMoveTorment[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the TORMENT!\p");
+static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the TAUNT!\p");
+static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p");
+static const u8 sText_PkmnMadeItRain[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it rain!");
+static const u8 sText_PkmnRaisedSpeed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!");
static const u8 sText_PkmnProtectedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was protected\nby {B_DEF_ABILITY}!");
-static const u8 sText_PkmnPreventsUsage[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents {B_ATK_NAME_WITH_PREFIX}\lfrom using {B_CURRENT_MOVE}!");
+static const u8 sText_PkmnPreventsUsage[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents {B_ATK_NAME_WITH_PREFIX}\lfrom using {B_CURRENT_MOVE}!");
static const u8 sText_PkmnRestoredHPUsing[] = _("{B_DEF_NAME_WITH_PREFIX} restored HP\nusing its {B_DEF_ABILITY}!");
-static const u8 sText_PkmnsXMadeYUseless[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} useless!");
-static const u8 sText_PkmnChangedTypeWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nmade it the {B_BUFF1} type!");
-static const u8 sText_PkmnPreventsParalysisWith[] = _("{B_EFF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents paralysis!");
-static const u8 sText_PkmnPreventsRomanceWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents romance!");
-static const u8 sText_PkmnPreventsPoisoningWith[] = _("{B_EFF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents poisoning!");
-static const u8 sText_PkmnPreventsConfusionWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevents confusion!");
-static const u8 sText_PkmnRaisedFirePowerWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nraised its FIRE power!");
+static const u8 sText_PkmnsXMadeYUseless[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} useless!");
+static const u8 sText_PkmnChangedTypeWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade it the {B_BUFF1} type!");
+static const u8 sText_PkmnPreventsParalysisWith[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents paralysis!");
+static const u8 sText_PkmnPreventsRomanceWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents romance!");
+static const u8 sText_PkmnPreventsPoisoningWith[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents poisoning!");
+static const u8 sText_PkmnPreventsConfusionWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents confusion!");
+static const u8 sText_PkmnRaisedFirePowerWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nraised its FIRE power!");
static const u8 sText_PkmnAnchorsItselfWith[] = _("{B_DEF_NAME_WITH_PREFIX} anchors\nitself with {B_DEF_ABILITY}!");
-static const u8 sText_PkmnCutsAttackWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\ncuts {B_DEF_NAME_WITH_PREFIX}’s ATTACK!");
-static const u8 sText_PkmnPreventsStatLossWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nprevents stat loss!");
-static const u8 sText_PkmnHurtsWith[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nhurt {B_ATK_NAME_WITH_PREFIX}!");
-static const u8 sText_PkmnTraced[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} TRACED\n{B_BUFF1}’s {B_BUFF2}!");
-static const u8 sText_PkmnsXPreventsBurns[] = _("{B_EFF_NAME_WITH_PREFIX}’s {B_EFF_ABILITY}\nprevents burns!");
-static const u8 sText_PkmnsXBlocksY[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nblocks {B_CURRENT_MOVE}!");
-static const u8 sText_PkmnsXBlocksY2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nblocks {B_CURRENT_MOVE}!");
-static const u8 sText_PkmnsXRestoredHPALittle2[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_ATK_ABILITY}\nrestored its HP a little!");
-static const u8 sText_PkmnsXWhippedUpSandstorm[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nwhipped up a sandstorm!");
-static const u8 sText_PkmnsXIntensifiedSun[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nintensified the sun’s rays!");
-static const u8 sText_PkmnsXPreventsYLoss[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nprevents {B_BUFF1} loss!");
-static const u8 sText_PkmnsXInfatuatedY[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\ninfatuated {B_ATK_NAME_WITH_PREFIX}!");
-static const u8 sText_PkmnsXMadeYIneffective[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} ineffective!");
-static const u8 sText_PkmnsXCuredYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!");
+static const u8 sText_PkmnCutsAttackWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncuts {B_DEF_NAME_WITH_PREFIX}'s ATTACK!");
+static const u8 sText_PkmnPreventsStatLossWith[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents stat loss!");
+static const u8 sText_PkmnHurtsWith[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nhurt {B_ATK_NAME_WITH_PREFIX}!");
+static const u8 sText_PkmnTraced[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} TRACED\n{B_BUFF1}'s {B_BUFF2}!");
+static const u8 sText_PkmnsXPreventsBurns[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents burns!");
+static const u8 sText_PkmnsXBlocksY[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nblocks {B_CURRENT_MOVE}!");
+static const u8 sText_PkmnsXBlocksY2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nblocks {B_CURRENT_MOVE}!");
+static const u8 sText_PkmnsXRestoredHPALittle2[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nrestored its HP a little!");
+static const u8 sText_PkmnsXWhippedUpSandstorm[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nwhipped up a sandstorm!");
+static const u8 sText_PkmnsXIntensifiedSun[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nintensified the sun's rays!");
+static const u8 sText_PkmnsXPreventsYLoss[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents {B_BUFF1} loss!");
+static const u8 sText_PkmnsXInfatuatedY[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ninfatuated {B_ATK_NAME_WITH_PREFIX}!");
+static const u8 sText_PkmnsXMadeYIneffective[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} ineffective!");
+static const u8 sText_PkmnsXCuredYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!");
static const u8 sText_ItSuckedLiquidOoze[] = _("It sucked up the\nLIQUID OOZE!");
static const u8 sText_PkmnTransformed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} transformed!");
-static const u8 sText_PkmnsXTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\ntook the attack!");
-const u8 gText_PkmnsXPreventsSwitching[] = _("{B_BUFF1}’s {B_LAST_ABILITY}\nprevents switching!\p");
-static const u8 sText_PreventedFromWorking[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_DEF_ABILITY}\nprevented {B_SCR_ACTIVE_NAME_WITH_PREFIX}’s\l{B_BUFF1} from working!");
-static const u8 sText_PkmnsXMadeItIneffective[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nmade it ineffective!");
-static const u8 sText_PkmnsXPreventsFlinching[] = _("{B_EFF_NAME_WITH_PREFIX}’s {B_EFF_ABILITY}\nprevents flinching!");
-static const u8 sText_PkmnsXPreventsYsZ[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}’s\l{B_DEF_ABILITY} from working!");
-static const u8 sText_PkmnsXCuredItsYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!");
-static const u8 sText_PkmnsXHadNoEffectOnY[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!");
+static const u8 sText_PkmnsXTookAttack[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ntook the attack!");
+const u8 gText_PkmnsXPreventsSwitching[] = _("{B_BUFF1}'s {B_LAST_ABILITY}\nprevents switching!\p");
+static const u8 sText_PreventedFromWorking[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevented {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s\l{B_BUFF1} from working!");
+static const u8 sText_PkmnsXMadeItIneffective[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it ineffective!");
+static const u8 sText_PkmnsXPreventsFlinching[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents flinching!");
+static const u8 sText_PkmnsXPreventsYsZ[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!");
+static const u8 sText_PkmnsXCuredItsYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!");
+static const u8 sText_PkmnsXHadNoEffectOnY[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!");
static const u8 sText_StatSharply[] = _("sharply ");
const u8 gText_StatRose[] = _("rose!");
static const u8 sText_StatHarshly[] = _("harshly ");
static const u8 sText_StatFell[] = _("fell!");
-static const u8 sText_PkmnsStatChanged[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_BUFF1}\n{B_BUFF2}");
-const u8 gText_PkmnsStatChanged2[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}\n{B_BUFF2}");
+static const u8 sText_PkmnsStatChanged[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
+const u8 gText_PkmnsStatChanged2[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
static const u8 sText_UsingXTheYOfZN[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}");
-static const u8 sText_PkmnsStatChanged3[] = _("{B_ATK_NAME_WITH_PREFIX}’s {B_BUFF1}\n{B_BUFF2}");
-static const u8 sText_PkmnsStatChanged4[] = _("{B_DEF_NAME_WITH_PREFIX}’s {B_BUFF1}\n{B_BUFF2}");
-static const u8 sText_StatsWontIncrease2[] = _("{B_ATK_NAME_WITH_PREFIX}’s stats won’t\ngo any higher!");
-static const u8 sText_StatsWontDecrease2[] = _("{B_DEF_NAME_WITH_PREFIX}’s stats won’t\ngo any lower!");
+static const u8 sText_PkmnsStatChanged3[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
+static const u8 sText_PkmnsStatChanged4[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}");
+static const u8 sText_StatsWontIncrease2[] = _("{B_ATK_NAME_WITH_PREFIX}'s stats won't\ngo any higher!");
+static const u8 sText_StatsWontDecrease2[] = _("{B_DEF_NAME_WITH_PREFIX}'s stats won't\ngo any lower!");
static const u8 sText_CriticalHit[] = _("A critical hit!");
-static const u8 sText_OneHitKO[] = _("It’s a one-hit KO!");
+static const u8 sText_OneHitKO[] = _("It's a one-hit KO!");
static const u8 sText_123Poof[] = _("{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE 0x0038}Poof!\p");
static const u8 sText_AndEllipsis[] = _("And…\p");
-static const u8 sText_HMMovesCantBeForgotten[] = _("HM moves can’t be\nforgotten now.\p");
-static const u8 sText_NotVeryEffective[] = _("It’s not very effective…");
-static const u8 sText_SuperEffective[] = _("It’s super effective!");
+static const u8 sText_HMMovesCantBeForgotten[] = _("HM moves can't be\nforgotten now.\p");
+static const u8 sText_NotVeryEffective[] = _("It's not very effective…");
+static const u8 sText_SuperEffective[] = _("It's super effective!");
static const u8 sText_GotAwaySafely[] = _("{PLAY_SE 0x0011}Got away safely!\p");
static const u8 sText_PkmnFledUsingIts[] = _("{PLAY_SE 0x0011}{B_ATK_NAME_WITH_PREFIX} fled\nusing its {B_LAST_ITEM}!\p");
static const u8 sText_PkmnFledUsing[] = _("{PLAY_SE 0x0011}{B_ATK_NAME_WITH_PREFIX} fled\nusing {B_ATK_ABILITY}!\p");
@@ -339,9 +339,9 @@ static const u8 sText_PlayerBattledToDrawLinkTrainer[] = _("Player battled to a
static const u8 sText_PlayerBattledToDrawVsTwo[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!");
static const u8 sText_WildFled[] = _("{PLAY_SE 0x0011}{B_LINK_OPPONENT1_NAME} fled!");
static const u8 sText_TwoWildFled[] = _("{PLAY_SE 0x0011}{B_LINK_OPPONENT1_NAME} and\n{B_LINK_OPPONENT2_NAME} fled!");
-static const u8 sText_NoRunningFromTrainers[] = _("No! There’s no running\nfrom a TRAINER battle!\p");
-static const u8 sText_CantEscape[] = _("Can’t escape!\p");
-static const u8 sText_DontLeaveBirch[] = _("PROF. BIRCH: Don’t leave me like this!\p");
+static const u8 sText_NoRunningFromTrainers[] = _("No! There's no running\nfrom a TRAINER battle!\p");
+static const u8 sText_CantEscape[] = _("Can't escape!\p");
+static const u8 sText_DontLeaveBirch[] = _("PROF. BIRCH: Don't leave me like this!\p");
static const u8 sText_ButNothingHappened[] = _("But nothing happened!");
static const u8 sText_ButItFailed[] = _("But it failed!");
static const u8 sText_ItHurtConfusion[] = _("It hurt itself in its\nconfusion!");
@@ -369,26 +369,26 @@ static const u8 sText_TooWeakForSubstitute[] = _("It was too weak to make\na SUB
static const u8 sText_SharedPain[] = _("The battlers shared\ntheir pain!");
static const u8 sText_BellChimed[] = _("A bell chimed!");
static const u8 sText_FaintInThree[] = _("All affected POKéMON will\nfaint in three turns!");
-static const u8 sText_NoPPLeft[] = _("There’s no PP left for\nthis move!\p");
+static const u8 sText_NoPPLeft[] = _("There's no PP left for\nthis move!\p");
static const u8 sText_ButNoPPLeft[] = _("But there was no PP left\nfor the move!");
static const u8 sText_PkmnIgnoresAsleep[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders while asleep!");
static const u8 sText_PkmnIgnoredOrders[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders!");
static const u8 sText_PkmnBeganToNap[] = _("{B_ATK_NAME_WITH_PREFIX} began to nap!");
static const u8 sText_PkmnLoafing[] = _("{B_ATK_NAME_WITH_PREFIX} is\nloafing around!");
-static const u8 sText_PkmnWontObey[] = _("{B_ATK_NAME_WITH_PREFIX} won’t\nobey!");
+static const u8 sText_PkmnWontObey[] = _("{B_ATK_NAME_WITH_PREFIX} won't\nobey!");
static const u8 sText_PkmnTurnedAway[] = _("{B_ATK_NAME_WITH_PREFIX} turned away!");
static const u8 sText_PkmnPretendNotNotice[] = _("{B_ATK_NAME_WITH_PREFIX} pretended\nnot to notice!");
static const u8 sText_EnemyAboutToSwitchPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} is\nabout to use {B_BUFF2}.\pWill {B_PLAYER_NAME} change\nPOKéMON?");
static const u8 sText_PkmnLearnedMove2[] = _("{B_ATK_NAME_WITH_PREFIX} learned\n{B_BUFF1}!");
static const u8 sText_PlayerDefeatedLinkTrainerTrainer1[] = _("Player defeated\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p");
static const u8 sText_CreptCloser[] = _("{B_PLAYER_NAME} crept closer to\n{B_OPPONENT_MON1_NAME}!");
-static const u8 sText_CantGetCloser[] = _("{B_PLAYER_NAME} can’t get any closer!");
+static const u8 sText_CantGetCloser[] = _("{B_PLAYER_NAME} can't get any closer!");
static const u8 sText_PkmnWatchingCarefully[] = _("{B_OPPONENT_MON1_NAME} is watching\ncarefully!");
static const u8 sText_PkmnCuriousAboutX[] = _("{B_OPPONENT_MON1_NAME} is curious about\nthe {B_BUFF1}!");
static const u8 sText_PkmnEnthralledByX[] = _("{B_OPPONENT_MON1_NAME} is enthralled by\nthe {B_BUFF1}!");
static const u8 sText_PkmnIgnoredX[] = _("{B_OPPONENT_MON1_NAME} completely ignored\nthe {B_BUFF1}!");
static const u8 sText_ThrewPokeblockAtPkmn[] = _("{B_PLAYER_NAME} threw a {POKEBLOCK}\nat the {B_OPPONENT_MON1_NAME}!");
-static const u8 sText_OutOfSafariBalls[] = _("{PLAY_SE 0x0049}ANNOUNCER: You’re out of\nSAFARI BALLS! Game over!\p");
+static const u8 sText_OutOfSafariBalls[] = _("{PLAY_SE 0x0049}ANNOUNCER: You're out of\nSAFARI BALLS! Game over!\p");
static const u8 sText_OpponentMon1Appeared[] = _("{B_OPPONENT_MON1_NAME} appeared!\p");
static const u8 sText_WildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p");
static const u8 sText_WildPkmnAppeared2[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p");
@@ -410,9 +410,9 @@ static const u8 sText_GoTwoPkmn[] = _("Go! {B_PLAYER_MON1_NAME} and\n{B_PLAYER_M
static const u8 sText_GoPkmn2[] = _("Go! {B_BUFF1}!");
static const u8 sText_DoItPkmn[] = _("Do it! {B_BUFF1}!");
static const u8 sText_GoForItPkmn[] = _("Go for it, {B_BUFF1}!");
-static const u8 sText_YourFoesWeakGetEmPkmn[] = _("Your foe’s weak!\nGet ’em, {B_BUFF1}!");
+static const u8 sText_YourFoesWeakGetEmPkmn[] = _("Your foe's weak!\nGet 'em, {B_BUFF1}!");
static const u8 sText_LinkPartnerSentOutPkmnGoPkmn[] = _("{B_LINK_PARTNER_NAME} sent out {B_LINK_PLAYER_MON2_NAME}!\nGo! {B_LINK_PLAYER_MON1_NAME}!");
-static const u8 sText_PkmnThatsEnough[] = _("{B_BUFF1}, that’s enough!\nCome back!");
+static const u8 sText_PkmnThatsEnough[] = _("{B_BUFF1}, that's enough!\nCome back!");
static const u8 sText_PkmnComeBack[] = _("{B_BUFF1}, come back!");
static const u8 sText_PkmnOkComeBack[] = _("{B_BUFF1}, OK!\nCome back!");
static const u8 sText_PkmnGoodComeBack[] = _("{B_BUFF1}, good!\nCome back!");
@@ -467,8 +467,8 @@ static const u8 sText_PlayerUsedItem[] = _("{B_PLAYER_NAME} used\n{B_LAST_ITEM}!
static const u8 sText_WallyUsedItem[] = _("WALLY used\n{B_LAST_ITEM}!");
static const u8 sText_Trainer1UsedItem[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nused {B_LAST_ITEM}!");
static const u8 sText_TrainerBlockedBall[] = _("The TRAINER blocked the BALL!");
-static const u8 sText_DontBeAThief[] = _("Don’t be a thief!");
-static const u8 sText_ItDodgedBall[] = _("It dodged the thrown BALL!\nThis POKéMON can’t be caught!");
+static const u8 sText_DontBeAThief[] = _("Don't be a thief!");
+static const u8 sText_ItDodgedBall[] = _("It dodged the thrown BALL!\nThis POKéMON can't be caught!");
static const u8 sText_YouMissedPkmn[] = _("You missed the POKéMON!");
static const u8 sText_PkmnBrokeFree[] = _("Oh, no!\nThe POKéMON broke free!");
static const u8 sText_ItAppearedCaught[] = _("Aww!\nIt appeared to be caught!");
@@ -478,30 +478,30 @@ static const u8 sText_GotchaPkmnCaught[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} wa
static const u8 sText_GotchaPkmnCaught2[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{UNKNOWN_A}{PLAY_BGM MUS_KACHI22}{PAUSE 127}");
static const u8 sText_GiveNicknameCaptured[] = _("Give a nickname to the\ncaptured {B_OPPONENT_MON1_NAME}?");
static const u8 sText_PkmnSentToPC[] = _("{B_OPPONENT_MON1_NAME} was sent to\n{B_PC_CREATOR_NAME} PC.");
-static const u8 sText_Someones[] = _("someone’s");
-static const u8 sText_Lanettes[] = _("LANETTE’s");
-static const u8 sText_PkmnDataAddedToDex[] = _("{B_OPPONENT_MON1_NAME}’s data was\nadded to the POKéDEX.\p");
+static const u8 sText_Someones[] = _("someone's");
+static const u8 sText_Lanettes[] = _("LANETTE's");
+static const u8 sText_PkmnDataAddedToDex[] = _("{B_OPPONENT_MON1_NAME}'s data was\nadded to the POKéDEX.\p");
static const u8 sText_ItIsRaining[] = _("It is raining.");
static const u8 sText_SandstormIsRaging[] = _("A sandstorm is raging.");
-static const u8 sText_BoxIsFull[] = _("The BOX is full!\nYou can’t catch any more!\p");
+static const u8 sText_BoxIsFull[] = _("The BOX is full!\nYou can't catch any more!\p");
static const u8 sText_EnigmaBerry[] = _("ENIGMA BERRY");
static const u8 sText_BerrySuffix[] = _(" BERRY");
-static const u8 sText_PkmnsItemCuredParalysis[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\ncured paralysis!");
-static const u8 sText_PkmnsItemCuredPoison[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\ncured poison!");
-static const u8 sText_PkmnsItemHealedBurn[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nhealed its burn!");
-static const u8 sText_PkmnsItemDefrostedIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\ndefrosted it!");
-static const u8 sText_PkmnsItemWokeIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nwoke it from its sleep!");
-static const u8 sText_PkmnsItemSnappedOut[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nsnapped it out of confusion!");
-static const u8 sText_PkmnsItemCuredProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\ncured its {B_BUFF1} problem!");
-static const u8 sText_PkmnsItemNormalizedStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nnormalized its status!");
-static const u8 sText_PkmnsItemRestoredHealth[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nrestored health!");
-static const u8 sText_PkmnsItemRestoredPP[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nrestored {B_BUFF1}’s PP!");
-static const u8 sText_PkmnsItemRestoredStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nrestored its status!");
-static const u8 sText_PkmnsItemRestoredHPALittle[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s {B_LAST_ITEM}\nrestored its HP a little!");
+static const u8 sText_PkmnsItemCuredParalysis[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured paralysis!");
+static const u8 sText_PkmnsItemCuredPoison[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured poison!");
+static const u8 sText_PkmnsItemHealedBurn[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nhealed its burn!");
+static const u8 sText_PkmnsItemDefrostedIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ndefrosted it!");
+static const u8 sText_PkmnsItemWokeIt[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nwoke it from its sleep!");
+static const u8 sText_PkmnsItemSnappedOut[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nsnapped it out of confusion!");
+static const u8 sText_PkmnsItemCuredProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured its {B_BUFF1} problem!");
+static const u8 sText_PkmnsItemNormalizedStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nnormalized its status!");
+static const u8 sText_PkmnsItemRestoredHealth[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored health!");
+static const u8 sText_PkmnsItemRestoredPP[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored {B_BUFF1}'s PP!");
+static const u8 sText_PkmnsItemRestoredStatus[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its status!");
+static const u8 sText_PkmnsItemRestoredHPALittle[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its HP a little!");
static const u8 sText_ItemAllowsOnlyYMove[] = _("{B_LAST_ITEM} allows the\nuse of only {B_CURRENT_MOVE}!\p");
static const u8 sText_PkmnHungOnWithX[] = _("{B_DEF_NAME_WITH_PREFIX} hung on\nusing its {B_LAST_ITEM}!");
const u8 gText_EmptyString3[] = _("");
-static const u8 sText_YouThrowABallNowRight[] = _("You throw a BALL now, right?\nI… I’ll do my best!");
+static const u8 sText_YouThrowABallNowRight[] = _("You throw a BALL now, right?\nI… I'll do my best!");
// early declaration of strings
static const u8 sText_PkmnIncapableOfPower[];
@@ -521,375 +521,375 @@ static const u8 sText_Trainer2LoseText[];
const u8 * const gBattleStringsTable[BATTLESTRINGS_COUNT] =
{
- sText_Trainer1LoseText, // 12
- sText_PkmnGainedEXP, // 13
- sText_PkmnGrewToLv, // 14
- sText_PkmnLearnedMove, // 15
- sText_TryToLearnMove1, // 16
- sText_TryToLearnMove2, // 17
- sText_TryToLearnMove3, // 18
- sText_PkmnForgotMove, // 19
- sText_StopLearningMove, // 20
- sText_DidNotLearnMove, // 21
- sText_PkmnLearnedMove2, // 22
- sText_AttackMissed, // 23
- sText_PkmnProtectedItself, // 24
- sText_StatsWontIncrease2, // 25
- sText_AvoidedDamage, // 26
- sText_ItDoesntAffect, // 27
- sText_AttackerFainted, // 28
- sText_TargetFainted, // 29
- sText_PlayerGotMoney, // 30
- sText_PlayerWhiteout, // 31
- sText_PlayerWhiteout2, // 32
- sText_PreventsEscape, // 33
- sText_HitXTimes, // 34
- sText_PkmnFellAsleep, // 35
- sText_PkmnMadeSleep, // 36
- sText_PkmnAlreadyAsleep, // 37
- sText_PkmnAlreadyAsleep2, // 38
- sText_PkmnWasntAffected, // 39
- sText_PkmnWasPoisoned, // 40
- sText_PkmnPoisonedBy, // 41
- sText_PkmnHurtByPoison, // 42
- sText_PkmnAlreadyPoisoned, // 43
- sText_PkmnBadlyPoisoned, // 44
- sText_PkmnEnergyDrained, // 45
- sText_PkmnWasBurned, // 46
- sText_PkmnBurnedBy, // 47
- sText_PkmnHurtByBurn, // 48
- sText_PkmnWasFrozen, // 49
- sText_PkmnFrozenBy, // 50
- sText_PkmnIsFrozen, // 51
- sText_PkmnWasDefrosted, // 52
- sText_PkmnWasDefrosted2, // 53
- sText_PkmnWasDefrostedBy, // 54
- sText_PkmnWasParalyzed, // 55
- sText_PkmnWasParalyzedBy, // 56
- sText_PkmnIsParalyzed, // 57
- sText_PkmnIsAlreadyParalyzed, // 58
- sText_PkmnHealedParalysis, // 59
- sText_PkmnDreamEaten, // 60
- sText_StatsWontIncrease, // 61
- sText_StatsWontDecrease, // 62
- sText_TeamStoppedWorking, // 63
- sText_FoeStoppedWorking, // 64
- sText_PkmnIsConfused, // 65
- sText_PkmnHealedConfusion, // 66
- sText_PkmnWasConfused, // 67
- sText_PkmnAlreadyConfused, // 68
- sText_PkmnFellInLove, // 69
- sText_PkmnInLove, // 70
- sText_PkmnImmobilizedByLove, // 71
- sText_PkmnBlownAway, // 72
- sText_PkmnChangedType, // 73
- sText_PkmnFlinched, // 74
- sText_PkmnRegainedHealth, // 75
- sText_PkmnHPFull, // 76
- sText_PkmnRaisedSpDef, // 77
- sText_PkmnRaisedDef, // 78
- sText_PkmnCoveredByVeil, // 79
- sText_PkmnUsedSafeguard, // 80
- sText_PkmnSafeguardExpired, // 81
- sText_PkmnWentToSleep, // 82
- sText_PkmnSleptHealthy, // 83
- sText_PkmnWhippedWhirlwind, // 84
- sText_PkmnTookSunlight, // 85
- sText_PkmnLoweredHead, // 86
- sText_PkmnIsGlowing, // 87
- sText_PkmnFlewHigh, // 88
- sText_PkmnDugHole, // 89
- sText_PkmnSqueezedByBind, // 90
- sText_PkmnTrappedInVortex, // 91
- sText_PkmnWrappedBy, // 92
- sText_PkmnClamped, // 93
- sText_PkmnHurtBy, // 94
- sText_PkmnFreedFrom, // 95
- sText_PkmnCrashed, // 96
- gText_PkmnShroudedInMist, // 97
- sText_PkmnProtectedByMist, // 98
- gText_PkmnGettingPumped, // 99
- sText_PkmnHitWithRecoil, // 100
- sText_PkmnProtectedItself2, // 101
- sText_PkmnBuffetedBySandstorm, // 102
- sText_PkmnPeltedByHail, // 103
- sText_PkmnSeeded, // 104
- sText_PkmnEvadedAttack, // 105
- sText_PkmnSappedByLeechSeed, // 106
- sText_PkmnFastAsleep, // 107
- sText_PkmnWokeUp, // 108
- sText_PkmnUproarKeptAwake, // 109
- sText_PkmnWokeUpInUproar, // 110
- sText_PkmnCausedUproar, // 111
- sText_PkmnMakingUproar, // 112
- sText_PkmnCalmedDown, // 113
- sText_PkmnCantSleepInUproar, // 114
- sText_PkmnStockpiled, // 115
- sText_PkmnCantStockpile, // 116
- sText_PkmnCantSleepInUproar2, // 117
- sText_UproarKeptPkmnAwake, // 118
- sText_PkmnStayedAwakeUsing, // 119
- sText_PkmnStoringEnergy, // 120
- sText_PkmnUnleashedEnergy, // 121
- sText_PkmnFatigueConfusion, // 122
- sText_PkmnPickedUpItem, // 123
- sText_PkmnUnaffected, // 124
- sText_PkmnTransformedInto, // 125
- sText_PkmnMadeSubstitute, // 126
- sText_PkmnHasSubstitute, // 127
- sText_SubstituteDamaged, // 128
- sText_PkmnSubstituteFaded, // 129
- sText_PkmnMustRecharge, // 130
- sText_PkmnRageBuilding, // 131
- sText_PkmnMoveWasDisabled, // 132
- sText_PkmnMoveIsDisabled, // 133
- sText_PkmnMoveDisabledNoMore, // 134
- sText_PkmnGotEncore, // 135
- sText_PkmnEncoreEnded, // 136
- sText_PkmnTookAim, // 137
- sText_PkmnSketchedMove, // 138
- sText_PkmnTryingToTakeFoe, // 139
- sText_PkmnTookFoe, // 140
- sText_PkmnReducedPP, // 141
- sText_PkmnStoleItem, // 142
- sText_TargetCantEscapeNow, // 143
- sText_PkmnFellIntoNightmare, // 144
- sText_PkmnLockedInNightmare, // 145
- sText_PkmnLaidCurse, // 146
- sText_PkmnAfflictedByCurse, // 147
- sText_SpikesScattered, // 148
- sText_PkmnHurtBySpikes, // 149
- sText_PkmnIdentified, // 150
- sText_PkmnPerishCountFell, // 151
- sText_PkmnBracedItself, // 152
- sText_PkmnEnduredHit, // 153
- sText_MagnitudeStrength, // 154
- sText_PkmnCutHPMaxedAttack, // 155
- sText_PkmnCopiedStatChanges, // 156
- sText_PkmnGotFree, // 157
- sText_PkmnShedLeechSeed, // 158
- sText_PkmnBlewAwaySpikes, // 159
- sText_PkmnFledFromBattle, // 160
- sText_PkmnForesawAttack, // 161
- sText_PkmnTookAttack, // 162
- sText_PkmnAttack, // 163
- sText_PkmnCenterAttention, // 164
- sText_PkmnChargingPower, // 165
- sText_NaturePowerTurnedInto, // 166
- sText_PkmnStatusNormal, // 167
- sText_PkmnHasNoMovesLeft, // 168
- sText_PkmnSubjectedToTorment, // 169
- sText_PkmnCantUseMoveTorment, // 170
- sText_PkmnTighteningFocus, // 171
- sText_PkmnFellForTaunt, // 172
- sText_PkmnCantUseMoveTaunt, // 173
- sText_PkmnReadyToHelp, // 174
- sText_PkmnSwitchedItems, // 175
- sText_PkmnCopiedFoe, // 176
- sText_PkmnMadeWish, // 177
- sText_PkmnWishCameTrue, // 178
- sText_PkmnPlantedRoots, // 179
- sText_PkmnAbsorbedNutrients, // 180
- sText_PkmnAnchoredItself, // 181
- sText_PkmnWasMadeDrowsy, // 182
- sText_PkmnKnockedOff, // 183
- sText_PkmnSwappedAbilities, // 184
- sText_PkmnSealedOpponentMove, // 185
- sText_PkmnCantUseMoveSealed, // 186
- sText_PkmnWantsGrudge, // 187
- sText_PkmnLostPPGrudge, // 188
- sText_PkmnShroudedItself, // 189
- sText_PkmnMoveBounced, // 190
- sText_PkmnWaitsForTarget, // 191
- sText_PkmnSnatchedMove, // 192
- sText_PkmnMadeItRain, // 193
- sText_PkmnRaisedSpeed, // 194
- sText_PkmnProtectedBy, // 195
- sText_PkmnPreventsUsage, // 196
- sText_PkmnRestoredHPUsing, // 197
- sText_PkmnChangedTypeWith, // 198
- sText_PkmnPreventsParalysisWith, // 199
- sText_PkmnPreventsRomanceWith, // 200
- sText_PkmnPreventsPoisoningWith, // 201
- sText_PkmnPreventsConfusionWith, // 202
- sText_PkmnRaisedFirePowerWith, // 203
- sText_PkmnAnchorsItselfWith, // 204
- sText_PkmnCutsAttackWith, // 205
- sText_PkmnPreventsStatLossWith, // 206
- sText_PkmnHurtsWith, // 207
- sText_PkmnTraced, // 208
- sText_StatSharply, // 209
- gText_StatRose, // 210
- sText_StatHarshly, // 211
- sText_StatFell, // 212
- sText_PkmnsStatChanged, // 213
- gText_PkmnsStatChanged2, // 214
- sText_PkmnsStatChanged3, // 215
- sText_PkmnsStatChanged4, // 216
- sText_CriticalHit, // 217
- sText_OneHitKO, // 218
- sText_123Poof, // 219
- sText_AndEllipsis, // 220
- sText_NotVeryEffective, // 221
- sText_SuperEffective, // 222
- sText_GotAwaySafely, // 223
- sText_WildPkmnFled, // 224
- sText_NoRunningFromTrainers, // 225
- sText_CantEscape, // 226
- sText_DontLeaveBirch, // 227
- sText_ButNothingHappened, // 228
- sText_ButItFailed, // 229
- sText_ItHurtConfusion, // 230
- sText_MirrorMoveFailed, // 231
- sText_StartedToRain, // 232
- sText_DownpourStarted, // 233
- sText_RainContinues, // 234
- sText_DownpourContinues, // 235
- sText_RainStopped, // 236
- sText_SandstormBrewed, // 237
- sText_SandstormRages, // 238
- sText_SandstormSubsided, // 239
- sText_SunlightGotBright, // 240
- sText_SunlightStrong, // 241
- sText_SunlightFaded, // 242
- sText_StartedHail, // 243
- sText_HailContinues, // 244
- sText_HailStopped, // 245
- sText_FailedToSpitUp, // 246
- sText_FailedToSwallow, // 247
- sText_WindBecameHeatWave, // 248
- sText_StatChangesGone, // 249
- sText_CoinsScattered, // 250
- sText_TooWeakForSubstitute, // 251
- sText_SharedPain, // 252
- sText_BellChimed, // 253
- sText_FaintInThree, // 254
- sText_NoPPLeft, // 255
- sText_ButNoPPLeft, // 256
- sText_PlayerUsedItem, // 257
- sText_WallyUsedItem, // 258
- sText_TrainerBlockedBall, // 259
- sText_DontBeAThief, // 260
- sText_ItDodgedBall, // 261
- sText_YouMissedPkmn, // 262
- sText_PkmnBrokeFree, // 263
- sText_ItAppearedCaught, // 264
- sText_AarghAlmostHadIt, // 265
- sText_ShootSoClose, // 266
- sText_GotchaPkmnCaught, // 267
- sText_GotchaPkmnCaught2, // 268
- sText_GiveNicknameCaptured, // 269
- sText_PkmnSentToPC, // 270
- sText_PkmnDataAddedToDex, // 271
- sText_ItIsRaining, // 272
- sText_SandstormIsRaging, // 273
- sText_CantEscape2, // 274
- sText_PkmnIgnoresAsleep, // 275
- sText_PkmnIgnoredOrders, // 276
- sText_PkmnBeganToNap, // 277
- sText_PkmnLoafing, // 278
- sText_PkmnWontObey, // 279
- sText_PkmnTurnedAway, // 280
- sText_PkmnPretendNotNotice, // 281
- sText_EnemyAboutToSwitchPkmn, // 282
- sText_CreptCloser, // 283
- sText_CantGetCloser, // 284
- sText_PkmnWatchingCarefully, // 285
- sText_PkmnCuriousAboutX, // 286
- sText_PkmnEnthralledByX, // 287
- sText_PkmnIgnoredX, // 288
- sText_ThrewPokeblockAtPkmn, // 289
- sText_OutOfSafariBalls, // 290
- sText_PkmnsItemCuredParalysis, // 291
- sText_PkmnsItemCuredPoison, // 292
- sText_PkmnsItemHealedBurn, // 293
- sText_PkmnsItemDefrostedIt, // 294
- sText_PkmnsItemWokeIt, // 295
- sText_PkmnsItemSnappedOut, // 296
- sText_PkmnsItemCuredProblem, // 297
- sText_PkmnsItemRestoredHealth, // 298
- sText_PkmnsItemRestoredPP, // 299
- sText_PkmnsItemRestoredStatus, // 300
- sText_PkmnsItemRestoredHPALittle, // 301
- sText_ItemAllowsOnlyYMove, // 302
- sText_PkmnHungOnWithX, // 303
- gText_EmptyString3, // 304
- sText_PkmnsXPreventsBurns, // 305
- sText_PkmnsXBlocksY, // 306
- sText_PkmnsXRestoredHPALittle2, // 307
- sText_PkmnsXWhippedUpSandstorm, // 308
- sText_PkmnsXPreventsYLoss, // 309
- sText_PkmnsXInfatuatedY, // 310
- sText_PkmnsXMadeYIneffective, // 311
- sText_PkmnsXCuredYProblem, // 312
- sText_ItSuckedLiquidOoze, // 313
- sText_PkmnTransformed, // 314
- sText_ElectricityWeakened, // 315
- sText_FireWeakened, // 316
- sText_PkmnHidUnderwater, // 317
- sText_PkmnSprangUp, // 318
- sText_HMMovesCantBeForgotten, // 319
- sText_XFoundOneY, // 320
- sText_PlayerDefeatedLinkTrainerTrainer1, // 321
- sText_SoothingAroma, // 322
- sText_ItemsCantBeUsedNow, // 323
- sText_ForXCommaYZ, // 324
- sText_UsingXTheYOfZN, // 325
- sText_PkmnUsedXToGetPumped, // 326
- sText_PkmnsXMadeYUseless, // 327
- sText_PkmnTrappedBySandTomb, // 328
- sText_EmptyString4, // 329
- sText_ABoosted, // 330
- sText_PkmnsXIntensifiedSun, // 331
- sText_PkmnMakesGroundMiss, // 332
- sText_YouThrowABallNowRight, // 333
- sText_PkmnsXTookAttack, // 334
- sText_PkmnChoseXAsDestiny, // 335
- sText_PkmnLostFocus, // 336
- sText_UseNextPkmn, // 337
- sText_PkmnFledUsingIts, // 338
- sText_PkmnFledUsing, // 339
- sText_PkmnWasDraggedOut, // 340
- sText_PreventedFromWorking, // 341
- sText_PkmnsItemNormalizedStatus, // 342
- sText_Trainer1UsedItem, // 343
- sText_BoxIsFull, // 344
- sText_PkmnAvoidedAttack, // 345
- sText_PkmnsXMadeItIneffective, // 346
- sText_PkmnsXPreventsFlinching, // 347
- sText_PkmnAlreadyHasBurn, // 348
- sText_StatsWontDecrease2, // 349
- sText_PkmnsXBlocksY2, // 350
- sText_PkmnsXWoreOff, // 351
- sText_PkmnRaisedDefALittle, // 352
- sText_PkmnRaisedSpDefALittle, // 353
- sText_TheWallShattered, // 354
- sText_PkmnsXPreventsYsZ, // 355
- sText_PkmnsXCuredItsYProblem, // 356
- sText_AttackerCantEscape, // 357
- sText_PkmnObtainedX, // 358
- sText_PkmnObtainedX2, // 359
- sText_PkmnObtainedXYObtainedZ, // 360
- sText_ButNoEffect, // 361
- sText_PkmnsXHadNoEffectOnY, // 362
- sText_TwoInGameTrainersDefeated, // 363
- sText_Trainer2LoseText, // 364
- sText_PkmnIncapableOfPower, // 365
- sText_GlintAppearsInEye, // 366
- sText_PkmnGettingIntoPosition, // 367
- sText_PkmnBeganGrowlingDeeply, // 368
- sText_PkmnEagerForMore, // 369
- sText_DefeatedOpponentByReferee, // 370
- sText_LostToOpponentByReferee, // 371
- sText_TiedOpponentByReferee, // 372
- sText_QuestionForfeitMatch, // 373
- sText_ForfeitedMatch, // 374
- gText_PkmnTransferredSomeonesPC, // 375
- gText_PkmnTransferredLanettesPC, // 376
- gText_PkmnBoxSomeonesPCFull, // 377
- gText_PkmnBoxLanettesPCFull, // 378
- sText_Trainer1WinText, // 379
- sText_Trainer2WinText, // 380
+ [STRINGID_TRAINER1LOSETEXT - 12] = sText_Trainer1LoseText,
+ [STRINGID_PKMNGAINEDEXP - 12] = sText_PkmnGainedEXP,
+ [STRINGID_PKMNGREWTOLV - 12] = sText_PkmnGrewToLv,
+ [STRINGID_PKMNLEARNEDMOVE - 12] = sText_PkmnLearnedMove,
+ [STRINGID_TRYTOLEARNMOVE1 - 12] = sText_TryToLearnMove1,
+ [STRINGID_TRYTOLEARNMOVE2 - 12] = sText_TryToLearnMove2,
+ [STRINGID_TRYTOLEARNMOVE3 - 12] = sText_TryToLearnMove3,
+ [STRINGID_PKMNFORGOTMOVE - 12] = sText_PkmnForgotMove,
+ [STRINGID_STOPLEARNINGMOVE - 12] = sText_StopLearningMove,
+ [STRINGID_DIDNOTLEARNMOVE - 12] = sText_DidNotLearnMove,
+ [STRINGID_PKMNLEARNEDMOVE2 - 12] = sText_PkmnLearnedMove2,
+ [STRINGID_ATTACKMISSED - 12] = sText_AttackMissed,
+ [STRINGID_PKMNPROTECTEDITSELF - 12] = sText_PkmnProtectedItself,
+ [STRINGID_STATSWONTINCREASE2 - 12] = sText_StatsWontIncrease2,
+ [STRINGID_AVOIDEDDAMAGE - 12] = sText_AvoidedDamage,
+ [STRINGID_ITDOESNTAFFECT - 12] = sText_ItDoesntAffect,
+ [STRINGID_ATTACKERFAINTED - 12] = sText_AttackerFainted,
+ [STRINGID_TARGETFAINTED - 12] = sText_TargetFainted,
+ [STRINGID_PLAYERGOTMONEY - 12] = sText_PlayerGotMoney,
+ [STRINGID_PLAYERWHITEOUT - 12] = sText_PlayerWhiteout,
+ [STRINGID_PLAYERWHITEOUT2 - 12] = sText_PlayerWhiteout2,
+ [STRINGID_PREVENTSESCAPE - 12] = sText_PreventsEscape,
+ [STRINGID_HITXTIMES - 12] = sText_HitXTimes,
+ [STRINGID_PKMNFELLASLEEP - 12] = sText_PkmnFellAsleep,
+ [STRINGID_PKMNMADESLEEP - 12] = sText_PkmnMadeSleep,
+ [STRINGID_PKMNALREADYASLEEP - 12] = sText_PkmnAlreadyAsleep,
+ [STRINGID_PKMNALREADYASLEEP2 - 12] = sText_PkmnAlreadyAsleep2,
+ [STRINGID_PKMNWASNTAFFECTED - 12] = sText_PkmnWasntAffected,
+ [STRINGID_PKMNWASPOISONED - 12] = sText_PkmnWasPoisoned,
+ [STRINGID_PKMNPOISONEDBY - 12] = sText_PkmnPoisonedBy,
+ [STRINGID_PKMNHURTBYPOISON - 12] = sText_PkmnHurtByPoison,
+ [STRINGID_PKMNALREADYPOISONED - 12] = sText_PkmnAlreadyPoisoned,
+ [STRINGID_PKMNBADLYPOISONED - 12] = sText_PkmnBadlyPoisoned,
+ [STRINGID_PKMNENERGYDRAINED - 12] = sText_PkmnEnergyDrained,
+ [STRINGID_PKMNWASBURNED - 12] = sText_PkmnWasBurned,
+ [STRINGID_PKMNBURNEDBY - 12] = sText_PkmnBurnedBy,
+ [STRINGID_PKMNHURTBYBURN - 12] = sText_PkmnHurtByBurn,
+ [STRINGID_PKMNWASFROZEN - 12] = sText_PkmnWasFrozen,
+ [STRINGID_PKMNFROZENBY - 12] = sText_PkmnFrozenBy,
+ [STRINGID_PKMNISFROZEN - 12] = sText_PkmnIsFrozen,
+ [STRINGID_PKMNWASDEFROSTED - 12] = sText_PkmnWasDefrosted,
+ [STRINGID_PKMNWASDEFROSTED2 - 12] = sText_PkmnWasDefrosted2,
+ [STRINGID_PKMNWASDEFROSTEDBY - 12] = sText_PkmnWasDefrostedBy,
+ [STRINGID_PKMNWASPARALYZED - 12] = sText_PkmnWasParalyzed,
+ [STRINGID_PKMNWASPARALYZEDBY - 12] = sText_PkmnWasParalyzedBy,
+ [STRINGID_PKMNISPARALYZED - 12] = sText_PkmnIsParalyzed,
+ [STRINGID_PKMNISALREADYPARALYZED - 12] = sText_PkmnIsAlreadyParalyzed,
+ [STRINGID_PKMNHEALEDPARALYSIS - 12] = sText_PkmnHealedParalysis,
+ [STRINGID_PKMNDREAMEATEN - 12] = sText_PkmnDreamEaten,
+ [STRINGID_STATSWONTINCREASE - 12] = sText_StatsWontIncrease,
+ [STRINGID_STATSWONTDECREASE - 12] = sText_StatsWontDecrease,
+ [STRINGID_TEAMSTOPPEDWORKING - 12] = sText_TeamStoppedWorking,
+ [STRINGID_FOESTOPPEDWORKING - 12] = sText_FoeStoppedWorking,
+ [STRINGID_PKMNISCONFUSED - 12] = sText_PkmnIsConfused,
+ [STRINGID_PKMNHEALEDCONFUSION - 12] = sText_PkmnHealedConfusion,
+ [STRINGID_PKMNWASCONFUSED - 12] = sText_PkmnWasConfused,
+ [STRINGID_PKMNALREADYCONFUSED - 12] = sText_PkmnAlreadyConfused,
+ [STRINGID_PKMNFELLINLOVE - 12] = sText_PkmnFellInLove,
+ [STRINGID_PKMNINLOVE - 12] = sText_PkmnInLove,
+ [STRINGID_PKMNIMMOBILIZEDBYLOVE - 12] = sText_PkmnImmobilizedByLove,
+ [STRINGID_PKMNBLOWNAWAY - 12] = sText_PkmnBlownAway,
+ [STRINGID_PKMNCHANGEDTYPE - 12] = sText_PkmnChangedType,
+ [STRINGID_PKMNFLINCHED - 12] = sText_PkmnFlinched,
+ [STRINGID_PKMNREGAINEDHEALTH - 12] = sText_PkmnRegainedHealth,
+ [STRINGID_PKMNHPFULL - 12] = sText_PkmnHPFull,
+ [STRINGID_PKMNRAISEDSPDEF - 12] = sText_PkmnRaisedSpDef,
+ [STRINGID_PKMNRAISEDDEF - 12] = sText_PkmnRaisedDef,
+ [STRINGID_PKMNCOVEREDBYVEIL - 12] = sText_PkmnCoveredByVeil,
+ [STRINGID_PKMNUSEDSAFEGUARD - 12] = sText_PkmnUsedSafeguard,
+ [STRINGID_PKMNSAFEGUARDEXPIRED - 12] = sText_PkmnSafeguardExpired,
+ [STRINGID_PKMNWENTTOSLEEP - 12] = sText_PkmnWentToSleep,
+ [STRINGID_PKMNSLEPTHEALTHY - 12] = sText_PkmnSleptHealthy,
+ [STRINGID_PKMNWHIPPEDWHIRLWIND - 12] = sText_PkmnWhippedWhirlwind,
+ [STRINGID_PKMNTOOKSUNLIGHT - 12] = sText_PkmnTookSunlight,
+ [STRINGID_PKMNLOWEREDHEAD - 12] = sText_PkmnLoweredHead,
+ [STRINGID_PKMNISGLOWING - 12] = sText_PkmnIsGlowing,
+ [STRINGID_PKMNFLEWHIGH - 12] = sText_PkmnFlewHigh,
+ [STRINGID_PKMNDUGHOLE - 12] = sText_PkmnDugHole,
+ [STRINGID_PKMNSQUEEZEDBYBIND - 12] = sText_PkmnSqueezedByBind,
+ [STRINGID_PKMNTRAPPEDINVORTEX - 12] = sText_PkmnTrappedInVortex,
+ [STRINGID_PKMNWRAPPEDBY - 12] = sText_PkmnWrappedBy,
+ [STRINGID_PKMNCLAMPED - 12] = sText_PkmnClamped,
+ [STRINGID_PKMNHURTBY - 12] = sText_PkmnHurtBy,
+ [STRINGID_PKMNFREEDFROM - 12] = sText_PkmnFreedFrom,
+ [STRINGID_PKMNCRASHED - 12] = sText_PkmnCrashed,
+ [STRINGID_PKMNSHROUDEDINMIST - 12] = gText_PkmnShroudedInMist,
+ [STRINGID_PKMNPROTECTEDBYMIST - 12] = sText_PkmnProtectedByMist,
+ [STRINGID_PKMNGETTINGPUMPED - 12] = gText_PkmnGettingPumped,
+ [STRINGID_PKMNHITWITHRECOIL - 12] = sText_PkmnHitWithRecoil,
+ [STRINGID_PKMNPROTECTEDITSELF2 - 12] = sText_PkmnProtectedItself2,
+ [STRINGID_PKMNBUFFETEDBYSANDSTORM - 12] = sText_PkmnBuffetedBySandstorm,
+ [STRINGID_PKMNPELTEDBYHAIL - 12] = sText_PkmnPeltedByHail,
+ [STRINGID_PKMNSEEDED - 12] = sText_PkmnSeeded,
+ [STRINGID_PKMNEVADEDATTACK - 12] = sText_PkmnEvadedAttack,
+ [STRINGID_PKMNSAPPEDBYLEECHSEED - 12] = sText_PkmnSappedByLeechSeed,
+ [STRINGID_PKMNFASTASLEEP - 12] = sText_PkmnFastAsleep,
+ [STRINGID_PKMNWOKEUP - 12] = sText_PkmnWokeUp,
+ [STRINGID_PKMNUPROARKEPTAWAKE - 12] = sText_PkmnUproarKeptAwake,
+ [STRINGID_PKMNWOKEUPINUPROAR - 12] = sText_PkmnWokeUpInUproar,
+ [STRINGID_PKMNCAUSEDUPROAR - 12] = sText_PkmnCausedUproar,
+ [STRINGID_PKMNMAKINGUPROAR - 12] = sText_PkmnMakingUproar,
+ [STRINGID_PKMNCALMEDDOWN - 12] = sText_PkmnCalmedDown,
+ [STRINGID_PKMNCANTSLEEPINUPROAR - 12] = sText_PkmnCantSleepInUproar,
+ [STRINGID_PKMNSTOCKPILED - 12] = sText_PkmnStockpiled,
+ [STRINGID_PKMNCANTSTOCKPILE - 12] = sText_PkmnCantStockpile,
+ [STRINGID_PKMNCANTSLEEPINUPROAR2 - 12] = sText_PkmnCantSleepInUproar2,
+ [STRINGID_UPROARKEPTPKMNAWAKE - 12] = sText_UproarKeptPkmnAwake,
+ [STRINGID_PKMNSTAYEDAWAKEUSING - 12] = sText_PkmnStayedAwakeUsing,
+ [STRINGID_PKMNSTORINGENERGY - 12] = sText_PkmnStoringEnergy,
+ [STRINGID_PKMNUNLEASHEDENERGY - 12] = sText_PkmnUnleashedEnergy,
+ [STRINGID_PKMNFATIGUECONFUSION - 12] = sText_PkmnFatigueConfusion,
+ [STRINGID_PKMNPICKEDUPITEM - 12] = sText_PkmnPickedUpItem,
+ [STRINGID_PKMNUNAFFECTED - 12] = sText_PkmnUnaffected,
+ [STRINGID_PKMNTRANSFORMEDINTO - 12] = sText_PkmnTransformedInto,
+ [STRINGID_PKMNMADESUBSTITUTE - 12] = sText_PkmnMadeSubstitute,
+ [STRINGID_PKMNHASSUBSTITUTE - 12] = sText_PkmnHasSubstitute,
+ [STRINGID_SUBSTITUTEDAMAGED - 12] = sText_SubstituteDamaged,
+ [STRINGID_PKMNSUBSTITUTEFADED - 12] = sText_PkmnSubstituteFaded,
+ [STRINGID_PKMNMUSTRECHARGE - 12] = sText_PkmnMustRecharge,
+ [STRINGID_PKMNRAGEBUILDING - 12] = sText_PkmnRageBuilding,
+ [STRINGID_PKMNMOVEWASDISABLED - 12] = sText_PkmnMoveWasDisabled,
+ [STRINGID_PKMNMOVEISDISABLED - 12] = sText_PkmnMoveIsDisabled,
+ [STRINGID_PKMNMOVEDISABLEDNOMORE - 12] = sText_PkmnMoveDisabledNoMore,
+ [STRINGID_PKMNGOTENCORE - 12] = sText_PkmnGotEncore,
+ [STRINGID_PKMNENCOREENDED - 12] = sText_PkmnEncoreEnded,
+ [STRINGID_PKMNTOOKAIM - 12] = sText_PkmnTookAim,
+ [STRINGID_PKMNSKETCHEDMOVE - 12] = sText_PkmnSketchedMove,
+ [STRINGID_PKMNTRYINGTOTAKEFOE - 12] = sText_PkmnTryingToTakeFoe,
+ [STRINGID_PKMNTOOKFOE - 12] = sText_PkmnTookFoe,
+ [STRINGID_PKMNREDUCEDPP - 12] = sText_PkmnReducedPP,
+ [STRINGID_PKMNSTOLEITEM - 12] = sText_PkmnStoleItem,
+ [STRINGID_TARGETCANTESCAPENOW - 12] = sText_TargetCantEscapeNow,
+ [STRINGID_PKMNFELLINTONIGHTMARE - 12] = sText_PkmnFellIntoNightmare,
+ [STRINGID_PKMNLOCKEDINNIGHTMARE - 12] = sText_PkmnLockedInNightmare,
+ [STRINGID_PKMNLAIDCURSE - 12] = sText_PkmnLaidCurse,
+ [STRINGID_PKMNAFFLICTEDBYCURSE - 12] = sText_PkmnAfflictedByCurse,
+ [STRINGID_SPIKESSCATTERED - 12] = sText_SpikesScattered,
+ [STRINGID_PKMNHURTBYSPIKES - 12] = sText_PkmnHurtBySpikes,
+ [STRINGID_PKMNIDENTIFIED - 12] = sText_PkmnIdentified,
+ [STRINGID_PKMNPERISHCOUNTFELL - 12] = sText_PkmnPerishCountFell,
+ [STRINGID_PKMNBRACEDITSELF - 12] = sText_PkmnBracedItself,
+ [STRINGID_PKMNENDUREDHIT - 12] = sText_PkmnEnduredHit,
+ [STRINGID_MAGNITUDESTRENGTH - 12] = sText_MagnitudeStrength,
+ [STRINGID_PKMNCUTHPMAXEDATTACK - 12] = sText_PkmnCutHPMaxedAttack,
+ [STRINGID_PKMNCOPIEDSTATCHANGES - 12] = sText_PkmnCopiedStatChanges,
+ [STRINGID_PKMNGOTFREE - 12] = sText_PkmnGotFree,
+ [STRINGID_PKMNSHEDLEECHSEED - 12] = sText_PkmnShedLeechSeed,
+ [STRINGID_PKMNBLEWAWAYSPIKES - 12] = sText_PkmnBlewAwaySpikes,
+ [STRINGID_PKMNFLEDFROMBATTLE - 12] = sText_PkmnFledFromBattle,
+ [STRINGID_PKMNFORESAWATTACK - 12] = sText_PkmnForesawAttack,
+ [STRINGID_PKMNTOOKATTACK - 12] = sText_PkmnTookAttack,
+ [STRINGID_PKMNATTACK - 12] = sText_PkmnAttack,
+ [STRINGID_PKMNCENTERATTENTION - 12] = sText_PkmnCenterAttention,
+ [STRINGID_PKMNCHARGINGPOWER - 12] = sText_PkmnChargingPower,
+ [STRINGID_NATUREPOWERTURNEDINTO - 12] = sText_NaturePowerTurnedInto,
+ [STRINGID_PKMNSTATUSNORMAL - 12] = sText_PkmnStatusNormal,
+ [STRINGID_PKMNHASNOMOVESLEFT - 12] = sText_PkmnHasNoMovesLeft,
+ [STRINGID_PKMNSUBJECTEDTOTORMENT - 12] = sText_PkmnSubjectedToTorment,
+ [STRINGID_PKMNCANTUSEMOVETORMENT - 12] = sText_PkmnCantUseMoveTorment,
+ [STRINGID_PKMNTIGHTENINGFOCUS - 12] = sText_PkmnTighteningFocus,
+ [STRINGID_PKMNFELLFORTAUNT - 12] = sText_PkmnFellForTaunt,
+ [STRINGID_PKMNCANTUSEMOVETAUNT - 12] = sText_PkmnCantUseMoveTaunt,
+ [STRINGID_PKMNREADYTOHELP - 12] = sText_PkmnReadyToHelp,
+ [STRINGID_PKMNSWITCHEDITEMS - 12] = sText_PkmnSwitchedItems,
+ [STRINGID_PKMNCOPIEDFOE - 12] = sText_PkmnCopiedFoe,
+ [STRINGID_PKMNMADEWISH - 12] = sText_PkmnMadeWish,
+ [STRINGID_PKMNWISHCAMETRUE - 12] = sText_PkmnWishCameTrue,
+ [STRINGID_PKMNPLANTEDROOTS - 12] = sText_PkmnPlantedRoots,
+ [STRINGID_PKMNABSORBEDNUTRIENTS - 12] = sText_PkmnAbsorbedNutrients,
+ [STRINGID_PKMNANCHOREDITSELF - 12] = sText_PkmnAnchoredItself,
+ [STRINGID_PKMNWASMADEDROWSY - 12] = sText_PkmnWasMadeDrowsy,
+ [STRINGID_PKMNKNOCKEDOFF - 12] = sText_PkmnKnockedOff,
+ [STRINGID_PKMNSWAPPEDABILITIES - 12] = sText_PkmnSwappedAbilities,
+ [STRINGID_PKMNSEALEDOPPONENTMOVE - 12] = sText_PkmnSealedOpponentMove,
+ [STRINGID_PKMNCANTUSEMOVESEALED - 12] = sText_PkmnCantUseMoveSealed,
+ [STRINGID_PKMNWANTSGRUDGE - 12] = sText_PkmnWantsGrudge,
+ [STRINGID_PKMNLOSTPPGRUDGE - 12] = sText_PkmnLostPPGrudge,
+ [STRINGID_PKMNSHROUDEDITSELF - 12] = sText_PkmnShroudedItself,
+ [STRINGID_PKMNMOVEBOUNCED - 12] = sText_PkmnMoveBounced,
+ [STRINGID_PKMNWAITSFORTARGET - 12] = sText_PkmnWaitsForTarget,
+ [STRINGID_PKMNSNATCHEDMOVE - 12] = sText_PkmnSnatchedMove,
+ [STRINGID_PKMNMADEITRAIN - 12] = sText_PkmnMadeItRain,
+ [STRINGID_PKMNRAISEDSPEED - 12] = sText_PkmnRaisedSpeed,
+ [STRINGID_PKMNPROTECTEDBY - 12] = sText_PkmnProtectedBy,
+ [STRINGID_PKMNPREVENTSUSAGE - 12] = sText_PkmnPreventsUsage,
+ [STRINGID_PKMNRESTOREDHPUSING - 12] = sText_PkmnRestoredHPUsing,
+ [STRINGID_PKMNCHANGEDTYPEWITH - 12] = sText_PkmnChangedTypeWith,
+ [STRINGID_PKMNPREVENTSPARALYSISWITH - 12] = sText_PkmnPreventsParalysisWith,
+ [STRINGID_PKMNPREVENTSROMANCEWITH - 12] = sText_PkmnPreventsRomanceWith,
+ [STRINGID_PKMNPREVENTSPOISONINGWITH - 12] = sText_PkmnPreventsPoisoningWith,
+ [STRINGID_PKMNPREVENTSCONFUSIONWITH - 12] = sText_PkmnPreventsConfusionWith,
+ [STRINGID_PKMNRAISEDFIREPOWERWITH - 12] = sText_PkmnRaisedFirePowerWith,
+ [STRINGID_PKMNANCHORSITSELFWITH - 12] = sText_PkmnAnchorsItselfWith,
+ [STRINGID_PKMNCUTSATTACKWITH - 12] = sText_PkmnCutsAttackWith,
+ [STRINGID_PKMNPREVENTSSTATLOSSWITH - 12] = sText_PkmnPreventsStatLossWith,
+ [STRINGID_PKMNHURTSWITH - 12] = sText_PkmnHurtsWith,
+ [STRINGID_PKMNTRACED - 12] = sText_PkmnTraced,
+ [STRINGID_STATSHARPLY - 12] = sText_StatSharply,
+ [STRINGID_STATROSE - 12] = gText_StatRose,
+ [STRINGID_STATHARSHLY - 12] = sText_StatHarshly,
+ [STRINGID_STATFELL - 12] = sText_StatFell,
+ [STRINGID_PKMNSSTATCHANGED - 12] = sText_PkmnsStatChanged,
+ [STRINGID_PKMNSSTATCHANGED2 - 12] = gText_PkmnsStatChanged2,
+ [STRINGID_PKMNSSTATCHANGED3 - 12] = sText_PkmnsStatChanged3,
+ [STRINGID_PKMNSSTATCHANGED4 - 12] = sText_PkmnsStatChanged4,
+ [STRINGID_CRITICALHIT - 12] = sText_CriticalHit,
+ [STRINGID_ONEHITKO - 12] = sText_OneHitKO,
+ [STRINGID_123POOF - 12] = sText_123Poof,
+ [STRINGID_ANDELLIPSIS - 12] = sText_AndEllipsis,
+ [STRINGID_NOTVERYEFFECTIVE - 12] = sText_NotVeryEffective,
+ [STRINGID_SUPEREFFECTIVE - 12] = sText_SuperEffective,
+ [STRINGID_GOTAWAYSAFELY - 12] = sText_GotAwaySafely,
+ [STRINGID_WILDPKMNFLED - 12] = sText_WildPkmnFled,
+ [STRINGID_NORUNNINGFROMTRAINERS - 12] = sText_NoRunningFromTrainers,
+ [STRINGID_CANTESCAPE - 12] = sText_CantEscape,
+ [STRINGID_DONTLEAVEBIRCH - 12] = sText_DontLeaveBirch,
+ [STRINGID_BUTNOTHINGHAPPENED - 12] = sText_ButNothingHappened,
+ [STRINGID_BUTITFAILED - 12] = sText_ButItFailed,
+ [STRINGID_ITHURTCONFUSION - 12] = sText_ItHurtConfusion,
+ [STRINGID_MIRRORMOVEFAILED - 12] = sText_MirrorMoveFailed,
+ [STRINGID_STARTEDTORAIN - 12] = sText_StartedToRain,
+ [STRINGID_DOWNPOURSTARTED - 12] = sText_DownpourStarted,
+ [STRINGID_RAINCONTINUES - 12] = sText_RainContinues,
+ [STRINGID_DOWNPOURCONTINUES - 12] = sText_DownpourContinues,
+ [STRINGID_RAINSTOPPED - 12] = sText_RainStopped,
+ [STRINGID_SANDSTORMBREWED - 12] = sText_SandstormBrewed,
+ [STRINGID_SANDSTORMRAGES - 12] = sText_SandstormRages,
+ [STRINGID_SANDSTORMSUBSIDED - 12] = sText_SandstormSubsided,
+ [STRINGID_SUNLIGHTGOTBRIGHT - 12] = sText_SunlightGotBright,
+ [STRINGID_SUNLIGHTSTRONG - 12] = sText_SunlightStrong,
+ [STRINGID_SUNLIGHTFADED - 12] = sText_SunlightFaded,
+ [STRINGID_STARTEDHAIL - 12] = sText_StartedHail,
+ [STRINGID_HAILCONTINUES - 12] = sText_HailContinues,
+ [STRINGID_HAILSTOPPED - 12] = sText_HailStopped,
+ [STRINGID_FAILEDTOSPITUP - 12] = sText_FailedToSpitUp,
+ [STRINGID_FAILEDTOSWALLOW - 12] = sText_FailedToSwallow,
+ [STRINGID_WINDBECAMEHEATWAVE - 12] = sText_WindBecameHeatWave,
+ [STRINGID_STATCHANGESGONE - 12] = sText_StatChangesGone,
+ [STRINGID_COINSSCATTERED - 12] = sText_CoinsScattered,
+ [STRINGID_TOOWEAKFORSUBSTITUTE - 12] = sText_TooWeakForSubstitute,
+ [STRINGID_SHAREDPAIN - 12] = sText_SharedPain,
+ [STRINGID_BELLCHIMED - 12] = sText_BellChimed,
+ [STRINGID_FAINTINTHREE - 12] = sText_FaintInThree,
+ [STRINGID_NOPPLEFT - 12] = sText_NoPPLeft,
+ [STRINGID_BUTNOPPLEFT - 12] = sText_ButNoPPLeft,
+ [STRINGID_PLAYERUSEDITEM - 12] = sText_PlayerUsedItem,
+ [STRINGID_WALLYUSEDITEM - 12] = sText_WallyUsedItem,
+ [STRINGID_TRAINERBLOCKEDBALL - 12] = sText_TrainerBlockedBall,
+ [STRINGID_DONTBEATHIEF - 12] = sText_DontBeAThief,
+ [STRINGID_ITDODGEDBALL - 12] = sText_ItDodgedBall,
+ [STRINGID_YOUMISSEDPKMN - 12] = sText_YouMissedPkmn,
+ [STRINGID_PKMNBROKEFREE - 12] = sText_PkmnBrokeFree,
+ [STRINGID_ITAPPEAREDCAUGHT - 12] = sText_ItAppearedCaught,
+ [STRINGID_AARGHALMOSTHADIT - 12] = sText_AarghAlmostHadIt,
+ [STRINGID_SHOOTSOCLOSE - 12] = sText_ShootSoClose,
+ [STRINGID_GOTCHAPKMNCAUGHT - 12] = sText_GotchaPkmnCaught,
+ [STRINGID_GOTCHAPKMNCAUGHT2 - 12] = sText_GotchaPkmnCaught2,
+ [STRINGID_GIVENICKNAMECAPTURED - 12] = sText_GiveNicknameCaptured,
+ [STRINGID_PKMNSENTTOPC - 12] = sText_PkmnSentToPC,
+ [STRINGID_PKMNDATAADDEDTODEX - 12] = sText_PkmnDataAddedToDex,
+ [STRINGID_ITISRAINING - 12] = sText_ItIsRaining,
+ [STRINGID_SANDSTORMISRAGING - 12] = sText_SandstormIsRaging,
+ [STRINGID_CANTESCAPE2 - 12] = sText_CantEscape2,
+ [STRINGID_PKMNIGNORESASLEEP - 12] = sText_PkmnIgnoresAsleep,
+ [STRINGID_PKMNIGNOREDORDERS - 12] = sText_PkmnIgnoredOrders,
+ [STRINGID_PKMNBEGANTONAP - 12] = sText_PkmnBeganToNap,
+ [STRINGID_PKMNLOAFING - 12] = sText_PkmnLoafing,
+ [STRINGID_PKMNWONTOBEY - 12] = sText_PkmnWontObey,
+ [STRINGID_PKMNTURNEDAWAY - 12] = sText_PkmnTurnedAway,
+ [STRINGID_PKMNPRETENDNOTNOTICE - 12] = sText_PkmnPretendNotNotice,
+ [STRINGID_ENEMYABOUTTOSWITCHPKMN - 12] = sText_EnemyAboutToSwitchPkmn,
+ [STRINGID_CREPTCLOSER - 12] = sText_CreptCloser,
+ [STRINGID_CANTGETCLOSER - 12] = sText_CantGetCloser,
+ [STRINGID_PKMNWATCHINGCAREFULLY - 12] = sText_PkmnWatchingCarefully,
+ [STRINGID_PKMNCURIOUSABOUTX - 12] = sText_PkmnCuriousAboutX,
+ [STRINGID_PKMNENTHRALLEDBYX - 12] = sText_PkmnEnthralledByX,
+ [STRINGID_PKMNIGNOREDX - 12] = sText_PkmnIgnoredX,
+ [STRINGID_THREWPOKEBLOCKATPKMN - 12] = sText_ThrewPokeblockAtPkmn,
+ [STRINGID_OUTOFSAFARIBALLS - 12] = sText_OutOfSafariBalls,
+ [STRINGID_PKMNSITEMCUREDPARALYSIS - 12] = sText_PkmnsItemCuredParalysis,
+ [STRINGID_PKMNSITEMCUREDPOISON - 12] = sText_PkmnsItemCuredPoison,
+ [STRINGID_PKMNSITEMHEALEDBURN - 12] = sText_PkmnsItemHealedBurn,
+ [STRINGID_PKMNSITEMDEFROSTEDIT - 12] = sText_PkmnsItemDefrostedIt,
+ [STRINGID_PKMNSITEMWOKEIT - 12] = sText_PkmnsItemWokeIt,
+ [STRINGID_PKMNSITEMSNAPPEDOUT - 12] = sText_PkmnsItemSnappedOut,
+ [STRINGID_PKMNSITEMCUREDPROBLEM - 12] = sText_PkmnsItemCuredProblem,
+ [STRINGID_PKMNSITEMRESTOREDHEALTH - 12] = sText_PkmnsItemRestoredHealth,
+ [STRINGID_PKMNSITEMRESTOREDPP - 12] = sText_PkmnsItemRestoredPP,
+ [STRINGID_PKMNSITEMRESTOREDSTATUS - 12] = sText_PkmnsItemRestoredStatus,
+ [STRINGID_PKMNSITEMRESTOREDHPALITTLE - 12] = sText_PkmnsItemRestoredHPALittle,
+ [STRINGID_ITEMALLOWSONLYYMOVE - 12] = sText_ItemAllowsOnlyYMove,
+ [STRINGID_PKMNHUNGONWITHX - 12] = sText_PkmnHungOnWithX,
+ [STRINGID_EMPTYSTRING3 - 12] = gText_EmptyString3,
+ [STRINGID_PKMNSXPREVENTSBURNS - 12] = sText_PkmnsXPreventsBurns,
+ [STRINGID_PKMNSXBLOCKSY - 12] = sText_PkmnsXBlocksY,
+ [STRINGID_PKMNSXRESTOREDHPALITTLE2 - 12] = sText_PkmnsXRestoredHPALittle2,
+ [STRINGID_PKMNSXWHIPPEDUPSANDSTORM - 12] = sText_PkmnsXWhippedUpSandstorm,
+ [STRINGID_PKMNSXPREVENTSYLOSS - 12] = sText_PkmnsXPreventsYLoss,
+ [STRINGID_PKMNSXINFATUATEDY - 12] = sText_PkmnsXInfatuatedY,
+ [STRINGID_PKMNSXMADEYINEFFECTIVE - 12] = sText_PkmnsXMadeYIneffective,
+ [STRINGID_PKMNSXCUREDYPROBLEM - 12] = sText_PkmnsXCuredYProblem,
+ [STRINGID_ITSUCKEDLIQUIDOOZE - 12] = sText_ItSuckedLiquidOoze,
+ [STRINGID_PKMNTRANSFORMED - 12] = sText_PkmnTransformed,
+ [STRINGID_ELECTRICITYWEAKENED - 12] = sText_ElectricityWeakened,
+ [STRINGID_FIREWEAKENED - 12] = sText_FireWeakened,
+ [STRINGID_PKMNHIDUNDERWATER - 12] = sText_PkmnHidUnderwater,
+ [STRINGID_PKMNSPRANGUP - 12] = sText_PkmnSprangUp,
+ [STRINGID_HMMOVESCANTBEFORGOTTEN - 12] = sText_HMMovesCantBeForgotten,
+ [STRINGID_XFOUNDONEY - 12] = sText_XFoundOneY,
+ [STRINGID_PLAYERDEFEATEDTRAINER1 - 12] = sText_PlayerDefeatedLinkTrainerTrainer1,
+ [STRINGID_SOOTHINGAROMA - 12] = sText_SoothingAroma,
+ [STRINGID_ITEMSCANTBEUSEDNOW - 12] = sText_ItemsCantBeUsedNow,
+ [STRINGID_FORXCOMMAYZ - 12] = sText_ForXCommaYZ,
+ [STRINGID_USINGXTHEYOFZN - 12] = sText_UsingXTheYOfZN,
+ [STRINGID_PKMNUSEDXTOGETPUMPED - 12] = sText_PkmnUsedXToGetPumped,
+ [STRINGID_PKMNSXMADEYUSELESS - 12] = sText_PkmnsXMadeYUseless,
+ [STRINGID_PKMNTRAPPEDBYSANDTOMB - 12] = sText_PkmnTrappedBySandTomb,
+ [STRINGID_EMPTYSTRING4 - 12] = sText_EmptyString4,
+ [STRINGID_ABOOSTED - 12] = sText_ABoosted,
+ [STRINGID_PKMNSXINTENSIFIEDSUN - 12] = sText_PkmnsXIntensifiedSun,
+ [STRINGID_PKMNMAKESGROUNDMISS - 12] = sText_PkmnMakesGroundMiss,
+ [STRINGID_YOUTHROWABALLNOWRIGHT - 12] = sText_YouThrowABallNowRight,
+ [STRINGID_PKMNSXTOOKATTACK - 12] = sText_PkmnsXTookAttack,
+ [STRINGID_PKMNCHOSEXASDESTINY - 12] = sText_PkmnChoseXAsDestiny,
+ [STRINGID_PKMNLOSTFOCUS - 12] = sText_PkmnLostFocus,
+ [STRINGID_USENEXTPKMN - 12] = sText_UseNextPkmn,
+ [STRINGID_PKMNFLEDUSINGITS - 12] = sText_PkmnFledUsingIts,
+ [STRINGID_PKMNFLEDUSING - 12] = sText_PkmnFledUsing,
+ [STRINGID_PKMNWASDRAGGEDOUT - 12] = sText_PkmnWasDraggedOut,
+ [STRINGID_PREVENTEDFROMWORKING - 12] = sText_PreventedFromWorking,
+ [STRINGID_PKMNSITEMNORMALIZEDSTATUS - 12] = sText_PkmnsItemNormalizedStatus,
+ [STRINGID_TRAINER1USEDITEM - 12] = sText_Trainer1UsedItem,
+ [STRINGID_BOXISFULL - 12] = sText_BoxIsFull,
+ [STRINGID_PKMNAVOIDEDATTACK - 12] = sText_PkmnAvoidedAttack,
+ [STRINGID_PKMNSXMADEITINEFFECTIVE - 12] = sText_PkmnsXMadeItIneffective,
+ [STRINGID_PKMNSXPREVENTSFLINCHING - 12] = sText_PkmnsXPreventsFlinching,
+ [STRINGID_PKMNALREADYHASBURN - 12] = sText_PkmnAlreadyHasBurn,
+ [STRINGID_STATSWONTDECREASE2 - 12] = sText_StatsWontDecrease2,
+ [STRINGID_PKMNSXBLOCKSY2 - 12] = sText_PkmnsXBlocksY2,
+ [STRINGID_PKMNSXWOREOFF - 12] = sText_PkmnsXWoreOff,
+ [STRINGID_PKMNRAISEDDEFALITTLE - 12] = sText_PkmnRaisedDefALittle,
+ [STRINGID_PKMNRAISEDSPDEFALITTLE - 12] = sText_PkmnRaisedSpDefALittle,
+ [STRINGID_THEWALLSHATTERED - 12] = sText_TheWallShattered,
+ [STRINGID_PKMNSXPREVENTSYSZ - 12] = sText_PkmnsXPreventsYsZ,
+ [STRINGID_PKMNSXCUREDITSYPROBLEM - 12] = sText_PkmnsXCuredItsYProblem,
+ [STRINGID_ATTACKERCANTESCAPE - 12] = sText_AttackerCantEscape,
+ [STRINGID_PKMNOBTAINEDX - 12] = sText_PkmnObtainedX,
+ [STRINGID_PKMNOBTAINEDX2 - 12] = sText_PkmnObtainedX2,
+ [STRINGID_PKMNOBTAINEDXYOBTAINEDZ - 12] = sText_PkmnObtainedXYObtainedZ,
+ [STRINGID_BUTNOEFFECT - 12] = sText_ButNoEffect,
+ [STRINGID_PKMNSXHADNOEFFECTONY - 12] = sText_PkmnsXHadNoEffectOnY,
+ [STRINGID_TWOENEMIESDEFEATED - 12] = sText_TwoInGameTrainersDefeated,
+ [STRINGID_TRAINER2LOSETEXT - 12] = sText_Trainer2LoseText,
+ [STRINGID_PKMNINCAPABLEOFPOWER - 12] = sText_PkmnIncapableOfPower,
+ [STRINGID_GLINTAPPEARSINEYE - 12] = sText_GlintAppearsInEye,
+ [STRINGID_PKMNGETTINGINTOPOSITION - 12] = sText_PkmnGettingIntoPosition,
+ [STRINGID_PKMNBEGANGROWLINGDEEPLY - 12] = sText_PkmnBeganGrowlingDeeply,
+ [STRINGID_PKMNEAGERFORMORE - 12] = sText_PkmnEagerForMore,
+ [STRINGID_DEFEATEDOPPONENTBYREFEREE - 12] = sText_DefeatedOpponentByReferee,
+ [STRINGID_LOSTTOOPPONENTBYREFEREE - 12] = sText_LostToOpponentByReferee,
+ [STRINGID_TIEDOPPONENTBYREFEREE - 12] = sText_TiedOpponentByReferee,
+ [STRINGID_QUESTIONFORFEITMATCH - 12] = sText_QuestionForfeitMatch,
+ [STRINGID_FORFEITEDMATCH - 12] = sText_ForfeitedMatch,
+ [STRINGID_PKMNTRANSFERREDSOMEONESPC - 12] = gText_PkmnTransferredSomeonesPC,
+ [STRINGID_PKMNTRANSFERREDLANETTESPC - 12] = gText_PkmnTransferredLanettesPC,
+ [STRINGID_PKMNBOXSOMEONESPCFULL - 12] = gText_PkmnBoxSomeonesPCFull,
+ [STRINGID_PKMNBOXLANETTESPCFULL - 12] = gText_PkmnBoxLanettesPCFull,
+ [STRINGID_TRAINER1WINTEXT - 12] = sText_Trainer1WinText,
+ [STRINGID_TRAINER2WINTEXT - 12] = sText_Trainer2WinText,
};
const u16 gMissStringIds[] =
@@ -1215,7 +1215,7 @@ const u8 gText_Win[] = _("{HIGHLIGHT TRANSPARENT}Win");
const u8 gText_Loss[] = _("{HIGHLIGHT TRANSPARENT}Loss");
const u8 gText_Draw[] = _("{HIGHLIGHT TRANSPARENT}Draw");
static const u8 sText_SpaceIs[] = _(" is");
-static const u8 sText_ApostropheS[] = _("’s");
+static const u8 sText_ApostropheS[] = _("'s");
static const u8 sATypeMove_Table[][17] =
{
@@ -1272,7 +1272,7 @@ static const u8 sText_InGamePartnerSentOutZGoN[] = _("{B_PARTNER_CLASS} {B_PARTN
static const u8 sText_TwoInGameTrainersDefeated[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} and\n{B_TRAINER2_CLASS} {B_TRAINER2_NAME}\lwere defeated!\p");
static const u8 sText_Trainer2LoseText[] = _("{B_TRAINER2_LOSE_TEXT}");
static const u8 sText_PkmnIncapableOfPower[] = _("{B_ATK_NAME_WITH_PREFIX} appears incapable\nof using its power!");
-static const u8 sText_GlintAppearsInEye[] = _("A glint appears in\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}’s eyes!");
+static const u8 sText_GlintAppearsInEye[] = _("A glint appears in\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s eyes!");
static const u8 sText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is getting into\nposition!");
static const u8 sText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!");
static const u8 sText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!");
@@ -1284,29 +1284,29 @@ const u16 gStringIds_85CCF0A[] =
};
static const u8 sText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!");
-static const u8 sText_RefThatsIt[] = _("REFEREE: That’s it! We will now go to\njudging to determine the winner!");
+static const u8 sText_RefThatsIt[] = _("REFEREE: That's it! We will now go to\njudging to determine the winner!");
static const u8 sText_RefJudgeMind[] = _("REFEREE: Judging category 1, Mind!\nThe POKéMON showing the most guts!\p");
static const u8 sText_RefJudgeSkill[] = _("REFEREE: Judging category 2, Skill!\nThe POKéMON using moves the best!\p");
static const u8 sText_RefJudgeBody[] = _("REFEREE: Judging category 3, Body!\nThe POKéMON with the most vitality!\p");
-static const u8 sText_RefJudgement1[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_PLAYER_NAME}’s {B_PLAYER_MON1_NAME}!\p");
-static const u8 sText_RefJudgement2[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_TRAINER1_NAME}’s {B_OPPONENT_MON1_NAME}!\p");
+static const u8 sText_RefJudgement1[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_PLAYER_NAME}'s {B_PLAYER_MON1_NAME}!\p");
+static const u8 sText_RefJudgement2[] = _("REFEREE: Judgment: {B_BUFF1} to {B_BUFF2}!\nThe winner is {B_TRAINER1_NAME}'s {B_OPPONENT_MON1_NAME}!\p");
static const u8 sText_RefJudgement3[] = _("REFEREE: Judgment: 3 to 3!\nWe have a draw!\p");
-static const u8 sText_DefeatedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} defeated the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE’s decision!");
-static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost to the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE’s decision!");
-static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE’s decision!");
+static const u8 sText_DefeatedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} defeated the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
+static const u8 sText_LostToOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} lost to the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
+static const u8 sText_TiedOpponentByReferee[] = _("{B_PLAYER_MON1_NAME} tied the opponent\n{B_OPPONENT_MON1_NAME} in a REFEREE's decision!");
static const u8 sText_RefCommenceBattle[] = _("REFEREE: {B_PLAYER_MON1_NAME} VS {B_OPPONENT_MON1_NAME}!\nCommence battling!");
const u8 * const gRefereeStringsTable[] =
{
sText_RefIfNothingIsDecided,
- sText_RefThatsIt,
- sText_RefJudgeMind,
- sText_RefJudgeSkill,
- sText_RefJudgeBody,
- sText_RefJudgement1,
- sText_RefJudgement2,
- sText_RefJudgement3,
- sText_RefCommenceBattle,
+ sText_RefThatsIt,
+ sText_RefJudgeMind,
+ sText_RefJudgeSkill,
+ sText_RefJudgeBody,
+ sText_RefJudgement1,
+ sText_RefJudgement2,
+ sText_RefJudgement3,
+ sText_RefCommenceBattle,
};
static const u8 sText_QuestionForfeitMatch[] = _("Would you like to forfeit the match\nand quit now?");
@@ -1317,7 +1317,7 @@ static const u8 sText_Trainer1Fled[] = _( "{PLAY_SE 0x0011}{B_TRAINER1_CLASS} {B
static const u8 sText_PlayerLostAgainstTrainer1[] = _("Player lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
static const u8 sText_PlayerBattledToDrawTrainer1[] = _("Player battled to a draw against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!");
const u8 gText_RecordBattleToPass[] = _("Would you like to record your battle\non your FRONTIER PASS?");
-const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}’s battle result was recorded\non the FRONTIER PASS.");
+const u8 gText_BattleRecordedOnPass[] = _("{B_PLAYER_NAME}'s battle result was recorded\non the FRONTIER PASS.");
static const u8 sText_LinkTrainerWantsToBattlePause[] = _("{B_LINK_OPPONENT1_NAME}\nwants to battle!{PAUSE 49}");
static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\nwant to battle!{PAUSE 49}");
@@ -1368,574 +1368,574 @@ static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS,
static const struct BattleWindowText sTextOnWindowsInfo_Normal[] =
{
// The corresponding WindowTemplate is gStandardBattleWindowTemplates[] within src/battle_bg.c
- { // 0 Standard battle message
- .fillValue = 0xFF,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 1,
- .fgColor = 1,
- .bgColor = 15,
- .shadowColor = 6,
- },
- { // 1 "What will (pokemon) do?"
- .fillValue = 0xFF,
- .fontId = 1,
- .x = 1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 1,
- .bgColor = 15,
- .shadowColor = 6,
- },
- { // 2 "Fight/Pokemon/Bag/Run"
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 3 Top left move
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 4 Top right move
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 5 Bottom left move
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 6 Bottom right move
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 7 "PP"
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 12,
- .bgColor = 14,
- .shadowColor = 11,
- },
- { // 8
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 9 PP remaining
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 2,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 12,
- .bgColor = 14,
- .shadowColor = 11,
- },
- { // 10 "type"
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 11 "switch which?"
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 12 "gText_BattleYesNoChoice"
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 13
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 14
- .fillValue = 0x0,
- .fontId = 1,
- .x = 32,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 1,
- .bgColor = 0,
- .shadowColor = 2,
- },
- { // 15
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 16
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 17
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 18
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 19
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 20
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 21
- .fillValue = 0x0,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 1,
- .bgColor = 0,
- .shadowColor = 6,
- },
- { // 22
- .fillValue = 0x0,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 1,
- .bgColor = 0,
- .shadowColor = 6,
- },
- { // 23
- .fillValue = 0x0,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 1,
- .bgColor = 0,
- .shadowColor = 6,
- },
+ { // 0 Standard battle message
+ .fillValue = 0xFF,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 1,
+ .fgColor = 1,
+ .bgColor = 15,
+ .shadowColor = 6,
+ },
+ { // 1 "What will (pokemon) do?"
+ .fillValue = 0xFF,
+ .fontId = 1,
+ .x = 1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 1,
+ .bgColor = 15,
+ .shadowColor = 6,
+ },
+ { // 2 "Fight/Pokemon/Bag/Run"
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 3 Top left move
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 4 Top right move
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 5 Bottom left move
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 6 Bottom right move
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 7 "PP"
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 12,
+ .bgColor = 14,
+ .shadowColor = 11,
+ },
+ { // 8
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 9 PP remaining
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 2,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 12,
+ .bgColor = 14,
+ .shadowColor = 11,
+ },
+ { // 10 "type"
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 11 "switch which?"
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 12 "gText_BattleYesNoChoice"
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 13
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 14
+ .fillValue = 0x0,
+ .fontId = 1,
+ .x = 32,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 1,
+ .bgColor = 0,
+ .shadowColor = 2,
+ },
+ { // 15
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 16
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 17
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 18
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 19
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 20
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 21
+ .fillValue = 0x0,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 1,
+ .bgColor = 0,
+ .shadowColor = 6,
+ },
+ { // 22
+ .fillValue = 0x0,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 1,
+ .bgColor = 0,
+ .shadowColor = 6,
+ },
+ { // 23
+ .fillValue = 0x0,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 1,
+ .bgColor = 0,
+ .shadowColor = 6,
+ },
};
static const struct BattleWindowText sTextOnWindowsInfo_Arena[] =
{
- { // 0
- .fillValue = 0xFF,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 1,
- .fgColor = 1,
- .bgColor = 15,
- .shadowColor = 6,
- },
- { // 1
- .fillValue = 0xFF,
- .fontId = 1,
- .x = 1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 1,
- .bgColor = 15,
- .shadowColor = 6,
- },
- { // 2
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 3
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 4
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 5
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 6
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 7
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 12,
- .bgColor = 14,
- .shadowColor = 11,
- },
- { // 8
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 9
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 2,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 12,
- .bgColor = 14,
- .shadowColor = 11,
- },
- { // 10
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 11
- .fillValue = 0xEE,
- .fontId = 7,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 12
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 13
- .fillValue = 0xEE,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 14
- .fillValue = 0x0,
- .fontId = 1,
- .x = 32,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 1,
- .bgColor = 0,
- .shadowColor = 2,
- },
- { // 15
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 1,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 16
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 17
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 18
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 19
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 20
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 21
- .fillValue = 0xEE,
- .fontId = 1,
- .x = -1,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 0,
- .fgColor = 13,
- .bgColor = 14,
- .shadowColor = 15,
- },
- { // 22
- .fillValue = 0x11,
- .fontId = 1,
- .x = 0,
- .y = 1,
- .letterSpacing = 0,
- .lineSpacing = 0,
- .speed = 1,
- .fgColor = 2,
- .bgColor = 1,
- .shadowColor = 3,
- },
+ { // 0
+ .fillValue = 0xFF,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 1,
+ .fgColor = 1,
+ .bgColor = 15,
+ .shadowColor = 6,
+ },
+ { // 1
+ .fillValue = 0xFF,
+ .fontId = 1,
+ .x = 1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 1,
+ .bgColor = 15,
+ .shadowColor = 6,
+ },
+ { // 2
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 3
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 4
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 5
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 6
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 7
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 12,
+ .bgColor = 14,
+ .shadowColor = 11,
+ },
+ { // 8
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 9
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 2,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 12,
+ .bgColor = 14,
+ .shadowColor = 11,
+ },
+ { // 10
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 11
+ .fillValue = 0xEE,
+ .fontId = 7,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 12
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 13
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 14
+ .fillValue = 0x0,
+ .fontId = 1,
+ .x = 32,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 1,
+ .bgColor = 0,
+ .shadowColor = 2,
+ },
+ { // 15
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 1,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 16
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 17
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 18
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 19
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 20
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 21
+ .fillValue = 0xEE,
+ .fontId = 1,
+ .x = -1,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 0,
+ .fgColor = 13,
+ .bgColor = 14,
+ .shadowColor = 15,
+ },
+ { // 22
+ .fillValue = 0x11,
+ .fontId = 1,
+ .x = 0,
+ .y = 1,
+ .letterSpacing = 0,
+ .lineSpacing = 0,
+ .speed = 1,
+ .fgColor = 2,
+ .bgColor = 1,
+ .shadowColor = 3,
+ },
};
static const struct BattleWindowText *const sBattleTextOnWindowsInfo[] =
diff --git a/src/battle_pike.c b/src/battle_pike.c
index a0a50d86e..893796790 100644
--- a/src/battle_pike.c
+++ b/src/battle_pike.c
@@ -9,7 +9,7 @@
#include "task.h"
#include "battle_tower.h"
#include "party_menu.h"
-#include "malloc.h"
+#include "alloc.h"
#include "palette.h"
#include "script.h"
#include "battle_setup.h"
@@ -19,6 +19,7 @@
#include "constants/rgb.h"
#include "constants/trainers.h"
#include "constants/species.h"
+#include "constants/moves.h"
#define PIKE_ROOM_SINGLE_BATTLE 0
#define PIKE_ROOM_HEAL_FULL 1
@@ -40,7 +41,6 @@ struct Unk0861231C
u8 unk2;
u8 unk3;
u8 unk4;
- u8 unk5;
};
struct PikeWildMon
@@ -50,11 +50,6 @@ struct PikeWildMon
u16 moves[4];
};
-extern const struct Unk0861231C gUnknown_0861231C[];
-extern const struct PikeWildMon *const *const gUnknown_08612314[2];
-extern const u16 gUnknown_086123E4[][6];
-extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
-
// IWRAM bss
static IWRAM_DATA u8 sRoomType;
static IWRAM_DATA u8 sStatusMon;
@@ -106,6 +101,380 @@ static bool8 sub_81A7D8C(struct Task *task);
static bool8 sub_81A7DE8(struct Task *task);
// Const rom data.
+static const struct PikeWildMon sLvl50_Mons1[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .levelDelta = 5,
+ .moves = {MOVE_WILL_O_WISP, MOVE_MEAN_LOOK, MOVE_TOXIC, MOVE_SHADOW_PUNCH}
+ }
+};
+
+static const struct PikeWildMon sLvl50_Mons2[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .levelDelta = 5,
+ .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_THUNDER, MOVE_TOXIC}
+ }
+};
+
+static const struct PikeWildMon sLvl50_Mons3[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .levelDelta = 5,
+ .moves = {MOVE_SPORE, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_HIDDEN_POWER}
+ }
+};
+
+static const struct PikeWildMon sLvl50_Mons4[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_BODY_SLAM, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_SURF}
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .levelDelta = 5,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND}
+ }
+};
+
+static const struct PikeWildMon *const sLvl50Mons[] =
+{
+ sLvl50_Mons1,
+ sLvl50_Mons2,
+ sLvl50_Mons3,
+ sLvl50_Mons4
+};
+
+static const struct PikeWildMon sLvlOpen_Mons1[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .levelDelta = 5,
+ .moves = {MOVE_WILL_O_WISP, MOVE_MEAN_LOOK, MOVE_TOXIC, MOVE_ICE_BEAM}
+ }
+};
+
+static const struct PikeWildMon sLvlOpen_Mons2[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .levelDelta = 5,
+ .moves = {MOVE_EXPLOSION, MOVE_SELF_DESTRUCT, MOVE_THUNDER, MOVE_TOXIC}
+ }
+};
+
+static const struct PikeWildMon sLvlOpen_Mons3[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .levelDelta = 5,
+ .moves = {MOVE_SPORE, MOVE_STUN_SPORE, MOVE_POISON_POWDER, MOVE_HIDDEN_POWER}
+ }
+};
+
+static const struct PikeWildMon sLvlOpen_Mons4[] =
+{
+ {
+ .species = SPECIES_SEVIPER,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SLUDGE_BOMB}
+ },
+ {
+ .species = SPECIES_MILOTIC,
+ .levelDelta = 4,
+ .moves = {MOVE_TOXIC, MOVE_HYPNOSIS, MOVE_BODY_SLAM, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .levelDelta = 5,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_ENCORE}
+ }
+};
+
+static const struct PikeWildMon *const sLvlOpenMons[] =
+{
+ sLvlOpen_Mons1,
+ sLvlOpen_Mons2,
+ sLvlOpen_Mons3,
+ sLvlOpen_Mons4
+};
+
+static const struct PikeWildMon *const *const sWildMons[2] =
+{
+ [FRONTIER_LVL_50] = sLvl50Mons,
+ [FRONTIER_LVL_OPEN] = sLvlOpenMons
+};
+
+static const struct Unk0861231C gUnknown_0861231C[] =
+{
+ {
+ .unk0 = 0x0012,
+ .unk2 = 0x03,
+ .unk3 = 0x05,
+ .unk4 = 0x06
+ },
+ {
+ .unk0 = 0x0005,
+ .unk2 = 0x0d,
+ .unk3 = 0x20,
+ .unk4 = 0x25
+ },
+ {
+ .unk0 = 0x0011,
+ .unk2 = 0x08,
+ .unk3 = 0x0b,
+ .unk4 = 0x0c
+ },
+ {
+ .unk0 = 0x0024,
+ .unk2 = 0x22,
+ .unk3 = 0x1e,
+ .unk4 = 0x21
+ },
+ {
+ .unk0 = 0x0015,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .unk4 = 0x00
+ },
+ {
+ .unk0 = 0x001e,
+ .unk2 = 0x01,
+ .unk3 = 0x01,
+ .unk4 = 0x01
+ },
+ {
+ .unk0 = 0x002c,
+ .unk2 = 0x16,
+ .unk3 = 0x17,
+ .unk4 = 0x1b
+ },
+ {
+ .unk0 = 0x0037,
+ .unk2 = 0x08,
+ .unk3 = 0x16,
+ .unk4 = 0x1f
+ },
+ {
+ .unk0 = 0x000e,
+ .unk2 = 0x0d,
+ .unk3 = 0x27,
+ .unk4 = 0x15
+ },
+ {
+ .unk0 = 0x0014,
+ .unk2 = 0x02,
+ .unk3 = 0x04,
+ .unk4 = 0x11
+ },
+ {
+ .unk0 = 0x0038,
+ .unk2 = 0x1e,
+ .unk3 = 0x14,
+ .unk4 = 0x24
+ },
+ {
+ .unk0 = 0x0042,
+ .unk2 = 0x1c,
+ .unk3 = 0x22,
+ .unk4 = 0x19
+ },
+ {
+ .unk0 = 0x0026,
+ .unk2 = 0x17,
+ .unk3 = 0x26,
+ .unk4 = 0x1a
+ },
+ {
+ .unk0 = 0x0032,
+ .unk2 = 0x17,
+ .unk3 = 0x1e,
+ .unk4 = 0x0b
+ },
+ {
+ .unk0 = 0x002f,
+ .unk2 = 0x0f,
+ .unk3 = 0x13,
+ .unk4 = 0x0e
+ },
+ {
+ .unk0 = 0x0027,
+ .unk2 = 0x02,
+ .unk3 = 0x1d,
+ .unk4 = 0x1a
+ },
+ {
+ .unk0 = 0x0033,
+ .unk2 = 0x25,
+ .unk3 = 0x0c,
+ .unk4 = 0x20
+ },
+ {
+ .unk0 = 0x0021,
+ .unk2 = 0x18,
+ .unk3 = 0x17,
+ .unk4 = 0x26
+ },
+ {
+ .unk0 = 0x0018,
+ .unk2 = 0x05,
+ .unk3 = 0x16,
+ .unk4 = 0x04
+ },
+ {
+ .unk0 = 0x000b,
+ .unk2 = 0x29,
+ .unk3 = 0x25,
+ .unk4 = 0x23
+ },
+ {
+ .unk0 = 0x0035,
+ .unk2 = 0x27,
+ .unk3 = 0x0e,
+ .unk4 = 0x0d
+ },
+ {
+ .unk0 = 0x0030,
+ .unk2 = 0x0a,
+ .unk3 = 0x07,
+ .unk4 = 0x09
+ },
+ {
+ .unk0 = 0x000c,
+ .unk2 = 0x28,
+ .unk3 = 0x14,
+ .unk4 = 0x10
+ },
+ {
+ .unk0 = 0x0034,
+ .unk2 = 0x12,
+ .unk3 = 0x0d,
+ .unk4 = 0x15
+ },
+ {
+ .unk0 = 0x0013,
+ .unk2 = 0x16,
+ .unk3 = 0x1f,
+ .unk4 = 0x1b
+ }
+};
+
+static const u16 gUnknown_086123E4[][6] =
+{
+ {0x0a29, 0x0630, 0x0a01, 0x140f, 0x1020, 0x270e},
+ {0x0a2a, 0x081d, 0x061b, 0x1034, 0x1e20, 0x0a29},
+ {0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1a, 0x0c03},
+ {0x1e0f, 0x100b, 0x1039, 0x200f, 0x102b, 0x0a14},
+ {0x103b, 0x0a02, 0x161e, 0x1020, 0x143e, 0x0c03},
+ {0x0a31, 0x0e02, 0x0e15, 0x1436, 0x1037, 0x1e0a},
+ {0x0a29, 0x1025, 0x142a, 0x1034, 0x1e0f, 0x0a1b},
+ {0x0a01, 0x0e07, 0x122a, 0x1e0f, 0x061f, 0xffff},
+ {0x1a35, 0x1036, 0x0e0f, 0x0a01, 0x2621, 0x1e0f},
+ {0x0e25, 0x102f, 0x062d, 0x201e, 0x0c03, 0xffff},
+ {0x0c1d, 0x081d, 0x0a2b, 0x100f, 0x0a02, 0x0c03},
+ {0x0a2a, 0x0a3e, 0x2000, 0x1027, 0x1c08, 0x0c04},
+ {0x0a01, 0x1212, 0x0a01, 0x1000, 0x062d, 0xffff},
+ {0x1e22, 0x1231, 0x0a01, 0x1018, 0x1c1c, 0x0c03},
+ {0x0a01, 0x060b, 0x1030, 0x0a28, 0x2549, 0x0624},
+ {0x1014, 0x0a2c, 0x0415, 0x1642, 0x1e1b, 0x0c03},
+ {0x0628, 0x1a0f, 0x100b, 0x2017, 0x0c00, 0xffff},
+ {0x0a01, 0x1015, 0x1647, 0x1e0f, 0x0e39, 0x0e36},
+ {0x0a01, 0x1017, 0x1620, 0x0e19, 0x0a31, 0x0c38},
+ {0x0c1d, 0x081d, 0x0c00, 0x1022, 0x1c12, 0x020b},
+ {0x1029, 0x1404, 0x102f, 0x1006, 0x1e28, 0x1c1c},
+ {0x1029, 0x0e20, 0x1028, 0x1c16, 0x1e29, 0x0c03},
+ {0x1e0f, 0x100b, 0x0e2f, 0x0638, 0x100c, 0xffff},
+ {0x0a29, 0x1408, 0x102f, 0x061e, 0x102c, 0xffff},
+ {0x1023, 0x100b, 0x081d, 0x062d, 0x1037, 0x0a14},
+ {0x0a29, 0x1022, 0x1408, 0x102f, 0x161e, 0x1029},
+ {0x0601, 0x102c, 0x0a01, 0x1015, 0x0e39, 0x0e36},
+ {0x1020, 0x020b, 0x103f, 0x1c12, 0x0c04, 0xffff},
+ {0x1018, 0x0a02, 0x103a, 0x0446, 0x020e, 0x0c03},
+ {0x1e10, 0x020b, 0x1e0a, 0x100b, 0x063a, 0xffff},
+ {0x0a02, 0x1212, 0x1e0f, 0x100b, 0x0638, 0x0c03},
+ {0x1e22, 0x1000, 0x161b, 0x103f, 0x1e0f, 0x0c03},
+ {0x0a29, 0x0e1e, 0x1025, 0x1e26, 0x0c00, 0xffff},
+ {0x0a01, 0x0e1e, 0x1236, 0x102f, 0x120b, 0x0c04},
+ {0x2805, 0x1e0f, 0x0a1b, 0x100b, 0x1020, 0x063b},
+ {0x0a01, 0x101f, 0x0a3e, 0x1037, 0x1020, 0x0628},
+ {0x1026, 0x0a31, 0x1e29, 0x1c1c, 0x0a01, 0x1212},
+ {0x0c0a, 0x0c00, 0x1029, 0x101c, 0x1e0f, 0x0c23},
+ {0x0a28, 0x020e, 0x100f, 0x1039, 0x142a, 0x0c04},
+ {0x0a28, 0x020e, 0x100f, 0x0620, 0x102f, 0x043c},
+ {0x0c39, 0x0c39, 0x0c00, 0x0a29, 0x2017, 0x0c39},
+ {0x265c, 0x100b, 0x1020, 0x1230, 0x1e05, 0x100c},
+};
+
static const u8 gUnknown_086125DC[][4] =
{
{0x23, 0x46, 0x23, 0x01},
@@ -732,7 +1101,7 @@ bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate)
s32 monLevel;
u8 headerId = GetBattlePikeWildMonHeaderId();
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
- const struct PikeWildMon *const *const wildMons = gUnknown_08612314[lvlMode];
+ const struct PikeWildMon *const *const wildMons = sWildMons[lvlMode];
u32 abilityBit;
s32 pikeMonId = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL);
pikeMonId = SpeciesToPikeMonId(pikeMonId);
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c
index 4bbc74dee..45aca91c8 100644
--- a/src/battle_pyramid.c
+++ b/src/battle_pyramid.c
@@ -6,6 +6,7 @@
#include "battle_setup.h"
#include "battle_tower.h"
#include "save.h"
+#include "strings.h"
#include "fieldmap.h"
#include "palette.h"
#include "field_message_box.h"
@@ -20,23 +21,34 @@
#include "main.h"
#include "load_save.h"
#include "script.h"
-#include "malloc.h"
+#include "alloc.h"
#include "overworld.h"
+#include "event_scripts.h"
#include "constants/battle_frontier.h"
#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/moves.h"
+#include "constants/species.h"
extern u8 gSelectedOrderFromParty[3];
extern void door_upload_tiles(void);
extern const struct MapLayout *const gMapLayouts[];
+extern const u16 gUnknown_08D856C8[][16];
#define TOTAL_ROUNDS 20
#define PICKUP_ITEMS_PER_ROUND 10
+struct PyramidWildMon
+{
+ u16 species;
+ u8 lvl;
+ u8 abilityBit;
+ u16 moves[4];
+};
+
struct Struct_08613650
{
u8 unk0;
@@ -47,28 +59,12 @@ struct Struct_08613650
u8 unk5[8];
};
-struct PyramidWildMon
-{
- u16 species;
- u8 lvl;
- u8 abilityBit;
- u16 moves[4];
-};
-
struct ClassMusic
{
u8 class;
u8 music;
};
-extern const u16 gBattleFrontierHeldItems[];
-extern const struct FacilityMon gBattleFrontierMons[];
-extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
-
-extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
-extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F[];
-extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A[];
-
// This file's functions.
static void sub_81A8E9C(void);
static void sub_81A8F38(void);
@@ -102,19 +98,662 @@ static bool8 sub_81AA760(u8 arg0, u8 *mapNums, u8 whichMap, u8 id);
static bool8 sub_81AA810(u8 arg0, u8 x, u8 y, u8 *mapNums, u8 whichMap, u8 id);
// Const rom data.
-extern const struct Struct_08613650 gUnknown_08613650[];
-extern const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND];
-extern const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND];
-extern const u8 gUnknown_08613ABC[63][2];
-extern const u8 gUnknown_08613B3A[];
-extern const u16 gUnknown_08D856C8[][16];
-extern const u8 gUnknown_08613C1C[50][2];
-extern const u8 *const *const *const gUnknown_08613EC0[];
-extern const struct ClassMusic gUnknown_08613B44[54];
-extern const struct PyramidWildMon *const gBattlePyramidOpenLevelWildMonPointers[];
-extern const struct PyramidWildMon *const gBattlePyramidLevel50WildMonPointers[];
-extern const u8 gUnknown_08613794[];
-extern const u8 gUnknown_08613750[34][2];
+#include "data/battle_frontier/battle_pyramid_level_50_wild_mons.h"
+#include "data/battle_frontier/battle_pyramid_open_level_wild_mons.h"
+
+static const struct Struct_08613650 gUnknown_08613650[] =
+{
+ {
+ .unk0 = 0x07,
+ .unk1 = 0x03,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x80,
+ .unk5 = {0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03}
+ },
+ {
+ .unk0 = 0x06,
+ .unk1 = 0x03,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x80,
+ .unk5 = {0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04}
+ },
+ {
+ .unk0 = 0x05,
+ .unk1 = 0x03,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x78,
+ .unk5 = {0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05}
+ },
+ {
+ .unk0 = 0x04,
+ .unk1 = 0x04,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x78,
+ .unk5 = {0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x06, 0x06}
+ },
+ {
+ .unk0 = 0x04,
+ .unk1 = 0x04,
+ .unk2 = 0x00,
+ .unk3 = 0x01,
+ .runMultiplier = 0x70,
+ .unk5 = {0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x05,
+ .unk2 = 0x00,
+ .unk3 = 0x02,
+ .runMultiplier = 0x70,
+ .unk5 = {0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x05,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x68,
+ .unk5 = {0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d}
+ },
+ {
+ .unk0 = 0x02,
+ .unk1 = 0x04,
+ .unk2 = 0x00,
+ .unk3 = 0x01,
+ .runMultiplier = 0x68,
+ .unk5 = {0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e}
+ },
+ {
+ .unk0 = 0x04,
+ .unk1 = 0x05,
+ .unk2 = 0x00,
+ .unk3 = 0x02,
+ .runMultiplier = 0x60,
+ .unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x06,
+ .unk2 = 0x00,
+ .unk3 = 0x04,
+ .runMultiplier = 0x60,
+ .unk5 = {0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}
+ },
+ {
+ .unk0 = 0x02,
+ .unk1 = 0x03,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x58,
+ .unk5 = {0x0c, 0x0d, 0x0e, 0x0c, 0x0d, 0x0e, 0x0c, 0x0d}
+ },
+ {
+ .unk0 = 0x04,
+ .unk1 = 0x05,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x58,
+ .unk5 = {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x07,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x50,
+ .unk5 = {0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c}
+ },
+ {
+ .unk0 = 0x02,
+ .unk1 = 0x04,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x50,
+ .unk5 = {0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x06,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x50,
+ .unk5 = {0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e, 0x0e}
+ },
+ {
+ .unk0 = 0x03,
+ .unk1 = 0x08,
+ .unk2 = 0x00,
+ .unk3 = 0x00,
+ .runMultiplier = 0x50,
+ .unk5 = {0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f}
+ }
+};
+
+static const u8 gUnknown_08613750[34][2] =
+{
+ {0x28, 0x00},
+ {0x46, 0x01},
+ {0x5a, 0x02},
+ {0x64, 0x03},
+ {0x23, 0x01},
+ {0x37, 0x02},
+ {0x4b, 0x03},
+ {0x5a, 0x04},
+ {0x64, 0x0a},
+ {0x23, 0x02},
+ {0x37, 0x03},
+ {0x4b, 0x04},
+ {0x5a, 0x05},
+ {0x64, 0x0b},
+ {0x23, 0x03},
+ {0x37, 0x04},
+ {0x4b, 0x05},
+ {0x5a, 0x06},
+ {0x64, 0x0c},
+ {0x23, 0x04},
+ {0x37, 0x05},
+ {0x4b, 0x06},
+ {0x5a, 0x07},
+ {0x64, 0x0d},
+ {0x23, 0x05},
+ {0x37, 0x06},
+ {0x4b, 0x07},
+ {0x5a, 0x08},
+ {0x64, 0x0e},
+ {0x23, 0x06},
+ {0x37, 0x07},
+ {0x4b, 0x08},
+ {0x5a, 0x09},
+ {0x64, 0x0f}
+};
+
+static const u8 gUnknown_08613794[] =
+{
+ 0x00, 0x04, 0x09, 0x0e, 0x13, 0x18, 0x1d, 0x00
+};
+
+static const u16 sPickupItemsLvl50[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] =
+{
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_CHERI_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_PECHA_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_RAWST_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_CHESTO_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+};
+
+static const u16 sPickupItemsLvlOpen[TOTAL_ROUNDS][PICKUP_ITEMS_PER_ROUND] =
+{
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_CHERI_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_PECHA_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_RAWST_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_CHESTO_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPEED, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_ACCURACY, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_SPECIAL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_GUARD_SPEC, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_FLUFFY_TAIL, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_BRIGHT_POWDER, ITEM_SHELL_BELL, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_DIRE_HIT, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_LEFTOVERS, ITEM_CHOICE_BAND, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+ {ITEM_HYPER_POTION, ITEM_X_ATTACK, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LUM_BERRY, ITEM_REVIVE, ITEM_SCOPE_LENS, ITEM_FOCUS_BAND, ITEM_MAX_REVIVE, ITEM_SACRED_ASH},
+ {ITEM_HYPER_POTION, ITEM_X_DEFEND, ITEM_LUM_BERRY, ITEM_ETHER, ITEM_LEPPA_BERRY, ITEM_REVIVE, ITEM_QUICK_CLAW, ITEM_KINGS_ROCK, ITEM_FULL_RESTORE, ITEM_MAX_ELIXIR},
+};
+
+static const u8 gUnknown_08613ABC[63][2] =
+{
+ {0x1f, 0x00},
+ {0x2e, 0x01},
+ {0x3d, 0x02},
+ {0x47, 0x03},
+ {0x51, 0x04},
+ {0x5b, 0x05},
+ {0x5e, 0x06},
+ {0x61, 0x07},
+ {0x64, 0x08},
+ {0x0f, 0x00},
+ {0x2e, 0x01},
+ {0x3d, 0x02},
+ {0x47, 0x03},
+ {0x51, 0x04},
+ {0x5b, 0x05},
+ {0x5e, 0x06},
+ {0x61, 0x08},
+ {0x64, 0x09},
+ {0x0f, 0x00},
+ {0x1e, 0x01},
+ {0x3d, 0x02},
+ {0x47, 0x03},
+ {0x51, 0x04},
+ {0x5b, 0x05},
+ {0x5e, 0x06},
+ {0x61, 0x07},
+ {0x64, 0x08},
+ {0x1c, 0x00},
+ {0x2b, 0x01},
+ {0x3a, 0x02},
+ {0x44, 0x03},
+ {0x4e, 0x04},
+ {0x58, 0x05},
+ {0x5c, 0x07},
+ {0x60, 0x08},
+ {0x64, 0x09},
+ {0x0f, 0x00},
+ {0x2b, 0x01},
+ {0x3a, 0x02},
+ {0x44, 0x03},
+ {0x4e, 0x04},
+ {0x58, 0x05},
+ {0x5c, 0x06},
+ {0x60, 0x07},
+ {0x64, 0x09},
+ {0x0f, 0x00},
+ {0x1e, 0x01},
+ {0x3a, 0x02},
+ {0x44, 0x03},
+ {0x4e, 0x04},
+ {0x58, 0x05},
+ {0x5c, 0x06},
+ {0x60, 0x07},
+ {0x64, 0x08},
+ {0x1c, 0x00},
+ {0x2b, 0x01},
+ {0x3a, 0x02},
+ {0x44, 0x03},
+ {0x4e, 0x04},
+ {0x58, 0x05},
+ {0x5c, 0x06},
+ {0x60, 0x08},
+ {0x64, 0x09},
+};
+
+static const u8 gUnknown_08613B3A[] = {0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36};
+
+static const struct ClassMusic gUnknown_08613B44[54] =
+{
+ {0x03, 0x06},
+ {0x0b, 0x06},
+ {0x0d, 0x06},
+ {0x0f, 0x01},
+ {0x2b, 0x04},
+ {0x2d, 0x01},
+ {0x24, 0x09},
+ {0x29, 0x04},
+ {0x05, 0x05},
+ {0x18, 0x04},
+ {0x2f, 0x00},
+ {0x2e, 0x09},
+ {0x11, 0x0c},
+ {0x10, 0x0b},
+ {0x1e, 0x0d},
+ {0x08, 0x01},
+ {0x17, 0x03},
+ {0x0c, 0x04},
+ {0x38, 0x04},
+ {0x1c, 0x03},
+ {0x1a, 0x00},
+ {0x19, 0x0b},
+ {0x09, 0x07},
+ {0x31, 0x07},
+ {0x35, 0x07},
+ {0x36, 0x01},
+ {0x33, 0x00},
+ {0x2a, 0x03},
+ {0x16, 0x0d},
+ {0x0e, 0x03},
+ {0x15, 0x01},
+ {0x14, 0x01},
+ {0x2c, 0x01},
+ {0x1b, 0x02},
+ {0x04, 0x01},
+ {0x07, 0x03},
+ {0x34, 0x05},
+ {0x32, 0x00},
+ {0x37, 0x02},
+ {0x1d, 0x04},
+ {0x22, 0x09},
+ {0x1f, 0x01},
+ {0x25, 0x00},
+ {0x0a, 0x04},
+ {0x28, 0x00},
+ {0x06, 0x05},
+ {0x27, 0x0b},
+ {0x26, 0x00},
+ {0x13, 0x00},
+ {0x12, 0x02},
+ {0x39, 0x08},
+ {0x02, 0x0b},
+ {0x20, 0x01},
+ {0x21, 0x00},
+};
+
+static const u8 gUnknown_08613C1C[50][2] =
+{
+ {0x0d, 0x03},
+ {0x0e, 0x04},
+ {0x10, 0x01},
+ {0x11, 0x00},
+ {0x03, 0x02},
+ {0x12, 0x03},
+ {0x0c, 0x03},
+ {0x13, 0x03},
+ {0x14, 0x03},
+ {0x15, 0x02},
+ {0x17, 0x02},
+ {0x07, 0x02},
+ {0x0a, 0x04},
+ {0x19, 0x02},
+ {0x1a, 0x02},
+ {0x1b, 0x00},
+ {0x1d, 0x02},
+ {0x1e, 0x02},
+ {0x1f, 0x03},
+ {0x20, 0x04},
+ {0x26, 0x00},
+ {0x27, 0x01},
+ {0x29, 0x04},
+ {0x2a, 0x05},
+ {0x09, 0x04},
+ {0x16, 0x05},
+ {0x2b, 0x00},
+ {0x2d, 0x04},
+ {0x2e, 0x02},
+ {0x30, 0x02},
+ {0x32, 0x02},
+ {0x31, 0x03},
+ {0x2f, 0x03},
+ {0x33, 0x03},
+ {0x34, 0x02},
+ {0x04, 0x02},
+ {0x35, 0x00},
+ {0x36, 0x03},
+ {0x37, 0x03},
+ {0x38, 0x03},
+ {0x1c, 0x01},
+ {0x3a, 0x02},
+ {0x05, 0x02},
+ {0x42, 0x02},
+ {0x02, 0x03},
+ {0x44, 0x02},
+ {0x45, 0x03},
+ {0x47, 0x03},
+ {0x43, 0x00},
+ {0x00, 0x04},
+};
+
+static const u8 *const gUnknown_08613C80[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252D2D,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252D57,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252D81,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252DAB,
+};
+
+static const u8 *const gUnknown_08613C90[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_25330B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2532CC,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25328B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253248,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253206,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2531C4,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253183,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253140,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2530FD,
+};
+
+static const u8 *const gUnknown_08613CB4[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_2544A6,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25445A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25440B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2543BA,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25436A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25431A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2542CB,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25427A,
+};
+
+static const u8 *const gUnknown_08613CD4[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252DD5,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252E03,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252E31,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252E5F,
+};
+
+static const u8 *const gUnknown_08613CE4[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_25362E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2535D4,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253578,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25351A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2534BD,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253460,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253404,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2533A6,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25334D,
+};
+
+static const u8 *const gUnknown_08613D08[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_25471E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2546CC,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25467C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25462A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2545D9,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254588,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254538,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2544E6,
+};
+
+static const u8 *const gUnknown_08613D28[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252E8D,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252EAA,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252EC7,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252EE4,
+};
+
+static const u8 *const gUnknown_08613D38[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_2539EC,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253980,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253915,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2538A8,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25383C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2537D0,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253765,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2536F8,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25368B,
+};
+
+static const u8 *const gUnknown_08613D5C[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_254A0B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2549AE,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25494D,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2548EB,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25488A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254829,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2547C9,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254767,
+};
+
+static const u8 *const gUnknown_08613D7C[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252F01,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252F3A,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252F73,
+ BattleFrontier_BattlePyramidEmptySquare_Text_252FAC,
+};
+
+static const u8 *const gUnknown_08613D8C[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_253D3E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253CE0,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253C87,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253C2C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253BD2,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253B78,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253B1F,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253AC4,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253A69,
+};
+
+static const u8 *const gUnknown_08613DB0[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_254C3E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254BF1,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254BAE,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254B69,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254B25,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254AE1,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254A9E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254A59,
+};
+
+static const u8 *const gUnknown_08613DD0[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_252FE5,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253000,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25301B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253036,
+};
+
+static const u8 *const gUnknown_08613DE0[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_253F6C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253F34,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253EFA,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253EBE,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253E83,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253E48,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253E0E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253DD2,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253D96,
+};
+
+static const u8 *const gUnknown_08613E04[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_254E6E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254E27,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254DE0,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254D97,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254D4F,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254D07,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254CC0,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254C77,
+};
+
+static const u8 *const gUnknown_08613E24[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_253051,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25307C,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2530A7,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2530D2,
+};
+
+static const u8 *const gUnknown_08613E34[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_25422B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2541DD,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25418D,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25413B,
+ BattleFrontier_BattlePyramidEmptySquare_Text_2540EA,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254099,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254049,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253FF7,
+ BattleFrontier_BattlePyramidEmptySquare_Text_253FA5,
+};
+
+static const u8 *const gUnknown_08613E58[] =
+{
+ BattleFrontier_BattlePyramidEmptySquare_Text_255068,
+ BattleFrontier_BattlePyramidEmptySquare_Text_25502F,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254FF6,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254FBB,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254F81,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254F47,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254F0E,
+ BattleFrontier_BattlePyramidEmptySquare_Text_254ED3,
+};
+
+static const u8 *const *const gUnknown_08613E78[] =
+{
+ gUnknown_08613C80,
+ gUnknown_08613C90,
+ gUnknown_08613CB4,
+};
+
+static const u8 *const *const gUnknown_08613E84[] =
+{
+ gUnknown_08613CD4,
+ gUnknown_08613CE4,
+ gUnknown_08613D08,
+};
+
+static const u8 *const *const gUnknown_08613E90[] =
+{
+ gUnknown_08613D28,
+ gUnknown_08613D38,
+ gUnknown_08613D5C,
+};
+
+static const u8 *const *const gUnknown_08613E9C[] =
+{
+ gUnknown_08613D7C,
+ gUnknown_08613D8C,
+ gUnknown_08613DB0,
+};
+
+static const u8 *const *const gUnknown_08613EA8[] =
+{
+ gUnknown_08613DD0,
+ gUnknown_08613DE0,
+ gUnknown_08613E04,
+};
+
+static const u8 *const *const gUnknown_08613EB4[] =
+{
+ gUnknown_08613E24,
+ gUnknown_08613E34,
+ gUnknown_08613E58,
+};
+
+static const u8 *const *const *const gUnknown_08613EC0[] =
+{
+ gUnknown_08613E78,
+ gUnknown_08613E84,
+ gUnknown_08613E90,
+ gUnknown_08613E9C,
+ gUnknown_08613EA8,
+ gUnknown_08613EB4,
+};
static const u8 gUnknown_08613ED8[] = {3, 4, 5, 6, 7, 8, 3, 4};
@@ -679,9 +1318,9 @@ void GenerateBattlePyramidWildMon(void)
round = TOTAL_ROUNDS - 1;
if (lvl != FRONTIER_LVL_50)
- wildMons = gBattlePyramidOpenLevelWildMonPointers[round];
+ wildMons = sOpenLevelWildMonPointers[round];
else
- wildMons = gBattlePyramidLevel50WildMonPointers[round];
+ wildMons = sLevel50WildMonPointers[round];
id = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL) - 1;
SetMonData(&gEnemyParty[0], MON_DATA_SPECIES, &wildMons[id].species);
@@ -816,7 +1455,7 @@ static u16 sub_81A9F90(u8 count)
do
{
trainerId = sub_8162548(challengeNum + 1, battleNum);
- for (i = 0 ; i < count; i++)
+ for (i = 0; i < count; i++)
{
if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
break;
@@ -828,7 +1467,7 @@ static u16 sub_81A9F90(u8 count)
do
{
trainerId = sub_8162548(challengeNum, battleNum);
- for (i = 0 ; i < count; i++)
+ for (i = 0; i < count; i++)
{
if (gSaveBlock2Ptr->frontier.field_CB4[i] == trainerId)
break;
diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c
index 2225a3e55..8a6348522 100644
--- a/src/battle_pyramid_bag.c
+++ b/src/battle_pyramid_bag.c
@@ -17,7 +17,7 @@
#include "list_menu.h"
#include "mail.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"
diff --git a/src/battle_records.c b/src/battle_records.c
index f64b5f494..f9c40d8de 100644
--- a/src/battle_records.c
+++ b/src/battle_records.c
@@ -18,7 +18,7 @@
#include "international_string_util.h"
#include "sound.h"
#include "constants/songs.h"
-#include "malloc.h"
+#include "alloc.h"
#include "gpu_regs.h"
#include "constants/game_stat.h"
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 5bd7de072..475b16c98 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -677,45 +677,45 @@ static const u32 sStatusFlagsForMoveEffects[] =
static const u8* const sMoveEffectBS_Ptrs[] =
{
- BattleScript_MoveEffectSleep, // 0
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_SLEEP
- BattleScript_MoveEffectPoison, // MOVE_EFFECT_POISON
- BattleScript_MoveEffectBurn, // MOVE_EFFECT_BURN
- BattleScript_MoveEffectFreeze, // MOVE_EFFECT_FREEZE
- BattleScript_MoveEffectParalysis, // MOVE_EFFECT_PARALYSIS
- BattleScript_MoveEffectToxic, // MOVE_EFFECT_TOXIC
- BattleScript_MoveEffectConfusion, // MOVE_EFFECT_CONFUSION
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_FLINCH
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_TRI_ATTACK
- BattleScript_MoveEffectUproar, // MOVE_EFFECT_UPROAR
- BattleScript_MoveEffectPayDay, // MOVE_EFFECT_PAYDAY
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_CHARGING
- BattleScript_MoveEffectWrap, // MOVE_EFFECT_WRAP
- BattleScript_MoveEffectRecoil, // MOVE_EFFECT_RECOIL_25
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_PLUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_DEF_PLUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_SPD_PLUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_SP_ATK_PLUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_SP_DEF_PLUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_ACC_PLUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_EVS_PLUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_MINUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_DEF_MINUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_SPD_MINUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_SP_ATK_MINUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_SP_DEF_MINUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_ACC_MINUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_EVS_MINUS_1
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_RECHARGE
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_RAGE
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_STEAL_ITEM
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_PREVENT_ESCAPE
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_NIGHTMARE
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_ALL_STATS_UP
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_RAPIDSPIN
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_REMOVE_PARALYSIS
- BattleScript_MoveEffectSleep, // MOVE_EFFECT_ATK_DEF_DOWN
- BattleScript_MoveEffectRecoil, // MOVE_EFFECT_RECOIL_33
+ [0] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_SLEEP] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_POISON] = BattleScript_MoveEffectPoison,
+ [MOVE_EFFECT_BURN] = BattleScript_MoveEffectBurn,
+ [MOVE_EFFECT_FREEZE] = BattleScript_MoveEffectFreeze,
+ [MOVE_EFFECT_PARALYSIS] = BattleScript_MoveEffectParalysis,
+ [MOVE_EFFECT_TOXIC] = BattleScript_MoveEffectToxic,
+ [MOVE_EFFECT_CONFUSION] = BattleScript_MoveEffectConfusion,
+ [MOVE_EFFECT_FLINCH] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_TRI_ATTACK] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_UPROAR] = BattleScript_MoveEffectUproar,
+ [MOVE_EFFECT_PAYDAY] = BattleScript_MoveEffectPayDay,
+ [MOVE_EFFECT_CHARGING] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_WRAP] = BattleScript_MoveEffectWrap,
+ [MOVE_EFFECT_RECOIL_25] = BattleScript_MoveEffectRecoil,
+ [MOVE_EFFECT_ATK_PLUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_DEF_PLUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_SPD_PLUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_SP_ATK_PLUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_SP_DEF_PLUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_ACC_PLUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_EVS_PLUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_ATK_MINUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_DEF_MINUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_SPD_MINUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_SP_ATK_MINUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_SP_DEF_MINUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_ACC_MINUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_EVS_MINUS_1] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_RECHARGE] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_RAGE] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_STEAL_ITEM] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_PREVENT_ESCAPE] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_NIGHTMARE] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_ALL_STATS_UP] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_RAPIDSPIN] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_REMOVE_PARALYSIS] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_ATK_DEF_DOWN] = BattleScript_MoveEffectSleep,
+ [MOVE_EFFECT_RECOIL_33] = BattleScript_MoveEffectRecoil,
};
static const struct WindowTemplate sUnusedWinTemplate = {0, 1, 3, 7, 0xF, 0x1F, 0x3F};
@@ -768,26 +768,26 @@ static const u16 sProtectSuccessRates[] = {USHRT_MAX, USHRT_MAX / 2, USHRT_MAX /
static const u16 sMovesForbiddenToCopy[] =
{
- MOVE_METRONOME,
- MOVE_STRUGGLE,
- MOVE_SKETCH,
- MOVE_MIMIC,
- MIMIC_FORBIDDEN_END,
- MOVE_COUNTER,
- MOVE_MIRROR_COAT,
- MOVE_PROTECT,
- MOVE_DETECT,
- MOVE_ENDURE,
- MOVE_DESTINY_BOND,
- MOVE_SLEEP_TALK,
- MOVE_THIEF,
- MOVE_FOLLOW_ME,
- MOVE_SNATCH,
- MOVE_HELPING_HAND,
- MOVE_COVET,
- MOVE_TRICK,
- MOVE_FOCUS_PUNCH,
- METRONOME_FORBIDDEN_END
+ MOVE_METRONOME,
+ MOVE_STRUGGLE,
+ MOVE_SKETCH,
+ MOVE_MIMIC,
+ MIMIC_FORBIDDEN_END,
+ MOVE_COUNTER,
+ MOVE_MIRROR_COAT,
+ MOVE_PROTECT,
+ MOVE_DETECT,
+ MOVE_ENDURE,
+ MOVE_DESTINY_BOND,
+ MOVE_SLEEP_TALK,
+ MOVE_THIEF,
+ MOVE_FOLLOW_ME,
+ MOVE_SNATCH,
+ MOVE_HELPING_HAND,
+ MOVE_COVET,
+ MOVE_TRICK,
+ MOVE_FOCUS_PUNCH,
+ METRONOME_FORBIDDEN_END
};
static const u8 sFlailHpScaleToPowerTable[] =
@@ -828,38 +828,38 @@ static const u16 sWeightToDamageTable[] =
static const u16 sPickupItems[] =
{
ITEM_POTION,
- ITEM_ANTIDOTE,
- ITEM_SUPER_POTION,
- ITEM_GREAT_BALL,
- ITEM_REPEL,
- ITEM_ESCAPE_ROPE,
- ITEM_X_ATTACK,
- ITEM_FULL_HEAL,
- ITEM_ULTRA_BALL,
- ITEM_HYPER_POTION,
- ITEM_RARE_CANDY,
- ITEM_PROTEIN,
- ITEM_REVIVE,
- ITEM_HP_UP,
- ITEM_FULL_RESTORE,
- ITEM_MAX_REVIVE,
- ITEM_PP_UP,
- ITEM_MAX_ELIXIR,
+ ITEM_ANTIDOTE,
+ ITEM_SUPER_POTION,
+ ITEM_GREAT_BALL,
+ ITEM_REPEL,
+ ITEM_ESCAPE_ROPE,
+ ITEM_X_ATTACK,
+ ITEM_FULL_HEAL,
+ ITEM_ULTRA_BALL,
+ ITEM_HYPER_POTION,
+ ITEM_RARE_CANDY,
+ ITEM_PROTEIN,
+ ITEM_REVIVE,
+ ITEM_HP_UP,
+ ITEM_FULL_RESTORE,
+ ITEM_MAX_REVIVE,
+ ITEM_PP_UP,
+ ITEM_MAX_ELIXIR,
};
static const u16 sRarePickupItems[] =
{
ITEM_HYPER_POTION,
- ITEM_NUGGET,
- ITEM_KINGS_ROCK,
- ITEM_FULL_RESTORE,
- ITEM_ETHER,
- ITEM_WHITE_HERB,
- ITEM_TM44_REST,
- ITEM_ELIXIR,
- ITEM_TM01_FOCUS_PUNCH,
- ITEM_LEFTOVERS,
- ITEM_TM26_EARTHQUAKE,
+ ITEM_NUGGET,
+ ITEM_KINGS_ROCK,
+ ITEM_FULL_RESTORE,
+ ITEM_ETHER,
+ ITEM_WHITE_HERB,
+ ITEM_TM44_REST,
+ ITEM_ELIXIR,
+ ITEM_TM01_FOCUS_PUNCH,
+ ITEM_LEFTOVERS,
+ ITEM_TM26_EARTHQUAKE,
};
static const u8 sPickupProbabilities[] =
@@ -917,10 +917,10 @@ const ALIGNED(4) u8 gUnknown_0831C494[][4] =
static const u8 sUnknown_0831C4F8[] =
{
- 0x03, 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x00,
- 0x01, 0x02, 0x02, 0x00, 0x03, 0x01, 0x03, 0x01,
- 0x02, 0x03, 0x03, 0x02, 0x01, 0x00, 0x02, 0x02,
- 0x03, 0x00, 0x00, 0x00
+ 0x03, 0x00, 0x01, 0x00, 0x00, 0x01, 0x03, 0x00,
+ 0x01, 0x02, 0x02, 0x00, 0x03, 0x01, 0x03, 0x01,
+ 0x02, 0x03, 0x03, 0x02, 0x01, 0x00, 0x02, 0x02,
+ 0x03, 0x00, 0x00, 0x00
};
static void atk00_attackcanceler(void)
@@ -942,7 +942,7 @@ static void atk00_attackcanceler(void)
return;
if (AbilityBattleEffects(ABILITYEFFECT_MOVES_BLOCK, gBattlerTarget, 0, 0, 0))
return;
- if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & 0x800200)
+ if (!gBattleMons[gBattlerAttacker].pp[gCurrMovePos] && gCurrentMove != MOVE_STRUGGLE && !(gHitMarker & (HITMARKER_x800000 | HITMARKER_NO_ATTACKSTRING))
&& !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS))
{
gBattlescriptCurrInstr = BattleScript_NoPPForMove;
@@ -3270,7 +3270,7 @@ static void atk23_getexp(void)
else
{
gBattleScripting.atk23_state++;
- gBattleStruct->field_DF |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]];
+ gBattleStruct->givenExpMons |= gBitTable[gBattlerPartyIndexes[gBattlerFainted]];
}
break;
case 1: // calculate experience points to redistribute
@@ -3403,8 +3403,8 @@ static void atk23_getexp(void)
PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId)
- // buffer 'gained' or 'gained a boosted'
- PREPARE_STRING_BUFFER(gBattleTextBuff2, i)
+ // buffer 'gained' or 'gained a boosted'
+ PREPARE_STRING_BUFFER(gBattleTextBuff2, i)
PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage)
@@ -4490,24 +4490,24 @@ static void atk48_playstatchangeanimation(void)
enum
{
- ATK49_RAGE,
- ATK49_DEFROST,
- ATK49_SYNCHRONIZE_TARGET,
- ATK49_MOVE_END_ABILITIES,
- ATK49_STATUS_IMMUNITY_ABILITIES,
- ATK49_SYNCHRONIZE_ATTACKER,
- ATK49_CHOICE_MOVE,
- ATK49_CHANGED_ITEMS,
- ATK49_ATTACKER_INVISIBLE,
- ATK49_ATTACKER_VISIBLE,
- ATK49_TARGET_VISIBLE,
- ATK49_ITEM_EFFECTS_ALL,
- ATK49_KINGSROCK_SHELLBELL,
- ATK49_SUBSTITUTE,
- ATK49_UPDATE_LAST_MOVES,
- ATK49_MIRROR_MOVE,
- ATK49_NEXT_TARGET,
- ATK49_COUNT,
+ ATK49_RAGE,
+ ATK49_DEFROST,
+ ATK49_SYNCHRONIZE_TARGET,
+ ATK49_MOVE_END_ABILITIES,
+ ATK49_STATUS_IMMUNITY_ABILITIES,
+ ATK49_SYNCHRONIZE_ATTACKER,
+ ATK49_CHOICE_MOVE,
+ ATK49_CHANGED_ITEMS,
+ ATK49_ATTACKER_INVISIBLE,
+ ATK49_ATTACKER_VISIBLE,
+ ATK49_TARGET_VISIBLE,
+ ATK49_ITEM_EFFECTS_ALL,
+ ATK49_KINGSROCK_SHELLBELL,
+ ATK49_SUBSTITUTE,
+ ATK49_UPDATE_LAST_MOVES,
+ ATK49_MIRROR_MOVE,
+ ATK49_NEXT_TARGET,
+ ATK49_COUNT,
};
static void atk49_moveend(void)
@@ -5560,7 +5560,7 @@ static void atk52_switchineffects(void)
gDisableStructs[gActiveBattler].truantUnknownBit = 0;
if (!AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0)
- && !ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE))
+ && !ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE))
{
gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED);
diff --git a/src/battle_setup.c b/src/battle_setup.c
index d4b25021e..0705bd9f6 100644
--- a/src/battle_setup.c
+++ b/src/battle_setup.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "constants/trainers.h"
#include "battle.h"
+#include "constants/battle_setup.h"
#include "battle_setup.h"
#include "battle_transition.h"
#include "main.h"
@@ -305,7 +306,7 @@ const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES] =
{{TRAINER_TRENT_1, TRAINER_TRENT_2, TRAINER_TRENT_3, TRAINER_TRENT_4, TRAINER_TRENT_5}, 0x0, 0x1b},
{{TRAINER_SAWYER_1, TRAINER_SAWYER_2, TRAINER_SAWYER_3, TRAINER_SAWYER_4, TRAINER_SAWYER_5}, 0x18, 0xc},
{{TRAINER_KIRA_AND_DAN_1, TRAINER_KIRA_AND_DAN_2, TRAINER_KIRA_AND_DAN_3, TRAINER_KIRA_AND_DAN_4, TRAINER_KIRA_AND_DAN_5}, 0x18, 0x3e},
- {{TRAINER_WALLY_3, 0x292, 0x293, 0x294, 0x294}, 0x18, 0x2b},
+ {{TRAINER_WALLY_3, TRAINER_WALLY_4, TRAINER_WALLY_5, TRAINER_WALLY_6, TRAINER_WALLY_6}, 0x18, 0x2b},
{{TRAINER_ROXANNE_1, TRAINER_ROXANNE_2, TRAINER_ROXANNE_3, TRAINER_ROXANNE_4, TRAINER_ROXANNE_5}, 0x0, 0x3},
{{TRAINER_BRAWLY_1, TRAINER_BRAWLY_2, TRAINER_BRAWLY_3, TRAINER_BRAWLY_4, TRAINER_BRAWLY_5}, 0x0, 0xb},
{{TRAINER_WATTSON_1, TRAINER_WATTSON_2, TRAINER_WATTSON_3, TRAINER_WATTSON_4, TRAINER_WATTSON_5}, 0x0, 0x2},
@@ -1085,9 +1086,9 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
switch (sTrainerBattleMode)
{
- case TRAINER_BATTLE_NORMAL_NO_INTRO_TEXT:
+ case TRAINER_BATTLE_SINGLE_NO_INTRO_TEXT:
TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data);
- return EventScript_2713C2;
+ return EventScript_DoTainerBattle;
case TRAINER_BATTLE_DOUBLE:
TrainerBattleLoadArgs(sDoubleBattleParams, data);
SetMapVarsToTrainer();
@@ -1102,11 +1103,11 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
{
TrainerBattleLoadArgs(sTrainerBContinueScriptBattleParams, data);
}
- return EventScript_271362;
+ return EventScript_TryDoNormalTrainerBattle;
case TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC:
TrainerBattleLoadArgs(sContinueScriptBattleParams, data);
SetMapVarsToTrainer();
- return EventScript_271362;
+ return EventScript_TryDoNormalTrainerBattle;
case TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE:
case TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC:
TrainerBattleLoadArgs(sContinueScriptDoubleBattleParams, data);
@@ -1121,8 +1122,8 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
SetMapVarsToTrainer();
gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A);
- return EventScript_2713D1;
- case TRAINER_BATTLE_9:
+ return EventScript_TryDoRematchBattle;
+ case TRAINER_BATTLE_PYRAMID:
if (gApproachingTrainerId == 0)
{
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
@@ -1134,7 +1135,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
gTrainerBattleOpponent_B = LocalIdToPyramidTrainerId(gSpecialVar_LastTalked);
}
- return EventScript_271362;
+ return EventScript_TryDoNormalTrainerBattle;
case TRAINER_BATTLE_SET_TRAINER_A:
TrainerBattleLoadArgs(sOrdinaryBattleParams, data);
return NULL;
@@ -1153,7 +1154,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
gTrainerBattleOpponent_B = sub_81D6180(gSpecialVar_LastTalked);
}
- return EventScript_271362;
+ return EventScript_TryDoNormalTrainerBattle;
default:
if (gApproachingTrainerId == 0)
{
@@ -1164,7 +1165,7 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data)
{
TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data);
}
- return EventScript_271362;
+ return EventScript_TryDoNormalTrainerBattle;
}
}
@@ -1196,7 +1197,7 @@ bool32 GetTrainerFlagFromScriptPointer(const u8 *data)
return FlagGet(FLAG_TRAINER_FLAG_START + flag);
}
-void sub_80B16D8(void)
+void SetUpTrainerMovement(void)
{
struct EventObject *eventObject = &gEventObjects[gSelectedEventObject];
diff --git a/src/battle_tent.c b/src/battle_tent.c
index c7e70912c..d66c093e9 100644
--- a/src/battle_tent.c
+++ b/src/battle_tent.c
@@ -14,10 +14,6 @@
#include "constants/items.h"
#include "constants/region_map_sections.h"
-extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[];
-extern const struct FacilityMon gSlateportBattleTentMons[];
-extern const u16 gBattleFrontierHeldItems[];
-
// This file's functions.
static void sub_81B99D4(void);
static void sub_81B9A28(void);
diff --git a/src/battle_tower.c b/src/battle_tower.c
index 165b6bf64..4a9e0dbc4 100644
--- a/src/battle_tower.c
+++ b/src/battle_tower.c
@@ -10,6 +10,7 @@
#include "international_string_util.h"
#include "battle.h"
#include "frontier_util.h"
+#include "strings.h"
#include "recorded_battle.h"
#include "easy_chat.h"
#include "gym_leader_rematch.h"
@@ -23,41 +24,14 @@
#include "tv.h"
#include "battle_factory.h"
#include "constants/battle_frontier.h"
+#include "constants/items.h"
#include "constants/trainers.h"
#include "constants/event_objects.h"
#include "constants/moves.h"
#include "constants/species.h"
+#include "constants/easy_chat.h"
-extern void sub_81A4C30(void);
-
-extern const u8 *const *const gUnknown_085DD690[];
-extern const u16 gBattleFrontierHeldItems[];
-extern const u8 sRubyFacilityClassToEmerald[82][2];
extern const u16 gUnknown_085DFA46[];
-extern const struct FacilityMon gSlateportBattleTentMons[];
-extern const struct FacilityMon gVerdanturfBattleTentMons[];
-extern const struct FacilityMon gFallarborBattleTentMons[];
-extern const struct FacilityMon gBattleFrontierMons[];
-extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
-extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[];
-extern const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[];
-extern const struct BattleFrontierTrainer gFallarborBattleTentTrainers[];
-
-struct
-{
- u32 facilityClass;
- const u8 *const *strings;
-} extern const gUnknown_085DD500[50];
-
-struct
-{
- u16 species;
- u8 fixedIV;
- u8 level;
- u8 nature;
- u8 evs[6];
- u16 moves[4];
-} extern const sStevenMons[3];
extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224157[];
extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224166[];
@@ -102,6 +76,982 @@ static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderT
static u8 SetTentPtrsGetLevel(void);
// Const rom data.
+const u16 gBattleFrontierHeldItems[] =
+{
+ ITEM_NONE,
+ ITEM_KINGS_ROCK,
+ ITEM_SITRUS_BERRY,
+ ITEM_ORAN_BERRY,
+ ITEM_CHESTO_BERRY,
+ ITEM_HARD_STONE,
+ ITEM_FOCUS_BAND,
+ ITEM_PERSIM_BERRY,
+ ITEM_MIRACLE_SEED,
+ ITEM_BERRY_JUICE,
+ ITEM_MACHO_BRACE,
+ ITEM_SILVER_POWDER,
+ ITEM_CHERI_BERRY,
+ ITEM_BLACK_GLASSES,
+ ITEM_BLACK_BELT,
+ ITEM_SOUL_DEW,
+ ITEM_CHOICE_BAND,
+ ITEM_MAGNET,
+ ITEM_SILK_SCARF,
+ ITEM_WHITE_HERB,
+ ITEM_DEEP_SEA_SCALE,
+ ITEM_DEEP_SEA_TOOTH,
+ ITEM_MYSTIC_WATER,
+ ITEM_SHARP_BEAK,
+ ITEM_QUICK_CLAW,
+ ITEM_LEFTOVERS,
+ ITEM_RAWST_BERRY,
+ ITEM_LIGHT_BALL,
+ ITEM_POISON_BARB,
+ ITEM_NEVER_MELT_ICE,
+ ITEM_ASPEAR_BERRY,
+ ITEM_SPELL_TAG,
+ ITEM_BRIGHT_POWDER,
+ ITEM_LEPPA_BERRY,
+ ITEM_SCOPE_LENS,
+ ITEM_TWISTED_SPOON,
+ ITEM_METAL_COAT,
+ ITEM_MENTAL_HERB,
+ ITEM_CHARCOAL,
+ ITEM_PECHA_BERRY,
+ ITEM_SOFT_SAND,
+ ITEM_LUM_BERRY,
+ ITEM_DRAGON_SCALE,
+ ITEM_DRAGON_FANG,
+ ITEM_IAPAPA_BERRY,
+ ITEM_WIKI_BERRY,
+ ITEM_SEA_INCENSE,
+ ITEM_SHELL_BELL,
+ ITEM_SALAC_BERRY,
+ ITEM_LANSAT_BERRY,
+ ITEM_APICOT_BERRY,
+ ITEM_STARF_BERRY,
+ ITEM_LIECHI_BERRY,
+ ITEM_STICK,
+ ITEM_LAX_INCENSE,
+ ITEM_AGUAV_BERRY,
+ ITEM_FIGY_BERRY,
+ ITEM_THICK_CLUB,
+ ITEM_MAGO_BERRY,
+ ITEM_METAL_POWDER,
+ ITEM_PETAYA_BERRY,
+ ITEM_LUCKY_PUNCH,
+ ITEM_GANLON_BERRY
+};
+
+#include "data/battle_frontier/battle_frontier_trainer_mons.h"
+#include "data/battle_frontier/battle_frontier_trainers.h"
+#include "data/battle_frontier/battle_frontier_mons.h"
+
+const u8 gTowerMaleFacilityClasses[30] =
+{
+ FACILITY_CLASS_RUIN_MANIAC,
+ FACILITY_CLASS_TUBER_M,
+ FACILITY_CLASS_COOLTRAINER_M,
+ FACILITY_CLASS_RICH_BOY,
+ FACILITY_CLASS_POKEMANIAC,
+ FACILITY_CLASS_SWIMMER_M,
+ FACILITY_CLASS_BLACK_BELT,
+ FACILITY_CLASS_GUITARIST,
+ FACILITY_CLASS_KINDLER,
+ FACILITY_CLASS_CAMPER,
+ FACILITY_CLASS_BUG_MANIAC,
+ FACILITY_CLASS_PSYCHIC_M,
+ FACILITY_CLASS_GENTLEMAN,
+ FACILITY_CLASS_SCHOOL_KID_M,
+ FACILITY_CLASS_POKEFAN_M,
+ FACILITY_CLASS_EXPERT_M,
+ FACILITY_CLASS_YOUNGSTER,
+ FACILITY_CLASS_FISHERMAN,
+ FACILITY_CLASS_CYCLING_TRIATHLETE_M,
+ FACILITY_CLASS_RUNNING_TRIATHLETE_M,
+ FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
+ FACILITY_CLASS_DRAGON_TAMER,
+ FACILITY_CLASS_BIRD_KEEPER,
+ FACILITY_CLASS_NINJA_BOY,
+ FACILITY_CLASS_SAILOR,
+ FACILITY_CLASS_COLLECTOR,
+ FACILITY_CLASS_PKMN_BREEDER_M,
+ FACILITY_CLASS_PKMN_RANGER_M,
+ FACILITY_CLASS_BUG_CATCHER,
+ FACILITY_CLASS_HIKER
+};
+
+const u8 gTowerFemaleFacilityClasses[20] =
+{
+ FACILITY_CLASS_AROMA_LADY,
+ FACILITY_CLASS_TUBER_F,
+ FACILITY_CLASS_COOLTRAINER_F,
+ FACILITY_CLASS_HEX_MANIAC,
+ FACILITY_CLASS_LADY,
+ FACILITY_CLASS_BEAUTY,
+ FACILITY_CLASS_PSYCHIC_F,
+ FACILITY_CLASS_SCHOOL_KID_F,
+ FACILITY_CLASS_POKEFAN_F,
+ FACILITY_CLASS_EXPERT_F,
+ FACILITY_CLASS_CYCLING_TRIATHLETE_F,
+ FACILITY_CLASS_RUNNING_TRIATHLETE_F,
+ FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
+ FACILITY_CLASS_BATTLE_GIRL,
+ FACILITY_CLASS_PARASOL_LADY,
+ FACILITY_CLASS_SWIMMER_F,
+ FACILITY_CLASS_PICNICKER,
+ FACILITY_CLASS_POKEMON_BREEDER_F,
+ FACILITY_CLASS_PKMN_RANGER_F,
+ FACILITY_CLASS_LASS
+};
+
+const u8 gTowerMaleTrainerGfxIds[30] =
+{
+ EVENT_OBJ_GFX_HIKER,
+ EVENT_OBJ_GFX_TUBER_M,
+ EVENT_OBJ_GFX_MAN_3,
+ EVENT_OBJ_GFX_RICH_BOY,
+ EVENT_OBJ_GFX_MANIAC,
+ EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ EVENT_OBJ_GFX_BLACK_BELT,
+ EVENT_OBJ_GFX_MAN_5,
+ EVENT_OBJ_GFX_MAN_5,
+ EVENT_OBJ_GFX_CAMPER,
+ EVENT_OBJ_GFX_MANIAC,
+ EVENT_OBJ_GFX_PSYCHIC_M,
+ EVENT_OBJ_GFX_GENTLEMAN,
+ EVENT_OBJ_GFX_SCHOOL_KID_M,
+ EVENT_OBJ_GFX_POKEFAN_M,
+ EVENT_OBJ_GFX_EXPERT_M,
+ EVENT_OBJ_GFX_YOUNGSTER,
+ EVENT_OBJ_GFX_FISHERMAN,
+ EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M,
+ EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M,
+ EVENT_OBJ_GFX_MAN_3,
+ EVENT_OBJ_GFX_MAN_5,
+ EVENT_OBJ_GFX_NINJA_BOY,
+ EVENT_OBJ_GFX_SAILOR,
+ EVENT_OBJ_GFX_MANIAC,
+ EVENT_OBJ_GFX_MAN_4,
+ EVENT_OBJ_GFX_CAMPER,
+ EVENT_OBJ_GFX_BUG_CATCHER,
+ EVENT_OBJ_GFX_HIKER
+};
+
+const u8 gTowerFemaleTrainerGfxIds[20] =
+{
+ EVENT_OBJ_GFX_WOMAN_2,
+ EVENT_OBJ_GFX_TUBER_F,
+ EVENT_OBJ_GFX_WOMAN_5,
+ EVENT_OBJ_GFX_HEX_MANIAC,
+ EVENT_OBJ_GFX_WOMAN_2,
+ EVENT_OBJ_GFX_BEAUTY,
+ EVENT_OBJ_GFX_LASS,
+ EVENT_OBJ_GFX_GIRL_3,
+ EVENT_OBJ_GFX_POKEFAN_F,
+ EVENT_OBJ_GFX_EXPERT_F,
+ EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F,
+ EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ EVENT_OBJ_GFX_GIRL_3,
+ EVENT_OBJ_GFX_WOMAN_5,
+ EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F,
+ EVENT_OBJ_GFX_PICNICKER,
+ EVENT_OBJ_GFX_WOMAN_2,
+ EVENT_OBJ_GFX_PICNICKER,
+ EVENT_OBJ_GFX_LASS
+};
+
+static const u8 sRubyFacilityClassToEmerald[][2] =
+{
+ {0x00, FACILITY_CLASS_AQUA_LEADER_ARCHIE},
+ {0x01, FACILITY_CLASS_AQUA_GRUNT_M},
+ {0x02, FACILITY_CLASS_AQUA_GRUNT_F},
+ {0x03, FACILITY_CLASS_AROMA_LADY},
+ {0x04, FACILITY_CLASS_RUIN_MANIAC},
+ {0x05, FACILITY_CLASS_INTERVIEWER},
+ {0x06, FACILITY_CLASS_TUBER_F},
+ {0x07, FACILITY_CLASS_TUBER_M},
+ {0x08, FACILITY_CLASS_COOLTRAINER_M},
+ {0x09, FACILITY_CLASS_COOLTRAINER_F},
+ {0x0a, FACILITY_CLASS_HEX_MANIAC},
+ {0x0b, FACILITY_CLASS_LADY},
+ {0x0c, FACILITY_CLASS_BEAUTY},
+ {0x0d, FACILITY_CLASS_RICH_BOY},
+ {0x0e, FACILITY_CLASS_POKEMANIAC},
+ {0x0f, FACILITY_CLASS_SWIMMER_M},
+ {0x10, FACILITY_CLASS_BLACK_BELT},
+ {0x11, FACILITY_CLASS_GUITARIST},
+ {0x12, FACILITY_CLASS_KINDLER},
+ {0x13, FACILITY_CLASS_CAMPER},
+ {0x14, FACILITY_CLASS_BUG_MANIAC},
+ {0x15, FACILITY_CLASS_PSYCHIC_M},
+ {0x16, FACILITY_CLASS_PSYCHIC_F},
+ {0x17, FACILITY_CLASS_GENTLEMAN},
+ {0x18, FACILITY_CLASS_ELITE_FOUR_SIDNEY},
+ {0x19, FACILITY_CLASS_ELITE_FOUR_PHOEBE},
+ {0x1a, FACILITY_CLASS_LEADER_ROXANNE},
+ {0x1b, FACILITY_CLASS_LEADER_BRAWLY},
+ {0x1c, FACILITY_CLASS_LEADER_TATE_AND_LIZA},
+ {0x1d, FACILITY_CLASS_SCHOOL_KID_M},
+ {0x1e, FACILITY_CLASS_SCHOOL_KID_F},
+ {0x1f, FACILITY_CLASS_SR_AND_JR},
+ {0x20, FACILITY_CLASS_POKEFAN_M},
+ {0x21, FACILITY_CLASS_POKEFAN_F},
+ {0x22, FACILITY_CLASS_EXPERT_M},
+ {0x23, FACILITY_CLASS_EXPERT_F},
+ {0x24, FACILITY_CLASS_YOUNGSTER},
+ {0x25, FACILITY_CLASS_CHAMPION_WALLACE},
+ {0x26, FACILITY_CLASS_FISHERMAN},
+ {0x27, FACILITY_CLASS_CYCLING_TRIATHLETE_M},
+ {0x28, FACILITY_CLASS_CYCLING_TRIATHLETE_F},
+ {0x29, FACILITY_CLASS_RUNNING_TRIATHLETE_M},
+ {0x2a, FACILITY_CLASS_RUNNING_TRIATHLETE_F},
+ {0x2b, FACILITY_CLASS_SWIMMING_TRIATHLETE_M},
+ {0x2c, FACILITY_CLASS_SWIMMING_TRIATHLETE_F},
+ {0x2d, FACILITY_CLASS_DRAGON_TAMER},
+ {0x2e, FACILITY_CLASS_BIRD_KEEPER},
+ {0x2f, FACILITY_CLASS_NINJA_BOY},
+ {0x30, FACILITY_CLASS_BATTLE_GIRL},
+ {0x31, FACILITY_CLASS_PARASOL_LADY},
+ {0x32, FACILITY_CLASS_SWIMMER_F},
+ {0x33, FACILITY_CLASS_PICNICKER},
+ {0x34, FACILITY_CLASS_TWINS},
+ {0x35, FACILITY_CLASS_SAILOR},
+ {0x38, FACILITY_CLASS_COLLECTOR},
+ {0x39, FACILITY_CLASS_WALLY},
+ {0x3a, FACILITY_CLASS_BRENDAN},
+ {0x3b, FACILITY_CLASS_BRENDAN_2},
+ {0x3c, FACILITY_CLASS_BRENDAN_3},
+ {0x3d, FACILITY_CLASS_MAY},
+ {0x3e, FACILITY_CLASS_MAY_2},
+ {0x3f, FACILITY_CLASS_MAY_3},
+ {0x40, FACILITY_CLASS_PKMN_BREEDER_M},
+ {0x41, FACILITY_CLASS_POKEMON_BREEDER_F},
+ {0x42, FACILITY_CLASS_PKMN_RANGER_M},
+ {0x43, FACILITY_CLASS_PKMN_RANGER_F},
+ {0x44, FACILITY_CLASS_MAGMA_LEADER_MAXIE},
+ {0x45, FACILITY_CLASS_MAGMA_GRUNT_M},
+ {0x46, FACILITY_CLASS_MAGMA_GRUNT_F},
+ {0x47, FACILITY_CLASS_LASS},
+ {0x48, FACILITY_CLASS_BUG_CATCHER},
+ {0x49, FACILITY_CLASS_HIKER},
+ {0x4a, FACILITY_CLASS_YOUNG_COUPLE},
+ {0x4b, FACILITY_CLASS_OLD_COUPLE},
+ {0x4c, FACILITY_CLASS_SIS_AND_BRO},
+};
+
+static const u8 *const gUnknown_085DCFD8[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244383,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2443E7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244413,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24444B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2444D6
+};
+
+static const u8 *const gUnknown_085DCFEC[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2444EF,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24451E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244549,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24459B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2445C5
+};
+
+static const u8 *const gUnknown_085DD000[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2445E8,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244618,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244643,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24468F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2446B4
+};
+
+static const u8 *const gUnknown_085DD014[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2446E5,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24474D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24479E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24480C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2448A7
+};
+
+static const u8 *const gUnknown_085DD028[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2448CD,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2448F5,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244939,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244989,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2449E6
+};
+
+static const u8 *const gUnknown_085DD03C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244A23,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244AA9,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244AD6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244B52,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244B93
+};
+
+static const u8 *const gUnknown_085DD050[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244BD2,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244C18,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244C6E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244CD6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244D07
+};
+
+static const u8 *const gUnknown_085DD064[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244D36,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244D82,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244DC6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244DFE,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244E5B
+};
+
+static const u8 *const gUnknown_085DD078[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244E7E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244ECA,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244EF4,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244F4F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244F98
+};
+
+static const u8 *const gUnknown_085DD08C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_244FD3,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245013,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24503D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245087,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2450C0
+};
+
+static const u8 *const gUnknown_085DD0A0[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2450E6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245196,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2451BD,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24522F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24529A
+};
+
+static const u8 *const gUnknown_085DD0B4[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2452EF,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2453B4,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245406,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245464,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2454A3
+};
+
+static const u8 *const gUnknown_085DD0C8[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2454D6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245535,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24555F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2455EC,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245656
+};
+
+static const u8 *const gUnknown_085DD0DC[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24568A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2456F5,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245740,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2457D9,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24581F
+};
+
+static const u8 *const gUnknown_085DD0F0[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245851,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24589C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2458CE,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245923,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24597F
+};
+
+static const u8 *const gUnknown_085DD104[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2459BE,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2459F7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245A5F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245AB4,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245B3E
+};
+
+static const u8 *const gUnknown_085DD118[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245B79,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245B91,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245BBD,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245C05,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245C2D
+};
+
+static const u8 *const gUnknown_085DD12C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245C66,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245C7F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245CAC,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245CE6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245D07
+};
+
+static const u8 *const gUnknown_085DD140[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245D4B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245D60,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245D8D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245DC7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245DF0
+};
+
+static const u8 *const gUnknown_085DD154[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245E20,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245E41,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245E78,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245EBD,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245EEC
+};
+
+static const u8 *const gUnknown_085DD168[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245F2B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245F58,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245F87,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_245FC6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246002
+};
+
+static const u8 *const gUnknown_085DD17C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246020,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246051,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246082,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2460D5,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24610D
+};
+
+static const u8 *const gUnknown_085DD190[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24614A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24615D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24617D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2461C7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2461F5
+};
+
+static const u8 *const gUnknown_085DD1A4[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24622A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246244,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24626E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2462AA,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2462E4
+};
+
+static const u8 *const gUnknown_085DD1B8[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24631F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24633C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24636B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2463C5,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2463FF
+};
+
+static const u8 *const gUnknown_085DD1CC[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246449,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246478,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2464EE,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246529
+};
+
+static const u8 *const gUnknown_085DD1E0[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246571,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24658C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2465B5,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246605,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24662A
+};
+
+static const u8 *const gUnknown_085DD1F4[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246662,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246686,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2466B4,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2466E6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24670A
+};
+
+static const u8 *const gUnknown_085DD208[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246741,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246760,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246791,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2467C4,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2467E6
+};
+
+static const u8 *const gUnknown_085DD21C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2467FF,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246831,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246864,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2468A7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2468FE
+};
+
+static const u8 *const gUnknown_085DD230[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24694B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24697C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2469B4,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2469F1
+};
+
+static const u8 *const gUnknown_085DD244[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246A22,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246A4E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246A85,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246AF7
+};
+
+static const u8 *const gUnknown_085DD258[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246B2B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246B3F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246B6B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246BB2,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246BE9
+};
+
+static const u8 *const gUnknown_085DD26C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246C22,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246C35,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246C6C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246CB3,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246CE9
+};
+
+static const u8 *const gUnknown_085DD280[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246D2D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246D3F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246D6A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246D9E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246DD3
+};
+
+static const u8 *const gUnknown_085DD294[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246E1A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246E39,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246E64,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246EB6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246EEE
+};
+
+static const u8 *const gUnknown_085DD2A8[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246F21,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246F4C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246F7B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_246FCC,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247013
+};
+
+static const u8 *const gUnknown_085DD2BC[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24705B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24707D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2470B2,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2470FD,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24712A
+};
+
+static const u8 *const gUnknown_085DD2D0[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24716C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24718D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2471C7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2471FB,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247238
+};
+
+static const u8 *const gUnknown_085DD2E4[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247268,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247291,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2472C7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247313,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247348
+};
+
+static const u8 *const gUnknown_085DD2F8[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24737A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24738F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2473C6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2473FB,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247438
+};
+
+static const u8 *const gUnknown_085DD30C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247470,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247484,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2474AF,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2474EC,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24751D
+};
+
+static const u8 *const gUnknown_085DD320[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24754A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24755C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24758B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2475BC,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2475D5
+};
+
+static const u8 *const gUnknown_085DD334[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24760D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247629,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247655,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24769B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2476ED
+};
+
+static const u8 *const gUnknown_085DD348[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247724,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247749,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24777A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2477CE,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247807
+};
+
+static const u8 *const gUnknown_085DD35C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247838,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247854,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247889,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2478DD,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24790D
+};
+
+static const u8 *const gUnknown_085DD370[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247942,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24795F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247991,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2479CE,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247A18
+};
+
+static const u8 *const gUnknown_085DD384[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247A51,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247A76,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247AA1,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247AE3,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247B16
+};
+
+static const u8 *const gUnknown_085DD398[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247B3E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247B62,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247B9B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247BE7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247C23
+};
+
+static const u8 *const gUnknown_085DD3AC[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247C4E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247C8C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247CB2,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247D07,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247D4E
+};
+
+static const u8 *const gUnknown_085DD3C0[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247D97,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247DC7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247DFE,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247E3E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247E7E
+};
+
+static const u8 *const gUnknown_085DD3D4[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247EA1,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247EB5,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247EE9,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247F3F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247F6D
+};
+
+static const u8 *const gUnknown_085DD3E8[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247FA3,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247FB7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_247FE9,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248031,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24805E
+};
+
+static const u8 *const gUnknown_085DD3FC[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24808D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2480AB,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2480DC,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248128,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248151
+};
+
+static const u8 *const gUnknown_085DD410[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24818E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2481A9,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2481E1,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248221,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24824F
+};
+
+static const u8 *const gUnknown_085DD424[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248297,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2482B1,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2482DC,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248321,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24833D
+};
+
+static const u8 *const gUnknown_085DD438[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248369,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24838D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2483C1,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248401,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248431
+};
+
+static const u8 *const gUnknown_085DD44C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248467,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248477,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2484AC,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2484E7,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248517
+};
+
+static const u8 *const gUnknown_085DD460[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248553,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24856A,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24857D,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2485E5,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248614
+};
+
+static const u8 *const gUnknown_085DD474[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24864E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248661,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248671,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2486C6,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2486FF
+};
+
+static const u8 *const gUnknown_085DD488[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248725,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248751,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248781,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2487C9,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2487F7
+};
+
+static const u8 *const gUnknown_085DD49C[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248829,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24885B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248892,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2488D8,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248908
+};
+
+static const u8 *const gUnknown_085DD4B0[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24894B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24895F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_24896F,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2489BD,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_2489E7
+};
+
+static const u8 *const gUnknown_085DD4C4[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248A10,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248A40,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248A72,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248AC0,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248AEB
+};
+
+static const u8 *const gUnknown_085DD4D8[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248B22,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248B39,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248B4C,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248BB4,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248BEE
+};
+
+static const u8 *const gUnknown_085DD4EC[] =
+{
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248C2E,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248C5B,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248C90,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248CCF,
+ BattleFrontier_BattleTowerMultiBattleRoom_Text_248D04
+};
+
+struct
+{
+ u32 facilityClass;
+ const u8 *const *strings;
+} const gUnknown_085DD500[] =
+{
+ {FACILITY_CLASS_LASS, gUnknown_085DD118},
+ {FACILITY_CLASS_YOUNGSTER, gUnknown_085DD12C},
+ {FACILITY_CLASS_HIKER, gUnknown_085DD140},
+ {FACILITY_CLASS_BEAUTY, gUnknown_085DD154},
+ {FACILITY_CLASS_FISHERMAN, gUnknown_085DD168},
+ {FACILITY_CLASS_LADY, gUnknown_085DD17C},
+ {FACILITY_CLASS_CYCLING_TRIATHLETE_F, gUnknown_085DD190},
+ {FACILITY_CLASS_BUG_CATCHER, gUnknown_085DD1A4},
+ {FACILITY_CLASS_SCHOOL_KID_M, gUnknown_085DD1B8},
+ {FACILITY_CLASS_RICH_BOY, gUnknown_085DD1CC},
+ {FACILITY_CLASS_BLACK_BELT, gUnknown_085DD1E0},
+ {FACILITY_CLASS_TUBER_F, gUnknown_085DD1F4},
+ {FACILITY_CLASS_HEX_MANIAC, gUnknown_085DD208},
+ {FACILITY_CLASS_PKMN_BREEDER_M, gUnknown_085DD21C},
+ {FACILITY_CLASS_RUNNING_TRIATHLETE_F, gUnknown_085DD230},
+ {FACILITY_CLASS_RUNNING_TRIATHLETE_M, gUnknown_085DD244},
+ {FACILITY_CLASS_BATTLE_GIRL, gUnknown_085DD258},
+ {FACILITY_CLASS_CYCLING_TRIATHLETE_M, gUnknown_085DD26C},
+ {FACILITY_CLASS_TUBER_M, gUnknown_085DD280},
+ {FACILITY_CLASS_GUITARIST, gUnknown_085DD294},
+ {FACILITY_CLASS_GENTLEMAN, gUnknown_085DD2A8},
+ {FACILITY_CLASS_POKEFAN_M, gUnknown_085DD2BC},
+ {FACILITY_CLASS_EXPERT_M, gUnknown_085DD2D0},
+ {FACILITY_CLASS_EXPERT_F, gUnknown_085DD2E4},
+ {FACILITY_CLASS_DRAGON_TAMER, gUnknown_085DD2F8},
+ {FACILITY_CLASS_BIRD_KEEPER, gUnknown_085DD30C},
+ {FACILITY_CLASS_NINJA_BOY, gUnknown_085DD320},
+ {FACILITY_CLASS_PARASOL_LADY, gUnknown_085DD334},
+ {FACILITY_CLASS_BUG_MANIAC, gUnknown_085DD348},
+ {FACILITY_CLASS_SAILOR, gUnknown_085DD35C},
+ {FACILITY_CLASS_COLLECTOR, gUnknown_085DD370},
+ {FACILITY_CLASS_PKMN_RANGER_M, gUnknown_085DD384},
+ {FACILITY_CLASS_PKMN_RANGER_F, gUnknown_085DD398},
+ {FACILITY_CLASS_AROMA_LADY, gUnknown_085DD3AC},
+ {FACILITY_CLASS_RUIN_MANIAC, gUnknown_085DD3C0},
+ {FACILITY_CLASS_COOLTRAINER_M, gUnknown_085DD3D4},
+ {FACILITY_CLASS_COOLTRAINER_F, gUnknown_085DD3E8},
+ {FACILITY_CLASS_POKEMANIAC, gUnknown_085DD3FC},
+ {FACILITY_CLASS_KINDLER, gUnknown_085DD410},
+ {FACILITY_CLASS_CAMPER, gUnknown_085DD424},
+ {FACILITY_CLASS_PICNICKER, gUnknown_085DD438},
+ {FACILITY_CLASS_PSYCHIC_M, gUnknown_085DD44C},
+ {FACILITY_CLASS_PSYCHIC_F, gUnknown_085DD460},
+ {FACILITY_CLASS_SCHOOL_KID_F, gUnknown_085DD474},
+ {FACILITY_CLASS_POKEMON_BREEDER_F, gUnknown_085DD488},
+ {FACILITY_CLASS_POKEFAN_F, gUnknown_085DD49C},
+ {FACILITY_CLASS_SWIMMER_F, gUnknown_085DD4B0},
+ {FACILITY_CLASS_SWIMMING_TRIATHLETE_M, gUnknown_085DD4C4},
+ {FACILITY_CLASS_SWIMMING_TRIATHLETE_F, gUnknown_085DD4D8},
+ {FACILITY_CLASS_SWIMMER_M, gUnknown_085DD4EC}
+};
+
+static const u8 *const *const gUnknown_085DD690[] =
+{
+ gUnknown_085DCFD8,
+ gUnknown_085DCFEC,
+ gUnknown_085DD000,
+ gUnknown_085DD014,
+ gUnknown_085DD028,
+ gUnknown_085DD03C,
+ gUnknown_085DD050,
+ gUnknown_085DD064,
+ gUnknown_085DD078,
+ gUnknown_085DD08C,
+ gUnknown_085DD0A0,
+ gUnknown_085DD0B4,
+ gUnknown_085DD0C8,
+ gUnknown_085DD0DC,
+ gUnknown_085DD0F0,
+ gUnknown_085DD104
+};
+
+struct
+{
+ u16 species;
+ u8 fixedIV;
+ u8 level;
+ u8 nature;
+ u8 evs[6];
+ u16 moves[4];
+} const sStevenMons[3] =
+{
+ {
+ .species = SPECIES_METANG,
+ .fixedIV = 31,
+ .level = 42,
+ .nature = NATURE_BRAVE,
+ .evs = {0, 252, 252, 0, 6, 0},
+ .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_METAL_CLAW}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .fixedIV = 31,
+ .level = 43,
+ .nature = NATURE_IMPISH,
+ .evs = {252, 0, 0, 0, 6, 252},
+ .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_PROTECT, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .fixedIV = 31,
+ .level = 44,
+ .nature = NATURE_ADAMANT,
+ .evs = {0, 252, 0, 0, 252, 6},
+ .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW}
+ }
+};
+
+#include "data/battle_frontier/battle_tent.h"
+
static void (* const gUnknown_085DF96C[])(void) =
{
sub_8161F94,
@@ -424,10 +1374,9 @@ u16 sub_8162548(u8 challengeNum, u8 battleNum)
return trainerId;
}
-#ifdef NONMATCHING
-static u16 sub_81625B4(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *arg3) // Unused
+static void sub_81625B4(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *arg3) // Unused
{
- register u16 trainerId, count;
+ u16 trainerId, count;
if (challengeNum <= 7)
{
@@ -451,59 +1400,6 @@ static u16 sub_81625B4(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *arg
*trainerIdPtr = trainerId;
*arg3 = count;
}
-#else
-NAKED
-static u16 sub_81625B4(u8 challengeNum, u8 battleNum, u16 *trainerIdPtr, u8 *arg3)
-{
- asm_unified(" push {r4,lr}\n\
- adds r4, r2, 0\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- adds r2, r0, 0\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- cmp r0, 0x7\n\
- bhi _081625F4\n\
- cmp r1, 0x6\n\
- bne _081625D4\n\
- ldr r1, =gUnknown_085DFA1A\n\
- lsls r2, r0, 2\n\
- b _081625D8\n\
- .pool\n\
-_081625D4:\n\
- ldr r1, =gUnknown_085DF9FA\n\
- lsls r2, 2\n\
-_081625D8:\n\
- adds r0, r1, 0x2\n\
- adds r0, r2, r0\n\
- adds r2, r1\n\
- ldrh r0, [r0]\n\
- ldrh r1, [r2]\n\
- subs r0, r1\n\
- adds r0, 0x1\n\
- lsls r0, 16\n\
- lsrs r1, r0, 16\n\
- ldrh r0, [r2]\n\
- b _08162604\n\
- .pool\n\
-_081625F4:\n\
- ldr r0, =gUnknown_085DF9FA\n\
- ldrh r1, [r0, 0x1E]\n\
- ldrh r2, [r0, 0x1C]\n\
- subs r1, r2\n\
- adds r1, 0x1\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- ldrh r0, [r0, 0x1C]\n\
-_08162604:\n\
- strh r0, [r4]\n\
- strb r1, [r3]\n\
- pop {r4}\n\
- pop {r0}\n\
- bx r0\n\
- .pool");
-}
-#endif
void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId)
{
@@ -2349,7 +3245,7 @@ static void FillPartnerParty(u16 trainerId)
for (i = 0; i < 2; i++)
{
struct EmeraldBattleTowerRecord *record = &gSaveBlock2Ptr->frontier.towerRecords[trainerId];
- struct UnknownPokemonStruct monData = record->party[gSaveBlock2Ptr->frontier.field_CB4[18 + i]];
+ struct BattleTowerPokemon monData = record->party[gSaveBlock2Ptr->frontier.field_CB4[18 + i]];
StringCopy(trainerName, record->name);
if (record->language == LANGUAGE_JAPANESE)
{
@@ -2401,12 +3297,13 @@ bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct Em
{
dst->lvlMode = src->lvlMode;
dst->winStreak = src->winStreak;
- for (i = 0; i < (signed) ARRAY_COUNT(sRubyFacilityClassToEmerald); i++)
+ // BUG: Reading outside the array. sRubyFacilityClassToEmerald has less than FACILITY_CLASSES_COUNT entries.
+ for (i = 0; i < FACILITY_CLASSES_COUNT; i++)
{
if (sRubyFacilityClassToEmerald[i][0] == src->facilityClass)
break;
}
- if (i != ARRAY_COUNT(sRubyFacilityClassToEmerald))
+ if (i != FACILITY_CLASSES_COUNT)
dst->facilityClass = sRubyFacilityClassToEmerald[i][1];
else
dst->facilityClass = FACILITY_CLASS_YOUNGSTER;
@@ -2449,12 +3346,13 @@ bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, stru
{
dst->lvlMode = src->lvlMode;
dst->winStreak = src->winStreak;
- for (i = 0; i < (signed) ARRAY_COUNT(sRubyFacilityClassToEmerald); i++)
+ // BUG: Reading outside the array. sRubyFacilityClassToEmerald has less than FACILITY_CLASSES_COUNT entries.
+ for (i = 0; i < FACILITY_CLASSES_COUNT; i++)
{
if (sRubyFacilityClassToEmerald[i][1] == src->facilityClass)
break;
}
- if (i != ARRAY_COUNT(sRubyFacilityClassToEmerald))
+ if (i != FACILITY_CLASSES_COUNT)
dst->facilityClass = sRubyFacilityClassToEmerald[i][0];
else
dst->facilityClass = 0x24; // FACILITY_CLASS_YOUNGSTER in Ruby/Sapphire.
diff --git a/src/battle_transition.c b/src/battle_transition.c
index 94b9e78f9..37a8cd63f 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -7,7 +7,7 @@
#include "field_effect.h"
#include "gpu_regs.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "overworld.h"
#include "palette.h"
#include "random.h"
@@ -59,7 +59,7 @@ typedef bool8 (*TransitionSpriteCallback)(struct Sprite *sprite);
extern const struct OamData gEventObjectBaseOam_32x32;
-extern void sub_80AC3D0(void);
+extern void SetWeatherScreenFadeOut(void);
// this file's functions
static void LaunchBattleTransitionTask(u8 transitionId);
@@ -612,32 +612,32 @@ static const s16 gUnknown_085C8CF2[] = {4, 517, -1};
static const s16 *const gUnknown_085C8CF8[] =
{
- gUnknown_085C8C90,
- gUnknown_085C8CA4,
- gUnknown_085C8C98,
- gUnknown_085C8C9E,
- gUnknown_085C8CEA,
- gUnknown_085C8CE4,
- gUnknown_085C8CF2,
- gUnknown_085C8CDE
+ gUnknown_085C8C90,
+ gUnknown_085C8CA4,
+ gUnknown_085C8C98,
+ gUnknown_085C8C9E,
+ gUnknown_085C8CEA,
+ gUnknown_085C8CE4,
+ gUnknown_085C8CF2,
+ gUnknown_085C8CDE
};
static const s16 *const gUnknown_085C8D18[] =
{
- gUnknown_085C8CBC,
- gUnknown_085C8CB0,
- gUnknown_085C8CB6,
- gUnknown_085C8CAA,
- gUnknown_085C8CCA,
- gUnknown_085C8CD8,
- gUnknown_085C8CC4,
- gUnknown_085C8CD2
+ gUnknown_085C8CBC,
+ gUnknown_085C8CB0,
+ gUnknown_085C8CB6,
+ gUnknown_085C8CAA,
+ gUnknown_085C8CCA,
+ gUnknown_085C8CD8,
+ gUnknown_085C8CC4,
+ gUnknown_085C8CD2
};
static const s16 *const *const gUnknown_085C8D38[] =
{
- gUnknown_085C8CF8,
- gUnknown_085C8D18
+ gUnknown_085C8CF8,
+ gUnknown_085C8D18
};
static const TransitionStateFunc sPhase2_Groudon_Funcs[] =
@@ -981,7 +981,7 @@ static void Task_BattleTransitionMain(u8 taskId)
static bool8 Transition_Phase1(struct Task *task)
{
- sub_80AC3D0();
+ SetWeatherScreenFadeOut();
CpuCopy32(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
if (sPhase1_Tasks[task->tTransitionId] != NULL)
{
diff --git a/src/battle_tv.c b/src/battle_tv.c
index 535046fd1..487b6baac 100644
--- a/src/battle_tv.c
+++ b/src/battle_tv.c
@@ -815,324 +815,324 @@ void TryPutLinkBattleTvShowOnAir(void)
{
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, 0x20\n\
- movs r0, 0\n\
- str r0, [sp]\n\
- movs r1, 0\n\
- str r1, [sp, 0x4]\n\
- movs r2, 0\n\
- str r2, [sp, 0x8]\n\
- ldr r3, =0x00007fff\n\
- str r3, [sp, 0xC]\n\
- movs r4, 0\n\
- str r4, [sp, 0x10]\n\
- movs r7, 0\n\
- str r7, [sp, 0x14]\n\
- mov r8, r0\n\
- ldr r0, =gBattleStruct\n\
- ldr r1, [r0]\n\
- adds r0, r1, 0\n\
- adds r0, 0xB3\n\
- ldrb r0, [r0]\n\
- cmp r0, 0\n\
- beq _0817E42A\n\
- b _0817E670\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x20\n\
+ movs r0, 0\n\
+ str r0, [sp]\n\
+ movs r1, 0\n\
+ str r1, [sp, 0x4]\n\
+ movs r2, 0\n\
+ str r2, [sp, 0x8]\n\
+ ldr r3, =0x00007fff\n\
+ str r3, [sp, 0xC]\n\
+ movs r4, 0\n\
+ str r4, [sp, 0x10]\n\
+ movs r7, 0\n\
+ str r7, [sp, 0x14]\n\
+ mov r8, r0\n\
+ ldr r0, =gBattleStruct\n\
+ ldr r1, [r0]\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xB3\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _0817E42A\n\
+ b _0817E670\n\
_0817E42A:\n\
- movs r2, 0xD2\n\
- lsls r2, 1\n\
- adds r2, r1\n\
- mov r10, r2\n\
- movs r6, 0\n\
+ movs r2, 0xD2\n\
+ lsls r2, 1\n\
+ adds r2, r1\n\
+ mov r10, r2\n\
+ movs r6, 0\n\
_0817E434:\n\
- movs r0, 0x64\n\
- adds r4, r6, 0\n\
- muls r4, r0\n\
- ldr r0, =gPlayerParty\n\
- adds r0, r4, r0\n\
- movs r1, 0xB\n\
- movs r2, 0\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _0817E454\n\
- mov r0, r8\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r8, r0\n\
+ movs r0, 0x64\n\
+ adds r4, r6, 0\n\
+ muls r4, r0\n\
+ ldr r0, =gPlayerParty\n\
+ adds r0, r4, r0\n\
+ movs r1, 0xB\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0817E454\n\
+ mov r0, r8\n\
+ adds r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r8, r0\n\
_0817E454:\n\
- ldr r5, =gEnemyParty\n\
- adds r0, r4, r5\n\
- movs r1, 0xB\n\
- movs r2, 0\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- beq _0817E46A\n\
- adds r0, r7, 0x1\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
+ ldr r5, =gEnemyParty\n\
+ adds r0, r4, r5\n\
+ movs r1, 0xB\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ beq _0817E46A\n\
+ adds r0, r7, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r7, r0, 24\n\
_0817E46A:\n\
- adds r6, 0x1\n\
- cmp r6, 0x5\n\
- ble _0817E434\n\
- ldr r0, =gBattleTypeFlags\n\
- ldr r0, [r0]\n\
- movs r1, 0x2\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0817E47E\n\
- b _0817E670\n\
+ adds r6, 0x1\n\
+ cmp r6, 0x5\n\
+ ble _0817E434\n\
+ ldr r0, =gBattleTypeFlags\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x2\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0817E47E\n\
+ b _0817E670\n\
_0817E47E:\n\
- cmp r8, r7\n\
- beq _0817E484\n\
- b _0817E670\n\
+ cmp r8, r7\n\
+ beq _0817E484\n\
+ b _0817E670\n\
_0817E484:\n\
- movs r6, 0\n\
- lsls r3, r6, 1\n\
- str r3, [sp, 0x18]\n\
- movs r4, 0x64\n\
- mov r8, r4\n\
+ movs r6, 0\n\
+ lsls r3, r6, 1\n\
+ str r3, [sp, 0x18]\n\
+ movs r4, 0x64\n\
+ mov r8, r4\n\
_0817E48E:\n\
- mov r1, r8\n\
- muls r1, r6\n\
- ldr r0, =gPlayerParty\n\
- adds r4, r1, r0\n\
- adds r0, r4, 0\n\
- movs r1, 0xB\n\
- movs r2, 0\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r7, r0, 16\n\
- adds r0, r6, 0x1\n\
- mov r9, r0\n\
- cmp r7, 0\n\
- beq _0817E4EE\n\
- adds r0, r4, 0\n\
- movs r1, 0x2D\n\
- movs r2, 0\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- bne _0817E4EE\n\
- movs r4, 0\n\
- lsls r0, r6, 3\n\
- mov r2, r10\n\
- adds r1, r0, r2\n\
- movs r3, 0x3\n\
+ mov r1, r8\n\
+ muls r1, r6\n\
+ ldr r0, =gPlayerParty\n\
+ adds r4, r1, r0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xB\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r7, r0, 16\n\
+ adds r0, r6, 0x1\n\
+ mov r9, r0\n\
+ cmp r7, 0\n\
+ beq _0817E4EE\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x2D\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _0817E4EE\n\
+ movs r4, 0\n\
+ lsls r0, r6, 3\n\
+ mov r2, r10\n\
+ adds r1, r0, r2\n\
+ movs r3, 0x3\n\
_0817E4C4:\n\
- lsls r0, r4, 16\n\
- asrs r0, 16\n\
- ldrh r4, [r1]\n\
- adds r0, r4\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- adds r1, 0x2\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _0817E4C4\n\
- ldr r1, [sp, 0x8]\n\
- lsls r0, r1, 16\n\
- lsls r1, r4, 16\n\
- cmp r0, r1\n\
- bge _0817E4EE\n\
- lsls r0, r6, 24\n\
- lsrs r0, 24\n\
- str r0, [sp, 0x10]\n\
- lsrs r1, 16\n\
- str r1, [sp, 0x8]\n\
- str r7, [sp]\n\
+ lsls r0, r4, 16\n\
+ asrs r0, 16\n\
+ ldrh r4, [r1]\n\
+ adds r0, r4\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ adds r1, 0x2\n\
+ subs r3, 0x1\n\
+ cmp r3, 0\n\
+ bge _0817E4C4\n\
+ ldr r1, [sp, 0x8]\n\
+ lsls r0, r1, 16\n\
+ lsls r1, r4, 16\n\
+ cmp r0, r1\n\
+ bge _0817E4EE\n\
+ lsls r0, r6, 24\n\
+ lsrs r0, 24\n\
+ str r0, [sp, 0x10]\n\
+ lsrs r1, 16\n\
+ str r1, [sp, 0x8]\n\
+ str r7, [sp]\n\
_0817E4EE:\n\
- mov r0, r8\n\
- muls r0, r6\n\
- ldr r2, =gEnemyParty\n\
- adds r4, r0, r2\n\
- adds r0, r4, 0\n\
- movs r1, 0xB\n\
- movs r2, 0\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r7, r0, 16\n\
- ldr r3, [sp, 0x8]\n\
- lsls r3, 16\n\
- str r3, [sp, 0x1C]\n\
- cmp r7, 0\n\
- beq _0817E5A0\n\
- adds r0, r4, 0\n\
- movs r1, 0x2D\n\
- movs r2, 0\n\
- bl GetMonData\n\
- cmp r0, 0\n\
- bne _0817E5A0\n\
- movs r4, 0\n\
- ldr r0, [sp, 0xC]\n\
- lsls r2, r0, 16\n\
- movs r3, 0x1\n\
- lsls r1, r3, 1\n\
- adds r1, 0x1\n\
- lsls r1, 4\n\
- lsls r0, r6, 3\n\
- adds r0, r1\n\
- mov r3, r10\n\
- adds r1, r0, r3\n\
- movs r3, 0x3\n\
+ mov r0, r8\n\
+ muls r0, r6\n\
+ ldr r2, =gEnemyParty\n\
+ adds r4, r0, r2\n\
+ adds r0, r4, 0\n\
+ movs r1, 0xB\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r7, r0, 16\n\
+ ldr r3, [sp, 0x8]\n\
+ lsls r3, 16\n\
+ str r3, [sp, 0x1C]\n\
+ cmp r7, 0\n\
+ beq _0817E5A0\n\
+ adds r0, r4, 0\n\
+ movs r1, 0x2D\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ cmp r0, 0\n\
+ bne _0817E5A0\n\
+ movs r4, 0\n\
+ ldr r0, [sp, 0xC]\n\
+ lsls r2, r0, 16\n\
+ movs r3, 0x1\n\
+ lsls r1, r3, 1\n\
+ adds r1, 0x1\n\
+ lsls r1, 4\n\
+ lsls r0, r6, 3\n\
+ adds r0, r1\n\
+ mov r3, r10\n\
+ adds r1, r0, r3\n\
+ movs r3, 0x3\n\
_0817E534:\n\
- lsls r0, r4, 16\n\
- asrs r0, 16\n\
- ldrh r4, [r1]\n\
- adds r0, r4\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- adds r1, 0x2\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _0817E534\n\
- asrs r1, r2, 16\n\
- lsls r5, r4, 16\n\
- asrs r0, r5, 16\n\
- cmp r1, r0\n\
- bne _0817E590\n\
- mov r0, r8\n\
- muls r0, r6\n\
- ldr r1, =gEnemyParty\n\
- adds r0, r1\n\
- movs r1, 0x19\n\
- movs r2, 0\n\
- bl GetMonData\n\
- adds r4, r0, 0\n\
- ldr r2, [sp, 0x14]\n\
- mov r0, r8\n\
- muls r0, r2\n\
- ldr r3, =gEnemyParty\n\
- adds r0, r3\n\
- movs r1, 0x19\n\
- movs r2, 0\n\
- bl GetMonData\n\
- cmp r4, r0\n\
- bls _0817E5A0\n\
- b _0817E594\n\
- .pool\n\
+ lsls r0, r4, 16\n\
+ asrs r0, 16\n\
+ ldrh r4, [r1]\n\
+ adds r0, r4\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ adds r1, 0x2\n\
+ subs r3, 0x1\n\
+ cmp r3, 0\n\
+ bge _0817E534\n\
+ asrs r1, r2, 16\n\
+ lsls r5, r4, 16\n\
+ asrs r0, r5, 16\n\
+ cmp r1, r0\n\
+ bne _0817E590\n\
+ mov r0, r8\n\
+ muls r0, r6\n\
+ ldr r1, =gEnemyParty\n\
+ adds r0, r1\n\
+ movs r1, 0x19\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ adds r4, r0, 0\n\
+ ldr r2, [sp, 0x14]\n\
+ mov r0, r8\n\
+ muls r0, r2\n\
+ ldr r3, =gEnemyParty\n\
+ adds r0, r3\n\
+ movs r1, 0x19\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ cmp r4, r0\n\
+ bls _0817E5A0\n\
+ b _0817E594\n\
+ .pool\n\
_0817E590:\n\
- cmp r1, r0\n\
- ble _0817E5A0\n\
+ cmp r1, r0\n\
+ ble _0817E5A0\n\
_0817E594:\n\
- lsls r0, r6, 24\n\
- lsrs r0, 24\n\
- str r0, [sp, 0x14]\n\
- lsrs r5, 16\n\
- str r5, [sp, 0xC]\n\
- str r7, [sp, 0x4]\n\
+ lsls r0, r6, 24\n\
+ lsrs r0, 24\n\
+ str r0, [sp, 0x14]\n\
+ lsrs r5, 16\n\
+ str r5, [sp, 0xC]\n\
+ str r7, [sp, 0x4]\n\
_0817E5A0:\n\
- mov r6, r9\n\
- cmp r6, 0x5\n\
- bgt _0817E5A8\n\
- b _0817E48E\n\
+ mov r6, r9\n\
+ cmp r6, 0x5\n\
+ bgt _0817E5A8\n\
+ b _0817E48E\n\
_0817E5A8:\n\
- movs r4, 0\n\
- movs r6, 0\n\
- movs r3, 0\n\
- ldr r5, =gPlayerParty\n\
- ldr r7, [sp, 0x10]\n\
- lsls r0, r7, 3\n\
- mov r1, r10\n\
- adds r2, r0, r1\n\
+ movs r4, 0\n\
+ movs r6, 0\n\
+ movs r3, 0\n\
+ ldr r5, =gPlayerParty\n\
+ ldr r7, [sp, 0x10]\n\
+ lsls r0, r7, 3\n\
+ mov r1, r10\n\
+ adds r2, r0, r1\n\
_0817E5B8:\n\
- lsls r0, r4, 16\n\
- asrs r0, 16\n\
- movs r7, 0\n\
- ldrsh r1, [r2, r7]\n\
- cmp r0, r1\n\
- bge _0817E5C8\n\
- ldrh r4, [r2]\n\
- adds r6, r3, 0\n\
+ lsls r0, r4, 16\n\
+ asrs r0, 16\n\
+ movs r7, 0\n\
+ ldrsh r1, [r2, r7]\n\
+ cmp r0, r1\n\
+ bge _0817E5C8\n\
+ ldrh r4, [r2]\n\
+ adds r6, r3, 0\n\
_0817E5C8:\n\
- adds r2, 0x2\n\
- adds r3, 0x1\n\
- cmp r3, 0x3\n\
- ble _0817E5B8\n\
- movs r0, 0x64\n\
- ldr r1, [sp, 0x10]\n\
- muls r0, r1\n\
- adds r0, r5\n\
- adds r1, r6, 0\n\
- adds r1, 0xD\n\
- movs r2, 0\n\
- bl GetMonData\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- ldr r2, [sp, 0x1C]\n\
- cmp r2, 0\n\
- beq _0817E670\n\
- cmp r4, 0\n\
- beq _0817E670\n\
- ldr r0, =gBattleTypeFlags\n\
- ldr r0, [r0]\n\
- movs r1, 0x40\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- beq _0817E65C\n\
- ldr r3, [sp, 0x10]\n\
- cmp r3, 0x2\n\
- bhi _0817E620\n\
- ldr r0, =gBattleScripting\n\
- adds r0, 0x25\n\
- ldrb r0, [r0]\n\
- bl GetLinkTrainerFlankId\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- beq _0817E630\n\
- b _0817E670\n\
- .pool\n\
+ adds r2, 0x2\n\
+ adds r3, 0x1\n\
+ cmp r3, 0x3\n\
+ ble _0817E5B8\n\
+ movs r0, 0x64\n\
+ ldr r1, [sp, 0x10]\n\
+ muls r0, r1\n\
+ adds r0, r5\n\
+ adds r1, r6, 0\n\
+ adds r1, 0xD\n\
+ movs r2, 0\n\
+ bl GetMonData\n\
+ lsls r0, 16\n\
+ lsrs r4, r0, 16\n\
+ ldr r2, [sp, 0x1C]\n\
+ cmp r2, 0\n\
+ beq _0817E670\n\
+ cmp r4, 0\n\
+ beq _0817E670\n\
+ ldr r0, =gBattleTypeFlags\n\
+ ldr r0, [r0]\n\
+ movs r1, 0x40\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _0817E65C\n\
+ ldr r3, [sp, 0x10]\n\
+ cmp r3, 0x2\n\
+ bhi _0817E620\n\
+ ldr r0, =gBattleScripting\n\
+ adds r0, 0x25\n\
+ ldrb r0, [r0]\n\
+ bl GetLinkTrainerFlankId\n\
+ lsls r0, 16\n\
+ cmp r0, 0\n\
+ beq _0817E630\n\
+ b _0817E670\n\
+ .pool\n\
_0817E620:\n\
- ldr r0, =gBattleScripting\n\
- adds r0, 0x25\n\
- ldrb r0, [r0]\n\
- bl GetLinkTrainerFlankId\n\
- lsls r0, 16\n\
- cmp r0, 0\n\
- beq _0817E670\n\
+ ldr r0, =gBattleScripting\n\
+ adds r0, 0x25\n\
+ ldrb r0, [r0]\n\
+ bl GetLinkTrainerFlankId\n\
+ lsls r0, 16\n\
+ cmp r0, 0\n\
+ beq _0817E670\n\
_0817E630:\n\
- movs r3, 0\n\
- ldr r7, [sp, 0x14]\n\
- cmp r7, 0x2\n\
- bls _0817E63A\n\
- movs r3, 0x1\n\
+ movs r3, 0\n\
+ ldr r7, [sp, 0x14]\n\
+ cmp r7, 0x2\n\
+ bls _0817E63A\n\
+ movs r3, 0x1\n\
_0817E63A:\n\
- lsls r0, r3, 24\n\
- lsrs r0, 24\n\
- ldr r1, =gBattleScripting\n\
- adds r1, 0x25\n\
- ldrb r1, [r1]\n\
- bl sub_806EF84\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- adds r1, r4, 0\n\
- ldr r2, [sp]\n\
- ldr r3, [sp, 0x4]\n\
- bl PutBattleUpdateOnTheAir\n\
- b _0817E670\n\
- .pool\n\
+ lsls r0, r3, 24\n\
+ lsrs r0, 24\n\
+ ldr r1, =gBattleScripting\n\
+ adds r1, 0x25\n\
+ ldrb r1, [r1]\n\
+ bl sub_806EF84\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ adds r1, r4, 0\n\
+ ldr r2, [sp]\n\
+ ldr r3, [sp, 0x4]\n\
+ bl PutBattleUpdateOnTheAir\n\
+ b _0817E670\n\
+ .pool\n\
_0817E65C:\n\
- ldr r0, =gBattleScripting\n\
- adds r0, 0x25\n\
- ldrb r1, [r0]\n\
- movs r0, 0x1\n\
- eors r0, r1\n\
- adds r1, r4, 0\n\
- ldr r2, [sp]\n\
- ldr r3, [sp, 0x4]\n\
- bl PutBattleUpdateOnTheAir\n\
+ ldr r0, =gBattleScripting\n\
+ adds r0, 0x25\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x1\n\
+ eors r0, r1\n\
+ adds r1, r4, 0\n\
+ ldr r2, [sp]\n\
+ ldr r3, [sp, 0x4]\n\
+ bl PutBattleUpdateOnTheAir\n\
_0817E670:\n\
- add sp, 0x20\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");
+ add sp, 0x20\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
diff --git a/src/battle_util.c b/src/battle_util.c
index 251a545c9..2ddd4f550 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -17,13 +17,13 @@
#include "string_util.h"
#include "battle_message.h"
#include "constants/battle_string_ids.h"
+#include "constants/weather.h"
#include "battle_ai_script_commands.h"
#include "battle_controllers.h"
#include "event_data.h"
#include "link.h"
#include "berry.h"
-
-extern u8 weather_get_current(void);
+#include "field_weather.h"
// rom const data
static const u16 sSoundMovesTable[] =
@@ -1192,7 +1192,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void)
// fall through
case 2:
if ((gBattleTypeFlags & BATTLE_TYPE_ARENA)
- && gBattleStruct->field_DA == 2
+ && gBattleStruct->arenaTurnCounter == 2
&& gBattleMons[0].hp != 0 && gBattleMons[1].hp != 0)
{
s32 i;
@@ -1238,7 +1238,7 @@ bool8 HandleFaintedMonActions(void)
{
gBattlerFainted = gBattlerTarget = gBattleStruct->faintedActionsBattlerId;
if (gBattleMons[gBattleStruct->faintedActionsBattlerId].hp == 0
- && !(gBattleStruct->field_DF & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]])
+ && !(gBattleStruct->givenExpMons & gBitTable[gBattlerPartyIndexes[gBattleStruct->faintedActionsBattlerId]])
&& !(gAbsentBattlerFlags & gBitTable[gBattleStruct->faintedActionsBattlerId]))
{
BattleScriptExecute(BattleScript_GiveExp);
@@ -1827,11 +1827,11 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
case ABILITYEFFECT_SWITCH_IN_WEATHER:
if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED))
{
- switch (weather_get_current())
+ switch (GetCurrentWeather())
{
- case 3:
- case 5:
- case 13:
+ case WEATHER_RAIN_LIGHT:
+ case WEATHER_RAIN_MED:
+ case WEATHER_RAIN_HEAVY:
if (!(gBattleWeather & WEATHER_RAIN_ANY))
{
gBattleWeather = (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_PERMANENT);
@@ -1840,7 +1840,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
effect++;
}
break;
- case 8:
+ case WEATHER_SANDSTORM:
if (!(gBattleWeather & WEATHER_SANDSTORM_ANY))
{
gBattleWeather = (WEATHER_SANDSTORM_PERMANENT | WEATHER_SANDSTORM_TEMPORARY);
@@ -1849,7 +1849,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
effect++;
}
break;
- case 12:
+ case WEATHER_DROUGHT:
if (!(gBattleWeather & WEATHER_SUN_ANY))
{
gBattleWeather = (WEATHER_SUN_PERMANENT | WEATHER_SUN_TEMPORARY);
@@ -1862,7 +1862,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
}
if (effect)
{
- gBattleCommunication[MULTISTRING_CHOOSER] = weather_get_current();
+ gBattleCommunication[MULTISTRING_CHOOSER] = GetCurrentWeather();
BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts);
}
break;
diff --git a/src/battle_util2.c b/src/battle_util2.c
index d3cbfbb01..70c722298 100644
--- a/src/battle_util2.c
+++ b/src/battle_util2.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
-#include "malloc.h"
+#include "alloc.h"
#include "pokemon.h"
#include "event_data.h"
#include "constants/abilities.h"
diff --git a/src/berry.c b/src/berry.c
index 9f08165b8..24ed370c3 100644
--- a/src/berry.c
+++ b/src/berry.c
@@ -32,7 +32,7 @@ static u16 GetStageDurationByBerryType(u8);
//.rodata
static const u8 sBerryDescriptionPart1_Cheri[] = _("Blooms with delicate pretty flowers.");
static const u8 sBerryDescriptionPart2_Cheri[] = _("The bright red BERRY is very spicy.");
-static const u8 sBerryDescriptionPart1_Chesto[] = _("The BERRY’s thick skin and fruit are");
+static const u8 sBerryDescriptionPart1_Chesto[] = _("The BERRY's thick skin and fruit are");
static const u8 sBerryDescriptionPart2_Chesto[] = _("very tough. It is dry-tasting all over.");
static const u8 sBerryDescriptionPart1_Pecha[] = _("Very sweet and delicious.");
static const u8 sBerryDescriptionPart2_Pecha[] = _("Also very tender - handle with care.");
@@ -44,7 +44,7 @@ static const u8 sBerryDescriptionPart1_Leppa[] = _("Grows slower than CHERI and
static const u8 sBerryDescriptionPart2_Leppa[] = _("The smaller the BERRY, the tastier.");
static const u8 sBerryDescriptionPart1_Oran[] = _("A peculiar BERRY with a mix of flavors.");
static const u8 sBerryDescriptionPart2_Oran[] = _("BERRIES grow in half a day.");
-static const u8 sBerryDescriptionPart1_Persim[] = _("Loves sunlight. The BERRY’s color");
+static const u8 sBerryDescriptionPart1_Persim[] = _("Loves sunlight. The BERRY's color");
static const u8 sBerryDescriptionPart2_Persim[] = _("grows vivid when exposed to the sun.");
static const u8 sBerryDescriptionPart1_Lum[] = _("Slow to grow. If raised with loving");
static const u8 sBerryDescriptionPart2_Lum[] = _("care, it may grow two BERRIES.");
@@ -113,7 +113,7 @@ static const u8 sBerryDescriptionPart2_Apicot[] = _("what may happen or how it c
static const u8 sBerryDescriptionPart1_Lansat[] = _("Said to be a legendary BERRY.");
static const u8 sBerryDescriptionPart2_Lansat[] = _("Holding it supposedly brings joy.");
static const u8 sBerryDescriptionPart1_Starf[] = _("So strong, it was abandoned at the");
-static const u8 sBerryDescriptionPart2_Starf[] = _("world’s edge. Considered a mirage.");
+static const u8 sBerryDescriptionPart2_Starf[] = _("world's edge. Considered a mirage.");
static const u8 sBerryDescriptionPart1_Enigma[] = _("A completely enigmatic BERRY.");
static const u8 sBerryDescriptionPart2_Enigma[] = _("Appears to have the power of stars.");
diff --git a/src/berry_blender.c b/src/berry_blender.c
index 7320e905f..1ffdb1c38 100644
--- a/src/berry_blender.c
+++ b/src/berry_blender.c
@@ -12,7 +12,7 @@
#include "bg.h"
#include "palette.h"
#include "decompress.h"
-#include "malloc.h"
+#include "alloc.h"
#include "gpu_regs.h"
#include "text.h"
#include "text_window.h"
@@ -260,10 +260,10 @@ static const u8 sText_PressAToStart[] = _("Press the A Button to start.");
static const u8 sText_PleaseWaitAWhile[] = _("Please wait a while.");
static const u8 sText_CommunicationStandby[] = _("Communication standby…");
static const u8 sText_WouldLikeToBlendAnotherBerry[] = _("Would you like to blend another BERRY?");
-static const u8 sText_RunOutOfBerriesForBlending[] = _("You’ve run out of BERRIES for\nblending in the BERRY BLENDER.\p");
+static const u8 sText_RunOutOfBerriesForBlending[] = _("You've run out of BERRIES for\nblending in the BERRY BLENDER.\p");
static const u8 sText_YourPokeblockCaseIsFull[] = _("Your {POKEBLOCK} CASE is full.\p");
static const u8 sText_HasNoBerriesToPut[] = _(" has no BERRIES to put in\nthe BERRY BLENDER.");
-static const u8 sText_ApostropheSPokeblockCaseIsFull[] = _("’s {POKEBLOCK} CASE is full.\p");
+static const u8 sText_ApostropheSPokeblockCaseIsFull[] = _("'s {POKEBLOCK} CASE is full.\p");
static const u8 sText_BlendingResults[] = _("RESULTS OF BLENDING");
static const u8 sText_BerryUsed[] = _("BERRY USED");
static const u8 sText_SpaceBerry[] = _(" BERRY");
diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c
index a90906d05..d87509e10 100644
--- a/src/berry_fix_program.c
+++ b/src/berry_fix_program.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "gpu_regs.h"
#include "multiboot.h"
-#include "malloc.h"
+#include "alloc.h"
#include "bg.h"
#include "graphics.h"
#include "main.h"
diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c
index 39927ab99..22f99a426 100644
--- a/src/berry_tag_screen.c
+++ b/src/berry_tag_screen.c
@@ -21,7 +21,7 @@
#include "string_util.h"
#include "strings.h"
#include "bg.h"
-#include "malloc.h"
+#include "alloc.h"
#include "scanline_effect.h"
#include "gpu_regs.h"
#include "graphics.h"
diff --git a/src/birch_pc.c b/src/birch_pc.c
index 3148832be..5179b1920 100644
--- a/src/birch_pc.c
+++ b/src/birch_pc.c
@@ -66,20 +66,20 @@ const u8 *GetPokedexRatingText(u16 count)
return gBirchDexRatingText_LessThan200;
if (count == 200)
{
- if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1)
- || GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // Jirachi or Deoxys is not counted towards the dex completion. If either of these flags are enabled, it means the actual count is less than 200.
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), FLAG_GET_CAUGHT)
+ || GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), FLAG_GET_CAUGHT)) // Jirachi or Deoxys is not counted towards the dex completion. If either of these flags are enabled, it means the actual count is less than 200.
return gBirchDexRatingText_LessThan200;
return gBirchDexRatingText_DexCompleted;
}
- if (count == 201)
+ if (count == HOENN_DEX_COUNT - 1)
{
- if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), 1)
- && GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), 1)) // If both of these flags are enabled, it means the actual count is less than 200.
+ if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_JIRACHI), FLAG_GET_CAUGHT)
+ && GetSetPokedexFlag(SpeciesToNationalPokedexNum(SPECIES_DEOXYS), FLAG_GET_CAUGHT)) // If both of these flags are enabled, it means the actual count is less than 200.
return gBirchDexRatingText_LessThan200;
return gBirchDexRatingText_DexCompleted;
}
- if (count == 202)
- return gBirchDexRatingText_DexCompleted; // Hoenn dex is considered complete, even though the hoenn dex count is 210.
+ if (count == HOENN_DEX_COUNT)
+ return gBirchDexRatingText_DexCompleted;
return gBirchDexRatingText_LessThan10;
}
diff --git a/src/cable_car.c b/src/cable_car.c
new file mode 100755
index 000000000..00606c905
--- /dev/null
+++ b/src/cable_car.c
@@ -0,0 +1,1006 @@
+#include "global.h"
+#include "bg.h"
+#include "decompress.h"
+#include "event_data.h"
+#include "event_object_movement.h"
+#include "field_weather.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "alloc.h"
+#include "main.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "random.h"
+#include "scanline_effect.h"
+#include "script.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "constants/event_objects.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+#include "constants/weather.h"
+
+struct CableCar
+{
+ u8 taskId;
+ u8 state;
+ u8 weather;
+ u16 unk4;
+ u16 timer;
+ u8 bg0HorizontalOffset;
+ u8 bg0VerticalOffset;
+ u8 fillerA[0x2];
+ u8 bg1HorizontalOffset;
+ u8 bg1VerticalOffset;
+ u8 fillerE[0x6];
+ u8 bg3HorizontalOffset;
+ u8 bg3VerticalOffset;
+ u8 filler16[0x2];
+ u8 unk18;
+ u8 unk19;
+ u8 unk1A;
+ u8 unk1B;
+ u8 unk1C;
+ u8 unk1D;
+ u8 unk1E;
+ u8 unk1F;
+ u8 unk20;
+ u16 unk22[9][12];
+ u8 fillerFA[0x2];
+ /*0x00FC*/ u16 bgTilemapBuffers[4][0x800];
+ /*0x40FC*/ u16 *mtChimneyTilemap;
+ /*0x4100*/ u16 *treeTilemap;
+ /*0x4104*/ u16 *mountainTilemap;
+ /*0x4108*/ const u16 *pylonHookTilemapEntries;
+ /*0x410C*/ u8 *pylonStemTilemap;
+};
+
+static EWRAM_DATA struct CableCar *sCableCar = NULL;
+EWRAM_DATA u8 gUnknown_0203ABB0 = 0;
+EWRAM_DATA u8 gUnknown_0203ABB1 = 0;
+EWRAM_DATA u8 gUnknown_0203ABB2 = 0;
+EWRAM_DATA u8 gUnknown_0203ABB3 = 0;
+EWRAM_DATA u8 gUnknown_0203ABB4 = 0;
+EWRAM_DATA u8 gUnknown_0203ABB5 = 0;
+
+static void CableCarMainCallback_Setup(void);
+static void sub_8150B6C(u8);
+static void LoadCableCarSprites(void);
+static void sub_81514C8(u8);
+static void sub_81503E4(u8);
+static void sub_8150550(u8);
+static void sub_8150664(u8);
+static void CableCarVblankCallback(void);
+static void CableCarMainCallback_Run(void);
+static void sub_815115C(void);
+static void sub_81511B8(void);
+static void sub_8150868(struct Sprite *);
+static void nullsub_58(struct Sprite *);
+static void sub_8151214(void);
+static void sub_8151388(void);
+
+const struct BgTemplate gCableCarBgTemplates[4] = {
+ {
+ .bg = 0,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 28,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ },
+ {
+ .bg = 1,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 29,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 2,
+ .baseTile = 0
+ },
+ {
+ .bg = 2,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 3,
+ .baseTile = 0
+ },
+ {
+ .bg = 3,
+ .charBaseIndex = 0,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+};
+
+const u8 gCableCarMtChimneyTilemap[] = INCBIN_U8("graphics/misc/cable_car_mt_chimney_map.bin.lz");
+const u8 gCableCarTreeTilemap[] = INCBIN_U8("graphics/misc/cable_car_tree_map.bin.lz");
+const u8 gCableCarMountainTilemap[] = INCBIN_U8("graphics/misc/cable_car_mountain_map.bin.lz");
+
+const u16 gCableCarPylonHookTilemapEntries[] = {
+ 0x3000,
+ 0x3001,
+ 0x3002,
+ 0x3003,
+ 0x3004,
+ 0x3005,
+ 0x3006,
+ 0x3007,
+ 0x3008,
+ 0x3009,
+};
+
+const u8 gCableCarPylonStemTilemap[] = INCBIN_U8("graphics/misc/cable_car_pylon_stem_map.bin.lz");
+
+const struct CompressedSpriteSheet gUnknown_085CDB54[] = {
+ { gCableCar_Gfx, 0x800, 1 },
+ { gCableCarDoor_Gfx, 0x40, 2 },
+ { gCableCarCord_Gfx, 0x80, 3 },
+ { },
+};
+
+const struct SpritePalette gUnknown_085CDB74[] = {
+ { gCableCar_Pal, 1 },
+ { }
+};
+
+const struct OamData gOamData_85CDB84 = {
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .size = 3,
+ .priority = 2
+};
+
+const struct OamData gOamData_85CDB8C = {
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .shape = ST_OAM_H_RECTANGLE,
+ .priority = 2
+};
+
+const struct OamData gOamData_85CDB94 = {
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .size = 1,
+ .priority = 2
+};
+
+const struct SpriteTemplate gSpriteTemplate_85CDB9C[] =
+{
+ {
+ .tileTag = 1,
+ .paletteTag = 1,
+ .oam = &gOamData_85CDB84,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8150868,
+ },
+ {
+ .tileTag = 2,
+ .paletteTag = 1,
+ .oam = &gOamData_85CDB8C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8150868,
+ },
+};
+
+const struct SpriteTemplate gSpriteTemplate_85CDBCC = {
+ .tileTag = 3,
+ .paletteTag = 1,
+ .oam = &gOamData_85CDB94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = nullsub_58,
+};
+
+static void CableCarTask1(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ SetMainCallback2(CableCarMainCallback_Setup);
+ DestroyTask(taskId);
+ }
+}
+
+void CableCar(void)
+{
+ ScriptContext2_Enable();
+ CreateTask(CableCarTask1, 1);
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0));
+}
+
+static void CableCarMainCallback_Setup(void)
+{
+ u16 imebak;
+ u8 i = 0;
+ int sizeOut = 0;
+
+ switch (gMain.state)
+ {
+ case 0:
+ default:
+ SetVBlankCallback(NULL);
+ sub_8150B6C(0);
+ ScanlineEffect_Stop();
+ DmaFillLarge16(3, 0, (void *)VRAM, VRAM_SIZE, 0x1000);
+ DmaFill32Defvars(3, 0, (void *)OAM, OAM_SIZE);
+ DmaFill16Defvars(3, 0, (void *)PLTT, PLTT_SIZE);
+ sCableCar = AllocZeroed(sizeof(*sCableCar));
+ gMain.state++;
+ break;
+ case 1:
+ ResetSpriteData();
+ ResetTasks();
+ FreeAllSpritePalettes();
+ ResetPaletteFade();
+ reset_temp_tile_data_buffers();
+ StartWeather();
+ for (i = 0; i < 20; i++)
+ gWeatherPtr->sprites.s2.ashSprites[i] = NULL;
+
+ InitMapMusic();
+ ResetMapMusic();
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gCableCarBgTemplates, ARRAY_COUNT(gCableCarBgTemplates));
+ SetBgTilemapBuffer(0, sCableCar->bgTilemapBuffers[0]);
+ SetBgTilemapBuffer(1, sCableCar->bgTilemapBuffers[1]);
+ SetBgTilemapBuffer(2, sCableCar->bgTilemapBuffers[2]);
+ SetBgTilemapBuffer(3, sCableCar->bgTilemapBuffers[3]);
+ gSpriteCoordOffsetX = gSpriteCoordOffsetY = 0;
+ gMain.state++;
+ break;
+ case 2:
+ for (i = 0; i < 3; i++)
+ LoadCompressedObjectPic(&gUnknown_085CDB54[i]);
+
+ LoadSpritePalettes(gUnknown_085CDB74);
+ sCableCar->mtChimneyTilemap = malloc_and_decompress(gCableCarMtChimneyTilemap, &sizeOut);
+ sCableCar->treeTilemap = malloc_and_decompress(gCableCarTreeTilemap, &sizeOut);
+ sCableCar->mountainTilemap = malloc_and_decompress(gCableCarMountainTilemap, &sizeOut);
+ sCableCar->pylonStemTilemap = malloc_and_decompress(gCableCarPylonStemTilemap, &sizeOut);
+ sCableCar->pylonHookTilemapEntries = gCableCarPylonHookTilemapEntries;
+ decompress_and_copy_tile_data_to_vram(0, gUnknown_08DBA5B8, 0, 0, 0);
+ gMain.state++;
+ break;
+ case 3:
+ if (!free_temp_tile_data_buffers_if_possible())
+ {
+ LoadPalette(gUnknown_08DBA518, 0, 0x80);
+ gMain.state++;
+ }
+ break;
+ case 4:
+ LoadCableCarSprites();
+ RunTasks();
+ gMain.state++;
+ break;
+ case 5:
+ if (sCableCar->weather == WEATHER_ASH)
+ {
+ gMain.state++;
+ }
+ else if (gWeatherPtr->sprites.s2.ashSprites[0])
+ {
+ for (i = 0; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.ashSprites[i])
+ gWeatherPtr->sprites.s2.ashSprites[i]->oam.priority = 0;
+ }
+
+ gMain.state++;
+ }
+ break;
+ case 6:
+ CopyToBgTilemapBufferRect_ChangePalette(1, sCableCar->treeTilemap, 0, 17, 32, 15, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(2, sCableCar->mountainTilemap, 0, 0, 30, 20, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(3, sCableCar->pylonHookTilemapEntries, 0, 0, 5, 2, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(3, sCableCar->pylonStemTilemap, 0, 2, 2, 20, 17);
+ gMain.state++;
+ break;
+ case 7:
+ sub_81514C8(gSpecialVar_0x8004);
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x48, 0, 14, 12, 3, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x6C, 12, 17, 12, 3, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x90, 24, 20, 12, 3, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x0, 0, 17, 12, 3, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x24, 0, 20, 12, 3, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x0, 12, 20, 12, 3, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x24, 12, 23, 12, 3, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x0, 24, 23, 12, 3, 17);
+ gMain.state++;
+ break;
+ case 8:
+ BeginNormalPaletteFade(0xFFFFFFFF, 3, 16, 0, RGB(0, 0, 0));
+ FadeInNewBGM(MUS_ROPEWAY, 1);
+ sub_8150B6C(1);
+ gMain.state++;
+ break;
+ case 9:
+ imebak = REG_IME;
+ REG_IME = 0;
+ REG_IE |= INTR_FLAG_VBLANK;
+ REG_IME = imebak;
+ SetVBlankCallback(CableCarVblankCallback);
+ SetMainCallback2(CableCarMainCallback_Run);
+ CreateTask(sub_81503E4, 0);
+ if (gSpecialVar_0x8004 == 0)
+ sCableCar->taskId = CreateTask(sub_8150550, 1);
+ else
+ sCableCar->taskId = CreateTask(sub_8150664, 1);
+ break;
+ }
+}
+
+static void CableCarMainCallback_Run(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ MapMusicMain();
+}
+
+static void CleanupCableCar(void)
+{
+ u8 i = 0;
+
+ HideBg(0);
+ HideBg(1);
+ HideBg(2);
+ HideBg(3);
+ sub_8150B6C(0);
+ gSpriteCoordOffsetX = 0;
+ sub_80AB130(WEATHER_NONE);
+ for (i = 0; i < 20; i++)
+ gWeatherPtr->sprites.s2.ashSprites[i] = NULL;
+
+ ResetTasks();
+ ResetSpriteData();
+ ResetPaletteFade();
+ UnsetBgTilemapBuffer(0);
+ UnsetBgTilemapBuffer(1);
+ UnsetBgTilemapBuffer(2);
+ UnsetBgTilemapBuffer(3);
+ ResetBgsAndClearDma3BusyFlags(0);
+ sCableCar->pylonHookTilemapEntries = NULL;
+ FREE_AND_SET_NULL(sCableCar->pylonStemTilemap);
+ FREE_AND_SET_NULL(sCableCar->mountainTilemap);
+ FREE_AND_SET_NULL(sCableCar->treeTilemap);
+ FREE_AND_SET_NULL(sCableCar->mtChimneyTilemap);
+ FREE_AND_SET_NULL(sCableCar);
+ DmaFillLarge16(3, 0, (void *)VRAM, VRAM_SIZE, 0x1000);
+ DmaFill32Defvars(3, 0, (void *)OAM, OAM_SIZE);
+ DmaFill16Defvars(3, 0, (void *)PLTT, PLTT_SIZE);
+ WarpIntoMap();
+ gFieldCallback = NULL;
+ SetMainCallback2(CB2_LoadMap);
+}
+
+static void sub_81503E4(u8 taskId)
+{
+ u8 i = 0;
+
+ sCableCar->timer++;
+ switch (sCableCar->state)
+ {
+ case 0:
+ if (sCableCar->timer == sCableCar->unk4)
+ {
+ ChangeWeather(sCableCar->weather);
+ sCableCar->state = 1;
+ }
+ break;
+ case 1:
+ switch (sCableCar->weather)
+ {
+ case WEATHER_ASH:
+ if (gWeatherPtr->sprites.s2.ashSprites[0] != NULL && gWeatherPtr->sprites.s2.ashSprites[0]->oam.priority != 0)
+ {
+ for (; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
+ {
+ gWeatherPtr->sprites.s2.ashSprites[i]->oam.priority = 0;
+ }
+ }
+ sCableCar->state = 2;
+ }
+ break;
+ case WEATHER_SUNNY:
+ if (gWeatherPtr->currWeather == WEATHER_SUNNY)
+ {
+ sCableCar->state = 2;
+ }
+ else if (sCableCar->timer >= sCableCar->unk4 + 8)
+ {
+ for (; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
+ {
+ gWeatherPtr->sprites.s2.ashSprites[i]->invisible ^= TRUE;
+ }
+ }
+ }
+ break;
+ }
+ break;
+ case 2:
+ if (sCableCar->timer == 570)
+ {
+ sCableCar->state = 3;
+ BeginNormalPaletteFade(0xFFFFFFFF, 3, 0, 16, RGB(0, 0, 0));
+ FadeOutBGM(4);
+ }
+ break;
+ case 3:
+ if (!gPaletteFade.active)
+ {
+ sCableCar->state = 0xFF;
+ }
+ break;
+ case 0xFF:
+ SetVBlankCallback(NULL);
+ DestroyTask(taskId);
+ DestroyTask(sCableCar->taskId);
+ SetMainCallback2(CleanupCableCar);
+ break;
+ }
+}
+
+static void sub_8150550(u8 taskId)
+{
+ if (sCableCar->state != 0xFF)
+ {
+ sCableCar->bg3HorizontalOffset--;
+ if ((sCableCar->timer % 2) == 0)
+ sCableCar->bg3VerticalOffset--;
+
+ if ((sCableCar->timer % 8) == 0)
+ {
+ sCableCar->bg1HorizontalOffset--;
+ sCableCar->bg1VerticalOffset--;
+ }
+
+ switch (sCableCar->bg3HorizontalOffset)
+ {
+ case 175:
+ FillBgTilemapBufferRect(3, 0, 0, 22, 2, 10, 17);
+ break;
+ case 40:
+ FillBgTilemapBufferRect(3, 0, 3, 0, 2, 2, 17);
+ break;
+ case 32:
+ FillBgTilemapBufferRect(3, 0, 2, 0, 1, 2, 17);
+ break;
+ case 16:
+ CopyToBgTilemapBufferRect_ChangePalette(3, sCableCar->pylonHookTilemapEntries, 0, 0, 5, 2, 17);
+ CopyToBgTilemapBufferRect_ChangePalette(3, sCableCar->pylonStemTilemap, 0, 2, 2, 30, 17);
+ sCableCar->bg3VerticalOffset = 64;
+ break;
+ }
+ }
+
+ sub_815115C();
+ gSpriteCoordOffsetX = (gSpriteCoordOffsetX + 1) % 128;
+}
+
+static void sub_8150664(u8 taskId)
+{
+ if (sCableCar->state != 0xFF)
+ {
+ sCableCar->bg3HorizontalOffset++;
+ if ((sCableCar->timer % 2) == 0)
+ sCableCar->bg3VerticalOffset++;
+
+ if ((sCableCar->timer % 8) == 0)
+ {
+ sCableCar->bg1HorizontalOffset++;
+ sCableCar->bg1VerticalOffset++;
+ }
+
+ switch (sCableCar->bg3HorizontalOffset)
+ {
+ case 176:
+ CopyToBgTilemapBufferRect_ChangePalette(3, sCableCar->pylonStemTilemap, 0, 2, 2, 30, 17);
+ break;
+ case 16:
+ FillBgTilemapBufferRect(3, 0, 2, 0, 3, 2, 17);
+ FillBgTilemapBufferRect(3, 0, 0, 22, 2, 10, 17);
+ sCableCar->bg3VerticalOffset = 192;
+ break;
+ case 32:
+ FillBgTilemapBufferRect(3, sCableCar->pylonHookTilemapEntries[2], 2, 0, 1, 1, 17);
+ FillBgTilemapBufferRect(3, sCableCar->pylonHookTilemapEntries[3], 3, 0, 1, 1, 17);
+ FillBgTilemapBufferRect(3, sCableCar->pylonHookTilemapEntries[7], 2, 1, 1, 1, 17);
+ FillBgTilemapBufferRect(3, sCableCar->pylonHookTilemapEntries[8], 3, 1, 1, 1, 17);
+ break;
+ case 40:
+ FillBgTilemapBufferRect(3, sCableCar->pylonHookTilemapEntries[4], 4, 0, 1, 1, 17);
+ FillBgTilemapBufferRect(3, sCableCar->pylonHookTilemapEntries[9], 4, 1, 1, 1, 17);
+ break;
+ }
+ }
+
+ sub_81511B8();
+ if (sCableCar->timer < sCableCar->unk4)
+ gSpriteCoordOffsetX = (gSpriteCoordOffsetX + 247) % 248;
+ else
+ gWeatherPtr->unknown_6FC = (gWeatherPtr->unknown_6FC + 247) % 248;
+}
+
+static void CableCarVblankCallback(void)
+{
+ CopyBgTilemapBufferToVram(0);
+ CopyBgTilemapBufferToVram(3);
+ SetGpuReg(REG_OFFSET_BG3HOFS, sCableCar->bg3HorizontalOffset);
+ SetGpuReg(REG_OFFSET_BG3VOFS, sCableCar->bg3VerticalOffset);
+ SetGpuReg(REG_OFFSET_BG1HOFS, sCableCar->bg1HorizontalOffset);
+ SetGpuReg(REG_OFFSET_BG1VOFS, sCableCar->bg1VerticalOffset);
+ SetGpuReg(REG_OFFSET_BG0HOFS, sCableCar->bg0HorizontalOffset);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sCableCar->bg0VerticalOffset);
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+static void nullsub_58(struct Sprite *sprite)
+{
+}
+
+static void sub_8150868(struct Sprite *sprite)
+{
+ if (sCableCar->state != 0xFF)
+ {
+ if (gSpecialVar_0x8004 == 0)
+ {
+ sprite->pos1.x = sprite->data[0] - (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
+ sprite->pos1.y = sprite->data[1] - (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
+ }
+ else
+ {
+ sprite->pos1.x = sprite->data[0] + (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
+ sprite->pos1.y = sprite->data[1] + (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
+ }
+ }
+}
+
+void sub_8150948(struct Sprite *sprite)
+{
+ if (sCableCar->state != 255)
+ {
+ if (!gSpecialVar_0x8004)
+ {
+ sprite->pos1.x = sprite->data[0] - (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
+ sprite->pos1.y = sprite->data[1] - (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
+ }
+ else
+ {
+ sprite->pos1.x = sprite->data[0] + (u8)(0.14f * S16TOPOSFLOAT(sCableCar->timer));
+ sprite->pos1.y = sprite->data[1] + (u8)(0.067f * S16TOPOSFLOAT(sCableCar->timer));
+ }
+
+ switch (sprite->data[2])
+ {
+ case 0:
+ sprite->pos2.y = 17;
+ if (sprite->data[3] ++ > 9)
+ {
+ sprite->data[3] = 0;
+ sprite->data[2] ++;
+ }
+ break;
+ default:
+ sprite->pos2.y = 16;
+ if (sprite->data[3] ++ > 9)
+ {
+ sprite->data[3] = 0;
+ sprite->data[2] = 0;
+ }
+ break;
+ }
+ }
+}
+
+static void sub_8150A68(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sprite->pos1.x += 2 * sprite->centerToCornerVecX;
+ sprite->pos1.y += 16 + sprite->centerToCornerVecY;
+ }
+
+ if (++sprite->data[0] >= sprite->data[2])
+ {
+ switch (sprite->data[1])
+ {
+ case 0:
+ sprite->pos1.x++;
+ if ((sprite->data[0] % 4) == 0)
+ sprite->pos1.y++;
+ break;
+ case 1:
+ if ((sprite->data[0] % 2) != 0)
+ {
+ sprite->pos1.x++;
+ if ((sprite->pos1.x % 4) == 0)
+ sprite->pos1.y++;
+ }
+ break;
+ }
+
+ if (sprite->pos1.y > 160)
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_8150AF4(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ sprite->pos1.y += 16 + sprite->centerToCornerVecY;
+
+ if (++sprite->data[0] >= sprite->data[2])
+ {
+ switch (sprite->data[1])
+ {
+ case 0:
+ sprite->pos1.x--;
+ if ((sprite->data[0] % 4) == 0)
+ sprite->pos1.y--;
+ break;
+ case 1:
+ if ((sprite->data[0] % 2) != 0)
+ {
+ sprite->pos1.x--;
+ if ((sprite->pos1.x % 4) == 0)
+ sprite->pos1.y--;
+ }
+ break;
+ }
+
+ if (sprite->pos1.y < 80)
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_8150B6C(bool8 which)
+{
+ switch (which)
+ {
+ case FALSE:
+ default:
+ SetGpuReg(REG_OFFSET_WININ, 0);
+ SetGpuReg(REG_OFFSET_WINOUT, 0);
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN1H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ SetGpuReg(REG_OFFSET_WIN1V, 0);
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ SetGpuReg(REG_OFFSET_BG3CNT, 0);
+ SetGpuReg(REG_OFFSET_BG2CNT, 0);
+ SetGpuReg(REG_OFFSET_BG1CNT, 0);
+ SetGpuReg(REG_OFFSET_BG0CNT, 0);
+ SetGpuReg(REG_OFFSET_BG3HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG3VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG0VOFS, 0);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ break;
+ case TRUE:
+ SetGpuReg(REG_OFFSET_WININ, 0);
+ SetGpuReg(REG_OFFSET_WINOUT, 0);
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN1H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ SetGpuReg(REG_OFFSET_WIN1V, 0);
+ if (gSpecialVar_0x8004 == 0)
+ {
+ sCableCar->bg3HorizontalOffset = 176;
+ sCableCar->bg3VerticalOffset = 16;
+ sCableCar->bg1HorizontalOffset = 0;
+ sCableCar->bg1VerticalOffset = 80;
+ sCableCar->bg0VerticalOffset = 0;
+ sCableCar->bg0VerticalOffset = 0;
+ }
+ else
+ {
+ sCableCar->bg3HorizontalOffset = 96;
+ sCableCar->bg3VerticalOffset = 232;
+ sCableCar->bg1HorizontalOffset = 0;
+ sCableCar->bg1VerticalOffset = 4;
+ sCableCar->bg0VerticalOffset = 0;
+ sCableCar->bg0VerticalOffset = 0;
+ }
+
+ SetGpuReg(REG_OFFSET_BG3HOFS, sCableCar->bg3HorizontalOffset);
+ SetGpuReg(REG_OFFSET_BG3VOFS, sCableCar->bg3VerticalOffset);
+ SetGpuReg(REG_OFFSET_BG2HOFS, 0);
+ SetGpuReg(REG_OFFSET_BG2VOFS, 0);
+ SetGpuReg(REG_OFFSET_BG1HOFS, sCableCar->bg1HorizontalOffset);
+ SetGpuReg(REG_OFFSET_BG1VOFS, sCableCar->bg1VerticalOffset);
+ SetGpuReg(REG_OFFSET_BG0HOFS, sCableCar->bg0HorizontalOffset);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sCableCar->bg0VerticalOffset);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ CopyBgTilemapBufferToVram(1);
+ CopyBgTilemapBufferToVram(2);
+ ShowBg(0);
+ ShowBg(1);
+ ShowBg(2);
+ ShowBg(3);
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL);
+ break;
+ }
+}
+
+static void LoadCableCarSprites(void)
+{
+ u8 spriteId;
+ u8 i;
+
+ u8 playerGraphicsIds[2] = {
+ EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL,
+ EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
+ };
+ u16 rval = Random();
+ u8 hikerGraphicsIds[4] = {
+ EVENT_OBJ_GFX_HIKER,
+ EVENT_OBJ_GFX_CAMPER,
+ EVENT_OBJ_GFX_PICNICKER,
+ EVENT_OBJ_GFX_ZIGZAGOON_1
+ };
+ s16 hikerCoords[2][2] = {
+ { 0, 80 },
+ { 240, 146 }
+ };
+ u8 hikerMovementDelayTable[4] = {
+ 0,
+ 60,
+ 120,
+ 170
+ };
+ void (*callbacks[2])(struct Sprite *) = {
+ sub_8150A68,
+ sub_8150AF4
+ };
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 0:
+ default:
+ spriteId = AddPseudoEventObject(playerGraphicsIds[gSaveBlock2Ptr->playerGender], sub_8150948, 200, 73, 102);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 2;
+ gSprites[spriteId].pos2.x = 8;
+ gSprites[spriteId].pos2.y = 16;
+ gSprites[spriteId].data[0] = 0xc8;
+ gSprites[spriteId].data[1] = 0x49;
+ }
+ spriteId = CreateSprite(&gSpriteTemplate_85CDB9C[0], 176, 43, 0x67);
+ gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = 32;
+ gSprites[spriteId].data[0] = 176;
+ gSprites[spriteId].data[1] = 43;
+ spriteId = CreateSprite(&gSpriteTemplate_85CDB9C[1], 200, 99, 0x65);
+ gSprites[spriteId].pos2.x = 8;
+ gSprites[spriteId].pos2.y = 4;
+ gSprites[spriteId].data[0] = 200;
+ gSprites[spriteId].data[1] = 99;
+ sCableCar->weather = WEATHER_ASH;
+ sCableCar->unk4 = 0x15e;
+ sub_80AB130(WEATHER_SUNNY);
+ break;
+ case 1:
+ CopyToBgTilemapBufferRect_ChangePalette(0, sCableCar->mtChimneyTilemap + 0x24, 24, 26, 12, 3, 17);
+ spriteId = AddPseudoEventObject(playerGraphicsIds[gSaveBlock2Ptr->playerGender], sub_8150948, 128, 39, 102);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 2;
+ gSprites[spriteId].pos2.x = 8;
+ gSprites[spriteId].pos2.y = 16;
+ gSprites[spriteId].data[0] = 0x80;
+ gSprites[spriteId].data[1] = 0x27;
+ }
+ spriteId = CreateSprite(&gSpriteTemplate_85CDB9C[0], 104, 9, 0x67);
+ gSprites[spriteId].pos2.x = gSprites[spriteId].pos2.y = 0x20;
+ gSprites[spriteId].data[0] = 104;
+ gSprites[spriteId].data[1] = 9;
+ spriteId = CreateSprite(&gSpriteTemplate_85CDB9C[1], 128, 65, 0x65);
+ gSprites[spriteId].pos2.x = 8;
+ gSprites[spriteId].pos2.y = 4;
+ gSprites[spriteId].data[0] = 0x80;
+ gSprites[spriteId].data[1] = 0x41;
+ sCableCar->weather = WEATHER_SUNNY;
+ sCableCar->unk4 = 0x109;
+ sub_80AB130(WEATHER_ASH);
+ break;
+ }
+ for (i = 0; i < 9; i++)
+ {
+ spriteId = CreateSprite(&gSpriteTemplate_85CDBCC, 16 * i + 96, 8 * i - 8, 0x68);
+ gSprites[spriteId].pos2.x = 8;
+ gSprites[spriteId].pos2.y = 8;
+ }
+ if ((rval % 64) == 0)
+ {
+ spriteId = AddPseudoEventObject(hikerGraphicsIds[rval % 3], callbacks[gSpecialVar_0x8004], hikerCoords[gSpecialVar_0x8004][0], hikerCoords[gSpecialVar_0x8004][1], 0x6a);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 2;
+ gSprites[spriteId].pos2.x = -gSprites[spriteId].centerToCornerVecX;
+ gSprites[spriteId].pos2.y = -gSprites[spriteId].centerToCornerVecY;
+ if (gSpecialVar_0x8004 == 0)
+ {
+ if (rval % 2)
+ {
+ StartSpriteAnim(&gSprites[spriteId], 6);
+ gSprites[spriteId].data[1] = 1;
+ gSprites[spriteId].pos1.y += 2;
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[spriteId], 7);
+ gSprites[spriteId].data[1] = 0;
+ }
+ }
+ else
+ {
+ if (rval % 2)
+ {
+ StartSpriteAnim(&gSprites[spriteId], 7);
+ gSprites[spriteId].data[1] = 1;
+ gSprites[spriteId].pos1.y += 2;
+ }
+ else
+ {
+ StartSpriteAnim(&gSprites[spriteId], 6);
+ gSprites[spriteId].data[1] = 0;
+ }
+ }
+ gSprites[spriteId].data[2] = hikerMovementDelayTable[rval % 4];
+ }
+ }
+}
+
+void sub_8151088(void)
+{
+ u8 i;
+ u8 j;
+ u8 k;
+ u8 offset;
+
+ for (i = 0, k = 0, offset = 0x24 * (sCableCar->unk1B + 2); i < 3; i++)
+ {
+ for (j = 0; j < 12; j++)
+ {
+ sCableCar->unk22[i][j] = sCableCar->mtChimneyTilemap[offset++];
+ sCableCar->unk22[i + 3][j] = sCableCar->mtChimneyTilemap[k];
+ sCableCar->unk22[i + 6][j] = (sCableCar->mtChimneyTilemap + 0x24)[k];
+ k++;
+ }
+ }
+
+ sCableCar->unk1B = (sCableCar->unk1B + 1) % 3;
+}
+
+static void sub_815115C(void)
+{
+ sCableCar->unk1C = (sCableCar->unk1C + 1) % 0x60;
+ sCableCar->bg0HorizontalOffset = sCableCar->unk1F - sCableCar->unk1D;
+ sCableCar->bg0VerticalOffset = sCableCar->unk20 - sCableCar->unk1E;
+ sCableCar->unk1D++;
+ if ((sCableCar->unk1D % 4) == 0)
+ sCableCar->unk1E++;
+
+ if (sCableCar->unk1D > 16)
+ sub_8151214();
+}
+
+static void sub_81511B8(void)
+{
+ sCableCar->unk1C = (sCableCar->unk1C + 1) % 0x60;
+ sCableCar->bg0HorizontalOffset = sCableCar->unk1F + sCableCar->unk1D;
+ sCableCar->bg0VerticalOffset = sCableCar->unk20 + sCableCar->unk1E;
+ sCableCar->unk1D++;
+ if ((sCableCar->unk1D % 4) == 0)
+ sCableCar->unk1E++;
+
+ if (sCableCar->unk1D > 16)
+ sub_8151388();
+}
+
+static void sub_8151214(void)
+{
+ u8 i = 0;
+
+ sCableCar->unk1D = sCableCar->unk1E = 0;
+ sCableCar->unk1F = sCableCar->bg0HorizontalOffset;
+ sCableCar->unk20 = sCableCar->bg0VerticalOffset;
+ sCableCar->unk19 = (sCableCar->unk19 + 30) % 32;
+ sCableCar->unk18 -= 2;
+ gUnknown_0203ABB2 = (sCableCar->unk1A + 23) % 32;
+ for (i = 0; i < 9; i++)
+ {
+ gUnknown_0203ABB0 = sCableCar->unk19;
+ gUnknown_0203ABB1 = (gUnknown_0203ABB2 + i) % 32;
+ FillBgTilemapBufferRect(0, sCableCar->unk22[i][sCableCar->unk18], gUnknown_0203ABB0, gUnknown_0203ABB1, 1, 1, 17);
+ gUnknown_0203ABB0 = (gUnknown_0203ABB0 + 1) % 32;
+ FillBgTilemapBufferRect(0, sCableCar->unk22[i][sCableCar->unk18 + 1], gUnknown_0203ABB0, gUnknown_0203ABB1, 1, 1, 17);
+ }
+
+ gUnknown_0203ABB0 = (sCableCar->unk19 + 30) % 32;
+ FillBgTilemapBufferRect(0, 0, gUnknown_0203ABB0, 0, 2, 32, 17);
+ if (sCableCar->unk18 == 0)
+ {
+ sCableCar->unk1A = (sCableCar->unk1A + 29) % 32;
+ sCableCar->unk18 = 12;
+ sub_8151088();
+ gUnknown_0203ABB0 = (sCableCar->unk1A + 1) % 32;
+ FillBgTilemapBufferRect(0, 0, 0, gUnknown_0203ABB0, 32, 9, 17);
+ }
+}
+
+static void sub_8151388(void)
+{
+ u8 i = 0;
+
+ sCableCar->unk1D = sCableCar->unk1E = 0;
+ sCableCar->unk1F = sCableCar->bg0HorizontalOffset;
+ sCableCar->unk20 = sCableCar->bg0VerticalOffset;
+ sCableCar->unk19 = (sCableCar->unk19 + 2) % 32;
+ sCableCar->unk18 += 2;
+ gUnknown_0203ABB5 = sCableCar->unk1A;
+ for (i = 0; i < 9; i++)
+ {
+ gUnknown_0203ABB3 = sCableCar->unk19;
+ gUnknown_0203ABB4 = (gUnknown_0203ABB5 + i) % 32;
+ FillBgTilemapBufferRect(0, sCableCar->unk22[i][sCableCar->unk18], gUnknown_0203ABB3, gUnknown_0203ABB4, 1, 1, 17);
+ gUnknown_0203ABB3 = (gUnknown_0203ABB3 + 1) % 32;
+ FillBgTilemapBufferRect(0, sCableCar->unk22[i][sCableCar->unk18 + 1], gUnknown_0203ABB3, gUnknown_0203ABB4, 1, 1, 17);
+ }
+
+ gUnknown_0203ABB4 = (sCableCar->unk1A + 23) % 32;
+ FillBgTilemapBufferRect(0, 0, sCableCar->unk19, gUnknown_0203ABB4, 2, 9, 17);
+ if (sCableCar->unk18 == 10)
+ {
+ sCableCar->unk1A = (sCableCar->unk1A + 3) % 32;
+ sCableCar->unk18 = 0xfe;
+ sub_8151088();
+ }
+}
+
+static void sub_81514C8(u8 arg0)
+{
+ switch (arg0)
+ {
+ case 0:
+ default:
+ sCableCar->unk1B = 2;
+ sCableCar->unk19 = 0;
+ sCableCar->unk1A = 20;
+ sCableCar->unk18 = 12;
+ sub_8151088();
+ sub_8151214();
+ break;
+ case 1:
+ sCableCar->unk1B = 2;
+ sCableCar->unk19 = 28;
+ sCableCar->unk1A = 20;
+ sCableCar->unk18 = 4;
+ sub_8151088();
+ sub_8151388();
+ break;
+ }
+
+ sCableCar->unk1C = 0;
+}
diff --git a/src/clock.c b/src/clock.c
index 91eb5f16d..aea6c2088 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -5,7 +5,7 @@
#include "lottery_corner.h"
#include "dewford_trend.h"
#include "tv.h"
-#include "field_screen.h"
+#include "field_weather.h"
#include "berry.h"
#include "main.h"
#include "overworld.h"
diff --git a/src/contest.c b/src/contest.c
index 0c3a041b0..0c4397f30 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "gpu_regs.h"
#include "bg.h"
-#include "malloc.h"
+#include "alloc.h"
#include "constants/items.h"
#include "constants/event_objects.h"
#include "constants/moves.h"
diff --git a/src/contest_painting.c b/src/contest_painting.c
index 7950b7cac..9de3d733d 100644
--- a/src/contest_painting.c
+++ b/src/contest_painting.c
@@ -1,8 +1,709 @@
#include "global.h"
+#include "alloc.h"
+#include "battle.h"
+#include "bg.h"
+#include "contest.h"
+#include "contest_painting.h"
+#include "contest_painting_effects.h"
+#include "battle_gfx_sfx_util.h"
+#include "decompress.h"
+#include "gpu_regs.h"
+#include "international_string_util.h"
+#include "main.h"
+#include "lilycove_lady.h"
+#include "palette.h"
+#include "random.h"
+#include "scanline_effect.h"
+#include "string_util.h"
+#include "strings.h"
+#include "text.h"
+#include "window.h"
+#include "constants/rgb.h"
+
+extern u8 gUnknown_02039F5C;
+extern u8 gUnknown_02039F5D;
+
+extern u16 (*gUnknown_03006190)[][32];
+extern struct ContestWinner *gUnknown_030061C0;
+extern u16 *gContestPaintingMonPalette;
+extern struct Unk030061A0 gUnknown_030061A0;
// IWRAM bss
-IWRAM_DATA u8 gUnknown_030011F0;
-IWRAM_DATA u16 gUnknown_030011F2;
-IWRAM_DATA u16 gUnknown_030011F4;
-IWRAM_DATA u8 gUnknown_030011F6;
-IWRAM_DATA u8 gUnknown_030011F7;
+IWRAM_DATA u8 gContestPaintingState;
+IWRAM_DATA u16 gContestPaintingMosaicVal;
+IWRAM_DATA u16 gContestPaintingFadeCounter;
+IWRAM_DATA bool8 gUnknown_030011F6;
+IWRAM_DATA u8 gContestPaintingWindowId;
+
+static void ShowContestPainting(void);
+static void HoldContestPainting(void);
+static void InitContestPaintingWindow(void);
+static void InitContestPaintingBg(void);
+static void InitContestPaintingVars(bool8);
+static void sub_8130884(u8, u8);
+static void PrintContestPaintingCaption(u8, u8);
+static void VBlankCB_ContestPainting(void);
+static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64]);
+
+extern const u8 gUnknown_0827EA0C[];
+extern const struct CompressedSpriteSheet gMonFrontPicTable[];
+extern const struct CompressedSpriteSheet gMonBackPicTable[];
+extern const u8 gContestCoolness[];
+extern const u8 gContestBeauty[];
+extern const u8 gContestCuteness[];
+extern const u8 gContestSmartness[];
+extern const u8 gContestToughness[];
+extern const u8 gContestRankNormal[];
+extern const u8 gContestRankSuper[];
+extern const u8 gContestRankHyper[];
+extern const u8 gContestRankMaster[];
+extern const u8 gContestLink[];
+extern const u8 gContestPaintingCool1[];
+extern const u8 gContestPaintingCool2[];
+extern const u8 gContestPaintingCool3[];
+extern const u8 gContestPaintingBeauty1[];
+extern const u8 gContestPaintingBeauty2[];
+extern const u8 gContestPaintingBeauty3[];
+extern const u8 gContestPaintingCute1[];
+extern const u8 gContestPaintingCute2[];
+extern const u8 gContestPaintingCute3[];
+extern const u8 gContestPaintingSmart1[];
+extern const u8 gContestPaintingSmart2[];
+extern const u8 gContestPaintingSmart3[];
+extern const u8 gContestPaintingTough1[];
+extern const u8 gContestPaintingTough2[];
+extern const u8 gContestPaintingTough3[];
+
+const u16 gPictureFramePalettes[] = INCBIN_U16("graphics/picture_frame/bg.gbapal");
+const u8 gPictureFrameTiles_0[] = INCBIN_U8("graphics/picture_frame/frame0.4bpp.rl");
+const u8 gPictureFrameTiles_1[] = INCBIN_U8("graphics/picture_frame/frame1.4bpp.rl");
+const u8 gPictureFrameTiles_2[] = INCBIN_U8("graphics/picture_frame/frame2.4bpp.rl");
+const u8 gPictureFrameTiles_3[] = INCBIN_U8("graphics/picture_frame/frame3.4bpp.rl");
+const u8 gPictureFrameTiles_4[] = INCBIN_U8("graphics/picture_frame/frame4.4bpp.rl");
+const u8 gPictureFrameTiles_5[] = INCBIN_U8("graphics/picture_frame/frame5.4bpp.rl");
+const u8 gPictureFrameTilemap_0[] = INCBIN_U8("graphics/picture_frame/frame0_map.bin.rl");
+const u8 gPictureFrameTilemap_1[] = INCBIN_U8("graphics/picture_frame/frame1_map.bin.rl");
+const u8 gPictureFrameTilemap_2[] = INCBIN_U8("graphics/picture_frame/frame2_map.bin.rl");
+const u8 gPictureFrameTilemap_3[] = INCBIN_U8("graphics/picture_frame/frame3_map.bin.rl");
+const u8 gPictureFrameTilemap_4[] = INCBIN_U8("graphics/picture_frame/frame4_map.bin.rl");
+const u8 gPictureFrameTilemap_5[] = INCBIN_U8("graphics/picture_frame/frame5_map.bin.rl");
+
+const u8 *const gUnknown_085B07C0[] =
+{
+ gContestCoolness,
+ gContestBeauty,
+ gContestCuteness,
+ gContestSmartness,
+ gContestToughness,
+};
+
+const u8 *const gContestRankTextPointers[] =
+{
+ gContestRankNormal,
+ gContestRankSuper,
+ gContestRankHyper,
+ gContestRankMaster,
+ gContestLink,
+};
+
+const struct BgTemplate gUnknown_085B07E8[] =
+{
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 10,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0,
+ },
+};
+
+const struct WindowTemplate gUnknown_085B07EC =
+{
+ .bg = 1,
+ .tilemapLeft = 2,
+ .tilemapTop = 14,
+ .width = 26,
+ .height = 4,
+ .paletteNum = 15,
+ .baseBlock = 1,
+};
+
+const u8 *const gContestPaintingDescriptionPointers[] =
+{
+ gContestPaintingCool1,
+ gContestPaintingCool2,
+ gContestPaintingCool3,
+ gContestPaintingBeauty1,
+ gContestPaintingBeauty2,
+ gContestPaintingBeauty3,
+ gContestPaintingCute1,
+ gContestPaintingCute2,
+ gContestPaintingCute3,
+ gContestPaintingSmart1,
+ gContestPaintingSmart2,
+ gContestPaintingSmart3,
+ gContestPaintingTough1,
+ gContestPaintingTough2,
+ gContestPaintingTough3,
+};
+
+const struct OamData gUnknown_085B0830 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .mosaic = 1,
+ .bpp = ST_OAM_8BPP,
+ .shape = ST_OAM_SQUARE,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const u16 gUnknown_085B0838[] = {RGB(0, 0, 0), RGB(0, 0, 0)};
+
+void sub_812FDA8(int contestWinner)
+{
+ // probably fakematching
+ u8 *ptr1 = &gUnknown_02039F5D;
+ u8 *ptr2 = &gUnknown_02039F5C;
+ gUnknown_02039F3C = gSaveBlock1Ptr->contestWinners[contestWinner - 1];
+ *ptr1 = contestWinner - 1;
+ *ptr2 = 0;
+}
+
+void CB2_ContestPainting(void)
+{
+ ShowContestPainting();
+}
+
+static void CB2_HoldContestPainting(void)
+{
+ HoldContestPainting();
+ RunTextPrinters();
+ UpdatePaletteFade();
+}
+
+static void CB2_QuitContestPainting(void)
+{
+ SetMainCallback2(gMain.savedCallback);
+ FREE_AND_SET_NULL(gContestPaintingMonPalette);
+ FREE_AND_SET_NULL(gUnknown_03006190);
+ RemoveWindow(gContestPaintingWindowId);
+ Free(GetBgTilemapBuffer(1));
+ FreeMonSpritesGfx();
+}
+
+static void ShowContestPainting(void)
+{
+ switch (gMain.state)
+ {
+ case 0:
+ ScanlineEffect_Stop();
+ SetVBlankCallback(NULL);
+ AllocateMonSpritesGfx();
+ gUnknown_030061C0 = &gUnknown_02039F3C;
+ InitContestPaintingVars(1);
+ InitContestPaintingBg();
+ gMain.state++;
+ break;
+ case 1:
+ ResetPaletteFade();
+ DmaFillLarge32(3, 0, (void *)BG_VRAM, 0x18000, 0x1000);
+ ResetSpriteData();
+ gMain.state++;
+ break;
+ case 2:
+ SeedRng(gMain.vblankCounter1);
+ InitKeys();
+ InitContestPaintingWindow();
+ gMain.state++;
+ break;
+ case 3:
+ sub_8130884(gUnknown_02039F5D, gUnknown_02039F5C);
+ gMain.state++;
+ break;
+ case 4:
+ PrintContestPaintingCaption(gUnknown_02039F5D, gUnknown_02039F5C);
+ LoadPalette(gUnknown_085B0838, 0, 1 * 2);
+ DmaClear32(3, PLTT, PLTT_SIZE);
+ BeginFastPaletteFade(2);
+ SetVBlankCallback(VBlankCB_ContestPainting);
+ gContestPaintingState = 0;
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_OBJ_ON);
+ SetMainCallback2(CB2_HoldContestPainting);
+ break;
+ }
+}
+
+static void HoldContestPainting(void)
+{
+ switch (gContestPaintingState)
+ {
+ case 0:
+ if (!gPaletteFade.active)
+ gContestPaintingState = 1;
+ if (gUnknown_030011F6 && gContestPaintingFadeCounter)
+ gContestPaintingFadeCounter--;
+ break;
+ case 1:
+ if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON))
+ {
+ u8 two = 2; //needed to make the asm match
+ gContestPaintingState = two;
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB(0, 0, 0));
+ }
+
+ if (gUnknown_030011F6)
+ gContestPaintingFadeCounter = 0;
+ break;
+ case 2:
+ if (!gPaletteFade.active)
+ SetMainCallback2(CB2_QuitContestPainting);
+ if (gUnknown_030011F6 && gContestPaintingFadeCounter < 30)
+ gContestPaintingFadeCounter++;
+ break;
+ }
+}
+
+static void InitContestPaintingWindow(void)
+{
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, gUnknown_085B07E8, ARRAY_COUNT(gUnknown_085B07E8));
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ SetBgTilemapBuffer(1, AllocZeroed(BG_SCREEN_SIZE));
+ gContestPaintingWindowId = AddWindow(&gUnknown_085B07EC);
+ DeactivateAllTextPrinters();
+ FillWindowPixelBuffer(gContestPaintingWindowId, 0);
+ PutWindowTilemap(gContestPaintingWindowId);
+ CopyWindowToVram(gContestPaintingWindowId, 3);
+ ShowBg(1);
+}
+
+static void PrintContestPaintingCaption(u8 contestType, u8 arg1)
+{
+ int x;
+ u8 category;
+
+ if (arg1 == TRUE)
+ return;
+
+ category = gUnknown_030061C0->contestCategory;
+ if (contestType < 8)
+ {
+ sub_818E868(gStringVar1, category);
+ StringAppend(gStringVar1, gText_Space);
+ StringAppend(gStringVar1, gContestRankTextPointers[gUnknown_030061C0->contestRank]);
+ StringCopy(gStringVar2, gUnknown_030061C0->trainerName);
+ sub_81DB5AC(gStringVar2);
+ StringCopy(gStringVar3, gUnknown_030061C0->monName);
+ StringExpandPlaceholders(gStringVar4, gUnknown_0827EA0C);
+ }
+ else
+ {
+ StringCopy(gStringVar1, gUnknown_030061C0->monName);
+ StringExpandPlaceholders(gStringVar4, gContestPaintingDescriptionPointers[category]);
+ }
+
+ x = GetStringCenterAlignXOffset(1, gStringVar4, 208);
+ AddTextPrinterParameterized(gContestPaintingWindowId, 1, gStringVar4, x, 1, 0, 0);
+ CopyBgTilemapBufferToVram(1);
+}
+
+static void InitContestPaintingBg(void)
+{
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ REG_IE |= INTR_FLAG_VBLANK;
+ SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(12) | BGCNT_MOSAIC | BGCNT_16COLOR | BGCNT_TXT256x256);
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(10) | BGCNT_MOSAIC | BGCNT_16COLOR | BGCNT_TXT256x256);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+}
+
+static void InitContestPaintingVars(bool8 arg0)
+{
+ if (arg0 == FALSE)
+ {
+ gUnknown_030011F6 = FALSE;
+ gContestPaintingMosaicVal = 0;
+ gContestPaintingFadeCounter = 0;
+ }
+ else
+ {
+ gUnknown_030011F6 = TRUE;
+ gContestPaintingMosaicVal = 15;
+ gContestPaintingFadeCounter = 30;
+ }
+}
+
+static void UpdateContestPaintingMosaicEffect(void)
+{
+ if (!gUnknown_030011F6)
+ {
+ SetGpuReg(REG_OFFSET_MOSAIC, 0);
+ }
+ else
+ {
+ SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(1) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(10) | BGCNT_MOSAIC | BGCNT_16COLOR | BGCNT_TXT256x256);
+ gContestPaintingMosaicVal = gContestPaintingFadeCounter / 2;
+ SetGpuReg(REG_OFFSET_MOSAIC, (gContestPaintingMosaicVal << 12) | (gContestPaintingMosaicVal << 8) | (gContestPaintingMosaicVal << 4) | (gContestPaintingMosaicVal << 0));
+ }
+}
+
+static void VBlankCB_ContestPainting(void)
+{
+ UpdateContestPaintingMosaicEffect();
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_81302E8(u16 species, u8 arg1)
+{
+ const void *pal = GetFrontSpritePalFromSpeciesAndPersonality(species, gUnknown_030061C0->trainerId, gUnknown_030061C0->personality);
+ LZDecompressVram(pal, gContestPaintingMonPalette);
+ if (!arg1)
+ {
+ HandleLoadSpecialPokePic_DontHandleDeoxys(
+ &gMonFrontPicTable[species],
+ gMonSpritesGfxPtr->sprites[1],
+ species,
+ gUnknown_030061C0->personality);
+ sub_8130380(gMonSpritesGfxPtr->sprites[1], gContestPaintingMonPalette, (void *)gUnknown_03006190);
+ }
+ else
+ {
+ HandleLoadSpecialPokePic_DontHandleDeoxys(
+ &gMonBackPicTable[species],
+ gMonSpritesGfxPtr->sprites[0],
+ species,
+ gUnknown_030061C0->personality);
+ sub_8130380(gMonSpritesGfxPtr->sprites[0], gContestPaintingMonPalette, (void *)gUnknown_03006190);
+ }
+}
+
+#ifdef NONMATCHING
+// functionally equivalent.
+static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64])
+{
+ u16 tileY, tileX, pixelY, pixelX;
+ u8 colorIndex;
+
+ for (tileY = 0; tileY < 8; tileY++)
+ {
+ for (tileX = 0; tileX < 8; tileX++)
+ {
+ for (pixelY = 0; pixelY < 8; pixelY++)
+ {
+ for (pixelX = 0; pixelX < 8; pixelX++)
+ {
+ int offset = 32 * (8 * tileY + tileX) + (pixelY * 4 + pixelX / 2);
+ colorIndex = spritePixels[offset];
+ if (pixelX & 1)
+ colorIndex >>= 4;
+ else
+ colorIndex &= 0xF;
+
+ if (colorIndex == 0) // transparent pixel
+ (*destColorBuffer)[8 * tileY + pixelY][tileX * 8 + pixelX] = 0x8000;
+ else
+ (*destColorBuffer)[8 * tileY + pixelY][tileX * 8 + pixelX] = palette[colorIndex];
+ }
+ }
+ }
+ }
+}
+#else
+NAKED
+static void sub_8130380(u8 *spritePixels, u16 *palette, u16 (*destColorBuffer)[64][64])
+{
+ asm_unified("\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0xC\n\
+ mov r10, r0\n\
+ mov r9, r1\n\
+ str r2, [sp]\n\
+ movs r0, 0\n\
+_08130394:\n\
+ movs r3, 0\n\
+ adds r1, r0, 0x1\n\
+ str r1, [sp, 0x4]\n\
+ lsls r0, 3\n\
+ str r0, [sp, 0x8]\n\
+_0813039E:\n\
+ movs r1, 0\n\
+ adds r2, r3, 0x1\n\
+ mov r8, r2\n\
+ ldr r7, [sp, 0x8]\n\
+ adds r0, r7, r3\n\
+ lsls r0, 5\n\
+ mov r12, r0\n\
+ lsls r4, r3, 3\n\
+_081303AE:\n\
+ movs r3, 0\n\
+ lsls r0, r1, 2\n\
+ adds r6, r1, 0x1\n\
+ mov r2, r12\n\
+ adds r5, r2, r0\n\
+ ldr r7, [sp, 0x8]\n\
+ adds r0, r7, r1\n\
+ lsls r0, 7\n\
+ ldr r1, [sp]\n\
+ adds r2, r0, r1\n\
+_081303C2:\n\
+ lsrs r0, r3, 1\n\
+ adds r0, r5, r0\n\
+ add r0, r10\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0x1\n\
+ ands r0, r3\n\
+ cmp r0, 0\n\
+ beq _081303D6\n\
+ lsrs r1, 4\n\
+ b _081303DA\n\
+_081303D6:\n\
+ movs r0, 0xF\n\
+ ands r1, r0\n\
+_081303DA:\n\
+ cmp r1, 0\n\
+ bne _081303EC\n\
+ adds r0, r4, r3\n\
+ lsls r0, 1\n\
+ adds r0, r2\n\
+ movs r7, 0x80\n\
+ lsls r7, 8\n\
+ adds r1, r7, 0\n\
+ b _081303F8\n\
+_081303EC:\n\
+ adds r0, r4, r3\n\
+ lsls r0, 1\n\
+ adds r0, r2\n\
+ lsls r1, 1\n\
+ add r1, r9\n\
+ ldrh r1, [r1]\n\
+_081303F8:\n\
+ strh r1, [r0]\n\
+ adds r0, r3, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r3, r0, 16\n\
+ cmp r3, 0x7\n\
+ bls _081303C2\n\
+ lsls r0, r6, 16\n\
+ lsrs r1, r0, 16\n\
+ cmp r1, 0x7\n\
+ bls _081303AE\n\
+ mov r1, r8\n\
+ lsls r0, r1, 16\n\
+ lsrs r3, r0, 16\n\
+ cmp r3, 0x7\n\
+ bls _0813039E\n\
+ ldr r2, [sp, 0x4]\n\
+ lsls r0, r2, 16\n\
+ lsrs r0, 16\n\
+ cmp r0, 0x7\n\
+ bls _08130394\n\
+ add sp, 0xC\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");
+}
+#endif
+
+static void sub_8130430(u8 arg0, u8 arg1)
+{
+ u8 x, y;
+
+ LoadPalette(gPictureFramePalettes, 0, 0x100);
+ if (arg1 == 1)
+ {
+ switch (gUnknown_030061C0->contestCategory / 3)
+ {
+ case CONTEST_CATEGORY_COOL:
+ RLUnCompVram(gPictureFrameTiles_0, (void *)VRAM);
+ RLUnCompWram(gPictureFrameTilemap_0, gUnknown_03006190);
+ break;
+ case CONTEST_CATEGORY_BEAUTY:
+ RLUnCompVram(gPictureFrameTiles_1, (void *)VRAM);
+ RLUnCompWram(gPictureFrameTilemap_1, gUnknown_03006190);
+ break;
+ case CONTEST_CATEGORY_CUTE:
+ RLUnCompVram(gPictureFrameTiles_2, (void *)VRAM);
+ RLUnCompWram(gPictureFrameTilemap_2, gUnknown_03006190);
+ break;
+ case CONTEST_CATEGORY_SMART:
+ RLUnCompVram(gPictureFrameTiles_3, (void *)VRAM);
+ RLUnCompWram(gPictureFrameTilemap_3, gUnknown_03006190);
+ break;
+ case CONTEST_CATEGORY_TOUGH:
+ RLUnCompVram(gPictureFrameTiles_4, (void *)VRAM);
+ RLUnCompWram(gPictureFrameTilemap_4, gUnknown_03006190);
+ break;
+ }
+
+#define VRAM_PICTURE_DATA(x, y) (((u16 *)(VRAM + 0x6000))[(y) * 32 + (x)])
+
+ // Set the background
+ for (y = 0; y < 20; y++)
+ {
+ for (x = 0; x < 32; x++)
+ VRAM_PICTURE_DATA(x, y) = 0x1015;
+ }
+
+ // Copy the image frame
+ for (y = 0; y < 10; y++)
+ {
+ for (x = 0; x < 18; x++)
+ VRAM_PICTURE_DATA(x + 6, y + 2) = (*gUnknown_03006190)[y + 2][x + 6];
+ }
+
+ // Re-set the entire top row to the first top frame part
+ for (x = 0; x < 16; x++)
+ VRAM_PICTURE_DATA(x + 7, 2) = (*gUnknown_03006190)[2][7];
+
+#undef VRAM_PICTURE_DATA
+ }
+ else if (arg0 < 8)
+ {
+ RLUnCompVram(gPictureFrameTiles_5, (void *)VRAM);
+ RLUnCompVram(gPictureFrameTilemap_5, (void *)(VRAM + 0x6000));
+ }
+ else
+ {
+ switch (gUnknown_030061C0->contestCategory / 3)
+ {
+ case CONTEST_CATEGORY_COOL:
+ RLUnCompVram(gPictureFrameTiles_0, (void *)VRAM);
+ RLUnCompVram(gPictureFrameTilemap_0, (void *)(VRAM + 0x6000));
+ break;
+ case CONTEST_CATEGORY_BEAUTY:
+ RLUnCompVram(gPictureFrameTiles_1, (void *)VRAM);
+ RLUnCompVram(gPictureFrameTilemap_1, (void *)(VRAM + 0x6000));
+ break;
+ case CONTEST_CATEGORY_CUTE:
+ RLUnCompVram(gPictureFrameTiles_2, (void *)VRAM);
+ RLUnCompVram(gPictureFrameTilemap_2, (void *)(VRAM + 0x6000));
+ break;
+ case CONTEST_CATEGORY_SMART:
+ RLUnCompVram(gPictureFrameTiles_3, (void *)VRAM);
+ RLUnCompVram(gPictureFrameTilemap_3, (void *)(VRAM + 0x6000));
+ break;
+ case CONTEST_CATEGORY_TOUGH:
+ RLUnCompVram(gPictureFrameTiles_4, (void *)VRAM);
+ RLUnCompVram(gPictureFrameTilemap_4, (void *)(VRAM + 0x6000));
+ break;
+ }
+ }
+}
+
+static void sub_8130688(u8 arg0)
+{
+ //Some hacks just to get the asm to match
+#ifndef NONMATCHING
+ asm(""::"r"(arg0));
+#endif
+
+ gMain.oamBuffer[0] = gUnknown_085B0830;
+ gMain.oamBuffer[0].tileNum = 0;
+
+#ifndef NONMATCHING
+ if (arg0) arg0 = gMain.oamBuffer[0].tileNum;
+#endif
+
+ gMain.oamBuffer[0].x = 88;
+ gMain.oamBuffer[0].y = 24;
+}
+
+static u8 sub_81306CC(u8 arg0)
+{
+ u8 contestCategory;
+
+ if (arg0 < 8)
+ contestCategory = gUnknown_030061C0->contestCategory;
+ else
+ contestCategory = gUnknown_030061C0->contestCategory / 3;
+
+ switch (contestCategory)
+ {
+ case CONTEST_CATEGORY_COOL:
+ return CONTESTRESULT_COOL;
+ case CONTEST_CATEGORY_BEAUTY:
+ return CONTESTRESULT_BEAUTY;
+ case CONTEST_CATEGORY_CUTE:
+ return CONTESTRESULT_CUTE;
+ case CONTEST_CATEGORY_SMART:
+ return CONTESTRESULT_SMART;
+ case CONTEST_CATEGORY_TOUGH:
+ return CONTESTRESULT_TOUGH;
+ }
+
+ return contestCategory;
+}
+
+static void sub_8130738(void)
+{
+ gContestPaintingMonPalette = AllocZeroed(0x200);
+ gUnknown_03006190 = AllocZeroed(0x2000);
+}
+
+static void sub_8130760(u8 contestResult)
+{
+ gUnknown_030061A0.var_4 = gUnknown_03006190;
+ gUnknown_030061A0.var_8 = gContestPaintingMonPalette;
+ gUnknown_030061A0.var_18 = 0;
+ gUnknown_030061A0.var_1F = gUnknown_030061C0->personality % 256;
+ gUnknown_030061A0.var_19 = 0;
+ gUnknown_030061A0.var_1A = 0;
+ gUnknown_030061A0.var_1B = 64;
+ gUnknown_030061A0.var_1C = 64;
+ gUnknown_030061A0.var_1D = 64;
+ gUnknown_030061A0.var_1E = 64;
+
+ switch (contestResult)
+ {
+ case CONTESTRESULT_SMART:
+ case CONTESTRESULT_TOUGH:
+ gUnknown_030061A0.var_14 = 3;
+ break;
+ case CONTESTRESULT_COOL:
+ case CONTESTRESULT_BEAUTY:
+ case CONTESTRESULT_CUTE:
+ default:
+ gUnknown_030061A0.var_14 = 1;
+ break;
+ }
+
+ gUnknown_030061A0.var_16 = 2;
+ gUnknown_030061A0.var_0 = contestResult;
+ gUnknown_030061A0.var_10 = 0x6010000;
+
+ sub_8124F2C(&gUnknown_030061A0);
+ sub_81261A4(&gUnknown_030061A0);
+ sub_8126058(&gUnknown_030061A0);
+
+ LoadPalette(gContestPaintingMonPalette, 0x100, 0x200);
+}
+
+static void sub_8130884(u8 arg0, u8 arg1)
+{
+ sub_8130738();
+ sub_81302E8(gUnknown_030061C0->species, 0);
+ sub_8130760(sub_81306CC(arg0));
+ sub_8130688(arg0);
+ sub_8130430(arg0, arg1);
+}
diff --git a/src/credits.c b/src/credits.c
index df17ec70b..67ab97481 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -3,7 +3,7 @@
#include "main.h"
#include "task.h"
#include "bg.h"
-#include "malloc.h"
+#include "alloc.h"
#include "window.h"
#include "text.h"
#include "menu.h"
@@ -135,7 +135,7 @@ struct Unk201C000
u16 unk90;
u16 unk92;
u16 unk94;
- u16 unk96[386];
+ u16 unk96[NATIONAL_DEX_COUNT];
u16 unk39A;
u16 unk39C[7];
};
@@ -2254,12 +2254,12 @@ static void sub_8177050(struct Sprite *sprite)
}
}
-static u8 sub_8177224(u16 species, s16 x, s16 y, u16 position)
+static u8 sub_8177224(u16 nationalDexNum, s16 x, s16 y, u16 position)
{
u8 spriteId;
u8 spriteId2;
- spriteId = sub_80C0E9C(species, x, y, position);
+ spriteId = CreateMonSpriteFromNationalDexNumber(nationalDexNum, x, y, position);
gSprites[spriteId].oam.priority = 1;
gSprites[spriteId].data[1] = position + 1;
gSprites[spriteId].invisible = TRUE;
@@ -2297,16 +2297,16 @@ static void sub_8177388(void)
u16 dexNum;
u16 j;
- for (dexNum = 1, j = 0; dexNum < 386; dexNum++)
+ for (dexNum = 1, j = 0; dexNum < NATIONAL_DEX_COUNT; dexNum++)
{
- if (GetSetPokedexFlag(dexNum, 1))
+ if (GetSetPokedexFlag(dexNum, FLAG_GET_CAUGHT))
{
gUnknown_0203BCE8->unk96[j] = dexNum;
j++;
}
}
- for (dexNum = j; dexNum < 386; dexNum++)
+ for (dexNum = j; dexNum < NATIONAL_DEX_COUNT; dexNum++)
gUnknown_0203BCE8->unk96[dexNum] = 0;
gUnknown_0203BCE8->unk39A = j;
diff --git a/src/data/battle_frontier/battle_frontier_mons.h b/src/data/battle_frontier/battle_frontier_mons.h
new file mode 100644
index 000000000..44cfb8036
--- /dev/null
+++ b/src/data/battle_frontier/battle_frontier_mons.h
@@ -0,0 +1,6177 @@
+const struct FacilityMon gBattleFrontierMons[] =
+{
+ [0] = {
+ .species = SPECIES_SUNKERN,
+ .moves = {MOVE_MEGA_DRAIN, MOVE_HELPING_HAND, MOVE_SUNNY_DAY, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [1] = {
+ .species = SPECIES_AZURILL,
+ .moves = {MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SING, MOVE_CHARM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH
+ },
+ [2] = {
+ .species = SPECIES_CATERPIE,
+ .moves = {MOVE_TACKLE, MOVE_STRING_SHOT, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [3] = {
+ .species = SPECIES_WEEDLE,
+ .moves = {MOVE_POISON_STING, MOVE_STRING_SHOT, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [4] = {
+ .species = SPECIES_WURMPLE,
+ .moves = {MOVE_TACKLE, MOVE_STRING_SHOT, MOVE_POISON_STING, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [5] = {
+ .species = SPECIES_RALTS,
+ .moves = {MOVE_CONFUSION, MOVE_IMPRISON, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [6] = {
+ .species = SPECIES_MAGIKARP,
+ .moves = {MOVE_FLAIL, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [7] = {
+ .species = SPECIES_FEEBAS,
+ .moves = {MOVE_FLAIL, MOVE_MIRROR_COAT, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [8] = {
+ .species = SPECIES_METAPOD,
+ .moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL
+ },
+ [9] = {
+ .species = SPECIES_KAKUNA,
+ .moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL
+ },
+ [10] = {
+ .species = SPECIES_PICHU,
+ .moves = {MOVE_SWEET_KISS, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_SHOCK_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH
+ },
+ [11] = {
+ .species = SPECIES_SILCOON,
+ .moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL
+ },
+ [12] = {
+ .species = SPECIES_CASCOON,
+ .moves = {MOVE_HARDEN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL
+ },
+ [13] = {
+ .species = SPECIES_IGGLYBUFF,
+ .moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_ATTRACT, MOVE_SEISMIC_TOSS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [14] = {
+ .species = SPECIES_WOOPER,
+ .moves = {MOVE_YAWN, MOVE_DIG, MOVE_WATER_PULSE, MOVE_RAIN_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [15] = {
+ .species = SPECIES_TYROGUE,
+ .moves = {MOVE_MACH_PUNCH, MOVE_PROTECT, MOVE_DOUBLE_TEAM, MOVE_FACADE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [16] = {
+ .species = SPECIES_SENTRET,
+ .moves = {MOVE_QUICK_ATTACK, MOVE_FOLLOW_ME, MOVE_HELPING_HAND, MOVE_ASSIST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [17] = {
+ .species = SPECIES_CLEFFA,
+ .moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_ATTRACT, MOVE_METRONOME},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS
+ },
+ [18] = {
+ .species = SPECIES_SEEDOT,
+ .moves = {MOVE_BULLET_SEED, MOVE_BIDE, MOVE_DEFENSE_CURL, MOVE_ROLLOUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [19] = {
+ .species = SPECIES_LOTAD,
+ .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_SUNNY_DAY, MOVE_MEGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [20] = {
+ .species = SPECIES_POOCHYENA,
+ .moves = {MOVE_CRUNCH, MOVE_SWAGGER, MOVE_ROAR, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [21] = {
+ .species = SPECIES_SHEDINJA,
+ .moves = {MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_SILVER_WIND, MOVE_GRUDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE
+ },
+ [22] = {
+ .species = SPECIES_MAKUHITA,
+ .moves = {MOVE_FAKE_OUT, MOVE_SEISMIC_TOSS, MOVE_DETECT, MOVE_WHIRLWIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [23] = {
+ .species = SPECIES_WHISMUR,
+ .moves = {MOVE_UPROAR, MOVE_SWAGGER, MOVE_BODY_SLAM, MOVE_SMELLING_SALT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [24] = {
+ .species = SPECIES_ZIGZAGOON,
+ .moves = {MOVE_HEADBUTT, MOVE_PIN_MISSILE, MOVE_SWIFT, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID
+ },
+ [25] = {
+ .species = SPECIES_ZUBAT,
+ .moves = {MOVE_POISON_FANG, MOVE_WHIRLWIND, MOVE_CONFUSE_RAY, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [26] = {
+ .species = SPECIES_TOGEPI,
+ .moves = {MOVE_RETURN, MOVE_YAWN, MOVE_WISH, MOVE_SWEET_KISS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [27] = {
+ .species = SPECIES_SPINARAK,
+ .moves = {MOVE_SIGNAL_BEAM, MOVE_NIGHT_SHADE, MOVE_SPIDER_WEB, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [28] = {
+ .species = SPECIES_MARILL,
+ .moves = {MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_LIGHT_SCREEN, MOVE_RETURN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE
+ },
+ [29] = {
+ .species = SPECIES_HOPPIP,
+ .moves = {MOVE_MEGA_DRAIN, MOVE_LEECH_SEED, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_LAX
+ },
+ [30] = {
+ .species = SPECIES_SLUGMA,
+ .moves = {MOVE_EMBER, MOVE_ROCK_SLIDE, MOVE_YAWN, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [31] = {
+ .species = SPECIES_SWINUB,
+ .moves = {MOVE_ICY_WIND, MOVE_DIG, MOVE_ROCK_TOMB, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_GENTLE
+ },
+ [32] = {
+ .species = SPECIES_SMEARGLE,
+ .moves = {MOVE_EXTREME_SPEED, MOVE_FAKE_OUT, MOVE_QUICK_ATTACK, MOVE_MACH_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [33] = {
+ .species = SPECIES_PIDGEY,
+ .moves = {MOVE_GUST, MOVE_SAND_ATTACK, MOVE_WHIRLWIND, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [34] = {
+ .species = SPECIES_RATTATA,
+ .moves = {MOVE_HYPER_FANG, MOVE_PURSUIT, MOVE_QUICK_ATTACK, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [35] = {
+ .species = SPECIES_WYNAUT,
+ .moves = {MOVE_ENCORE, MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_CHARM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_JOLLY
+ },
+ [36] = {
+ .species = SPECIES_SKITTY,
+ .moves = {MOVE_SING, MOVE_ATTRACT, MOVE_CHARM, MOVE_DOUBLE_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [37] = {
+ .species = SPECIES_SPEAROW,
+ .moves = {MOVE_FURY_ATTACK, MOVE_PURSUIT, MOVE_MIRROR_MOVE, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [38] = {
+ .species = SPECIES_HOOTHOOT,
+ .moves = {MOVE_CONFUSION, MOVE_HYPNOSIS, MOVE_SUPERSONIC, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [39] = {
+ .species = SPECIES_DIGLETT,
+ .moves = {MOVE_MAGNITUDE, MOVE_SLASH, MOVE_ROCK_TOMB, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE
+ },
+ [40] = {
+ .species = SPECIES_LEDYBA,
+ .moves = {MOVE_PSYBEAM, MOVE_AGILITY, MOVE_BATON_PASS, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL
+ },
+ [41] = {
+ .species = SPECIES_NINCADA,
+ .moves = {MOVE_MUD_SLAP, MOVE_DIG, MOVE_TOXIC, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [42] = {
+ .species = SPECIES_SURSKIT,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_RAIN_DANCE, MOVE_SWEET_SCENT, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [43] = {
+ .species = SPECIES_JIGGLYPUFF,
+ .moves = {MOVE_SING, MOVE_WISH, MOVE_MIMIC, MOVE_DOUBLE_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [44] = {
+ .species = SPECIES_TAILLOW,
+ .moves = {MOVE_FLY, MOVE_QUICK_ATTACK, MOVE_ENDEAVOR, MOVE_FOCUS_ENERGY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE
+ },
+ [45] = {
+ .species = SPECIES_WINGULL,
+ .moves = {MOVE_WATER_PULSE, MOVE_FLY, MOVE_QUICK_ATTACK, MOVE_STEEL_WING},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [46] = {
+ .species = SPECIES_NIDORAN_M,
+ .moves = {MOVE_DOUBLE_KICK, MOVE_POISON_STING, MOVE_DISABLE, MOVE_HELPING_HAND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [47] = {
+ .species = SPECIES_NIDORAN_F,
+ .moves = {MOVE_CRUNCH, MOVE_DOUBLE_KICK, MOVE_FLATTER, MOVE_HELPING_HAND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [48] = {
+ .species = SPECIES_KIRLIA,
+ .moves = {MOVE_CONFUSION, MOVE_WILL_O_WISP, MOVE_FUTURE_SIGHT, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [49] = {
+ .species = SPECIES_MAREEP,
+ .moves = {MOVE_SHOCK_WAVE, MOVE_FLASH, MOVE_REFLECT, MOVE_COTTON_SPORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [50] = {
+ .species = SPECIES_MEDITITE,
+ .moves = {MOVE_HI_JUMP_KICK, MOVE_MEDITATE, MOVE_SWAGGER, MOVE_PSYCH_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [51] = {
+ .species = SPECIES_SLAKOTH,
+ .moves = {MOVE_YAWN, MOVE_SCRATCH, MOVE_ENCORE, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [52] = {
+ .species = SPECIES_PARAS,
+ .moves = {MOVE_SPORE, MOVE_LEECH_LIFE, MOVE_SLASH, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [53] = {
+ .species = SPECIES_EKANS,
+ .moves = {MOVE_ACID, MOVE_DIG, MOVE_SCREECH, MOVE_TORMENT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [54] = {
+ .species = SPECIES_DITTO,
+ .moves = {MOVE_TRANSFORM, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_METAL_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [55] = {
+ .species = SPECIES_BARBOACH,
+ .moves = {MOVE_MAGNITUDE, MOVE_WATER_PULSE, MOVE_SPARK, MOVE_FUTURE_SIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BASHFUL
+ },
+ [56] = {
+ .species = SPECIES_MEOWTH,
+ .moves = {MOVE_SLASH, MOVE_BITE, MOVE_SCREECH, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [57] = {
+ .species = SPECIES_PINECO,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_TAKE_DOWN, MOVE_REFLECT, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [58] = {
+ .species = SPECIES_TRAPINCH,
+ .moves = {MOVE_TOXIC, MOVE_DIG, MOVE_SANDSTORM, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS
+ },
+ [59] = {
+ .species = SPECIES_SPHEAL,
+ .moves = {MOVE_ICE_BALL, MOVE_WATER_PULSE, MOVE_HAIL, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [60] = {
+ .species = SPECIES_HORSEA,
+ .moves = {MOVE_WATER_GUN, MOVE_AGILITY, MOVE_ICY_WIND, MOVE_TWISTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [61] = {
+ .species = SPECIES_SHROOMISH,
+ .moves = {MOVE_SPORE, MOVE_BULLET_SEED, MOVE_LEECH_SEED, MOVE_HEADBUTT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [62] = {
+ .species = SPECIES_SHUPPET,
+ .moves = {MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_GRUDGE, MOVE_KNOCK_OFF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH
+ },
+ [63] = {
+ .species = SPECIES_DUSKULL,
+ .moves = {MOVE_SKILL_SWAP, MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [64] = {
+ .species = SPECIES_ELECTRIKE,
+ .moves = {MOVE_SPARK, MOVE_THUNDER_WAVE, MOVE_ROAR, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [65] = {
+ .species = SPECIES_VULPIX,
+ .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [66] = {
+ .species = SPECIES_PIKACHU,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_DOUBLE_TEAM, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIGHT_BALL,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [67] = {
+ .species = SPECIES_SANDSHREW,
+ .moves = {MOVE_DIG, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [68] = {
+ .species = SPECIES_POLIWAG,
+ .moves = {MOVE_HYPNOSIS, MOVE_ICY_WIND, MOVE_WATER_GUN, MOVE_RAIN_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [69] = {
+ .species = SPECIES_BELLSPROUT,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_STUN_SPORE, MOVE_WRAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_LAX
+ },
+ [70] = {
+ .species = SPECIES_GEODUDE,
+ .moves = {MOVE_MAGNITUDE, MOVE_ROCK_BLAST, MOVE_STRENGTH, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [71] = {
+ .species = SPECIES_DRATINI,
+ .moves = {MOVE_OUTRAGE, MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_WATER_PULSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [72] = {
+ .species = SPECIES_SNUBBULL,
+ .moves = {MOVE_BITE, MOVE_CHARM, MOVE_SWAGGER, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [73] = {
+ .species = SPECIES_REMORAID,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_AURORA_BEAM, MOVE_PSYBEAM, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [74] = {
+ .species = SPECIES_LARVITAR,
+ .moves = {MOVE_THRASH, MOVE_ROCK_SLIDE, MOVE_DIG, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [75] = {
+ .species = SPECIES_BALTOY,
+ .moves = {MOVE_PSYBEAM, MOVE_ANCIENT_POWER, MOVE_LIGHT_SCREEN, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [76] = {
+ .species = SPECIES_SNORUNT,
+ .moves = {MOVE_ICY_WIND, MOVE_HEADBUTT, MOVE_LEER, MOVE_BITE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [77] = {
+ .species = SPECIES_BAGON,
+ .moves = {MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_BRICK_BREAK, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [78] = {
+ .species = SPECIES_BELDUM,
+ .moves = {MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [79] = {
+ .species = SPECIES_GULPIN,
+ .moves = {MOVE_TOXIC, MOVE_YAWN, MOVE_PAIN_SPLIT, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS
+ },
+ [80] = {
+ .species = SPECIES_VENONAT,
+ .moves = {MOVE_PSYBEAM, MOVE_SUPERSONIC, MOVE_STUN_SPORE, MOVE_SKILL_SWAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [81] = {
+ .species = SPECIES_MANKEY,
+ .moves = {MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SCREECH, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [82] = {
+ .species = SPECIES_MACHOP,
+ .moves = {MOVE_SEISMIC_TOSS, MOVE_REVENGE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [83] = {
+ .species = SPECIES_SHELLDER,
+ .moves = {MOVE_ICICLE_SPEAR, MOVE_SUPERSONIC, MOVE_CLAMP, MOVE_WITHDRAW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [84] = {
+ .species = SPECIES_SMOOCHUM,
+ .moves = {MOVE_SWEET_KISS, MOVE_SING, MOVE_MUD_SLAP, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [85] = {
+ .species = SPECIES_NUMEL,
+ .moves = {MOVE_EMBER, MOVE_MAGNITUDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [86] = {
+ .species = SPECIES_CARVANHA,
+ .moves = {MOVE_BITE, MOVE_SCREECH, MOVE_SCARY_FACE, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [87] = {
+ .species = SPECIES_CORPHISH,
+ .moves = {MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_MUD_SLAP, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [88] = {
+ .species = SPECIES_CHARMANDER,
+ .moves = {MOVE_FIRE_SPIN, MOVE_METAL_CLAW, MOVE_SMOKESCREEN, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [89] = {
+ .species = SPECIES_CYNDAQUIL,
+ .moves = {MOVE_EMBER, MOVE_SWIFT, MOVE_QUICK_ATTACK, MOVE_SMOKESCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [90] = {
+ .species = SPECIES_ABRA,
+ .moves = {MOVE_MIMIC, MOVE_METRONOME, MOVE_FLASH, MOVE_SEISMIC_TOSS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [91] = {
+ .species = SPECIES_DODUO,
+ .moves = {MOVE_FURY_ATTACK, MOVE_UPROAR, MOVE_MUD_SLAP, MOVE_FAINT_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [92] = {
+ .species = SPECIES_GASTLY,
+ .moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_NIGHT_SHADE, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [93] = {
+ .species = SPECIES_SWABLU,
+ .moves = {MOVE_TAKE_DOWN, MOVE_DREAM_EATER, MOVE_SING, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [94] = {
+ .species = SPECIES_TREECKO,
+ .moves = {MOVE_BULLET_SEED, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LONELY
+ },
+ [95] = {
+ .species = SPECIES_TORCHIC,
+ .moves = {MOVE_FIRE_SPIN, MOVE_QUICK_ATTACK, MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [96] = {
+ .species = SPECIES_MUDKIP,
+ .moves = {MOVE_WHIRLPOOL, MOVE_ENDEAVOR, MOVE_MUD_SPORT, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [97] = {
+ .species = SPECIES_SQUIRTLE,
+ .moves = {MOVE_WATER_PULSE, MOVE_BITE, MOVE_WITHDRAW, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [98] = {
+ .species = SPECIES_TOTODILE,
+ .moves = {MOVE_SLASH, MOVE_WATER_PULSE, MOVE_SCREECH, MOVE_ICY_WIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [99] = {
+ .species = SPECIES_SLOWPOKE,
+ .moves = {MOVE_CONFUSION, MOVE_DISABLE, MOVE_WATER_PULSE, MOVE_YAWN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [100] = {
+ .species = SPECIES_BULBASAUR,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_SWEET_SCENT, MOVE_SLEEP_POWDER, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [101] = {
+ .species = SPECIES_CHIKORITA,
+ .moves = {MOVE_SECRET_POWER, MOVE_BULLET_SEED, MOVE_MUD_SLAP, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [102] = {
+ .species = SPECIES_ODDISH,
+ .moves = {MOVE_ACID, MOVE_STUN_SPORE, MOVE_SWEET_SCENT, MOVE_MOONLIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [103] = {
+ .species = SPECIES_PSYDUCK,
+ .moves = {MOVE_CONFUSION, MOVE_FURY_SWIPES, MOVE_AERIAL_ACE, MOVE_DISABLE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HASTY
+ },
+ [104] = {
+ .species = SPECIES_CUBONE,
+ .moves = {MOVE_BONE_CLUB, MOVE_HEADBUTT, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [105] = {
+ .species = SPECIES_GOLDEEN,
+ .moves = {MOVE_WATERFALL, MOVE_FURY_ATTACK, MOVE_AGILITY, MOVE_PSYBEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [106] = {
+ .species = SPECIES_NATU,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_FUTURE_SIGHT, MOVE_CONFUSE_RAY, MOVE_FLASH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [107] = {
+ .species = SPECIES_CLEFAIRY,
+ .moves = {MOVE_FOLLOW_ME, MOVE_RETURN, MOVE_ENCORE, MOVE_SING},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [108] = {
+ .species = SPECIES_MAGNEMITE,
+ .moves = {MOVE_SHOCK_WAVE, MOVE_SUPERSONIC, MOVE_METAL_SOUND, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_GENTLE
+ },
+ [109] = {
+ .species = SPECIES_SEEL,
+ .moves = {MOVE_AURORA_BEAM, MOVE_DIVE, MOVE_BODY_SLAM, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [110] = {
+ .species = SPECIES_GRIMER,
+ .moves = {MOVE_SLUDGE, MOVE_ROCK_TOMB, MOVE_ACID_ARMOR, MOVE_MINIMIZE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [111] = {
+ .species = SPECIES_KRABBY,
+ .moves = {MOVE_CRABHAMMER, MOVE_MUD_SHOT, MOVE_FLAIL, MOVE_KNOCK_OFF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [112] = {
+ .species = SPECIES_EXEGGCUTE,
+ .moves = {MOVE_CONFUSION, MOVE_ANCIENT_POWER, MOVE_LEECH_SEED, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [113] = {
+ .species = SPECIES_EEVEE,
+ .moves = {MOVE_CHARM, MOVE_ATTRACT, MOVE_FLAIL, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [114] = {
+ .species = SPECIES_DROWZEE,
+ .moves = {MOVE_CONFUSION, MOVE_HEADBUTT, MOVE_DISABLE, MOVE_BARRIER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [115] = {
+ .species = SPECIES_VOLTORB,
+ .moves = {MOVE_SPARK, MOVE_SCREECH, MOVE_ROLLOUT, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [116] = {
+ .species = SPECIES_CHINCHOU,
+ .moves = {MOVE_SPARK, MOVE_DIVE, MOVE_CONFUSE_RAY, MOVE_TAKE_DOWN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [117] = {
+ .species = SPECIES_TEDDIURSA,
+ .moves = {MOVE_SECRET_POWER, MOVE_FAKE_TEARS, MOVE_FAINT_ATTACK, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [118] = {
+ .species = SPECIES_DELIBIRD,
+ .moves = {MOVE_PRESENT, MOVE_ICE_BALL, MOVE_AERIAL_ACE, MOVE_HAIL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [119] = {
+ .species = SPECIES_HOUNDOUR,
+ .moves = {MOVE_CRUNCH, MOVE_EMBER, MOVE_ROAR, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [120] = {
+ .species = SPECIES_PHANPY,
+ .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_ROCK_TOMB, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [121] = {
+ .species = SPECIES_SPOINK,
+ .moves = {MOVE_PSYWAVE, MOVE_BOUNCE, MOVE_MAGIC_COAT, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [122] = {
+ .species = SPECIES_ARON,
+ .moves = {MOVE_METAL_CLAW, MOVE_AERIAL_ACE, MOVE_METAL_SOUND, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [123] = {
+ .species = SPECIES_LUVDISC,
+ .moves = {MOVE_SWEET_KISS, MOVE_ATTRACT, MOVE_DIVE, MOVE_RAIN_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [124] = {
+ .species = SPECIES_TENTACOOL,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_ACID, MOVE_BARRIER, MOVE_WRAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [125] = {
+ .species = SPECIES_CACNEA,
+ .moves = {MOVE_NEEDLE_ARM, MOVE_FAINT_ATTACK, MOVE_COTTON_SPORE, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [126] = {
+ .species = SPECIES_UNOWN,
+ .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [127] = {
+ .species = SPECIES_KOFFING,
+ .moves = {MOVE_SLUDGE, MOVE_SMOKESCREEN, MOVE_TORMENT, MOVE_HAZE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [128] = {
+ .species = SPECIES_STARYU,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_MINIMIZE, MOVE_SWIFT, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [129] = {
+ .species = SPECIES_SKIPLOOM,
+ .moves = {MOVE_MEGA_DRAIN, MOVE_CONFUSION, MOVE_COTTON_SPORE, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [130] = {
+ .species = SPECIES_NUZLEAF,
+ .moves = {MOVE_EXTRASENSORY, MOVE_FAKE_OUT, MOVE_RAZOR_WIND, MOVE_FAINT_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [131] = {
+ .species = SPECIES_LOMBRE,
+ .moves = {MOVE_WATER_PULSE, MOVE_FAKE_OUT, MOVE_BRICK_BREAK, MOVE_ABSORB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [132] = {
+ .species = SPECIES_VIBRAVA,
+ .moves = {MOVE_DRAGON_BREATH, MOVE_DIG, MOVE_SCREECH, MOVE_ROCK_TOMB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [133] = {
+ .species = SPECIES_RHYHORN,
+ .moves = {MOVE_ROCK_BLAST, MOVE_DIG, MOVE_SCARY_FACE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [134] = {
+ .species = SPECIES_CLAMPERL,
+ .moves = {MOVE_DIVE, MOVE_TOXIC, MOVE_IRON_DEFENSE, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_DEEP_SEA_SCALE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [135] = {
+ .species = SPECIES_PIDGEOTTO,
+ .moves = {MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK, MOVE_FEATHER_DANCE, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [136] = {
+ .species = SPECIES_GROWLITHE,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_BITE, MOVE_ROAR, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [137] = {
+ .species = SPECIES_FARFETCHD,
+ .moves = {MOVE_SLASH, MOVE_KNOCK_OFF, MOVE_SWORDS_DANCE, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_STICK,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [138] = {
+ .species = SPECIES_OMANYTE,
+ .moves = {MOVE_MUD_SHOT, MOVE_WATER_GUN, MOVE_ANCIENT_POWER, MOVE_TICKLE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [139] = {
+ .species = SPECIES_KABUTO,
+ .moves = {MOVE_MEGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_SAND_ATTACK, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [140] = {
+ .species = SPECIES_LILEEP,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_ACID, MOVE_INGRAIN, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [141] = {
+ .species = SPECIES_ANORITH,
+ .moves = {MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_ANCIENT_POWER, MOVE_WATER_GUN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [142] = {
+ .species = SPECIES_AIPOM,
+ .moves = {MOVE_FURY_SWIPES, MOVE_SAND_ATTACK, MOVE_BATON_PASS, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [143] = {
+ .species = SPECIES_ELEKID,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_QUICK_ATTACK, MOVE_SWIFT, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE
+ },
+ [144] = {
+ .species = SPECIES_LOUDRED,
+ .moves = {MOVE_STOMP, MOVE_HOWL, MOVE_ASTONISH, MOVE_SUPERSONIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [145] = {
+ .species = SPECIES_SPINDA,
+ .moves = {MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FAINT_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [146] = {
+ .species = SPECIES_NIDORINA,
+ .moves = {MOVE_DOUBLE_KICK, MOVE_BITE, MOVE_AERIAL_ACE, MOVE_FLATTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [147] = {
+ .species = SPECIES_NIDORINO,
+ .moves = {MOVE_DOUBLE_KICK, MOVE_WATER_PULSE, MOVE_MUD_SLAP, MOVE_FLATTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [148] = {
+ .species = SPECIES_FLAAFFY,
+ .moves = {MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_COTTON_SPORE, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD
+ },
+ [149] = {
+ .species = SPECIES_MAGBY,
+ .moves = {MOVE_FIRE_PUNCH, MOVE_SMOKESCREEN, MOVE_CONFUSE_RAY, MOVE_SMOG},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [150] = {
+ .species = SPECIES_NOSEPASS,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [151] = {
+ .species = SPECIES_CORSOLA,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_MIRROR_COAT, MOVE_ATTRACT, MOVE_ANCIENT_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [152] = {
+ .species = SPECIES_MAWILE,
+ .moves = {MOVE_CRUNCH, MOVE_FAKE_TEARS, MOVE_IRON_DEFENSE, MOVE_BATON_PASS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [153] = {
+ .species = SPECIES_BUTTERFREE,
+ .moves = {MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_WHIRLWIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [154] = {
+ .species = SPECIES_BEEDRILL,
+ .moves = {MOVE_TWINEEDLE, MOVE_PURSUIT, MOVE_ENDEAVOR, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [155] = {
+ .species = SPECIES_POLIWHIRL,
+ .moves = {MOVE_WATER_PULSE, MOVE_DOUBLE_SLAP, MOVE_ICY_WIND, MOVE_RAIN_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [156] = {
+ .species = SPECIES_ONIX,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_BIND, MOVE_DRAGON_BREATH, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [157] = {
+ .species = SPECIES_BEAUTIFLY,
+ .moves = {MOVE_SILVER_WIND, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_WHIRLWIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [158] = {
+ .species = SPECIES_DUSTOX,
+ .moves = {MOVE_SILVER_WIND, MOVE_TOXIC, MOVE_PSYBEAM, MOVE_WHIRLWIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [159] = {
+ .species = SPECIES_LEDIAN,
+ .moves = {MOVE_COMET_PUNCH, MOVE_BATON_PASS, MOVE_SWORDS_DANCE, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BASHFUL
+ },
+ [160] = {
+ .species = SPECIES_ARIADOS,
+ .moves = {MOVE_SIGNAL_BEAM, MOVE_SPIDER_WEB, MOVE_NIGHT_SHADE, MOVE_TOXIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS
+ },
+ [161] = {
+ .species = SPECIES_YANMA,
+ .moves = {MOVE_SIGNAL_BEAM, MOVE_AERIAL_ACE, MOVE_DOUBLE_TEAM, MOVE_DETECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED
+ },
+ [162] = {
+ .species = SPECIES_DELCATTY,
+ .moves = {MOVE_SECRET_POWER, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_HEAL_BELL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [163] = {
+ .species = SPECIES_SABLEYE,
+ .moves = {MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_KNOCK_OFF, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [164] = {
+ .species = SPECIES_LICKITUNG,
+ .moves = {MOVE_SLAM, MOVE_BRICK_BREAK, MOVE_LICK, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [165] = {
+ .species = SPECIES_WEEPINBELL,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_ACID, MOVE_WRAP, MOVE_SWEET_SCENT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [166] = {
+ .species = SPECIES_GRAVELER,
+ .moves = {MOVE_MAGNITUDE, MOVE_ROCK_THROW, MOVE_DEFENSE_CURL, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [167] = {
+ .species = SPECIES_GLOOM,
+ .moves = {MOVE_PETAL_DANCE, MOVE_ACID, MOVE_STUN_SPORE, MOVE_MOONLIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [168] = {
+ .species = SPECIES_PORYGON,
+ .moves = {MOVE_PSYBEAM, MOVE_ICY_WIND, MOVE_RECYCLE, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [169] = {
+ .species = SPECIES_KADABRA,
+ .moves = {MOVE_CONFUSION, MOVE_ROLE_PLAY, MOVE_FUTURE_SIGHT, MOVE_DISABLE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [170] = {
+ .species = SPECIES_WAILMER,
+ .moves = {MOVE_WHIRLPOOL, MOVE_ROAR, MOVE_DEFENSE_CURL, MOVE_ROLLOUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE
+ },
+ [171] = {
+ .species = SPECIES_ROSELIA,
+ .moves = {MOVE_MAGICAL_LEAF, MOVE_TOXIC, MOVE_GRASS_WHISTLE, MOVE_COTTON_SPORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [172] = {
+ .species = SPECIES_VOLBEAT,
+ .moves = {MOVE_SILVER_WIND, MOVE_CONFUSE_RAY, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [173] = {
+ .species = SPECIES_ILLUMISE,
+ .moves = {MOVE_SILVER_WIND, MOVE_WISH, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [174] = {
+ .species = SPECIES_IVYSAUR,
+ .moves = {MOVE_PETAL_DANCE, MOVE_GROWTH, MOVE_SWEET_SCENT, MOVE_FURY_CUTTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE
+ },
+ [175] = {
+ .species = SPECIES_CHARMELEON,
+ .moves = {MOVE_SLASH, MOVE_FIRE_SPIN, MOVE_SWORDS_DANCE, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [176] = {
+ .species = SPECIES_WARTORTLE,
+ .moves = {MOVE_WATER_PULSE, MOVE_BITE, MOVE_MUD_SLAP, MOVE_YAWN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [177] = {
+ .species = SPECIES_PARASECT,
+ .moves = {MOVE_SLASH, MOVE_PSYBEAM, MOVE_STUN_SPORE, MOVE_FLASH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RASH
+ },
+ [178] = {
+ .species = SPECIES_MACHOKE,
+ .moves = {MOVE_LOW_KICK, MOVE_ROCK_TOMB, MOVE_FORESIGHT, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [179] = {
+ .species = SPECIES_HAUNTER,
+ .moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_SPITE, MOVE_GRUDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH
+ },
+ [180] = {
+ .species = SPECIES_BAYLEEF,
+ .moves = {MOVE_RAZOR_LEAF, MOVE_TOXIC, MOVE_SAFEGUARD, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [181] = {
+ .species = SPECIES_QUILAVA,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_FURY_SWIPES, MOVE_SWIFT, MOVE_SMOKESCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [182] = {
+ .species = SPECIES_CROCONAW,
+ .moves = {MOVE_SLASH, MOVE_WATER_PULSE, MOVE_BITE, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [183] = {
+ .species = SPECIES_TOGETIC,
+ .moves = {MOVE_AERIAL_ACE, MOVE_MAGICAL_LEAF, MOVE_WISH, MOVE_FOLLOW_ME},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [184] = {
+ .species = SPECIES_MURKROW,
+ .moves = {MOVE_FAINT_ATTACK, MOVE_FLY, MOVE_TORMENT, MOVE_TAUNT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [185] = {
+ .species = SPECIES_WOBBUFFET,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_CHARM, MOVE_SAFEGUARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [186] = {
+ .species = SPECIES_PLUSLE,
+ .moves = {MOVE_SPARK, MOVE_FAKE_TEARS, MOVE_QUICK_ATTACK, MOVE_HELPING_HAND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [187] = {
+ .species = SPECIES_MINUN,
+ .moves = {MOVE_SPARK, MOVE_CHARM, MOVE_ENCORE, MOVE_HELPING_HAND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [188] = {
+ .species = SPECIES_GROVYLE,
+ .moves = {MOVE_FURY_CUTTER, MOVE_ENDEAVOR, MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [189] = {
+ .species = SPECIES_COMBUSKEN,
+ .moves = {MOVE_EMBER, MOVE_DOUBLE_KICK, MOVE_QUICK_ATTACK, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [190] = {
+ .species = SPECIES_MARSHTOMP,
+ .moves = {MOVE_MUD_SHOT, MOVE_WATER_GUN, MOVE_ROCK_TOMB, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [191] = {
+ .species = SPECIES_PONYTA,
+ .moves = {MOVE_FIRE_SPIN, MOVE_BOUNCE, MOVE_QUICK_ATTACK, MOVE_TAIL_WHIP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [192] = {
+ .species = SPECIES_AZUMARILL,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_FACADE, MOVE_DIG, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE
+ },
+ [193] = {
+ .species = SPECIES_SUDOWOODO,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_FAINT_ATTACK, MOVE_SANDSTORM, MOVE_BLOCK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [194] = {
+ .species = SPECIES_MAGCARGO,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EMBER, MOVE_ACID_ARMOR, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE
+ },
+ [195] = {
+ .species = SPECIES_PUPITAR,
+ .moves = {MOVE_DIG, MOVE_BITE, MOVE_SCARY_FACE, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [196] = {
+ .species = SPECIES_SEALEO,
+ .moves = {MOVE_ICE_BALL, MOVE_HAIL, MOVE_SNORE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [197] = {
+ .species = SPECIES_RATICATE,
+ .moves = {MOVE_ENDEAVOR, MOVE_PURSUIT, MOVE_SCARY_FACE, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE
+ },
+ [198] = {
+ .species = SPECIES_MASQUERAIN,
+ .moves = {MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_ICY_WIND, MOVE_STUN_SPORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED
+ },
+ [199] = {
+ .species = SPECIES_FURRET,
+ .moves = {MOVE_SLAM, MOVE_PROTECT, MOVE_HELPING_HAND, MOVE_FOLLOW_ME},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_SERIOUS
+ },
+ [200] = {
+ .species = SPECIES_DUNSPARCE,
+ .moves = {MOVE_HEADBUTT, MOVE_GLARE, MOVE_DEFENSE_CURL, MOVE_ROLLOUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [201] = {
+ .species = SPECIES_DRAGONAIR,
+ .moves = {MOVE_DRAGON_BREATH, MOVE_LEER, MOVE_WRAP, MOVE_SAFEGUARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [202] = {
+ .species = SPECIES_MIGHTYENA,
+ .moves = {MOVE_BITE, MOVE_POISON_FANG, MOVE_TAUNT, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_TIMID
+ },
+ [203] = {
+ .species = SPECIES_LINOONE,
+ .moves = {MOVE_SECRET_POWER, MOVE_SAND_ATTACK, MOVE_COVET, MOVE_TICKLE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [204] = {
+ .species = SPECIES_CASTFORM,
+ .moves = {MOVE_EMBER, MOVE_WATER_PULSE, MOVE_SHOCK_WAVE, MOVE_ICY_WIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY
+ },
+ [205] = {
+ .species = SPECIES_SHELGON,
+ .moves = {MOVE_HEADBUTT, MOVE_DRAGON_BREATH, MOVE_PROTECT, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [206] = {
+ .species = SPECIES_METANG,
+ .moves = {MOVE_METAL_CLAW, MOVE_CONFUSION, MOVE_PURSUIT, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [207] = {
+ .species = SPECIES_WIGGLYTUFF,
+ .moves = {MOVE_SING, MOVE_DISABLE, MOVE_WISH, MOVE_SECRET_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED
+ },
+ [208] = {
+ .species = SPECIES_SUNFLORA,
+ .moves = {MOVE_PETAL_DANCE, MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [209] = {
+ .species = SPECIES_CHIMECHO,
+ .moves = {MOVE_PSYWAVE, MOVE_TAKE_DOWN, MOVE_HEAL_BELL, MOVE_SAFEGUARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [210] = {
+ .species = SPECIES_GLIGAR,
+ .moves = {MOVE_METAL_CLAW, MOVE_DIG, MOVE_AERIAL_ACE, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY
+ },
+ [211] = {
+ .species = SPECIES_QWILFISH,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_PIN_MISSILE, MOVE_SPIKES, MOVE_MINIMIZE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_IMPISH
+ },
+ [212] = {
+ .species = SPECIES_SNEASEL,
+ .moves = {MOVE_FAINT_ATTACK, MOVE_FAKE_OUT, MOVE_ICY_WIND, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [213] = {
+ .species = SPECIES_PELIPPER,
+ .moves = {MOVE_WATER_PULSE, MOVE_AERIAL_ACE, MOVE_STOCKPILE, MOVE_SWALLOW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [214] = {
+ .species = SPECIES_SWELLOW,
+ .moves = {MOVE_FLY, MOVE_ENDEAVOR, MOVE_FACADE, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [215] = {
+ .species = SPECIES_LAIRON,
+ .moves = {MOVE_METAL_CLAW, MOVE_ROCK_TOMB, MOVE_IRON_DEFENSE, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [216] = {
+ .species = SPECIES_TANGELA,
+ .moves = {MOVE_MEGA_DRAIN, MOVE_SLAM, MOVE_TOXIC, MOVE_BIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [217] = {
+ .species = SPECIES_ARBOK,
+ .moves = {MOVE_POISON_FANG, MOVE_DIG, MOVE_BITE, MOVE_GLARE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [218] = {
+ .species = SPECIES_PERSIAN,
+ .moves = {MOVE_FAKE_OUT, MOVE_SLASH, MOVE_TORMENT, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [219] = {
+ .species = SPECIES_SEADRA,
+ .moves = {MOVE_AURORA_BEAM, MOVE_SMOKESCREEN, MOVE_WATER_GUN, MOVE_RAIN_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [220] = {
+ .species = SPECIES_KECLEON,
+ .moves = {MOVE_SECRET_POWER, MOVE_PSYBEAM, MOVE_MAGIC_COAT, MOVE_SEISMIC_TOSS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE
+ },
+ [221] = {
+ .species = SPECIES_VIGOROTH,
+ .moves = {MOVE_SLASH, MOVE_COUNTER, MOVE_ENCORE, MOVE_UPROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [222] = {
+ .species = SPECIES_LUNATONE,
+ .moves = {MOVE_CONFUSION, MOVE_COSMIC_POWER, MOVE_LIGHT_SCREEN, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [223] = {
+ .species = SPECIES_SOLROCK,
+ .moves = {MOVE_CONFUSION, MOVE_FIRE_SPIN, MOVE_LIGHT_SCREEN, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [224] = {
+ .species = SPECIES_NOCTOWL,
+ .moves = {MOVE_CONFUSION, MOVE_AERIAL_ACE, MOVE_FAINT_ATTACK, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [225] = {
+ .species = SPECIES_SANDSLASH,
+ .moves = {MOVE_CRUSH_CLAW, MOVE_ROCK_SLIDE, MOVE_SWIFT, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [226] = {
+ .species = SPECIES_VENOMOTH,
+ .moves = {MOVE_SILVER_WIND, MOVE_PSYBEAM, MOVE_SLEEP_POWDER, MOVE_SKILL_SWAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [227] = {
+ .species = SPECIES_CHANSEY,
+ .moves = {MOVE_METRONOME, MOVE_REFRESH, MOVE_DEFENSE_CURL, MOVE_MINIMIZE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED
+ },
+ [228] = {
+ .species = SPECIES_SEAKING,
+ .moves = {MOVE_WATER_PULSE, MOVE_PSYBEAM, MOVE_SWIFT, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [229] = {
+ .species = SPECIES_JUMPLUFF,
+ .moves = {MOVE_AERIAL_ACE, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [230] = {
+ .species = SPECIES_PILOSWINE,
+ .moves = {MOVE_DIG, MOVE_ANCIENT_POWER, MOVE_HAIL, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [231] = {
+ .species = SPECIES_GOLBAT,
+ .moves = {MOVE_AIR_CUTTER, MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_STEEL_WING},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [232] = {
+ .species = SPECIES_PRIMEAPE,
+ .moves = {MOVE_KARATE_CHOP, MOVE_COUNTER, MOVE_SWAGGER, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [233] = {
+ .species = SPECIES_HITMONLEE,
+ .moves = {MOVE_ROLLING_KICK, MOVE_BRICK_BREAK, MOVE_FOCUS_ENERGY, MOVE_FACADE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [234] = {
+ .species = SPECIES_HITMONCHAN,
+ .moves = {MOVE_MACH_PUNCH, MOVE_SKY_UPPERCUT, MOVE_DETECT, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [235] = {
+ .species = SPECIES_GIRAFARIG,
+ .moves = {MOVE_PSYBEAM, MOVE_STOMP, MOVE_WISH, MOVE_SKILL_SWAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [236] = {
+ .species = SPECIES_HITMONTOP,
+ .moves = {MOVE_TRIPLE_KICK, MOVE_DIG, MOVE_MACH_PUNCH, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [237] = {
+ .species = SPECIES_BANETTE,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SPITE, MOVE_KNOCK_OFF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [238] = {
+ .species = SPECIES_NINJASK,
+ .moves = {MOVE_BATON_PASS, MOVE_SWORDS_DANCE, MOVE_ENDURE, MOVE_DIG},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD
+ },
+ [239] = {
+ .species = SPECIES_SEVIPER,
+ .moves = {MOVE_POISON_TAIL, MOVE_BITE, MOVE_GLARE, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [240] = {
+ .species = SPECIES_ZANGOOSE,
+ .moves = {MOVE_SLASH, MOVE_DOUBLE_KICK, MOVE_ROAR, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [241] = {
+ .species = SPECIES_CAMERUPT,
+ .moves = {MOVE_MAGNITUDE, MOVE_PROTECT, MOVE_SANDSTORM, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [242] = {
+ .species = SPECIES_SHARPEDO,
+ .moves = {MOVE_SLASH, MOVE_BITE, MOVE_WATER_PULSE, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [243] = {
+ .species = SPECIES_TROPIUS,
+ .moves = {MOVE_MAGICAL_LEAF, MOVE_WHIRLWIND, MOVE_AERIAL_ACE, MOVE_STEEL_WING},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [244] = {
+ .species = SPECIES_MAGNETON,
+ .moves = {MOVE_SHOCK_WAVE, MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_SUPERSONIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_LONELY
+ },
+ [245] = {
+ .species = SPECIES_MANTINE,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_AERIAL_ACE, MOVE_RAIN_DANCE, MOVE_ICY_WIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [246] = {
+ .species = SPECIES_STANTLER,
+ .moves = {MOVE_EXTRASENSORY, MOVE_CONFUSE_RAY, MOVE_STOMP, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE
+ },
+ [247] = {
+ .species = SPECIES_ABSOL,
+ .moves = {MOVE_BITE, MOVE_RAZOR_WIND, MOVE_FUTURE_SIGHT, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [248] = {
+ .species = SPECIES_SWALOT,
+ .moves = {MOVE_STOCKPILE, MOVE_SWALLOW, MOVE_SPIT_UP, MOVE_SLUDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIRKY
+ },
+ [249] = {
+ .species = SPECIES_CRAWDAUNT,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_VICE_GRIP, MOVE_KNOCK_OFF, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [250] = {
+ .species = SPECIES_PIDGEOT,
+ .moves = {MOVE_AERIAL_ACE, MOVE_FEATHER_DANCE, MOVE_MUD_SLAP, MOVE_FAINT_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [251] = {
+ .species = SPECIES_GRUMPIG,
+ .moves = {MOVE_PSYBEAM, MOVE_CONFUSE_RAY, MOVE_FUTURE_SIGHT, MOVE_MAGIC_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [252] = {
+ .species = SPECIES_TORKOAL,
+ .moves = {MOVE_EMBER, MOVE_FIRE_SPIN, MOVE_SMOKESCREEN, MOVE_AMNESIA},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [253] = {
+ .species = SPECIES_KINGLER,
+ .moves = {MOVE_CRABHAMMER, MOVE_METAL_CLAW, MOVE_MUD_SHOT, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [254] = {
+ .species = SPECIES_CACTURNE,
+ .moves = {MOVE_NEEDLE_ARM, MOVE_FAINT_ATTACK, MOVE_ACID, MOVE_MEGA_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HASTY
+ },
+ [255] = {
+ .species = SPECIES_BELLOSSOM,
+ .moves = {MOVE_PETAL_DANCE, MOVE_SAFEGUARD, MOVE_SUNNY_DAY, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [256] = {
+ .species = SPECIES_OCTILLERY,
+ .moves = {MOVE_OCTAZOOKA, MOVE_AURORA_BEAM, MOVE_PSYBEAM, MOVE_ROCK_BLAST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [257] = {
+ .species = SPECIES_HUNTAIL,
+ .moves = {MOVE_WHIRLPOOL, MOVE_SCARY_FACE, MOVE_MUD_SLAP, MOVE_BITE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [258] = {
+ .species = SPECIES_GOREBYSS,
+ .moves = {MOVE_WHIRLPOOL, MOVE_AMNESIA, MOVE_ICY_WIND, MOVE_CONFUSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [259] = {
+ .species = SPECIES_RELICANTH,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_WATER_PULSE, MOVE_HARDEN, MOVE_AMNESIA},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [260] = {
+ .species = SPECIES_OMASTAR,
+ .moves = {MOVE_BUBBLE_BEAM, MOVE_SPIKE_CANNON, MOVE_TICKLE, MOVE_ANCIENT_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [261] = {
+ .species = SPECIES_KABUTOPS,
+ .moves = {MOVE_SLASH, MOVE_DIG, MOVE_FURY_CUTTER, MOVE_KNOCK_OFF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [262] = {
+ .species = SPECIES_POLIWRATH,
+ .moves = {MOVE_SUBMISSION, MOVE_DIG, MOVE_ROCK_TOMB, MOVE_BUBBLE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [263] = {
+ .species = SPECIES_SCYTHER,
+ .moves = {MOVE_FURY_CUTTER, MOVE_AERIAL_ACE, MOVE_LIGHT_SCREEN, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [264] = {
+ .species = SPECIES_PINSIR,
+ .moves = {MOVE_SUBMISSION, MOVE_FOCUS_ENERGY, MOVE_SWORDS_DANCE, MOVE_REVENGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [265] = {
+ .species = SPECIES_POLITOED,
+ .moves = {MOVE_DIVE, MOVE_DIG, MOVE_HYPNOSIS, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED
+ },
+ [266] = {
+ .species = SPECIES_CLOYSTER,
+ .moves = {MOVE_AURORA_BEAM, MOVE_SPIKE_CANNON, MOVE_SUPERSONIC, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [267] = {
+ .species = SPECIES_DELCATTY,
+ .moves = {MOVE_FAKE_TEARS, MOVE_SING, MOVE_THUNDERBOLT, MOVE_ICE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [268] = {
+ .species = SPECIES_SABLEYE,
+ .moves = {MOVE_SHADOW_BALL, MOVE_FAINT_ATTACK, MOVE_CONFUSE_RAY, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [269] = {
+ .species = SPECIES_LICKITUNG,
+ .moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [270] = {
+ .species = SPECIES_WEEPINBELL,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_RAZOR_LEAF, MOVE_SLEEP_POWDER, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIRKY
+ },
+ [271] = {
+ .species = SPECIES_GRAVELER,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [272] = {
+ .species = SPECIES_GLOOM,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SLUDGE_BOMB, MOVE_MOONLIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [273] = {
+ .species = SPECIES_PORYGON,
+ .moves = {MOVE_TRI_ATTACK, MOVE_PSYCHIC, MOVE_THUNDER_WAVE, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [274] = {
+ .species = SPECIES_KADABRA,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDER_WAVE, MOVE_REFLECT, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [275] = {
+ .species = SPECIES_WAILMER,
+ .moves = {MOVE_WATER_SPOUT, MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE
+ },
+ [276] = {
+ .species = SPECIES_ROSELIA,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_GRASS_WHISTLE, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [277] = {
+ .species = SPECIES_VOLBEAT,
+ .moves = {MOVE_SIGNAL_BEAM, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_TAIL_GLOW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [278] = {
+ .species = SPECIES_ILLUMISE,
+ .moves = {MOVE_SILVER_WIND, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [279] = {
+ .species = SPECIES_IVYSAUR,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_SLEEP_POWDER, MOVE_LEECH_SEED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [280] = {
+ .species = SPECIES_CHARMELEON,
+ .moves = {MOVE_FLAMETHROWER, MOVE_SLASH, MOVE_ANCIENT_POWER, MOVE_DRAGON_RAGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [281] = {
+ .species = SPECIES_WARTORTLE,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAPID_SPIN, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [282] = {
+ .species = SPECIES_PARASECT,
+ .moves = {MOVE_SPORE, MOVE_GIGA_DRAIN, MOVE_DIG, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [283] = {
+ .species = SPECIES_MACHOKE,
+ .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FORESIGHT, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [284] = {
+ .species = SPECIES_HAUNTER,
+ .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NIGHTMARE, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [285] = {
+ .species = SPECIES_BAYLEEF,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_BODY_SLAM, MOVE_GRASS_WHISTLE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [286] = {
+ .species = SPECIES_QUILAVA,
+ .moves = {MOVE_FLAMETHROWER, MOVE_CRUSH_CLAW, MOVE_BODY_SLAM, MOVE_SMOKESCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [287] = {
+ .species = SPECIES_CROCONAW,
+ .moves = {MOVE_MEGA_KICK, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_DIG},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [288] = {
+ .species = SPECIES_TOGETIC,
+ .moves = {MOVE_RETURN, MOVE_SWEET_KISS, MOVE_AERIAL_ACE, MOVE_YAWN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [289] = {
+ .species = SPECIES_MURKROW,
+ .moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [290] = {
+ .species = SPECIES_WOBBUFFET,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_ENCORE, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL
+ },
+ [291] = {
+ .species = SPECIES_PLUSLE,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_SEISMIC_TOSS, MOVE_WISH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE
+ },
+ [292] = {
+ .species = SPECIES_MINUN,
+ .moves = {MOVE_THUNDERBOLT, MOVE_ATTRACT, MOVE_CHARM, MOVE_WISH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE
+ },
+ [293] = {
+ .species = SPECIES_GROVYLE,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_CRUSH_CLAW, MOVE_SCREECH, MOVE_ROCK_TOMB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [294] = {
+ .species = SPECIES_COMBUSKEN,
+ .moves = {MOVE_FLAMETHROWER, MOVE_SKY_UPPERCUT, MOVE_SLASH, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [295] = {
+ .species = SPECIES_MARSHTOMP,
+ .moves = {MOVE_MUDDY_WATER, MOVE_EARTHQUAKE, MOVE_MUD_SLAP, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [296] = {
+ .species = SPECIES_PONYTA,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BODY_SLAM, MOVE_DOUBLE_KICK, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [297] = {
+ .species = SPECIES_AZUMARILL,
+ .moves = {MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_IRON_TAIL, MOVE_DIG},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [298] = {
+ .species = SPECIES_SUDOWOODO,
+ .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_LOW_KICK, MOVE_SELF_DESTRUCT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [299] = {
+ .species = SPECIES_MAGCARGO,
+ .moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [300] = {
+ .species = SPECIES_PUPITAR,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUNCH, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [301] = {
+ .species = SPECIES_SEALEO,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_BODY_SLAM, MOVE_HAIL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [302] = {
+ .species = SPECIES_RATICATE,
+ .moves = {MOVE_SUPER_FANG, MOVE_HYPER_FANG, MOVE_SHADOW_BALL, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [303] = {
+ .species = SPECIES_MASQUERAIN,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_GIGA_DRAIN, MOVE_STUN_SPORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [304] = {
+ .species = SPECIES_FURRET,
+ .moves = {MOVE_TRICK, MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_FOLLOW_ME},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [305] = {
+ .species = SPECIES_DUNSPARCE,
+ .moves = {MOVE_ICE_BEAM, MOVE_ROCK_TOMB, MOVE_BITE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [306] = {
+ .species = SPECIES_DRAGONAIR,
+ .moves = {MOVE_RETURN, MOVE_REST, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [307] = {
+ .species = SPECIES_MIGHTYENA,
+ .moves = {MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_FRUSTRATION, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIRKY
+ },
+ [308] = {
+ .species = SPECIES_LINOONE,
+ .moves = {MOVE_TRICK, MOVE_FRUSTRATION, MOVE_THUNDER_WAVE, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [309] = {
+ .species = SPECIES_CASTFORM,
+ .moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_WATER_PULSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [310] = {
+ .species = SPECIES_SHELGON,
+ .moves = {MOVE_FRUSTRATION, MOVE_DRAGON_DANCE, MOVE_CRUNCH, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [311] = {
+ .species = SPECIES_METANG,
+ .moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_BODY_SLAM, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [312] = {
+ .species = SPECIES_WIGGLYTUFF,
+ .moves = {MOVE_FAKE_TEARS, MOVE_SING, MOVE_DREAM_EATER, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE
+ },
+ [313] = {
+ .species = SPECIES_SUNFLORA,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_GROWTH, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [314] = {
+ .species = SPECIES_CHIMECHO,
+ .moves = {MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEAL_BELL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [315] = {
+ .species = SPECIES_GLIGAR,
+ .moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_GUILLOTINE, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [316] = {
+ .species = SPECIES_QWILFISH,
+ .moves = {MOVE_REVENGE, MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [317] = {
+ .species = SPECIES_SNEASEL,
+ .moves = {MOVE_CRUSH_CLAW, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY
+ },
+ [318] = {
+ .species = SPECIES_PELIPPER,
+ .moves = {MOVE_SURF, MOVE_BLIZZARD, MOVE_AERIAL_ACE, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [319] = {
+ .species = SPECIES_SWELLOW,
+ .moves = {MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_PURSUIT, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [320] = {
+ .species = SPECIES_LAIRON,
+ .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_ROAR, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [321] = {
+ .species = SPECIES_TANGELA,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_STUN_SPORE, MOVE_REST, MOVE_AMNESIA},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [322] = {
+ .species = SPECIES_ARBOK,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_GLARE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [323] = {
+ .species = SPECIES_PERSIAN,
+ .moves = {MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_ROAR, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [324] = {
+ .species = SPECIES_SEADRA,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_FRUSTRATION, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [325] = {
+ .species = SPECIES_KECLEON,
+ .moves = {MOVE_TRICK, MOVE_BRICK_BREAK, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [326] = {
+ .species = SPECIES_VIGOROTH,
+ .moves = {MOVE_CRUSH_CLAW, MOVE_REVERSAL, MOVE_ENDURE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [327] = {
+ .species = SPECIES_LUNATONE,
+ .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_COSMIC_POWER, MOVE_CALM_MIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [328] = {
+ .species = SPECIES_SOLROCK,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COSMIC_POWER, MOVE_OVERHEAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [329] = {
+ .species = SPECIES_NOCTOWL,
+ .moves = {MOVE_PSYCHIC, MOVE_FAINT_ATTACK, MOVE_AERIAL_ACE, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [330] = {
+ .species = SPECIES_SANDSLASH,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUSH_CLAW, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [331] = {
+ .species = SPECIES_VENOMOTH,
+ .moves = {MOVE_SIGNAL_BEAM, MOVE_PSYCHIC, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [332] = {
+ .species = SPECIES_CHANSEY,
+ .moves = {MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_SOFT_BOILED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_RELAXED
+ },
+ [333] = {
+ .species = SPECIES_SEAKING,
+ .moves = {MOVE_HORN_DRILL, MOVE_MEGAHORN, MOVE_SLEEP_TALK, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [334] = {
+ .species = SPECIES_JUMPLUFF,
+ .moves = {MOVE_LEECH_SEED, MOVE_SLEEP_POWDER, MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD
+ },
+ [335] = {
+ .species = SPECIES_PILOSWINE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BODY_SLAM, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT
+ },
+ [336] = {
+ .species = SPECIES_GOLBAT,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_AIR_CUTTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [337] = {
+ .species = SPECIES_PRIMEAPE,
+ .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_TOMB, MOVE_OVERHEAT, MOVE_BULK_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [338] = {
+ .species = SPECIES_HITMONLEE,
+ .moves = {MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_FORESIGHT, MOVE_ROCK_TOMB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [339] = {
+ .species = SPECIES_HITMONCHAN,
+ .moves = {MOVE_DYNAMIC_PUNCH, MOVE_MACH_PUNCH, MOVE_DETECT, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [340] = {
+ .species = SPECIES_GIRAFARIG,
+ .moves = {MOVE_PSYCHIC, MOVE_CRUNCH, MOVE_BATON_PASS, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [341] = {
+ .species = SPECIES_HITMONTOP,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_SEISMIC_TOSS, MOVE_ROCK_SLIDE, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [342] = {
+ .species = SPECIES_BANETTE,
+ .moves = {MOVE_SHADOW_BALL, MOVE_FRUSTRATION, MOVE_SCREECH, MOVE_WILL_O_WISP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT
+ },
+ [343] = {
+ .species = SPECIES_NINJASK,
+ .moves = {MOVE_SLASH, MOVE_SHADOW_BALL, MOVE_SWORDS_DANCE, MOVE_BATON_PASS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [344] = {
+ .species = SPECIES_SEVIPER,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [345] = {
+ .species = SPECIES_ZANGOOSE,
+ .moves = {MOVE_CRUSH_CLAW, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [346] = {
+ .species = SPECIES_CAMERUPT,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ERUPTION, MOVE_BODY_SLAM, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [347] = {
+ .species = SPECIES_SHARPEDO,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_SURF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [348] = {
+ .species = SPECIES_TROPIUS,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [349] = {
+ .species = SPECIES_MAGNETON,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [350] = {
+ .species = SPECIES_MANTINE,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [351] = {
+ .species = SPECIES_STANTLER,
+ .moves = {MOVE_FRUSTRATION, MOVE_SHADOW_BALL, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [352] = {
+ .species = SPECIES_ABSOL,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_IRON_TAIL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [353] = {
+ .species = SPECIES_SWALOT,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_BODY_SLAM, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [354] = {
+ .species = SPECIES_CRAWDAUNT,
+ .moves = {MOVE_GUILLOTINE, MOVE_FRUSTRATION, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [355] = {
+ .species = SPECIES_PIDGEOT,
+ .moves = {MOVE_RETURN, MOVE_AERIAL_ACE, MOVE_STEEL_WING, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [356] = {
+ .species = SPECIES_GRUMPIG,
+ .moves = {MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [357] = {
+ .species = SPECIES_TORKOAL,
+ .moves = {MOVE_OVERHEAT, MOVE_BODY_SLAM, MOVE_SMOKESCREEN, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [358] = {
+ .species = SPECIES_KINGLER,
+ .moves = {MOVE_GUILLOTINE, MOVE_ROCK_TOMB, MOVE_FLAIL, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [359] = {
+ .species = SPECIES_CACTURNE,
+ .moves = {MOVE_MEGA_KICK, MOVE_TEETER_DANCE, MOVE_FAINT_ATTACK, MOVE_SANDSTORM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY
+ },
+ [360] = {
+ .species = SPECIES_BELLOSSOM,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_ATTRACT, MOVE_SUNNY_DAY, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [361] = {
+ .species = SPECIES_OCTILLERY,
+ .moves = {MOVE_OCTAZOOKA, MOVE_FIRE_BLAST, MOVE_THUNDER_WAVE, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [362] = {
+ .species = SPECIES_HUNTAIL,
+ .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_CRUNCH, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [363] = {
+ .species = SPECIES_GOREBYSS,
+ .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_PSYCHIC, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [364] = {
+ .species = SPECIES_RELICANTH,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AMNESIA, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [365] = {
+ .species = SPECIES_OMASTAR,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE, MOVE_ICE_BEAM, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [366] = {
+ .species = SPECIES_KABUTOPS,
+ .moves = {MOVE_SLASH, MOVE_ROCK_SLIDE, MOVE_FLAIL, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [367] = {
+ .species = SPECIES_POLIWRATH,
+ .moves = {MOVE_BRICK_BREAK, MOVE_HYPNOSIS, MOVE_REST, MOVE_BELLY_DRUM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [368] = {
+ .species = SPECIES_SCYTHER,
+ .moves = {MOVE_SILVER_WIND, MOVE_AERIAL_ACE, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [369] = {
+ .species = SPECIES_PINSIR,
+ .moves = {MOVE_GUILLOTINE, MOVE_SWORDS_DANCE, MOVE_FLAIL, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY
+ },
+ [370] = {
+ .species = SPECIES_POLITOED,
+ .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_MUD_SLAP, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [371] = {
+ .species = SPECIES_CLOYSTER,
+ .moves = {MOVE_DIVE, MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [372] = {
+ .species = SPECIES_DUGTRIO,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TRI_ATTACK, MOVE_SLASH, MOVE_SAND_TOMB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [373] = {
+ .species = SPECIES_MEDICHAM,
+ .moves = {MOVE_PSYCHIC, MOVE_HI_JUMP_KICK, MOVE_CALM_MIND, MOVE_BATON_PASS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [374] = {
+ .species = SPECIES_MISDREAVUS,
+ .moves = {MOVE_PAIN_SPLIT, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [375] = {
+ .species = SPECIES_FEAROW,
+ .moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_FACADE, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [376] = {
+ .species = SPECIES_GRANBULL,
+ .moves = {MOVE_MEGA_KICK, MOVE_SMELLING_SALT, MOVE_THUNDER_WAVE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [377] = {
+ .species = SPECIES_JYNX,
+ .moves = {MOVE_ICE_BEAM, MOVE_FAKE_OUT, MOVE_LOVELY_KISS, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [378] = {
+ .species = SPECIES_DUSCLOPS,
+ .moves = {MOVE_WILL_O_WISP, MOVE_SEISMIC_TOSS, MOVE_PAIN_SPLIT, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [379] = {
+ .species = SPECIES_DODRIO,
+ .moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_SLEEP_TALK, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [380] = {
+ .species = SPECIES_MR_MIME,
+ .moves = {MOVE_PSYCHIC, MOVE_MAGICAL_LEAF, MOVE_FAKE_OUT, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [381] = {
+ .species = SPECIES_LANTURN,
+ .moves = {MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_ATTRACT, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [382] = {
+ .species = SPECIES_BRELOOM,
+ .moves = {MOVE_SKY_UPPERCUT, MOVE_MACH_PUNCH, MOVE_HEADBUTT, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [383] = {
+ .species = SPECIES_FORRETRESS,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_LIGHT_SCREEN, MOVE_SPIKES},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [384] = {
+ .species = SPECIES_WHISCASH,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AMNESIA, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [385] = {
+ .species = SPECIES_XATU,
+ .moves = {MOVE_DRILL_PECK, MOVE_NIGHT_SHADE, MOVE_WISH, MOVE_FUTURE_SIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [386] = {
+ .species = SPECIES_SKARMORY,
+ .moves = {MOVE_STEEL_WING, MOVE_AIR_CUTTER, MOVE_COUNTER, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [387] = {
+ .species = SPECIES_MAROWAK,
+ .moves = {MOVE_BONEMERANG, MOVE_ROCK_SLIDE, MOVE_ICY_WIND, MOVE_HEADBUTT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [388] = {
+ .species = SPECIES_QUAGSIRE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_COUNTER, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [389] = {
+ .species = SPECIES_CLEFABLE,
+ .moves = {MOVE_METRONOME, MOVE_DOUBLE_TEAM, MOVE_REFLECT, MOVE_FOLLOW_ME},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE
+ },
+ [390] = {
+ .species = SPECIES_HARIYAMA,
+ .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [391] = {
+ .species = SPECIES_RAICHU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_LIGHT_SCREEN, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [392] = {
+ .species = SPECIES_DEWGONG,
+ .moves = {MOVE_ICE_BEAM, MOVE_ICY_WIND, MOVE_HEADBUTT, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [393] = {
+ .species = SPECIES_MANECTRIC,
+ .moves = {MOVE_THUNDERBOLT, MOVE_FLASH, MOVE_QUICK_ATTACK, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [394] = {
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_PETAL_DANCE, MOVE_MOONLIGHT, MOVE_AROMATHERAPY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [395] = {
+ .species = SPECIES_VICTREEBEL,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_SLEEP_POWDER, MOVE_SWEET_SCENT, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [396] = {
+ .species = SPECIES_ELECTRODE,
+ .moves = {MOVE_THUNDERBOLT, MOVE_SWIFT, MOVE_LIGHT_SCREEN, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [397] = {
+ .species = SPECIES_EXPLOUD,
+ .moves = {MOVE_HYPER_VOICE, MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [398] = {
+ .species = SPECIES_SHIFTRY,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [399] = {
+ .species = SPECIES_GLALIE,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_HAIL, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [400] = {
+ .species = SPECIES_LUDICOLO,
+ .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [401] = {
+ .species = SPECIES_HYPNO,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_HYPNOSIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [402] = {
+ .species = SPECIES_GOLEM,
+ .moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_ROCK_TOMB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [403] = {
+ .species = SPECIES_RHYDON,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SCARY_FACE, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [404] = {
+ .species = SPECIES_ALAKAZAM,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [405] = {
+ .species = SPECIES_WEEZING,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_SMOKESCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [406] = {
+ .species = SPECIES_KANGASKHAN,
+ .moves = {MOVE_DIZZY_PUNCH, MOVE_BRICK_BREAK, MOVE_COUNTER, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [407] = {
+ .species = SPECIES_ELECTABUZZ,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_BRICK_BREAK, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [408] = {
+ .species = SPECIES_TAUROS,
+ .moves = {MOVE_EARTHQUAKE, MOVE_THRASH, MOVE_SWAGGER, MOVE_FACADE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [409] = {
+ .species = SPECIES_SLOWBRO,
+ .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_HEADBUTT, MOVE_ICE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [410] = {
+ .species = SPECIES_SLOWKING,
+ .moves = {MOVE_PSYCHIC, MOVE_BRICK_BREAK, MOVE_AMNESIA, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [411] = {
+ .species = SPECIES_MILTANK,
+ .moves = {MOVE_FACADE, MOVE_SHADOW_BALL, MOVE_COUNTER, MOVE_MILK_DRINK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [412] = {
+ .species = SPECIES_ALTARIA,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE, MOVE_REFRESH, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [413] = {
+ .species = SPECIES_NIDOQUEEN,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_DOUBLE_KICK, MOVE_BODY_SLAM, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [414] = {
+ .species = SPECIES_NIDOKING,
+ .moves = {MOVE_HORN_DRILL, MOVE_DOUBLE_KICK, MOVE_BODY_SLAM, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [415] = {
+ .species = SPECIES_MAGMAR,
+ .moves = {MOVE_FLAMETHROWER, MOVE_SMOKESCREEN, MOVE_BRICK_BREAK, MOVE_BARRIER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [416] = {
+ .species = SPECIES_CRADILY,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_ROCK_SLIDE, MOVE_BARRIER, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [417] = {
+ .species = SPECIES_ARMALDO,
+ .moves = {MOVE_SLASH, MOVE_AERIAL_ACE, MOVE_ANCIENT_POWER, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [418] = {
+ .species = SPECIES_GOLDUCK,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_DIG, MOVE_BRICK_BREAK, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [419] = {
+ .species = SPECIES_RAPIDASH,
+ .moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_KICK, MOVE_QUICK_ATTACK, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET
+ },
+ [420] = {
+ .species = SPECIES_MUK,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_BODY_SLAM, MOVE_SCREECH, MOVE_MINIMIZE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [421] = {
+ .species = SPECIES_GENGAR,
+ .moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_CONFUSE_RAY, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID
+ },
+ [422] = {
+ .species = SPECIES_AMPHAROS,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_THUNDER_WAVE, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [423] = {
+ .species = SPECIES_SCIZOR,
+ .moves = {MOVE_METAL_CLAW, MOVE_AERIAL_ACE, MOVE_COUNTER, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [424] = {
+ .species = SPECIES_HERACROSS,
+ .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_ROCK_TOMB, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [425] = {
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_MEGA_KICK, MOVE_CRUNCH, MOVE_AERIAL_ACE, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [426] = {
+ .species = SPECIES_HOUNDOOM,
+ .moves = {MOVE_FLAMETHROWER, MOVE_SHADOW_BALL, MOVE_COUNTER, MOVE_WILL_O_WISP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [427] = {
+ .species = SPECIES_DONPHAN,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SWAGGER, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [428] = {
+ .species = SPECIES_CLAYDOL,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWAGGER, MOVE_PSYCH_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [429] = {
+ .species = SPECIES_WAILORD,
+ .moves = {MOVE_SURF, MOVE_ICY_WIND, MOVE_BODY_SLAM, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [430] = {
+ .species = SPECIES_NINETALES,
+ .moves = {MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [431] = {
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [432] = {
+ .species = SPECIES_SHUCKLE,
+ .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_SLEEP_TALK, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE
+ },
+ [433] = {
+ .species = SPECIES_STEELIX,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_ROCK_TOMB, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [434] = {
+ .species = SPECIES_TENTACRUEL,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_ICY_WIND, MOVE_BARRIER, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH
+ },
+ [435] = {
+ .species = SPECIES_AERODACTYL,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_DRAGON_BREATH, MOVE_AERIAL_ACE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [436] = {
+ .species = SPECIES_PORYGON2,
+ .moves = {MOVE_TRI_ATTACK, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [437] = {
+ .species = SPECIES_GARDEVOIR,
+ .moves = {MOVE_DREAM_EATER, MOVE_HYPNOSIS, MOVE_MAGICAL_LEAF, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID
+ },
+ [438] = {
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [439] = {
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [440] = {
+ .species = SPECIES_FLYGON,
+ .moves = {MOVE_EARTHQUAKE, MOVE_STEEL_WING, MOVE_FAINT_ATTACK, MOVE_FACADE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [441] = {
+ .species = SPECIES_VENUSAUR,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_SLEEP_POWDER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [442] = {
+ .species = SPECIES_VAPOREON,
+ .moves = {MOVE_SURF, MOVE_ROAR, MOVE_BITE, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [443] = {
+ .species = SPECIES_JOLTEON,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ATTRACT, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [444] = {
+ .species = SPECIES_FLAREON,
+ .moves = {MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_BITE, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [445] = {
+ .species = SPECIES_MEGANIUM,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_LIGHT_SCREEN, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [446] = {
+ .species = SPECIES_ESPEON,
+ .moves = {MOVE_PSYCHIC, MOVE_CHARM, MOVE_CALM_MIND, MOVE_BATON_PASS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [447] = {
+ .species = SPECIES_UMBREON,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BATON_PASS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [448] = {
+ .species = SPECIES_BLASTOISE,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_RAIN_DANCE, MOVE_BITE, MOVE_SEISMIC_TOSS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [449] = {
+ .species = SPECIES_FERALIGATR,
+ .moves = {MOVE_SURF, MOVE_RAIN_DANCE, MOVE_AERIAL_ACE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [450] = {
+ .species = SPECIES_AGGRON,
+ .moves = {MOVE_IRON_TAIL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [451] = {
+ .species = SPECIES_BLAZIKEN,
+ .moves = {MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_DOUBLE_KICK, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [452] = {
+ .species = SPECIES_WALREIN,
+ .moves = {MOVE_BLIZZARD, MOVE_HAIL, MOVE_YAWN, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [453] = {
+ .species = SPECIES_SCEPTILE,
+ .moves = {MOVE_LEAF_BLADE, MOVE_LEECH_SEED, MOVE_AERIAL_ACE, MOVE_DETECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [454] = {
+ .species = SPECIES_CHARIZARD,
+ .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_ROAR, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [455] = {
+ .species = SPECIES_TYPHLOSION,
+ .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_SMOKESCREEN, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [456] = {
+ .species = SPECIES_LAPRAS,
+ .moves = {MOVE_SURF, MOVE_ATTRACT, MOVE_CONFUSE_RAY, MOVE_SING},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD
+ },
+ [457] = {
+ .species = SPECIES_CROBAT,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_BITE, MOVE_ASTONISH, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [458] = {
+ .species = SPECIES_SWAMPERT,
+ .moves = {MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_REST, MOVE_CURSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [459] = {
+ .species = SPECIES_GYARADOS,
+ .moves = {MOVE_RETURN, MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [460] = {
+ .species = SPECIES_SNORLAX,
+ .moves = {MOVE_FACADE, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [461] = {
+ .species = SPECIES_KINGDRA,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_DRAGON_BREATH, MOVE_ICY_WIND, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [462] = {
+ .species = SPECIES_BLISSEY,
+ .moves = {MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_SING, MOVE_SOFT_BOILED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD
+ },
+ [463] = {
+ .species = SPECIES_MILOTIC,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICY_WIND, MOVE_RECOVER, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [464] = {
+ .species = SPECIES_ARCANINE,
+ .moves = {MOVE_FLAMETHROWER, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [465] = {
+ .species = SPECIES_SALAMENCE,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_AERIAL_ACE, MOVE_HEADBUTT, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [466] = {
+ .species = SPECIES_METAGROSS,
+ .moves = {MOVE_METEOR_MASH, MOVE_AERIAL_ACE, MOVE_FACADE, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [467] = {
+ .species = SPECIES_SLAKING,
+ .moves = {MOVE_YAWN, MOVE_BULK_UP, MOVE_SWAGGER, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [468] = {
+ .species = SPECIES_DUGTRIO,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_TRI_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [469] = {
+ .species = SPECIES_MEDICHAM,
+ .moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_PSYCHIC, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [470] = {
+ .species = SPECIES_MAROWAK,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_ICY_WIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [471] = {
+ .species = SPECIES_QUAGSIRE,
+ .moves = {MOVE_CURSE, MOVE_ATTRACT, MOVE_YAWN, MOVE_ANCIENT_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_SASSY
+ },
+ [472] = {
+ .species = SPECIES_MISDREAVUS,
+ .moves = {MOVE_PSYCHIC, MOVE_ATTRACT, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD
+ },
+ [473] = {
+ .species = SPECIES_FEAROW,
+ .moves = {MOVE_DRILL_PECK, MOVE_TRI_ATTACK, MOVE_ATTRACT, MOVE_PURSUIT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [474] = {
+ .species = SPECIES_GRANBULL,
+ .moves = {MOVE_OVERHEAT, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FACADE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [475] = {
+ .species = SPECIES_JYNX,
+ .moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_LOVELY_KISS, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [476] = {
+ .species = SPECIES_DUSCLOPS,
+ .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [477] = {
+ .species = SPECIES_DODRIO,
+ .moves = {MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_FAINT_ATTACK, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [478] = {
+ .species = SPECIES_MR_MIME,
+ .moves = {MOVE_BATON_PASS, MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_PSYCHIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [479] = {
+ .species = SPECIES_LANTURN,
+ .moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_THUNDERBOLT, MOVE_SURF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [480] = {
+ .species = SPECIES_BRELOOM,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_LEECH_SEED, MOVE_FOCUS_PUNCH, MOVE_SPORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE
+ },
+ [481] = {
+ .species = SPECIES_FORRETRESS,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_COUNTER, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [482] = {
+ .species = SPECIES_SKARMORY,
+ .moves = {MOVE_SPIKES, MOVE_ROAR, MOVE_DRILL_PECK, MOVE_TOXIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [483] = {
+ .species = SPECIES_WHISCASH,
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_SPARK, MOVE_FUTURE_SIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [484] = {
+ .species = SPECIES_XATU,
+ .moves = {MOVE_FLY, MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [485] = {
+ .species = SPECIES_CLEFABLE,
+ .moves = {MOVE_METEOR_MASH, MOVE_COSMIC_POWER, MOVE_DOUBLE_TEAM, MOVE_FOLLOW_ME},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [486] = {
+ .species = SPECIES_HARIYAMA,
+ .moves = {MOVE_CROSS_CHOP, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [487] = {
+ .species = SPECIES_RAICHU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_REVERSAL, MOVE_ENDURE, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [488] = {
+ .species = SPECIES_DEWGONG,
+ .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_ENCORE, MOVE_DISABLE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [489] = {
+ .species = SPECIES_MANECTRIC,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_CRUNCH, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [490] = {
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_INGRAIN, MOVE_DOUBLE_TEAM, MOVE_TOXIC, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [491] = {
+ .species = SPECIES_VICTREEBEL,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_SLEEP_POWDER, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS
+ },
+ [492] = {
+ .species = SPECIES_ELECTRODE,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [493] = {
+ .species = SPECIES_EXPLOUD,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [494] = {
+ .species = SPECIES_SHIFTRY,
+ .moves = {MOVE_LEECH_SEED, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_IMPISH
+ },
+ [495] = {
+ .species = SPECIES_GLALIE,
+ .moves = {MOVE_EXPLOSION, MOVE_ENDURE, MOVE_BODY_SLAM, MOVE_ICY_WIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [496] = {
+ .species = SPECIES_LUDICOLO,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [497] = {
+ .species = SPECIES_HYPNO,
+ .moves = {MOVE_HYPNOSIS, MOVE_NIGHTMARE, MOVE_DREAM_EATER, MOVE_PSYCHIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [498] = {
+ .species = SPECIES_GOLEM,
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_DOUBLE_TEAM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [499] = {
+ .species = SPECIES_RHYDON,
+ .moves = {MOVE_EARTHQUAKE, MOVE_HORN_DRILL, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [500] = {
+ .species = SPECIES_ALAKAZAM,
+ .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_THUNDER_WAVE, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [501] = {
+ .species = SPECIES_WEEZING,
+ .moves = {MOVE_MEMENTO, MOVE_SLUDGE_BOMB, MOVE_FACADE, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [502] = {
+ .species = SPECIES_KANGASKHAN,
+ .moves = {MOVE_CRUSH_CLAW, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [503] = {
+ .species = SPECIES_ELECTABUZZ,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_ATTRACT, MOVE_FOCUS_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [504] = {
+ .species = SPECIES_TAUROS,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [505] = {
+ .species = SPECIES_SLOWBRO,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_YAWN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_MODEST
+ },
+ [506] = {
+ .species = SPECIES_SLOWKING,
+ .moves = {MOVE_YAWN, MOVE_THUNDER_WAVE, MOVE_SURF, MOVE_PSYCHIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [507] = {
+ .species = SPECIES_MILTANK,
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_SHADOW_BALL, MOVE_ATTRACT, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [508] = {
+ .species = SPECIES_ALTARIA,
+ .moves = {MOVE_PERISH_SONG, MOVE_DRAGON_BREATH, MOVE_PURSUIT, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [509] = {
+ .species = SPECIES_NIDOQUEEN,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [510] = {
+ .species = SPECIES_NIDOKING,
+ .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [511] = {
+ .species = SPECIES_MAGMAR,
+ .moves = {MOVE_FIRE_BLAST, MOVE_SMOKESCREEN, MOVE_THUNDER_PUNCH, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [512] = {
+ .species = SPECIES_CRADILY,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SWAGGER, MOVE_PSYCH_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [513] = {
+ .species = SPECIES_ARMALDO,
+ .moves = {MOVE_IRON_TAIL, MOVE_ANCIENT_POWER, MOVE_BRICK_BREAK, MOVE_KNOCK_OFF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [514] = {
+ .species = SPECIES_GOLDUCK,
+ .moves = {MOVE_CROSS_CHOP, MOVE_SURF, MOVE_SWAGGER, MOVE_PSYCH_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [515] = {
+ .species = SPECIES_RAPIDASH,
+ .moves = {MOVE_FIRE_BLAST, MOVE_BOUNCE, MOVE_DOUBLE_TEAM, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [516] = {
+ .species = SPECIES_MUK,
+ .moves = {MOVE_CURSE, MOVE_REST, MOVE_SLUDGE_BOMB, MOVE_DYNAMIC_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [517] = {
+ .species = SPECIES_GENGAR,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [518] = {
+ .species = SPECIES_AMPHAROS,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [519] = {
+ .species = SPECIES_SCIZOR,
+ .moves = {MOVE_SILVER_WIND, MOVE_STEEL_WING, MOVE_SWORDS_DANCE, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [520] = {
+ .species = SPECIES_HERACROSS,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ATTRACT, MOVE_BULK_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY
+ },
+ [521] = {
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [522] = {
+ .species = SPECIES_HOUNDOOM,
+ .moves = {MOVE_FIRE_BLAST, MOVE_CRUNCH, MOVE_ROAR, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [523] = {
+ .species = SPECIES_DONPHAN,
+ .moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_ROCK_TOMB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [524] = {
+ .species = SPECIES_CLAYDOL,
+ .moves = {MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_COSMIC_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [525] = {
+ .species = SPECIES_WAILORD,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_REST, MOVE_CURSE, MOVE_AMNESIA},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [526] = {
+ .species = SPECIES_NINETALES,
+ .moves = {MOVE_HEAT_WAVE, MOVE_BODY_SLAM, MOVE_GRUDGE, MOVE_SUNNY_DAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [527] = {
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_BULK_UP, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [528] = {
+ .species = SPECIES_SHUCKLE,
+ .moves = {MOVE_SANDSTORM, MOVE_DIG, MOVE_FLASH, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL
+ },
+ [529] = {
+ .species = SPECIES_STEELIX,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_SANDSTORM, MOVE_BLOCK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [530] = {
+ .species = SPECIES_TENTACRUEL,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_SURF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [531] = {
+ .species = SPECIES_AERODACTYL,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ANCIENT_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [532] = {
+ .species = SPECIES_PORYGON2,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THUNDER_WAVE, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [533] = {
+ .species = SPECIES_GARDEVOIR,
+ .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [534] = {
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_RETURN, MOVE_CURSE, MOVE_SLEEP_POWDER, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [535] = {
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [536] = {
+ .species = SPECIES_FLYGON,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_FIRE_BLAST, MOVE_CRUNCH, MOVE_SUNNY_DAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [537] = {
+ .species = SPECIES_VENUSAUR,
+ .moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_DOUBLE_TEAM, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [538] = {
+ .species = SPECIES_VAPOREON,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [539] = {
+ .species = SPECIES_JOLTEON,
+ .moves = {MOVE_THUNDERBOLT, MOVE_DIG, MOVE_DOUBLE_KICK, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [540] = {
+ .species = SPECIES_FLAREON,
+ .moves = {MOVE_CURSE, MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [541] = {
+ .species = SPECIES_MEGANIUM,
+ .moves = {MOVE_LEECH_SEED, MOVE_SUBSTITUTE, MOVE_DOUBLE_TEAM, MOVE_GRASS_WHISTLE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [542] = {
+ .species = SPECIES_ESPEON,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_CALM_MIND, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [543] = {
+ .species = SPECIES_UMBREON,
+ .moves = {MOVE_CURSE, MOVE_SCREECH, MOVE_DOUBLE_TEAM, MOVE_DOUBLE_EDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [544] = {
+ .species = SPECIES_BLASTOISE,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_MEGA_KICK, MOVE_BRICK_BREAK, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [545] = {
+ .species = SPECIES_FERALIGATR,
+ .moves = {MOVE_SURF, MOVE_DRAGON_CLAW, MOVE_BRICK_BREAK, MOVE_SCARY_FACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [546] = {
+ .species = SPECIES_AGGRON,
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [547] = {
+ .species = SPECIES_BLAZIKEN,
+ .moves = {MOVE_BLAZE_KICK, MOVE_MEGA_KICK, MOVE_THUNDER_PUNCH, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [548] = {
+ .species = SPECIES_WALREIN,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_CURSE, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [549] = {
+ .species = SPECIES_SCEPTILE,
+ .moves = {MOVE_LEAF_BLADE, MOVE_THUNDER_PUNCH, MOVE_ATTRACT, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [550] = {
+ .species = SPECIES_CHARIZARD,
+ .moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE, MOVE_SMOKESCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [551] = {
+ .species = SPECIES_TYPHLOSION,
+ .moves = {MOVE_FLAMETHROWER, MOVE_THUNDER_PUNCH, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [552] = {
+ .species = SPECIES_LAPRAS,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BODY_SLAM, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID
+ },
+ [553] = {
+ .species = SPECIES_CROBAT,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [554] = {
+ .species = SPECIES_SWAMPERT,
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [555] = {
+ .species = SPECIES_GYARADOS,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDERBOLT, MOVE_FIRE_BLAST, MOVE_BLIZZARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [556] = {
+ .species = SPECIES_SNORLAX,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CURSE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [557] = {
+ .species = SPECIES_KINGDRA,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_DRAGON_BREATH, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [558] = {
+ .species = SPECIES_BLISSEY,
+ .moves = {MOVE_SEISMIC_TOSS, MOVE_SING, MOVE_ATTRACT, MOVE_SUBSTITUTE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD
+ },
+ [559] = {
+ .species = SPECIES_MILOTIC,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_SAFEGUARD, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [560] = {
+ .species = SPECIES_ARCANINE,
+ .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_CRUNCH, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE
+ },
+ [561] = {
+ .species = SPECIES_SALAMENCE,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_CRUNCH, MOVE_SWAGGER, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [562] = {
+ .species = SPECIES_METAGROSS,
+ .moves = {MOVE_EARTHQUAKE, MOVE_METEOR_MASH, MOVE_PSYCH_UP, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [563] = {
+ .species = SPECIES_SLAKING,
+ .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_YAWN, MOVE_AMNESIA},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT
+ },
+ [564] = {
+ .species = SPECIES_DUGTRIO,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_FISSURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [565] = {
+ .species = SPECIES_MEDICHAM,
+ .moves = {MOVE_DYNAMIC_PUNCH, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_HARDY
+ },
+ [566] = {
+ .species = SPECIES_MISDREAVUS,
+ .moves = {MOVE_PERISH_SONG, MOVE_MEAN_LOOK, MOVE_THUNDER_WAVE, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [567] = {
+ .species = SPECIES_FEAROW,
+ .moves = {MOVE_DRILL_PECK, MOVE_RETURN, MOVE_STEEL_WING, MOVE_FAINT_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [568] = {
+ .species = SPECIES_GRANBULL,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_SLUDGE_BOMB, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [569] = {
+ .species = SPECIES_JYNX,
+ .moves = {MOVE_DREAM_EATER, MOVE_LOVELY_KISS, MOVE_ATTRACT, MOVE_SUBSTITUTE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [570] = {
+ .species = SPECIES_DUSCLOPS,
+ .moves = {MOVE_PSYCH_UP, MOVE_SWAGGER, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [571] = {
+ .species = SPECIES_DODRIO,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_FAINT_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [572] = {
+ .species = SPECIES_MR_MIME,
+ .moves = {MOVE_TRICK, MOVE_TORMENT, MOVE_PSYCHIC, MOVE_THUNDERBOLT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [573] = {
+ .species = SPECIES_LANTURN,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_CONFUSE_RAY, MOVE_RAIN_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [574] = {
+ .species = SPECIES_BRELOOM,
+ .moves = {MOVE_IRON_TAIL, MOVE_FOCUS_PUNCH, MOVE_ATTRACT, MOVE_SPORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [575] = {
+ .species = SPECIES_FORRETRESS,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_ZAP_CANNON},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [576] = {
+ .species = SPECIES_WHISCASH,
+ .moves = {MOVE_SLEEP_TALK, MOVE_REST, MOVE_SURF, MOVE_FISSURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_HARDY
+ },
+ [577] = {
+ .species = SPECIES_XATU,
+ .moves = {MOVE_DRILL_PECK, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_STEEL_WING},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [578] = {
+ .species = SPECIES_SKARMORY,
+ .moves = {MOVE_TOXIC, MOVE_CURSE, MOVE_REST, MOVE_FLY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [579] = {
+ .species = SPECIES_MAROWAK,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [580] = {
+ .species = SPECIES_QUAGSIRE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SLUDGE_BOMB, MOVE_DOUBLE_EDGE, MOVE_CURSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [581] = {
+ .species = SPECIES_CLEFABLE,
+ .moves = {MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_FLAMETHROWER, MOVE_MAGICAL_LEAF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [582] = {
+ .species = SPECIES_HARIYAMA,
+ .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FACADE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [583] = {
+ .species = SPECIES_RAICHU,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_IRON_TAIL, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE
+ },
+ [584] = {
+ .species = SPECIES_DEWGONG,
+ .moves = {MOVE_HORN_DRILL, MOVE_SHEER_COLD, MOVE_SLEEP_TALK, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [585] = {
+ .species = SPECIES_MANECTRIC,
+ .moves = {MOVE_THUNDERBOLT, MOVE_IRON_TAIL, MOVE_THUNDER_WAVE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [586] = {
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_ATTRACT, MOVE_STUN_SPORE, MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [587] = {
+ .species = SPECIES_VICTREEBEL,
+ .moves = {MOVE_STUN_SPORE, MOVE_INGRAIN, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [588] = {
+ .species = SPECIES_ELECTRODE,
+ .moves = {MOVE_EXPLOSION, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [589] = {
+ .species = SPECIES_EXPLOUD,
+ .moves = {MOVE_OVERHEAT, MOVE_ICE_BEAM, MOVE_THUNDER_PUNCH, MOVE_EXTRASENSORY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [590] = {
+ .species = SPECIES_SHIFTRY,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_EXPLOSION, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [591] = {
+ .species = SPECIES_GLALIE,
+ .moves = {MOVE_BLIZZARD, MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [592] = {
+ .species = SPECIES_LUDICOLO,
+ .moves = {MOVE_LEECH_SEED, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [593] = {
+ .species = SPECIES_HYPNO,
+ .moves = {MOVE_PSYCH_UP, MOVE_SWAGGER, MOVE_MEGA_KICK, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [594] = {
+ .species = SPECIES_GOLEM,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [595] = {
+ .species = SPECIES_RHYDON,
+ .moves = {MOVE_MEGAHORN, MOVE_CRUSH_CLAW, MOVE_EARTHQUAKE, MOVE_HORN_DRILL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [596] = {
+ .species = SPECIES_ALAKAZAM,
+ .moves = {MOVE_TRICK, MOVE_DISABLE, MOVE_PSYCHIC, MOVE_SKILL_SWAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [597] = {
+ .species = SPECIES_WEEZING,
+ .moves = {MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_FLAMETHROWER, MOVE_THUNDERBOLT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [598] = {
+ .species = SPECIES_KANGASKHAN,
+ .moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [599] = {
+ .species = SPECIES_ELECTABUZZ,
+ .moves = {MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_THUNDERBOLT, MOVE_CROSS_CHOP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [600] = {
+ .species = SPECIES_TAUROS,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ICE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [601] = {
+ .species = SPECIES_SLOWBRO,
+ .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [602] = {
+ .species = SPECIES_SLOWKING,
+ .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [603] = {
+ .species = SPECIES_MILTANK,
+ .moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [604] = {
+ .species = SPECIES_ALTARIA,
+ .moves = {MOVE_SING, MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [605] = {
+ .species = SPECIES_NIDOQUEEN,
+ .moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_CRUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [606] = {
+ .species = SPECIES_NIDOKING,
+ .moves = {MOVE_HORN_DRILL, MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_SURF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [607] = {
+ .species = SPECIES_MAGMAR,
+ .moves = {MOVE_MEGA_KICK, MOVE_CROSS_CHOP, MOVE_IRON_TAIL, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH
+ },
+ [608] = {
+ .species = SPECIES_CRADILY,
+ .moves = {MOVE_SUBSTITUTE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [609] = {
+ .species = SPECIES_ARMALDO,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_SWORDS_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [610] = {
+ .species = SPECIES_GOLDUCK,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_CROSS_CHOP, MOVE_BLIZZARD, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [611] = {
+ .species = SPECIES_RAPIDASH,
+ .moves = {MOVE_OVERHEAT, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_HYPNOSIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [612] = {
+ .species = SPECIES_MUK,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_QUIET
+ },
+ [613] = {
+ .species = SPECIES_GENGAR,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_GIGA_DRAIN, MOVE_SKILL_SWAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [614] = {
+ .species = SPECIES_AMPHAROS,
+ .moves = {MOVE_THUNDERBOLT, MOVE_MEGA_KICK, MOVE_IRON_TAIL, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [615] = {
+ .species = SPECIES_SCIZOR,
+ .moves = {MOVE_REVERSAL, MOVE_ENDURE, MOVE_AGILITY, MOVE_SLASH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CAREFUL
+ },
+ [616] = {
+ .species = SPECIES_HERACROSS,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [617] = {
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_FIRE_PUNCH, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH, MOVE_CRUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [618] = {
+ .species = SPECIES_HOUNDOOM,
+ .moves = {MOVE_OVERHEAT, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_DOUBLE_EDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [619] = {
+ .species = SPECIES_DONPHAN,
+ .moves = {MOVE_FISSURE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SECRET_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [620] = {
+ .species = SPECIES_CLAYDOL,
+ .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [621] = {
+ .species = SPECIES_WAILORD,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_FISSURE, MOVE_DOUBLE_TEAM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [622] = {
+ .species = SPECIES_NINETALES,
+ .moves = {MOVE_FIRE_BLAST, MOVE_IRON_TAIL, MOVE_CONFUSE_RAY, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [623] = {
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_CROSS_CHOP, MOVE_FIRE_BLAST, MOVE_THUNDER_PUNCH, MOVE_ICE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [624] = {
+ .species = SPECIES_SHUCKLE,
+ .moves = {MOVE_SUBSTITUTE, MOVE_ATTRACT, MOVE_TOXIC, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL
+ },
+ [625] = {
+ .species = SPECIES_STEELIX,
+ .moves = {MOVE_EARTHQUAKE, MOVE_BODY_SLAM, MOVE_ROCK_SLIDE, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [626] = {
+ .species = SPECIES_TENTACRUEL,
+ .moves = {MOVE_SURF, MOVE_GIGA_DRAIN, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [627] = {
+ .species = SPECIES_AERODACTYL,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_DRAGON_CLAW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [628] = {
+ .species = SPECIES_PORYGON2,
+ .moves = {MOVE_PSYCHIC, MOVE_TRI_ATTACK, MOVE_THUNDER_WAVE, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [629] = {
+ .species = SPECIES_GARDEVOIR,
+ .moves = {MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH, MOVE_MAGICAL_LEAF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [630] = {
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [631] = {
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [632] = {
+ .species = SPECIES_FLYGON,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [633] = {
+ .species = SPECIES_VENUSAUR,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_SLEEP_POWDER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [634] = {
+ .species = SPECIES_VAPOREON,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_ACID_ARMOR, MOVE_BATON_PASS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [635] = {
+ .species = SPECIES_JOLTEON,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_AGILITY, MOVE_BATON_PASS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [636] = {
+ .species = SPECIES_FLAREON,
+ .moves = {MOVE_SHADOW_BALL, MOVE_FLAIL, MOVE_ENDURE, MOVE_OVERHEAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [637] = {
+ .species = SPECIES_MEGANIUM,
+ .moves = {MOVE_EARTHQUAKE, MOVE_FLAIL, MOVE_ENDURE, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [638] = {
+ .species = SPECIES_ESPEON,
+ .moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_WISH, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [639] = {
+ .species = SPECIES_UMBREON,
+ .moves = {MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_ATTRACT, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [640] = {
+ .species = SPECIES_BLASTOISE,
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [641] = {
+ .species = SPECIES_FERALIGATR,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [642] = {
+ .species = SPECIES_AGGRON,
+ .moves = {MOVE_SURF, MOVE_THUNDER, MOVE_FIRE_BLAST, MOVE_BLIZZARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [643] = {
+ .species = SPECIES_BLAZIKEN,
+ .moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_REVERSAL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [644] = {
+ .species = SPECIES_WALREIN,
+ .moves = {MOVE_SHEER_COLD, MOVE_FISSURE, MOVE_SURF, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [645] = {
+ .species = SPECIES_SCEPTILE,
+ .moves = {MOVE_LEAF_BLADE, MOVE_EARTHQUAKE, MOVE_CRUSH_CLAW, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [646] = {
+ .species = SPECIES_CHARIZARD,
+ .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_BITE, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [647] = {
+ .species = SPECIES_TYPHLOSION,
+ .moves = {MOVE_EARTHQUAKE, MOVE_OVERHEAT, MOVE_ENDURE, MOVE_REVERSAL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [648] = {
+ .species = SPECIES_LAPRAS,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_PSYCHIC, MOVE_CONFUSE_RAY, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [649] = {
+ .species = SPECIES_CROBAT,
+ .moves = {MOVE_AIR_CUTTER, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [650] = {
+ .species = SPECIES_SWAMPERT,
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BRAVE
+ },
+ [651] = {
+ .species = SPECIES_GYARADOS,
+ .moves = {MOVE_SURF, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [652] = {
+ .species = SPECIES_SNORLAX,
+ .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_SWAGGER, MOVE_PSYCH_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT
+ },
+ [653] = {
+ .species = SPECIES_KINGDRA,
+ .moves = {MOVE_FLAIL, MOVE_HYDRO_PUMP, MOVE_DRAGON_DANCE, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [654] = {
+ .species = SPECIES_BLISSEY,
+ .moves = {MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_CALM_MIND, MOVE_SOFT_BOILED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD
+ },
+ [655] = {
+ .species = SPECIES_MILOTIC,
+ .moves = {MOVE_SURF, MOVE_BLIZZARD, MOVE_ATTRACT, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [656] = {
+ .species = SPECIES_ARCANINE,
+ .moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [657] = {
+ .species = SPECIES_SALAMENCE,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [658] = {
+ .species = SPECIES_METAGROSS,
+ .moves = {MOVE_EARTHQUAKE, MOVE_METEOR_MASH, MOVE_DOUBLE_TEAM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [659] = {
+ .species = SPECIES_SLAKING,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_ADAMANT
+ },
+ [660] = {
+ .species = SPECIES_DUGTRIO,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_ROCK_SLIDE, MOVE_FISSURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [661] = {
+ .species = SPECIES_MEDICHAM,
+ .moves = {MOVE_MEGA_KICK, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [662] = {
+ .species = SPECIES_MISDREAVUS,
+ .moves = {MOVE_DESTINY_BOND, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID
+ },
+ [663] = {
+ .species = SPECIES_FEAROW,
+ .moves = {MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_STEEL_WING, MOVE_SKY_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [664] = {
+ .species = SPECIES_GRANBULL,
+ .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BRAVE
+ },
+ [665] = {
+ .species = SPECIES_JYNX,
+ .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_LOVELY_KISS, MOVE_FAKE_TEARS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [666] = {
+ .species = SPECIES_DUSCLOPS,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_CURSE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [667] = {
+ .species = SPECIES_DODRIO,
+ .moves = {MOVE_FLAIL, MOVE_ENDURE, MOVE_DRILL_PECK, MOVE_FACADE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [668] = {
+ .species = SPECIES_MR_MIME,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [669] = {
+ .species = SPECIES_LANTURN,
+ .moves = {MOVE_SURF, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [670] = {
+ .species = SPECIES_BRELOOM,
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_SLUDGE_BOMB, MOVE_SPORE, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [671] = {
+ .species = SPECIES_FORRETRESS,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DOUBLE_EDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [672] = {
+ .species = SPECIES_WHISCASH,
+ .moves = {MOVE_FISSURE, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [673] = {
+ .species = SPECIES_XATU,
+ .moves = {MOVE_PSYCHIC, MOVE_DRILL_PECK, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [674] = {
+ .species = SPECIES_SKARMORY,
+ .moves = {MOVE_DRILL_PECK, MOVE_STEEL_WING, MOVE_COUNTER, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [675] = {
+ .species = SPECIES_MAROWAK,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_MEGA_KICK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_THICK_CLUB,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [676] = {
+ .species = SPECIES_QUAGSIRE,
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_AMNESIA},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY
+ },
+ [677] = {
+ .species = SPECIES_CLEFABLE,
+ .moves = {MOVE_MEGA_KICK, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_SOFT_BOILED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [678] = {
+ .species = SPECIES_HARIYAMA,
+ .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [679] = {
+ .species = SPECIES_RAICHU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_PROTECT, MOVE_MEGA_KICK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [680] = {
+ .species = SPECIES_DEWGONG,
+ .moves = {MOVE_SHEER_COLD, MOVE_ICE_BEAM, MOVE_SURF, MOVE_SIGNAL_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [681] = {
+ .species = SPECIES_MANECTRIC,
+ .moves = {MOVE_THUNDERBOLT, MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [682] = {
+ .species = SPECIES_VILEPLUME,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [683] = {
+ .species = SPECIES_VICTREEBEL,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_DOUBLE_EDGE, MOVE_SLUDGE_BOMB, MOVE_SYNTHESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [684] = {
+ .species = SPECIES_ELECTRODE,
+ .moves = {MOVE_EXPLOSION, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [685] = {
+ .species = SPECIES_EXPLOUD,
+ .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_OVERHEAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [686] = {
+ .species = SPECIES_SHIFTRY,
+ .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_MEGA_KICK, MOVE_FAKE_OUT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [687] = {
+ .species = SPECIES_GLALIE,
+ .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [688] = {
+ .species = SPECIES_LUDICOLO,
+ .moves = {MOVE_LEECH_SEED, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_TOXIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [689] = {
+ .species = SPECIES_HYPNO,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [690] = {
+ .species = SPECIES_GOLEM,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DOUBLE_EDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [691] = {
+ .species = SPECIES_RHYDON,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_HORN_DRILL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [692] = {
+ .species = SPECIES_ALAKAZAM,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [693] = {
+ .species = SPECIES_WEEZING,
+ .moves = {MOVE_EXPLOSION, MOVE_SLUDGE_BOMB, MOVE_FRUSTRATION, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [694] = {
+ .species = SPECIES_KANGASKHAN,
+ .moves = {MOVE_MEGA_KICK, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [695] = {
+ .species = SPECIES_ELECTABUZZ,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_MEGA_KICK, MOVE_CROSS_CHOP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [696] = {
+ .species = SPECIES_TAUROS,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_ROCK_TOMB, MOVE_THUNDERBOLT, MOVE_SURF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [697] = {
+ .species = SPECIES_SLOWBRO,
+ .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_SASSY
+ },
+ [698] = {
+ .species = SPECIES_SLOWKING,
+ .moves = {MOVE_PSYCHIC, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [699] = {
+ .species = SPECIES_MILTANK,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_CURSE, MOVE_DOUBLE_TEAM, MOVE_MILK_DRINK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [700] = {
+ .species = SPECIES_ALTARIA,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ICE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [701] = {
+ .species = SPECIES_NIDOQUEEN,
+ .moves = {MOVE_SUPERPOWER, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [702] = {
+ .species = SPECIES_NIDOKING,
+ .moves = {MOVE_MEGAHORN, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_THUNDER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [703] = {
+ .species = SPECIES_MAGMAR,
+ .moves = {MOVE_FLAMETHROWER, MOVE_PSYCHIC, MOVE_CROSS_CHOP, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [704] = {
+ .species = SPECIES_CRADILY,
+ .moves = {MOVE_TOXIC, MOVE_INGRAIN, MOVE_MIRROR_COAT, MOVE_GIGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [705] = {
+ .species = SPECIES_ARMALDO,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [706] = {
+ .species = SPECIES_GOLDUCK,
+ .moves = {MOVE_SURF, MOVE_CROSS_CHOP, MOVE_ICE_BEAM, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [707] = {
+ .species = SPECIES_RAPIDASH,
+ .moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_IRON_TAIL, MOVE_DOUBLE_KICK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [708] = {
+ .species = SPECIES_MUK,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_BRICK_BREAK, MOVE_GIGA_DRAIN, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BRAVE
+ },
+ [709] = {
+ .species = SPECIES_GENGAR,
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [710] = {
+ .species = SPECIES_AMPHAROS,
+ .moves = {MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_THUNDER_WAVE, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [711] = {
+ .species = SPECIES_SCIZOR,
+ .moves = {MOVE_SILVER_WIND, MOVE_SWORDS_DANCE, MOVE_AGILITY, MOVE_BATON_PASS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [712] = {
+ .species = SPECIES_HERACROSS,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_REVERSAL, MOVE_ENDURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [713] = {
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [714] = {
+ .species = SPECIES_HOUNDOOM,
+ .moves = {MOVE_OVERHEAT, MOVE_SOLAR_BEAM, MOVE_CRUNCH, MOVE_SUNNY_DAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [715] = {
+ .species = SPECIES_DONPHAN,
+ .moves = {MOVE_FISSURE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_IRON_TAIL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [716] = {
+ .species = SPECIES_CLAYDOL,
+ .moves = {MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [717] = {
+ .species = SPECIES_WAILORD,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_FISSURE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [718] = {
+ .species = SPECIES_NINETALES,
+ .moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_CONFUSE_RAY, MOVE_WILL_O_WISP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [719] = {
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [720] = {
+ .species = SPECIES_SHUCKLE,
+ .moves = {MOVE_TOXIC, MOVE_DOUBLE_TEAM, MOVE_WRAP, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CAREFUL
+ },
+ [721] = {
+ .species = SPECIES_STEELIX,
+ .moves = {MOVE_EARTHQUAKE, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [722] = {
+ .species = SPECIES_TENTACRUEL,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [723] = {
+ .species = SPECIES_AERODACTYL,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FIRE_BLAST, MOVE_BITE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [724] = {
+ .species = SPECIES_PORYGON2,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [725] = {
+ .species = SPECIES_GARDEVOIR,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_FIRE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [726] = {
+ .species = SPECIES_EXEGGUTOR,
+ .moves = {MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_SLUDGE_BOMB, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [727] = {
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [728] = {
+ .species = SPECIES_FLYGON,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_DOUBLE_EDGE, MOVE_CRUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [729] = {
+ .species = SPECIES_VENUSAUR,
+ .moves = {MOVE_SOLAR_BEAM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [730] = {
+ .species = SPECIES_VAPOREON,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_ACID_ARMOR, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [731] = {
+ .species = SPECIES_JOLTEON,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_BITE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID
+ },
+ [732] = {
+ .species = SPECIES_FLAREON,
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [733] = {
+ .species = SPECIES_MEGANIUM,
+ .moves = {MOVE_GIGA_DRAIN, MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [734] = {
+ .species = SPECIES_ESPEON,
+ .moves = {MOVE_PSYCHIC, MOVE_BITE, MOVE_ATTRACT, MOVE_CALM_MIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [735] = {
+ .species = SPECIES_UMBREON,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_TOXIC, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [736] = {
+ .species = SPECIES_BLASTOISE,
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [737] = {
+ .species = SPECIES_FERALIGATR,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [738] = {
+ .species = SPECIES_AGGRON,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [739] = {
+ .species = SPECIES_BLAZIKEN,
+ .moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_THUNDER_PUNCH, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [740] = {
+ .species = SPECIES_WALREIN,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_SHEER_COLD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [741] = {
+ .species = SPECIES_SCEPTILE,
+ .moves = {MOVE_LEAF_BLADE, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_THUNDER_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [742] = {
+ .species = SPECIES_CHARIZARD,
+ .moves = {MOVE_OVERHEAT, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [743] = {
+ .species = SPECIES_TYPHLOSION,
+ .moves = {MOVE_OVERHEAT, MOVE_THUNDER_PUNCH, MOVE_EARTHQUAKE, MOVE_CRUSH_CLAW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [744] = {
+ .species = SPECIES_LAPRAS,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_PSYCHIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [745] = {
+ .species = SPECIES_CROBAT,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [746] = {
+ .species = SPECIES_SWAMPERT,
+ .moves = {MOVE_SURF, MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [747] = {
+ .species = SPECIES_GYARADOS,
+ .moves = {MOVE_RETURN, MOVE_EARTHQUAKE, MOVE_DRAGON_DANCE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [748] = {
+ .species = SPECIES_SNORLAX,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_CURSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [749] = {
+ .species = SPECIES_KINGDRA,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_ICE_BEAM, MOVE_DRAGON_DANCE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [750] = {
+ .species = SPECIES_BLISSEY,
+ .moves = {MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_COUNTER, MOVE_SOFT_BOILED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BOLD
+ },
+ [751] = {
+ .species = SPECIES_MILOTIC,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RECOVER, MOVE_MIRROR_COAT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [752] = {
+ .species = SPECIES_ARCANINE,
+ .moves = {MOVE_OVERHEAT, MOVE_EXTREME_SPEED, MOVE_CRUNCH, MOVE_DOUBLE_EDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE
+ },
+ [753] = {
+ .species = SPECIES_SALAMENCE,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [754] = {
+ .species = SPECIES_METAGROSS,
+ .moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [755] = {
+ .species = SPECIES_SLAKING,
+ .moves = {MOVE_THUNDERBOLT, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_YAWN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_MODEST
+ },
+ [756] = {
+ .species = SPECIES_ARTICUNO,
+ .moves = {MOVE_ICE_BEAM, MOVE_WATER_PULSE, MOVE_ICY_WIND, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [757] = {
+ .species = SPECIES_ZAPDOS,
+ .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE
+ },
+ [758] = {
+ .species = SPECIES_MOLTRES,
+ .moves = {MOVE_FLAMETHROWER, MOVE_AERIAL_ACE, MOVE_MUD_SLAP, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [759] = {
+ .species = SPECIES_RAIKOU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [760] = {
+ .species = SPECIES_ENTEI,
+ .moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [761] = {
+ .species = SPECIES_SUICUNE,
+ .moves = {MOVE_SURF, MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [762] = {
+ .species = SPECIES_REGIROCK,
+ .moves = {MOVE_SUPERPOWER, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [763] = {
+ .species = SPECIES_REGICE,
+ .moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_AMNESIA, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [764] = {
+ .species = SPECIES_REGISTEEL,
+ .moves = {MOVE_METAL_CLAW, MOVE_CURSE, MOVE_AMNESIA, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [765] = {
+ .species = SPECIES_LATIAS,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [766] = {
+ .species = SPECIES_LATIOS,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [767] = {
+ .species = SPECIES_ARTICUNO,
+ .moves = {MOVE_SUBSTITUTE, MOVE_TOXIC, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [768] = {
+ .species = SPECIES_ZAPDOS,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DRILL_PECK, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [769] = {
+ .species = SPECIES_MOLTRES,
+ .moves = {MOVE_OVERHEAT, MOVE_AERIAL_ACE, MOVE_DOUBLE_TEAM, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [770] = {
+ .species = SPECIES_RAIKOU,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_DOUBLE_TEAM, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [771] = {
+ .species = SPECIES_ENTEI,
+ .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [772] = {
+ .species = SPECIES_SUICUNE,
+ .moves = {MOVE_TOXIC, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [773] = {
+ .species = SPECIES_REGIROCK,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [774] = {
+ .species = SPECIES_REGICE,
+ .moves = {MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_BLIZZARD, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [775] = {
+ .species = SPECIES_REGISTEEL,
+ .moves = {MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [776] = {
+ .species = SPECIES_LATIAS,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [777] = {
+ .species = SPECIES_LATIOS,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [778] = {
+ .species = SPECIES_ARTICUNO,
+ .moves = {MOVE_ICE_BEAM, MOVE_FACADE, MOVE_AERIAL_ACE, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [779] = {
+ .species = SPECIES_ZAPDOS,
+ .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_SUBSTITUTE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [780] = {
+ .species = SPECIES_MOLTRES,
+ .moves = {MOVE_FIRE_BLAST, MOVE_SUNNY_DAY, MOVE_DOUBLE_TEAM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [781] = {
+ .species = SPECIES_RAIKOU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [782] = {
+ .species = SPECIES_ENTEI,
+ .moves = {MOVE_FLAMETHROWER, MOVE_DOUBLE_EDGE, MOVE_SWAGGER, MOVE_PSYCH_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [783] = {
+ .species = SPECIES_SUICUNE,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_RAIN_DANCE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [784] = {
+ .species = SPECIES_REGIROCK,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_CURSE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [785] = {
+ .species = SPECIES_REGICE,
+ .moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [786] = {
+ .species = SPECIES_REGISTEEL,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_AMNESIA, MOVE_COUNTER, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [787] = {
+ .species = SPECIES_LATIAS,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [788] = {
+ .species = SPECIES_LATIOS,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [789] = {
+ .species = SPECIES_ARTICUNO,
+ .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_REST, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [790] = {
+ .species = SPECIES_ZAPDOS,
+ .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [791] = {
+ .species = SPECIES_MOLTRES,
+ .moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_STEEL_WING, MOVE_SAFEGUARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [792] = {
+ .species = SPECIES_RAIKOU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_BITE, MOVE_THUNDER_WAVE, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [793] = {
+ .species = SPECIES_ENTEI,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_DOUBLE_TEAM, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [794] = {
+ .species = SPECIES_SUICUNE,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_BITE, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [795] = {
+ .species = SPECIES_REGIROCK,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [796] = {
+ .species = SPECIES_REGICE,
+ .moves = {MOVE_ICE_BEAM, MOVE_HAIL, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [797] = {
+ .species = SPECIES_REGISTEEL,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [798] = {
+ .species = SPECIES_LATIAS,
+ .moves = {MOVE_MIST_BALL, MOVE_SHADOW_BALL, MOVE_CHARM, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [799] = {
+ .species = SPECIES_LATIOS,
+ .moves = {MOVE_LUSTER_PURGE, MOVE_THUNDERBOLT, MOVE_ICE_BEAM, MOVE_DRAGON_CLAW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [800] = {
+ .species = SPECIES_GENGAR,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [801] = {
+ .species = SPECIES_GENGAR,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [802] = {
+ .species = SPECIES_GENGAR,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FIRE_PUNCH, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [803] = {
+ .species = SPECIES_GENGAR,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_ICE_PUNCH, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [804] = {
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_MEGA_KICK, MOVE_AERIAL_ACE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [805] = {
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_HYPER_BEAM, MOVE_YAWN, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [806] = {
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_BULK_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [807] = {
+ .species = SPECIES_URSARING,
+ .moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [808] = {
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_CROSS_CHOP, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [809] = {
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_CROSS_CHOP, MOVE_EARTHQUAKE, MOVE_COUNTER, MOVE_ROCK_TOMB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [810] = {
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [811] = {
+ .species = SPECIES_MACHAMP,
+ .moves = {MOVE_REVENGE, MOVE_ROCK_SLIDE, MOVE_FACADE, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [812] = {
+ .species = SPECIES_GARDEVOIR,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_ENDURE, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [813] = {
+ .species = SPECIES_GARDEVOIR,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_WILL_O_WISP, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID
+ },
+ [814] = {
+ .species = SPECIES_GARDEVOIR,
+ .moves = {MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_WILL_O_WISP, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [815] = {
+ .species = SPECIES_GARDEVOIR,
+ .moves = {MOVE_PSYCHIC, MOVE_MAGICAL_LEAF, MOVE_ATTRACT, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [816] = {
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_SURF, MOVE_PSYCHIC, MOVE_RECOVER, MOVE_LIGHT_SCREEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [817] = {
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_SURF, MOVE_CONFUSE_RAY, MOVE_THUNDER_WAVE, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [818] = {
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_PSYCHIC, MOVE_ICE_BEAM, MOVE_COSMIC_POWER, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [819] = {
+ .species = SPECIES_STARMIE,
+ .moves = {MOVE_SURF, MOVE_THUNDERBOLT, MOVE_COSMIC_POWER, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [820] = {
+ .species = SPECIES_LAPRAS,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_IRON_TAIL, MOVE_DOUBLE_EDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [821] = {
+ .species = SPECIES_LAPRAS,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_THUNDER, MOVE_RAIN_DANCE, MOVE_BLIZZARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [822] = {
+ .species = SPECIES_LAPRAS,
+ .moves = {MOVE_SHEER_COLD, MOVE_HORN_DRILL, MOVE_REST, MOVE_SLEEP_TALK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [823] = {
+ .species = SPECIES_LAPRAS,
+ .moves = {MOVE_SHEER_COLD, MOVE_HORN_DRILL, MOVE_SING, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [824] = {
+ .species = SPECIES_SNORLAX,
+ .moves = {MOVE_MEGA_KICK, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [825] = {
+ .species = SPECIES_SNORLAX,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [826] = {
+ .species = SPECIES_SNORLAX,
+ .moves = {MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_CURSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [827] = {
+ .species = SPECIES_SNORLAX,
+ .moves = {MOVE_RETURN, MOVE_SHADOW_BALL, MOVE_BELLY_DRUM, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [828] = {
+ .species = SPECIES_SALAMENCE,
+ .moves = {MOVE_FACADE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [829] = {
+ .species = SPECIES_SALAMENCE,
+ .moves = {MOVE_HEADBUTT, MOVE_AERIAL_ACE, MOVE_CRUNCH, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [830] = {
+ .species = SPECIES_SALAMENCE,
+ .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [831] = {
+ .species = SPECIES_SALAMENCE,
+ .moves = {MOVE_FLAMETHROWER, MOVE_DRAGON_CLAW, MOVE_CRUNCH, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [832] = {
+ .species = SPECIES_METAGROSS,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY
+ },
+ [833] = {
+ .species = SPECIES_METAGROSS,
+ .moves = {MOVE_METEOR_MASH, MOVE_PSYCHIC, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [834] = {
+ .species = SPECIES_METAGROSS,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_PUNCH, MOVE_THUNDER_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [835] = {
+ .species = SPECIES_METAGROSS,
+ .moves = {MOVE_METEOR_MASH, MOVE_EARTHQUAKE, MOVE_BRICK_BREAK, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [836] = {
+ .species = SPECIES_REGIROCK,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [837] = {
+ .species = SPECIES_REGIROCK,
+ .moves = {MOVE_SWAGGER, MOVE_PSYCH_UP, MOVE_ROCK_SLIDE, MOVE_EXPLOSION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [838] = {
+ .species = SPECIES_REGICE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ICE_BEAM, MOVE_CURSE, MOVE_COUNTER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [839] = {
+ .species = SPECIES_REGICE,
+ .moves = {MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_SLEEP_TALK, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [840] = {
+ .species = SPECIES_REGISTEEL,
+ .moves = {MOVE_FOCUS_PUNCH, MOVE_SUBSTITUTE, MOVE_TOXIC, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [841] = {
+ .species = SPECIES_REGISTEEL,
+ .moves = {MOVE_SUPERPOWER, MOVE_AERIAL_ACE, MOVE_SWAGGER, MOVE_PSYCH_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [842] = {
+ .species = SPECIES_LATIAS,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [843] = {
+ .species = SPECIES_LATIAS,
+ .moves = {MOVE_MIST_BALL, MOVE_DRAGON_CLAW, MOVE_ATTRACT, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [844] = {
+ .species = SPECIES_LATIAS,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_SWAGGER, MOVE_PSYCH_UP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [845] = {
+ .species = SPECIES_LATIAS,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [846] = {
+ .species = SPECIES_LATIOS,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE, MOVE_CALM_MIND, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [847] = {
+ .species = SPECIES_LATIOS,
+ .moves = {MOVE_LUSTER_PURGE, MOVE_SHADOW_BALL, MOVE_DRAGON_CLAW, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [848] = {
+ .species = SPECIES_LATIOS,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_DRAGON_DANCE, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [849] = {
+ .species = SPECIES_LATIOS,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [850] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [851] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DOUBLE_EDGE, MOVE_AERIAL_ACE, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [852] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [853] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_HYPER_BEAM, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [854] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_OUTRAGE, MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [855] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_FLAMETHROWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [856] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [857] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_DRAGON_CLAW, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, MOVE_BRICK_BREAK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [858] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_THUNDER, MOVE_SURF, MOVE_RAIN_DANCE, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [859] = {
+ .species = SPECIES_DRAGONITE,
+ .moves = {MOVE_FIRE_BLAST, MOVE_BLIZZARD, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [860] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_THUNDERBOLT, MOVE_SURF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [861] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CRUNCH, MOVE_THUNDERBOLT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [862] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_COUNTER, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [863] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_CRUNCH, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [864] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [865] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_CURSE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [866] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CURSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [867] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_DRAGON_DANCE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [868] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_AERIAL_ACE, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [869] = {
+ .species = SPECIES_TYRANITAR,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [870] = {
+ .species = SPECIES_ARTICUNO,
+ .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_AGILITY, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [871] = {
+ .species = SPECIES_ARTICUNO,
+ .moves = {MOVE_ICE_BEAM, MOVE_AERIAL_ACE, MOVE_REFLECT, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [872] = {
+ .species = SPECIES_ZAPDOS,
+ .moves = {MOVE_THUNDERBOLT, MOVE_DRILL_PECK, MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [873] = {
+ .species = SPECIES_ZAPDOS,
+ .moves = {MOVE_THUNDER, MOVE_DRILL_PECK, MOVE_RAIN_DANCE, MOVE_DOUBLE_EDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [874] = {
+ .species = SPECIES_MOLTRES,
+ .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_SWAGGER, MOVE_FACADE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_DOCILE
+ },
+ [875] = {
+ .species = SPECIES_MOLTRES,
+ .moves = {MOVE_OVERHEAT, MOVE_DOUBLE_EDGE, MOVE_AERIAL_ACE, MOVE_STEEL_WING},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_DOCILE
+ },
+ [876] = {
+ .species = SPECIES_RAIKOU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_DOUBLE_EDGE, MOVE_ROAR, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [877] = {
+ .species = SPECIES_RAIKOU,
+ .moves = {MOVE_THUNDERBOLT, MOVE_CALM_MIND, MOVE_SUBSTITUTE, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [878] = {
+ .species = SPECIES_ENTEI,
+ .moves = {MOVE_FIRE_BLAST, MOVE_DOUBLE_EDGE, MOVE_ENDURE, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE
+ },
+ [879] = {
+ .species = SPECIES_ENTEI,
+ .moves = {MOVE_FLAMETHROWER, MOVE_CALM_MIND, MOVE_ROAR, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [880] = {
+ .species = SPECIES_SUICUNE,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_ICY_WIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [881] = {
+ .species = SPECIES_SUICUNE,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_CALM_MIND, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ }
+};
diff --git a/src/data/battle_frontier/battle_frontier_trainer_mons.h b/src/data/battle_frontier/battle_frontier_trainer_mons.h
new file mode 100644
index 000000000..d0e21172b
--- /dev/null
+++ b/src/data/battle_frontier/battle_frontier_trainer_mons.h
@@ -0,0 +1,15229 @@
+const u16 gBattleFrontierTrainerMons_Brady[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Conner[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Bradley[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Cybil[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Rodette[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Peggy[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Keith[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Grayson[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Glenn[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Liliana[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Elise[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Zoey[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Manuel[] =
+{
+ 5,
+ 20,
+ 21,
+ 25,
+ 27,
+ 35,
+ 46,
+ 47,
+ 48,
+ 50,
+ 53,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 119,
+ 121,
+ 124,
+ 127,
+ 146,
+ 147,
+ 154,
+ 158,
+ 160,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Russ[] =
+{
+ 5,
+ 20,
+ 21,
+ 25,
+ 27,
+ 35,
+ 46,
+ 47,
+ 48,
+ 50,
+ 53,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 119,
+ 121,
+ 124,
+ 127,
+ 146,
+ 147,
+ 154,
+ 158,
+ 160,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dustin[] =
+{
+ 5,
+ 20,
+ 21,
+ 25,
+ 27,
+ 35,
+ 46,
+ 47,
+ 48,
+ 50,
+ 53,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 119,
+ 121,
+ 124,
+ 127,
+ 146,
+ 147,
+ 154,
+ 158,
+ 160,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Tina[] =
+{
+ 5,
+ 20,
+ 21,
+ 25,
+ 27,
+ 35,
+ 46,
+ 47,
+ 48,
+ 50,
+ 53,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 119,
+ 121,
+ 124,
+ 127,
+ 146,
+ 147,
+ 154,
+ 158,
+ 160,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gillian[] =
+{
+ 5,
+ 20,
+ 21,
+ 25,
+ 27,
+ 35,
+ 46,
+ 47,
+ 48,
+ 50,
+ 53,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 119,
+ 121,
+ 124,
+ 127,
+ 146,
+ 147,
+ 154,
+ 158,
+ 160,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Zoe[] =
+{
+ 5,
+ 20,
+ 21,
+ 25,
+ 27,
+ 35,
+ 46,
+ 47,
+ 48,
+ 50,
+ 53,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 119,
+ 121,
+ 124,
+ 127,
+ 146,
+ 147,
+ 154,
+ 158,
+ 160,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Chen[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Al[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Mitch[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Anne[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Alize[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Lauren[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kipp[] =
+{
+ 5,
+ 6,
+ 7,
+ 14,
+ 19,
+ 28,
+ 35,
+ 42,
+ 45,
+ 48,
+ 50,
+ 55,
+ 59,
+ 60,
+ 68,
+ 73,
+ 83,
+ 84,
+ 86,
+ 87,
+ 90,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 106,
+ 109,
+ 112,
+ 114,
+ 121,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jason[] =
+{
+ 5,
+ 6,
+ 7,
+ 14,
+ 19,
+ 28,
+ 35,
+ 42,
+ 45,
+ 48,
+ 50,
+ 55,
+ 59,
+ 60,
+ 68,
+ 73,
+ 83,
+ 84,
+ 86,
+ 87,
+ 90,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 106,
+ 109,
+ 112,
+ 114,
+ 121,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_John[] =
+{
+ 5,
+ 6,
+ 7,
+ 14,
+ 19,
+ 28,
+ 35,
+ 42,
+ 45,
+ 48,
+ 50,
+ 55,
+ 59,
+ 60,
+ 68,
+ 73,
+ 83,
+ 84,
+ 86,
+ 87,
+ 90,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 106,
+ 109,
+ 112,
+ 114,
+ 121,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ann[] =
+{
+ 5,
+ 6,
+ 7,
+ 14,
+ 19,
+ 28,
+ 35,
+ 42,
+ 45,
+ 48,
+ 50,
+ 55,
+ 59,
+ 60,
+ 68,
+ 73,
+ 83,
+ 84,
+ 86,
+ 87,
+ 90,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 106,
+ 109,
+ 112,
+ 114,
+ 121,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Eileen[] =
+{
+ 5,
+ 6,
+ 7,
+ 14,
+ 19,
+ 28,
+ 35,
+ 42,
+ 45,
+ 48,
+ 50,
+ 55,
+ 59,
+ 60,
+ 68,
+ 73,
+ 83,
+ 84,
+ 86,
+ 87,
+ 90,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 106,
+ 109,
+ 112,
+ 114,
+ 121,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Carlie[] =
+{
+ 5,
+ 6,
+ 7,
+ 14,
+ 19,
+ 28,
+ 35,
+ 42,
+ 45,
+ 48,
+ 50,
+ 55,
+ 59,
+ 60,
+ 68,
+ 73,
+ 83,
+ 84,
+ 86,
+ 87,
+ 90,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 106,
+ 109,
+ 112,
+ 114,
+ 121,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gordon[] =
+{
+ 1,
+ 13,
+ 15,
+ 16,
+ 17,
+ 22,
+ 23,
+ 24,
+ 26,
+ 32,
+ 34,
+ 36,
+ 43,
+ 50,
+ 51,
+ 54,
+ 56,
+ 68,
+ 72,
+ 73,
+ 81,
+ 82,
+ 83,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 107,
+ 109,
+ 111,
+ 113,
+ 116,
+ 117,
+ 123,
+ 124,
+ 128,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 152,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ayden[] =
+{
+ 1,
+ 13,
+ 15,
+ 16,
+ 17,
+ 22,
+ 23,
+ 24,
+ 26,
+ 32,
+ 34,
+ 36,
+ 43,
+ 50,
+ 51,
+ 54,
+ 56,
+ 68,
+ 72,
+ 73,
+ 81,
+ 82,
+ 83,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 107,
+ 109,
+ 111,
+ 113,
+ 116,
+ 117,
+ 123,
+ 124,
+ 128,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 152,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Marco[] =
+{
+ 1,
+ 13,
+ 15,
+ 16,
+ 17,
+ 22,
+ 23,
+ 24,
+ 26,
+ 32,
+ 34,
+ 36,
+ 43,
+ 50,
+ 51,
+ 54,
+ 56,
+ 68,
+ 72,
+ 73,
+ 81,
+ 82,
+ 83,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 107,
+ 109,
+ 111,
+ 113,
+ 116,
+ 117,
+ 123,
+ 124,
+ 128,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 152,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Cierra[] =
+{
+ 1,
+ 13,
+ 16,
+ 17,
+ 23,
+ 24,
+ 26,
+ 32,
+ 34,
+ 36,
+ 43,
+ 51,
+ 54,
+ 56,
+ 68,
+ 72,
+ 73,
+ 76,
+ 83,
+ 84,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 107,
+ 109,
+ 111,
+ 113,
+ 116,
+ 117,
+ 118,
+ 123,
+ 124,
+ 128,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Marcy[] =
+{
+ 1,
+ 13,
+ 16,
+ 17,
+ 23,
+ 24,
+ 26,
+ 32,
+ 34,
+ 36,
+ 43,
+ 51,
+ 54,
+ 56,
+ 68,
+ 72,
+ 73,
+ 76,
+ 83,
+ 84,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 107,
+ 109,
+ 111,
+ 113,
+ 116,
+ 117,
+ 118,
+ 123,
+ 124,
+ 128,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kathy[] =
+{
+ 1,
+ 13,
+ 16,
+ 17,
+ 23,
+ 24,
+ 26,
+ 32,
+ 34,
+ 36,
+ 43,
+ 51,
+ 54,
+ 56,
+ 68,
+ 72,
+ 73,
+ 76,
+ 83,
+ 84,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 105,
+ 107,
+ 109,
+ 111,
+ 113,
+ 116,
+ 117,
+ 118,
+ 123,
+ 124,
+ 128,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Peyton[] =
+{
+ 84,
+ 85,
+ 87,
+ 88,
+ 89,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 105,
+ 106,
+ 107,
+ 109,
+ 112,
+ 113,
+ 117,
+ 120,
+ 121,
+ 123,
+ 129,
+ 134,
+ 142,
+ 143,
+ 145,
+ 148,
+ 149,
+ 151,
+ 152,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Julian[] =
+{
+ 84,
+ 85,
+ 87,
+ 88,
+ 89,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 105,
+ 106,
+ 107,
+ 109,
+ 112,
+ 113,
+ 117,
+ 120,
+ 121,
+ 123,
+ 129,
+ 134,
+ 142,
+ 143,
+ 145,
+ 148,
+ 149,
+ 151,
+ 152,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Quinn[] =
+{
+ 84,
+ 85,
+ 87,
+ 88,
+ 89,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 105,
+ 106,
+ 107,
+ 109,
+ 112,
+ 113,
+ 117,
+ 120,
+ 121,
+ 123,
+ 129,
+ 134,
+ 142,
+ 143,
+ 145,
+ 148,
+ 149,
+ 151,
+ 152,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Haylee[] =
+{
+ 1,
+ 5,
+ 6,
+ 10,
+ 13,
+ 14,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 23,
+ 24,
+ 26,
+ 28,
+ 29,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 54,
+ 56,
+ 59,
+ 61,
+ 65,
+ 66,
+ 67,
+ 68,
+ 71,
+ 72,
+ 79,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Amanda[] =
+{
+ 1,
+ 5,
+ 6,
+ 10,
+ 13,
+ 14,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 23,
+ 24,
+ 26,
+ 28,
+ 29,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 54,
+ 56,
+ 59,
+ 61,
+ 65,
+ 66,
+ 67,
+ 68,
+ 71,
+ 72,
+ 79,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Stacy[] =
+{
+ 1,
+ 5,
+ 6,
+ 10,
+ 13,
+ 14,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 23,
+ 24,
+ 26,
+ 28,
+ 29,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 54,
+ 56,
+ 59,
+ 61,
+ 65,
+ 66,
+ 67,
+ 68,
+ 71,
+ 72,
+ 79,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Rafael[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Oliver[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Payton[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Pamela[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Eliza[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Marisa[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Lewis[] =
+{
+ 2,
+ 3,
+ 4,
+ 8,
+ 9,
+ 21,
+ 27,
+ 39,
+ 40,
+ 41,
+ 42,
+ 52,
+ 57,
+ 58,
+ 80,
+ 112,
+ 132,
+ 141,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Yoshi[] =
+{
+ 2,
+ 3,
+ 4,
+ 11,
+ 12,
+ 21,
+ 27,
+ 39,
+ 40,
+ 41,
+ 42,
+ 52,
+ 57,
+ 58,
+ 80,
+ 112,
+ 132,
+ 141,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Destin[] =
+{
+ 2,
+ 3,
+ 4,
+ 21,
+ 27,
+ 39,
+ 40,
+ 41,
+ 42,
+ 52,
+ 57,
+ 58,
+ 80,
+ 112,
+ 132,
+ 141,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Keon[] =
+{
+ 5,
+ 21,
+ 25,
+ 27,
+ 35,
+ 39,
+ 40,
+ 41,
+ 42,
+ 46,
+ 47,
+ 48,
+ 50,
+ 52,
+ 53,
+ 57,
+ 58,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 121,
+ 124,
+ 127,
+ 132,
+ 141,
+ 146,
+ 147,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Stuart[] =
+{
+ 5,
+ 21,
+ 25,
+ 27,
+ 35,
+ 39,
+ 40,
+ 41,
+ 42,
+ 46,
+ 47,
+ 48,
+ 50,
+ 52,
+ 53,
+ 57,
+ 58,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 121,
+ 124,
+ 127,
+ 132,
+ 141,
+ 146,
+ 147,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Nestor[] =
+{
+ 5,
+ 21,
+ 25,
+ 27,
+ 35,
+ 39,
+ 40,
+ 41,
+ 42,
+ 46,
+ 47,
+ 48,
+ 50,
+ 52,
+ 53,
+ 57,
+ 58,
+ 62,
+ 63,
+ 69,
+ 75,
+ 78,
+ 79,
+ 80,
+ 84,
+ 90,
+ 92,
+ 99,
+ 100,
+ 102,
+ 106,
+ 110,
+ 112,
+ 114,
+ 121,
+ 124,
+ 127,
+ 132,
+ 141,
+ 146,
+ 147,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Derrick[] =
+{
+ 21,
+ 27,
+ 29,
+ 39,
+ 40,
+ 41,
+ 42,
+ 52,
+ 57,
+ 58,
+ 61,
+ 62,
+ 63,
+ 69,
+ 80,
+ 92,
+ 102,
+ 112,
+ 125,
+ 129,
+ 132,
+ 140,
+ 141,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Bryson[] =
+{
+ 21,
+ 27,
+ 29,
+ 39,
+ 40,
+ 41,
+ 42,
+ 52,
+ 57,
+ 58,
+ 61,
+ 62,
+ 63,
+ 69,
+ 80,
+ 92,
+ 102,
+ 112,
+ 125,
+ 129,
+ 132,
+ 140,
+ 141,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Clayton[] =
+{
+ 21,
+ 27,
+ 29,
+ 39,
+ 40,
+ 41,
+ 42,
+ 52,
+ 57,
+ 58,
+ 61,
+ 62,
+ 63,
+ 69,
+ 80,
+ 92,
+ 102,
+ 112,
+ 125,
+ 129,
+ 132,
+ 140,
+ 141,
+ 153,
+ 154,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Trenton[] =
+{
+ 6,
+ 7,
+ 55,
+ 60,
+ 68,
+ 73,
+ 83,
+ 86,
+ 87,
+ 105,
+ 111,
+ 116,
+ 123,
+ 124,
+ 128,
+ 134,
+ 138,
+ 139,
+ 151,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jenson[] =
+{
+ 6,
+ 7,
+ 55,
+ 60,
+ 68,
+ 73,
+ 83,
+ 86,
+ 87,
+ 105,
+ 111,
+ 116,
+ 123,
+ 124,
+ 128,
+ 134,
+ 138,
+ 139,
+ 151,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Wesley[] =
+{
+ 6,
+ 7,
+ 55,
+ 60,
+ 68,
+ 73,
+ 83,
+ 86,
+ 87,
+ 105,
+ 111,
+ 116,
+ 123,
+ 124,
+ 128,
+ 134,
+ 138,
+ 139,
+ 151,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Anton[] =
+{
+ 31,
+ 39,
+ 58,
+ 67,
+ 70,
+ 74,
+ 75,
+ 78,
+ 85,
+ 104,
+ 108,
+ 120,
+ 122,
+ 133,
+ 138,
+ 139,
+ 140,
+ 141,
+ 150,
+ 151,
+ 152,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Lawson[] =
+{
+ 31,
+ 39,
+ 58,
+ 67,
+ 70,
+ 74,
+ 75,
+ 78,
+ 85,
+ 104,
+ 108,
+ 120,
+ 122,
+ 133,
+ 138,
+ 139,
+ 140,
+ 141,
+ 150,
+ 151,
+ 152,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Sammy[] =
+{
+ 31,
+ 39,
+ 58,
+ 67,
+ 70,
+ 74,
+ 75,
+ 78,
+ 85,
+ 104,
+ 108,
+ 120,
+ 122,
+ 133,
+ 138,
+ 139,
+ 140,
+ 141,
+ 150,
+ 151,
+ 152,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Arnie[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Adrian[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Tristan[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Juliana[] =
+{
+ 0,
+ 14,
+ 19,
+ 28,
+ 42,
+ 58,
+ 59,
+ 67,
+ 68,
+ 85,
+ 118,
+ 120,
+ 123,
+ 155,
+ 156,
+ 193,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Rylee[] =
+{
+ 0,
+ 14,
+ 19,
+ 28,
+ 42,
+ 58,
+ 59,
+ 67,
+ 68,
+ 85,
+ 118,
+ 120,
+ 123,
+ 155,
+ 156,
+ 193,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Chelsea[] =
+{
+ 0,
+ 14,
+ 19,
+ 28,
+ 42,
+ 58,
+ 59,
+ 67,
+ 68,
+ 85,
+ 118,
+ 120,
+ 123,
+ 155,
+ 156,
+ 193,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Danela[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 10,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45,
+ 46,
+ 47,
+ 48,
+ 49,
+ 50,
+ 51,
+ 52,
+ 53,
+ 54,
+ 55,
+ 56,
+ 57,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Lizbeth[] =
+{
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 96,
+ 97,
+ 98,
+ 99,
+ 100,
+ 101,
+ 102,
+ 103,
+ 104,
+ 105,
+ 106,
+ 107,
+ 108,
+ 109,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Amelia[] =
+{
+ 110,
+ 111,
+ 112,
+ 113,
+ 114,
+ 115,
+ 116,
+ 117,
+ 118,
+ 119,
+ 120,
+ 121,
+ 122,
+ 123,
+ 124,
+ 125,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 143,
+ 144,
+ 145,
+ 146,
+ 147,
+ 148,
+ 149,
+ 150,
+ 151,
+ 152,
+ 153,
+ 154,
+ 155,
+ 156,
+ 157,
+ 158,
+ 159,
+ 160,
+ 161,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jillian[] =
+{
+ 0,
+ 5,
+ 18,
+ 19,
+ 29,
+ 35,
+ 48,
+ 50,
+ 52,
+ 61,
+ 69,
+ 75,
+ 78,
+ 84,
+ 90,
+ 94,
+ 99,
+ 100,
+ 101,
+ 102,
+ 106,
+ 112,
+ 114,
+ 121,
+ 125,
+ 129,
+ 130,
+ 131,
+ 140,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Abbie[] =
+{
+ 0,
+ 5,
+ 18,
+ 19,
+ 29,
+ 35,
+ 48,
+ 50,
+ 52,
+ 61,
+ 69,
+ 75,
+ 78,
+ 84,
+ 90,
+ 94,
+ 99,
+ 100,
+ 101,
+ 102,
+ 106,
+ 112,
+ 114,
+ 121,
+ 125,
+ 129,
+ 130,
+ 131,
+ 140,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Briana[] =
+{
+ 0,
+ 5,
+ 18,
+ 19,
+ 29,
+ 35,
+ 48,
+ 50,
+ 52,
+ 61,
+ 69,
+ 75,
+ 78,
+ 84,
+ 90,
+ 94,
+ 99,
+ 100,
+ 101,
+ 102,
+ 106,
+ 112,
+ 114,
+ 121,
+ 125,
+ 129,
+ 130,
+ 131,
+ 140,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Antonio[] =
+{
+ 5,
+ 10,
+ 20,
+ 35,
+ 48,
+ 49,
+ 50,
+ 62,
+ 63,
+ 64,
+ 66,
+ 71,
+ 75,
+ 77,
+ 78,
+ 84,
+ 90,
+ 92,
+ 99,
+ 106,
+ 108,
+ 112,
+ 114,
+ 115,
+ 116,
+ 119,
+ 121,
+ 122,
+ 143,
+ 148,
+ 152,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jaden[] =
+{
+ 5,
+ 10,
+ 20,
+ 35,
+ 48,
+ 49,
+ 50,
+ 62,
+ 63,
+ 64,
+ 66,
+ 71,
+ 75,
+ 77,
+ 78,
+ 84,
+ 90,
+ 92,
+ 99,
+ 106,
+ 108,
+ 112,
+ 114,
+ 115,
+ 116,
+ 119,
+ 121,
+ 122,
+ 143,
+ 148,
+ 152,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dakota[] =
+{
+ 5,
+ 10,
+ 20,
+ 35,
+ 48,
+ 49,
+ 50,
+ 62,
+ 63,
+ 64,
+ 66,
+ 71,
+ 75,
+ 77,
+ 78,
+ 84,
+ 90,
+ 92,
+ 99,
+ 106,
+ 108,
+ 112,
+ 114,
+ 115,
+ 116,
+ 119,
+ 121,
+ 122,
+ 143,
+ 148,
+ 152,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Brayden[] =
+{
+ 1,
+ 13,
+ 16,
+ 17,
+ 23,
+ 24,
+ 25,
+ 26,
+ 32,
+ 33,
+ 34,
+ 36,
+ 37,
+ 38,
+ 43,
+ 44,
+ 45,
+ 51,
+ 54,
+ 56,
+ 72,
+ 91,
+ 93,
+ 95,
+ 106,
+ 107,
+ 113,
+ 117,
+ 118,
+ 135,
+ 137,
+ 142,
+ 144,
+ 145,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Corson[] =
+{
+ 1,
+ 13,
+ 16,
+ 17,
+ 23,
+ 24,
+ 25,
+ 26,
+ 32,
+ 33,
+ 34,
+ 36,
+ 37,
+ 38,
+ 43,
+ 44,
+ 45,
+ 51,
+ 54,
+ 56,
+ 72,
+ 91,
+ 93,
+ 95,
+ 106,
+ 107,
+ 113,
+ 117,
+ 118,
+ 135,
+ 137,
+ 142,
+ 144,
+ 145,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Trevin[] =
+{
+ 1,
+ 13,
+ 16,
+ 17,
+ 23,
+ 24,
+ 25,
+ 26,
+ 32,
+ 33,
+ 34,
+ 36,
+ 37,
+ 38,
+ 43,
+ 44,
+ 45,
+ 51,
+ 54,
+ 56,
+ 72,
+ 91,
+ 93,
+ 95,
+ 106,
+ 107,
+ 113,
+ 117,
+ 118,
+ 135,
+ 137,
+ 142,
+ 144,
+ 145,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Patrick[] =
+{
+ 15,
+ 22,
+ 50,
+ 67,
+ 70,
+ 71,
+ 74,
+ 77,
+ 81,
+ 82,
+ 83,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 104,
+ 109,
+ 111,
+ 120,
+ 124,
+ 128,
+ 131,
+ 133,
+ 134,
+ 138,
+ 139,
+ 151,
+ 155,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kaden[] =
+{
+ 15,
+ 22,
+ 50,
+ 67,
+ 70,
+ 71,
+ 74,
+ 77,
+ 81,
+ 82,
+ 83,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 104,
+ 109,
+ 111,
+ 120,
+ 124,
+ 128,
+ 131,
+ 133,
+ 134,
+ 138,
+ 139,
+ 151,
+ 155,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Maxwell[] =
+{
+ 15,
+ 22,
+ 50,
+ 67,
+ 70,
+ 71,
+ 74,
+ 77,
+ 81,
+ 82,
+ 83,
+ 86,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 104,
+ 109,
+ 111,
+ 120,
+ 124,
+ 128,
+ 131,
+ 133,
+ 134,
+ 138,
+ 139,
+ 151,
+ 155,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Daryl[] =
+{
+ 15,
+ 22,
+ 31,
+ 39,
+ 50,
+ 51,
+ 58,
+ 67,
+ 70,
+ 74,
+ 75,
+ 81,
+ 82,
+ 85,
+ 104,
+ 120,
+ 122,
+ 132,
+ 133,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 144,
+ 150,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kenneth[] =
+{
+ 15,
+ 22,
+ 31,
+ 39,
+ 50,
+ 51,
+ 58,
+ 67,
+ 70,
+ 74,
+ 75,
+ 81,
+ 82,
+ 85,
+ 104,
+ 120,
+ 122,
+ 132,
+ 133,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 144,
+ 150,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Rich[] =
+{
+ 15,
+ 22,
+ 31,
+ 39,
+ 50,
+ 51,
+ 58,
+ 67,
+ 70,
+ 74,
+ 75,
+ 81,
+ 82,
+ 85,
+ 104,
+ 120,
+ 122,
+ 132,
+ 133,
+ 138,
+ 139,
+ 140,
+ 141,
+ 142,
+ 144,
+ 150,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Caden[] =
+{
+ 30,
+ 62,
+ 63,
+ 65,
+ 70,
+ 74,
+ 77,
+ 78,
+ 85,
+ 88,
+ 89,
+ 95,
+ 108,
+ 119,
+ 122,
+ 133,
+ 136,
+ 149,
+ 150,
+ 152,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Marlon[] =
+{
+ 30,
+ 62,
+ 63,
+ 65,
+ 70,
+ 74,
+ 77,
+ 78,
+ 85,
+ 88,
+ 89,
+ 95,
+ 108,
+ 119,
+ 122,
+ 133,
+ 136,
+ 149,
+ 150,
+ 152,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Nash[] =
+{
+ 30,
+ 62,
+ 63,
+ 65,
+ 70,
+ 74,
+ 77,
+ 78,
+ 85,
+ 88,
+ 89,
+ 95,
+ 108,
+ 119,
+ 122,
+ 133,
+ 136,
+ 149,
+ 150,
+ 152,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Robby[] =
+{
+ 1,
+ 13,
+ 15,
+ 16,
+ 17,
+ 22,
+ 23,
+ 24,
+ 26,
+ 32,
+ 33,
+ 34,
+ 36,
+ 37,
+ 38,
+ 43,
+ 44,
+ 50,
+ 51,
+ 54,
+ 56,
+ 67,
+ 70,
+ 72,
+ 74,
+ 75,
+ 81,
+ 82,
+ 85,
+ 91,
+ 93,
+ 104,
+ 107,
+ 113,
+ 117,
+ 120,
+ 132,
+ 133,
+ 135,
+ 137,
+ 142,
+ 144,
+ 145,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Reece[] =
+{
+ 1,
+ 13,
+ 15,
+ 16,
+ 17,
+ 22,
+ 23,
+ 24,
+ 26,
+ 32,
+ 33,
+ 34,
+ 36,
+ 37,
+ 38,
+ 43,
+ 44,
+ 50,
+ 51,
+ 54,
+ 56,
+ 67,
+ 70,
+ 72,
+ 74,
+ 75,
+ 81,
+ 82,
+ 85,
+ 91,
+ 93,
+ 104,
+ 107,
+ 113,
+ 117,
+ 120,
+ 132,
+ 133,
+ 135,
+ 137,
+ 142,
+ 144,
+ 145,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kathryn[] =
+{
+ 1,
+ 13,
+ 15,
+ 16,
+ 17,
+ 22,
+ 23,
+ 24,
+ 26,
+ 32,
+ 33,
+ 34,
+ 36,
+ 37,
+ 38,
+ 43,
+ 44,
+ 50,
+ 51,
+ 54,
+ 56,
+ 67,
+ 70,
+ 72,
+ 74,
+ 75,
+ 81,
+ 82,
+ 85,
+ 91,
+ 93,
+ 104,
+ 107,
+ 113,
+ 117,
+ 120,
+ 132,
+ 133,
+ 135,
+ 137,
+ 142,
+ 144,
+ 145,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ellen[] =
+{
+ 1,
+ 13,
+ 15,
+ 16,
+ 17,
+ 22,
+ 23,
+ 24,
+ 26,
+ 32,
+ 33,
+ 34,
+ 36,
+ 37,
+ 38,
+ 43,
+ 44,
+ 50,
+ 51,
+ 54,
+ 56,
+ 67,
+ 70,
+ 72,
+ 74,
+ 75,
+ 81,
+ 82,
+ 85,
+ 91,
+ 93,
+ 104,
+ 107,
+ 113,
+ 117,
+ 120,
+ 132,
+ 133,
+ 135,
+ 137,
+ 142,
+ 144,
+ 145,
+ 156,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ramon[] =
+{
+ 15,
+ 22,
+ 50,
+ 71,
+ 72,
+ 76,
+ 77,
+ 81,
+ 82,
+ 83,
+ 84,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 107,
+ 109,
+ 111,
+ 113,
+ 117,
+ 118,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Arthur[] =
+{
+ 15,
+ 22,
+ 50,
+ 71,
+ 72,
+ 76,
+ 77,
+ 81,
+ 82,
+ 83,
+ 84,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 107,
+ 109,
+ 111,
+ 113,
+ 117,
+ 118,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Alondra[] =
+{
+ 15,
+ 22,
+ 50,
+ 71,
+ 72,
+ 76,
+ 77,
+ 81,
+ 82,
+ 83,
+ 84,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 107,
+ 109,
+ 111,
+ 113,
+ 117,
+ 118,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Adriana[] =
+{
+ 15,
+ 22,
+ 50,
+ 71,
+ 72,
+ 76,
+ 77,
+ 81,
+ 82,
+ 83,
+ 84,
+ 87,
+ 96,
+ 97,
+ 98,
+ 99,
+ 103,
+ 107,
+ 109,
+ 111,
+ 113,
+ 117,
+ 118,
+ 131,
+ 134,
+ 138,
+ 139,
+ 142,
+ 144,
+ 145,
+ 151,
+ 155,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Malik[] =
+{
+ 10,
+ 15,
+ 22,
+ 49,
+ 50,
+ 64,
+ 66,
+ 71,
+ 72,
+ 77,
+ 78,
+ 81,
+ 82,
+ 91,
+ 93,
+ 107,
+ 108,
+ 113,
+ 115,
+ 117,
+ 122,
+ 135,
+ 137,
+ 142,
+ 143,
+ 144,
+ 145,
+ 148,
+ 152,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jill[] =
+{
+ 10,
+ 15,
+ 22,
+ 49,
+ 50,
+ 64,
+ 66,
+ 71,
+ 72,
+ 77,
+ 78,
+ 81,
+ 82,
+ 91,
+ 93,
+ 107,
+ 108,
+ 113,
+ 115,
+ 117,
+ 122,
+ 135,
+ 137,
+ 142,
+ 143,
+ 144,
+ 145,
+ 148,
+ 152,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Erik[] =
+{
+ 162,
+ 164,
+ 168,
+ 178,
+ 183,
+ 184,
+ 189,
+ 197,
+ 199,
+ 200,
+ 203,
+ 204,
+ 207,
+ 210,
+ 213,
+ 214,
+ 218,
+ 220,
+ 221,
+ 224,
+ 227,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 238,
+ 240,
+ 243,
+ 245,
+ 246,
+ 250,
+ 263,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Yazmin[] =
+{
+ 162,
+ 164,
+ 168,
+ 178,
+ 183,
+ 184,
+ 189,
+ 197,
+ 199,
+ 200,
+ 203,
+ 204,
+ 207,
+ 210,
+ 213,
+ 214,
+ 218,
+ 220,
+ 221,
+ 224,
+ 227,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 238,
+ 240,
+ 243,
+ 245,
+ 246,
+ 250,
+ 263,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jamal[] =
+{
+ 170,
+ 176,
+ 178,
+ 182,
+ 189,
+ 190,
+ 192,
+ 196,
+ 211,
+ 212,
+ 213,
+ 219,
+ 228,
+ 230,
+ 232,
+ 233,
+ 234,
+ 236,
+ 242,
+ 245,
+ 249,
+ 253,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 265,
+ 266,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Leslie[] =
+{
+ 170,
+ 176,
+ 178,
+ 182,
+ 189,
+ 190,
+ 192,
+ 196,
+ 211,
+ 212,
+ 213,
+ 219,
+ 228,
+ 230,
+ 232,
+ 233,
+ 234,
+ 236,
+ 242,
+ 245,
+ 249,
+ 253,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 265,
+ 266,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dave[] =
+{
+ 162,
+ 164,
+ 168,
+ 178,
+ 183,
+ 186,
+ 187,
+ 189,
+ 197,
+ 199,
+ 200,
+ 203,
+ 204,
+ 206,
+ 207,
+ 214,
+ 215,
+ 218,
+ 220,
+ 221,
+ 224,
+ 227,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 244,
+ 246,
+ 250,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Carlo[] =
+{
+ 162,
+ 164,
+ 168,
+ 178,
+ 183,
+ 186,
+ 187,
+ 189,
+ 197,
+ 199,
+ 200,
+ 203,
+ 204,
+ 206,
+ 207,
+ 214,
+ 215,
+ 218,
+ 220,
+ 221,
+ 224,
+ 227,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 244,
+ 246,
+ 250,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Emilia[] =
+{
+ 162,
+ 164,
+ 168,
+ 178,
+ 183,
+ 186,
+ 187,
+ 189,
+ 197,
+ 199,
+ 200,
+ 203,
+ 204,
+ 206,
+ 207,
+ 214,
+ 215,
+ 218,
+ 220,
+ 221,
+ 224,
+ 227,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 244,
+ 246,
+ 250,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dalia[] =
+{
+ 162,
+ 164,
+ 168,
+ 178,
+ 183,
+ 186,
+ 187,
+ 189,
+ 197,
+ 199,
+ 200,
+ 203,
+ 204,
+ 206,
+ 207,
+ 214,
+ 215,
+ 218,
+ 220,
+ 221,
+ 224,
+ 227,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 244,
+ 246,
+ 250,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Hitomi[] =
+{
+ 164,
+ 166,
+ 175,
+ 178,
+ 181,
+ 189,
+ 191,
+ 193,
+ 194,
+ 195,
+ 197,
+ 199,
+ 200,
+ 202,
+ 203,
+ 205,
+ 206,
+ 207,
+ 210,
+ 215,
+ 218,
+ 220,
+ 221,
+ 222,
+ 223,
+ 225,
+ 227,
+ 230,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 241,
+ 246,
+ 247,
+ 252,
+ 254,
+ 262,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ricardo[] =
+{
+ 164,
+ 166,
+ 175,
+ 178,
+ 181,
+ 189,
+ 191,
+ 193,
+ 194,
+ 195,
+ 197,
+ 199,
+ 200,
+ 202,
+ 203,
+ 205,
+ 206,
+ 207,
+ 210,
+ 215,
+ 218,
+ 220,
+ 221,
+ 222,
+ 223,
+ 225,
+ 227,
+ 230,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 241,
+ 246,
+ 247,
+ 252,
+ 254,
+ 262,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Shizuka[] =
+{
+ 164,
+ 166,
+ 175,
+ 178,
+ 181,
+ 189,
+ 191,
+ 193,
+ 194,
+ 195,
+ 197,
+ 199,
+ 200,
+ 202,
+ 203,
+ 205,
+ 206,
+ 207,
+ 210,
+ 215,
+ 218,
+ 220,
+ 221,
+ 222,
+ 223,
+ 225,
+ 227,
+ 230,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 241,
+ 246,
+ 247,
+ 252,
+ 254,
+ 262,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Joana[] =
+{
+ 164,
+ 166,
+ 175,
+ 178,
+ 181,
+ 189,
+ 191,
+ 193,
+ 194,
+ 195,
+ 197,
+ 199,
+ 200,
+ 202,
+ 203,
+ 205,
+ 206,
+ 207,
+ 210,
+ 215,
+ 218,
+ 220,
+ 221,
+ 222,
+ 223,
+ 225,
+ 227,
+ 230,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 241,
+ 246,
+ 247,
+ 252,
+ 254,
+ 262,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kelly[] =
+{
+ 164,
+ 166,
+ 175,
+ 178,
+ 181,
+ 189,
+ 191,
+ 193,
+ 194,
+ 195,
+ 197,
+ 199,
+ 200,
+ 202,
+ 203,
+ 205,
+ 206,
+ 207,
+ 210,
+ 215,
+ 218,
+ 220,
+ 221,
+ 222,
+ 223,
+ 225,
+ 227,
+ 230,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 241,
+ 246,
+ 247,
+ 252,
+ 254,
+ 262,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Rayna[] =
+{
+ 164,
+ 166,
+ 175,
+ 178,
+ 181,
+ 189,
+ 191,
+ 193,
+ 194,
+ 195,
+ 197,
+ 199,
+ 200,
+ 202,
+ 203,
+ 205,
+ 206,
+ 207,
+ 210,
+ 215,
+ 218,
+ 220,
+ 221,
+ 222,
+ 223,
+ 225,
+ 227,
+ 230,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ 240,
+ 241,
+ 246,
+ 247,
+ 252,
+ 254,
+ 262,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Evan[] =
+{
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jordan[] =
+{
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Joel[] =
+{
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kristen[] =
+{
+ 162,
+ 163,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 174,
+ 175,
+ 176,
+ 177,
+ 178,
+ 179,
+ 180,
+ 181,
+ 182,
+ 183,
+ 184,
+ 185,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 191,
+ 192,
+ 193,
+ 194,
+ 195,
+ 196,
+ 197,
+ 198,
+ 199,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Selphy[] =
+{
+ 200,
+ 201,
+ 202,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 214,
+ 215,
+ 216,
+ 217,
+ 218,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 224,
+ 225,
+ 226,
+ 227,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 236,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Chloe[] =
+{
+ 237,
+ 238,
+ 239,
+ 240,
+ 241,
+ 242,
+ 243,
+ 244,
+ 245,
+ 246,
+ 247,
+ 248,
+ 249,
+ 250,
+ 251,
+ 252,
+ 253,
+ 254,
+ 255,
+ 256,
+ 257,
+ 258,
+ 259,
+ 260,
+ 261,
+ 262,
+ 263,
+ 264,
+ 265,
+ 266,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Norton[] =
+{
+ 267,
+ 268,
+ 273,
+ 274,
+ 276,
+ 284,
+ 289,
+ 290,
+ 291,
+ 292,
+ 307,
+ 308,
+ 311,
+ 312,
+ 314,
+ 317,
+ 325,
+ 327,
+ 328,
+ 329,
+ 331,
+ 332,
+ 340,
+ 342,
+ 347,
+ 349,
+ 351,
+ 352,
+ 354,
+ 356,
+ 359,
+ 363,
+ 370,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Lukas[] =
+{
+ 267,
+ 268,
+ 273,
+ 274,
+ 276,
+ 284,
+ 289,
+ 290,
+ 291,
+ 292,
+ 307,
+ 308,
+ 311,
+ 312,
+ 314,
+ 317,
+ 325,
+ 327,
+ 328,
+ 329,
+ 331,
+ 332,
+ 340,
+ 342,
+ 347,
+ 349,
+ 351,
+ 352,
+ 354,
+ 356,
+ 359,
+ 363,
+ 370,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Zach[] =
+{
+ 267,
+ 268,
+ 273,
+ 274,
+ 276,
+ 284,
+ 289,
+ 290,
+ 291,
+ 292,
+ 307,
+ 308,
+ 311,
+ 312,
+ 314,
+ 317,
+ 325,
+ 327,
+ 328,
+ 329,
+ 331,
+ 332,
+ 340,
+ 342,
+ 347,
+ 349,
+ 351,
+ 352,
+ 354,
+ 356,
+ 359,
+ 363,
+ 370,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kaitlyn[] =
+{
+ 267,
+ 268,
+ 273,
+ 274,
+ 276,
+ 284,
+ 289,
+ 290,
+ 291,
+ 292,
+ 307,
+ 308,
+ 311,
+ 312,
+ 314,
+ 317,
+ 325,
+ 327,
+ 328,
+ 329,
+ 331,
+ 332,
+ 340,
+ 342,
+ 347,
+ 349,
+ 351,
+ 352,
+ 354,
+ 356,
+ 359,
+ 363,
+ 370,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Breanna[] =
+{
+ 267,
+ 268,
+ 273,
+ 274,
+ 276,
+ 284,
+ 289,
+ 290,
+ 291,
+ 292,
+ 307,
+ 308,
+ 311,
+ 312,
+ 314,
+ 317,
+ 325,
+ 327,
+ 328,
+ 329,
+ 331,
+ 332,
+ 340,
+ 342,
+ 347,
+ 349,
+ 351,
+ 352,
+ 354,
+ 356,
+ 359,
+ 363,
+ 370,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kendra[] =
+{
+ 267,
+ 268,
+ 273,
+ 274,
+ 276,
+ 284,
+ 289,
+ 290,
+ 291,
+ 292,
+ 307,
+ 308,
+ 311,
+ 312,
+ 314,
+ 317,
+ 325,
+ 327,
+ 328,
+ 329,
+ 331,
+ 332,
+ 340,
+ 342,
+ 347,
+ 349,
+ 351,
+ 352,
+ 354,
+ 356,
+ 359,
+ 363,
+ 370,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Molly[] =
+{
+ 268,
+ 270,
+ 272,
+ 274,
+ 282,
+ 284,
+ 289,
+ 290,
+ 303,
+ 307,
+ 311,
+ 314,
+ 317,
+ 322,
+ 327,
+ 328,
+ 331,
+ 336,
+ 340,
+ 342,
+ 344,
+ 347,
+ 352,
+ 353,
+ 354,
+ 356,
+ 359,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jazmin[] =
+{
+ 268,
+ 270,
+ 272,
+ 274,
+ 282,
+ 284,
+ 289,
+ 290,
+ 303,
+ 307,
+ 311,
+ 314,
+ 317,
+ 322,
+ 327,
+ 328,
+ 331,
+ 336,
+ 340,
+ 342,
+ 344,
+ 347,
+ 352,
+ 353,
+ 354,
+ 356,
+ 359,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kelsey[] =
+{
+ 268,
+ 270,
+ 272,
+ 274,
+ 282,
+ 284,
+ 289,
+ 290,
+ 303,
+ 307,
+ 311,
+ 314,
+ 317,
+ 322,
+ 327,
+ 328,
+ 331,
+ 336,
+ 340,
+ 342,
+ 344,
+ 347,
+ 352,
+ 353,
+ 354,
+ 356,
+ 359,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jalen[] =
+{
+ 269,
+ 271,
+ 275,
+ 279,
+ 280,
+ 281,
+ 283,
+ 285,
+ 286,
+ 287,
+ 293,
+ 294,
+ 295,
+ 300,
+ 302,
+ 307,
+ 310,
+ 311,
+ 320,
+ 322,
+ 326,
+ 330,
+ 332,
+ 335,
+ 344,
+ 345,
+ 346,
+ 348,
+ 350,
+ 353,
+ 357,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Griffen[] =
+{
+ 269,
+ 271,
+ 275,
+ 279,
+ 280,
+ 281,
+ 283,
+ 285,
+ 286,
+ 287,
+ 293,
+ 294,
+ 295,
+ 300,
+ 302,
+ 307,
+ 310,
+ 311,
+ 320,
+ 322,
+ 326,
+ 330,
+ 332,
+ 335,
+ 344,
+ 345,
+ 346,
+ 348,
+ 350,
+ 353,
+ 357,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Xander[] =
+{
+ 269,
+ 271,
+ 275,
+ 279,
+ 280,
+ 281,
+ 283,
+ 285,
+ 286,
+ 287,
+ 293,
+ 294,
+ 295,
+ 300,
+ 302,
+ 307,
+ 310,
+ 311,
+ 320,
+ 322,
+ 326,
+ 330,
+ 332,
+ 335,
+ 344,
+ 345,
+ 346,
+ 348,
+ 350,
+ 353,
+ 357,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Marvin[] =
+{
+ 267,
+ 268,
+ 269,
+ 270,
+ 271,
+ 272,
+ 273,
+ 274,
+ 275,
+ 276,
+ 277,
+ 278,
+ 279,
+ 280,
+ 281,
+ 282,
+ 283,
+ 284,
+ 285,
+ 286,
+ 287,
+ 288,
+ 289,
+ 290,
+ 291,
+ 292,
+ 293,
+ 294,
+ 295,
+ 296,
+ 297,
+ 298,
+ 299,
+ 300,
+ 301,
+ 302,
+ 303,
+ 304,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Brennan[] =
+{
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 310,
+ 311,
+ 312,
+ 313,
+ 314,
+ 315,
+ 316,
+ 317,
+ 318,
+ 319,
+ 320,
+ 321,
+ 322,
+ 323,
+ 324,
+ 325,
+ 326,
+ 327,
+ 328,
+ 329,
+ 330,
+ 331,
+ 332,
+ 333,
+ 334,
+ 335,
+ 336,
+ 337,
+ 338,
+ 339,
+ 340,
+ 341,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Baley[] =
+{
+ 159,
+ 160,
+ 161,
+ 172,
+ 173,
+ 177,
+ 198,
+ 226,
+ 238,
+ 263,
+ 264,
+ 277,
+ 278,
+ 282,
+ 303,
+ 331,
+ 343,
+ 368,
+ 369,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Zackary[] =
+{
+ 271,
+ 283,
+ 294,
+ 295,
+ 298,
+ 299,
+ 300,
+ 311,
+ 315,
+ 320,
+ 327,
+ 328,
+ 330,
+ 335,
+ 337,
+ 338,
+ 339,
+ 341,
+ 346,
+ 364,
+ 365,
+ 366,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gabriel[] =
+{
+ 342,
+ 343,
+ 344,
+ 345,
+ 346,
+ 347,
+ 348,
+ 349,
+ 350,
+ 351,
+ 352,
+ 353,
+ 354,
+ 355,
+ 356,
+ 357,
+ 358,
+ 359,
+ 360,
+ 361,
+ 362,
+ 363,
+ 364,
+ 365,
+ 366,
+ 367,
+ 368,
+ 369,
+ 370,
+ 371,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Emily[] =
+{
+ 272,
+ 301,
+ 309,
+ 330,
+ 348,
+ 349,
+ 350,
+ 359,
+ 360,
+ 362,
+ 363,
+ 365,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jordyn[] =
+{
+ 267,
+ 269,
+ 270,
+ 272,
+ 273,
+ 276,
+ 279,
+ 284,
+ 288,
+ 302,
+ 304,
+ 305,
+ 308,
+ 309,
+ 312,
+ 316,
+ 319,
+ 322,
+ 323,
+ 325,
+ 326,
+ 329,
+ 331,
+ 332,
+ 336,
+ 340,
+ 344,
+ 345,
+ 351,
+ 353,
+ 355,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Sofia[] =
+{
+ 270,
+ 272,
+ 274,
+ 276,
+ 279,
+ 282,
+ 285,
+ 290,
+ 293,
+ 313,
+ 314,
+ 321,
+ 334,
+ 340,
+ 348,
+ 356,
+ 359,
+ 360,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Braden[] =
+{
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kayden[] =
+{
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Cooper[] =
+{
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Julia[] =
+{
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Amara[] =
+{
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Lynn[] =
+{
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jovan[] =
+{
+ 238,
+ 331,
+ 343,
+ 368,
+ 369,
+ 375,
+ 376,
+ 379,
+ 382,
+ 383,
+ 389,
+ 394,
+ 395,
+ 397,
+ 398,
+ 400,
+ 406,
+ 408,
+ 411,
+ 416,
+ 417,
+ 423,
+ 424,
+ 425,
+ 432,
+ 436,
+ 438,
+ 441,
+ 445,
+ 453,
+ 460,
+ 462,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dominic[] =
+{
+ 238,
+ 331,
+ 343,
+ 368,
+ 369,
+ 375,
+ 376,
+ 379,
+ 382,
+ 383,
+ 389,
+ 394,
+ 395,
+ 397,
+ 398,
+ 400,
+ 406,
+ 408,
+ 411,
+ 416,
+ 417,
+ 423,
+ 424,
+ 425,
+ 432,
+ 436,
+ 438,
+ 441,
+ 445,
+ 453,
+ 460,
+ 462,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Nikolas[] =
+{
+ 238,
+ 331,
+ 343,
+ 368,
+ 369,
+ 375,
+ 376,
+ 379,
+ 382,
+ 383,
+ 389,
+ 394,
+ 395,
+ 397,
+ 398,
+ 400,
+ 406,
+ 408,
+ 411,
+ 416,
+ 417,
+ 423,
+ 424,
+ 425,
+ 432,
+ 436,
+ 438,
+ 441,
+ 445,
+ 453,
+ 460,
+ 462,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Valeria[] =
+{
+ 238,
+ 331,
+ 343,
+ 368,
+ 369,
+ 375,
+ 376,
+ 379,
+ 382,
+ 383,
+ 389,
+ 394,
+ 395,
+ 397,
+ 398,
+ 400,
+ 406,
+ 408,
+ 411,
+ 416,
+ 417,
+ 423,
+ 424,
+ 425,
+ 432,
+ 436,
+ 438,
+ 441,
+ 445,
+ 453,
+ 460,
+ 462,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Delaney[] =
+{
+ 238,
+ 331,
+ 343,
+ 368,
+ 369,
+ 375,
+ 376,
+ 379,
+ 382,
+ 383,
+ 389,
+ 394,
+ 395,
+ 397,
+ 398,
+ 400,
+ 406,
+ 408,
+ 411,
+ 416,
+ 417,
+ 423,
+ 424,
+ 425,
+ 432,
+ 436,
+ 438,
+ 441,
+ 445,
+ 453,
+ 460,
+ 462,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Meghan[] =
+{
+ 238,
+ 331,
+ 343,
+ 368,
+ 369,
+ 375,
+ 376,
+ 379,
+ 382,
+ 383,
+ 389,
+ 394,
+ 395,
+ 397,
+ 398,
+ 400,
+ 406,
+ 408,
+ 411,
+ 416,
+ 417,
+ 423,
+ 424,
+ 425,
+ 432,
+ 436,
+ 438,
+ 441,
+ 445,
+ 453,
+ 460,
+ 462,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Roberto[] =
+{
+ 386,
+ 403,
+ 412,
+ 413,
+ 414,
+ 433,
+ 435,
+ 440,
+ 450,
+ 453,
+ 454,
+ 456,
+ 459,
+ 461,
+ 463,
+ 464,
+ 465,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Damian[] =
+{
+ 386,
+ 403,
+ 412,
+ 413,
+ 414,
+ 433,
+ 435,
+ 440,
+ 450,
+ 453,
+ 454,
+ 456,
+ 459,
+ 461,
+ 463,
+ 464,
+ 465,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Brody[] =
+{
+ 386,
+ 403,
+ 412,
+ 413,
+ 414,
+ 433,
+ 435,
+ 440,
+ 450,
+ 453,
+ 454,
+ 456,
+ 459,
+ 461,
+ 463,
+ 464,
+ 465,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Graham[] =
+{
+ 386,
+ 403,
+ 412,
+ 413,
+ 414,
+ 433,
+ 435,
+ 440,
+ 450,
+ 453,
+ 454,
+ 456,
+ 459,
+ 461,
+ 463,
+ 464,
+ 465,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Tylor[] =
+{
+ 374,
+ 381,
+ 382,
+ 385,
+ 388,
+ 389,
+ 391,
+ 392,
+ 394,
+ 409,
+ 411,
+ 412,
+ 419,
+ 430,
+ 432,
+ 436,
+ 440,
+ 456,
+ 460,
+ 462,
+ 463,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jaren[] =
+{
+ 374,
+ 381,
+ 382,
+ 385,
+ 388,
+ 389,
+ 391,
+ 392,
+ 394,
+ 409,
+ 411,
+ 412,
+ 419,
+ 430,
+ 432,
+ 436,
+ 440,
+ 456,
+ 460,
+ 462,
+ 463,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Cordell[] =
+{
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jazlyn[] =
+{
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Zachery[] =
+{
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Johan[] =
+{
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Shea[] =
+{
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kaila[] =
+{
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Isiah[] =
+{
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Garrett[] =
+{
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Haylie[] =
+{
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Megan[] =
+{
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Issac[] =
+{
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Quinton[] =
+{
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Salma[] =
+{
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ansley[] =
+{
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Holden[] =
+{
+ 343,
+ 368,
+ 369,
+ 383,
+ 417,
+ 423,
+ 424,
+ 432,
+ 480,
+ 481,
+ 490,
+ 491,
+ 494,
+ 496,
+ 512,
+ 513,
+ 519,
+ 520,
+ 528,
+ 534,
+ 537,
+ 541,
+ 549,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Luca[] =
+{
+ 343,
+ 368,
+ 369,
+ 383,
+ 417,
+ 423,
+ 424,
+ 432,
+ 480,
+ 481,
+ 490,
+ 491,
+ 494,
+ 496,
+ 512,
+ 513,
+ 519,
+ 520,
+ 528,
+ 534,
+ 537,
+ 541,
+ 549,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jamison[] =
+{
+ 282,
+ 331,
+ 343,
+ 368,
+ 369,
+ 469,
+ 472,
+ 475,
+ 476,
+ 478,
+ 481,
+ 484,
+ 490,
+ 491,
+ 497,
+ 500,
+ 501,
+ 509,
+ 510,
+ 513,
+ 516,
+ 517,
+ 519,
+ 520,
+ 524,
+ 528,
+ 530,
+ 533,
+ 534,
+ 537,
+ 542,
+ 553,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gunnar[] =
+{
+ 282,
+ 331,
+ 343,
+ 368,
+ 369,
+ 469,
+ 472,
+ 475,
+ 476,
+ 478,
+ 481,
+ 484,
+ 490,
+ 491,
+ 497,
+ 500,
+ 501,
+ 509,
+ 510,
+ 513,
+ 516,
+ 517,
+ 519,
+ 520,
+ 524,
+ 528,
+ 530,
+ 533,
+ 534,
+ 537,
+ 542,
+ 553,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Craig[] =
+{
+ 471,
+ 474,
+ 475,
+ 479,
+ 483,
+ 485,
+ 488,
+ 493,
+ 495,
+ 496,
+ 502,
+ 504,
+ 505,
+ 506,
+ 507,
+ 514,
+ 521,
+ 525,
+ 530,
+ 532,
+ 535,
+ 538,
+ 544,
+ 545,
+ 548,
+ 552,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Pierce[] =
+{
+ 471,
+ 474,
+ 475,
+ 479,
+ 483,
+ 485,
+ 488,
+ 493,
+ 495,
+ 496,
+ 502,
+ 504,
+ 505,
+ 506,
+ 507,
+ 514,
+ 521,
+ 525,
+ 530,
+ 532,
+ 535,
+ 538,
+ 544,
+ 545,
+ 548,
+ 552,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Regina[] =
+{
+ 471,
+ 474,
+ 475,
+ 479,
+ 483,
+ 485,
+ 488,
+ 493,
+ 495,
+ 496,
+ 502,
+ 504,
+ 505,
+ 506,
+ 507,
+ 514,
+ 521,
+ 525,
+ 530,
+ 532,
+ 535,
+ 538,
+ 544,
+ 545,
+ 548,
+ 552,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Alison[] =
+{
+ 471,
+ 474,
+ 475,
+ 479,
+ 483,
+ 485,
+ 488,
+ 493,
+ 495,
+ 496,
+ 502,
+ 504,
+ 505,
+ 506,
+ 507,
+ 514,
+ 521,
+ 525,
+ 530,
+ 532,
+ 535,
+ 538,
+ 544,
+ 545,
+ 548,
+ 552,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Hank[] =
+{
+ 277,
+ 278,
+ 282,
+ 303,
+ 331,
+ 343,
+ 368,
+ 369,
+ 383,
+ 417,
+ 423,
+ 424,
+ 432,
+ 481,
+ 513,
+ 519,
+ 520,
+ 528,
+ 575,
+ 609,
+ 615,
+ 616,
+ 624,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Earl[] =
+{
+ 277,
+ 278,
+ 282,
+ 303,
+ 331,
+ 343,
+ 368,
+ 369,
+ 383,
+ 417,
+ 423,
+ 424,
+ 432,
+ 481,
+ 513,
+ 519,
+ 520,
+ 528,
+ 575,
+ 609,
+ 615,
+ 616,
+ 624,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ramiro[] =
+{
+ 316,
+ 333,
+ 347,
+ 350,
+ 354,
+ 358,
+ 361,
+ 362,
+ 363,
+ 364,
+ 573,
+ 576,
+ 621,
+ 626,
+ 631,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Hunter[] =
+{
+ 316,
+ 333,
+ 347,
+ 350,
+ 354,
+ 358,
+ 361,
+ 362,
+ 363,
+ 364,
+ 573,
+ 576,
+ 621,
+ 626,
+ 631,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Aiden[] =
+{
+ 564,
+ 575,
+ 576,
+ 578,
+ 579,
+ 580,
+ 594,
+ 595,
+ 605,
+ 606,
+ 608,
+ 609,
+ 615,
+ 619,
+ 620,
+ 624,
+ 625,
+ 627,
+ 632,
+ 642,
+ 650,
+ 658,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Xavier[] =
+{
+ 564,
+ 575,
+ 576,
+ 578,
+ 579,
+ 580,
+ 594,
+ 595,
+ 605,
+ 606,
+ 608,
+ 609,
+ 615,
+ 619,
+ 620,
+ 624,
+ 625,
+ 627,
+ 632,
+ 642,
+ 650,
+ 658,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Clinton[] =
+{
+ 564,
+ 565,
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577,
+ 578,
+ 579,
+ 580,
+ 581,
+ 582,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 592,
+ 593,
+ 594,
+ 595,
+ 596,
+ 597,
+ 598,
+ 599,
+ 600,
+ 601,
+ 602,
+ 603,
+ 604,
+ 605,
+ 606,
+ 607,
+ 608,
+ 609,
+ 610,
+ 611,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jesse[] =
+{
+ 564,
+ 565,
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577,
+ 578,
+ 579,
+ 580,
+ 581,
+ 582,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 592,
+ 593,
+ 594,
+ 595,
+ 596,
+ 597,
+ 598,
+ 599,
+ 600,
+ 601,
+ 602,
+ 603,
+ 604,
+ 605,
+ 606,
+ 607,
+ 608,
+ 609,
+ 610,
+ 611,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Eduardo[] =
+{
+ 268,
+ 307,
+ 317,
+ 349,
+ 352,
+ 573,
+ 583,
+ 585,
+ 588,
+ 590,
+ 599,
+ 614,
+ 618,
+ 635,
+ 639,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Hal[] =
+{
+ 268,
+ 307,
+ 317,
+ 349,
+ 352,
+ 573,
+ 583,
+ 585,
+ 588,
+ 590,
+ 599,
+ 614,
+ 618,
+ 635,
+ 639,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gage[] =
+{
+ 289,
+ 318,
+ 319,
+ 329,
+ 355,
+ 375,
+ 379,
+ 385,
+ 386,
+ 457,
+ 473,
+ 477,
+ 482,
+ 484,
+ 553,
+ 567,
+ 571,
+ 577,
+ 578,
+ 649,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Arnold[] =
+{
+ 289,
+ 318,
+ 319,
+ 329,
+ 355,
+ 375,
+ 379,
+ 385,
+ 386,
+ 457,
+ 473,
+ 477,
+ 482,
+ 484,
+ 553,
+ 567,
+ 571,
+ 577,
+ 578,
+ 649,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jarrett[] =
+{
+ 565,
+ 573,
+ 576,
+ 580,
+ 582,
+ 584,
+ 592,
+ 601,
+ 602,
+ 610,
+ 621,
+ 623,
+ 626,
+ 631,
+ 634,
+ 640,
+ 641,
+ 644,
+ 648,
+ 650,
+ 651,
+ 653,
+ 655,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Garett[] =
+{
+ 565,
+ 573,
+ 576,
+ 580,
+ 582,
+ 584,
+ 592,
+ 601,
+ 602,
+ 610,
+ 621,
+ 623,
+ 626,
+ 631,
+ 634,
+ 640,
+ 641,
+ 644,
+ 648,
+ 650,
+ 651,
+ 653,
+ 655,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Emanuel[] =
+{
+ 564,
+ 565,
+ 574,
+ 579,
+ 582,
+ 594,
+ 595,
+ 605,
+ 606,
+ 608,
+ 609,
+ 616,
+ 619,
+ 620,
+ 623,
+ 624,
+ 625,
+ 627,
+ 642,
+ 643,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gustavo[] =
+{
+ 564,
+ 565,
+ 574,
+ 579,
+ 582,
+ 594,
+ 595,
+ 605,
+ 606,
+ 608,
+ 609,
+ 616,
+ 619,
+ 620,
+ 623,
+ 624,
+ 625,
+ 627,
+ 642,
+ 643,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kameron[] =
+{
+ 568,
+ 581,
+ 589,
+ 598,
+ 600,
+ 603,
+ 607,
+ 611,
+ 617,
+ 618,
+ 622,
+ 636,
+ 643,
+ 646,
+ 647,
+ 652,
+ 654,
+ 656,
+ 659,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Alfredo[] =
+{
+ 568,
+ 581,
+ 589,
+ 598,
+ 600,
+ 603,
+ 607,
+ 611,
+ 617,
+ 618,
+ 622,
+ 636,
+ 643,
+ 646,
+ 647,
+ 652,
+ 654,
+ 656,
+ 659,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ruben[] =
+{
+ 612,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 625,
+ 626,
+ 627,
+ 628,
+ 629,
+ 630,
+ 631,
+ 632,
+ 633,
+ 634,
+ 635,
+ 636,
+ 637,
+ 638,
+ 639,
+ 640,
+ 641,
+ 642,
+ 643,
+ 644,
+ 645,
+ 646,
+ 647,
+ 648,
+ 649,
+ 650,
+ 651,
+ 652,
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Lamar[] =
+{
+ 612,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 625,
+ 626,
+ 627,
+ 628,
+ 629,
+ 630,
+ 631,
+ 632,
+ 633,
+ 634,
+ 635,
+ 636,
+ 637,
+ 638,
+ 639,
+ 640,
+ 641,
+ 642,
+ 643,
+ 644,
+ 645,
+ 646,
+ 647,
+ 648,
+ 649,
+ 650,
+ 651,
+ 652,
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jaxon[] =
+{
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Logan[] =
+{
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Emilee[] =
+{
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Josie[] =
+{
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Armando[] =
+{
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Skyler[] =
+{
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ruth[] =
+{
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Melody[] =
+{
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Pedro[] =
+{
+ 347,
+ 661,
+ 664,
+ 669,
+ 672,
+ 676,
+ 677,
+ 678,
+ 680,
+ 685,
+ 688,
+ 694,
+ 696,
+ 697,
+ 698,
+ 699,
+ 706,
+ 713,
+ 717,
+ 719,
+ 722,
+ 724,
+ 727,
+ 730,
+ 736,
+ 737,
+ 740,
+ 744,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Erick[] =
+{
+ 347,
+ 661,
+ 664,
+ 669,
+ 672,
+ 676,
+ 677,
+ 678,
+ 680,
+ 685,
+ 688,
+ 694,
+ 696,
+ 697,
+ 698,
+ 699,
+ 706,
+ 713,
+ 717,
+ 719,
+ 722,
+ 724,
+ 727,
+ 730,
+ 736,
+ 737,
+ 740,
+ 744,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Elaine[] =
+{
+ 664,
+ 665,
+ 669,
+ 672,
+ 676,
+ 677,
+ 680,
+ 685,
+ 687,
+ 688,
+ 694,
+ 696,
+ 697,
+ 698,
+ 699,
+ 706,
+ 713,
+ 717,
+ 722,
+ 724,
+ 727,
+ 730,
+ 736,
+ 737,
+ 740,
+ 744,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Joyce[] =
+{
+ 664,
+ 665,
+ 669,
+ 672,
+ 676,
+ 677,
+ 680,
+ 685,
+ 687,
+ 688,
+ 694,
+ 696,
+ 697,
+ 698,
+ 699,
+ 706,
+ 713,
+ 717,
+ 722,
+ 724,
+ 727,
+ 730,
+ 736,
+ 737,
+ 740,
+ 744,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Todd[] =
+{
+ 267,
+ 273,
+ 305,
+ 312,
+ 325,
+ 332,
+ 352,
+ 662,
+ 665,
+ 668,
+ 669,
+ 670,
+ 672,
+ 673,
+ 676,
+ 677,
+ 679,
+ 680,
+ 682,
+ 688,
+ 697,
+ 698,
+ 699,
+ 700,
+ 707,
+ 710,
+ 718,
+ 720,
+ 724,
+ 725,
+ 728,
+ 730,
+ 731,
+ 732,
+ 734,
+ 735,
+ 744,
+ 748,
+ 750,
+ 751,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gavin[] =
+{
+ 267,
+ 273,
+ 305,
+ 312,
+ 325,
+ 332,
+ 352,
+ 662,
+ 665,
+ 668,
+ 669,
+ 670,
+ 672,
+ 673,
+ 676,
+ 677,
+ 679,
+ 680,
+ 682,
+ 688,
+ 697,
+ 698,
+ 699,
+ 700,
+ 707,
+ 710,
+ 718,
+ 720,
+ 724,
+ 725,
+ 728,
+ 730,
+ 731,
+ 732,
+ 734,
+ 735,
+ 744,
+ 748,
+ 750,
+ 751,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Malory[] =
+{
+ 267,
+ 273,
+ 305,
+ 312,
+ 325,
+ 332,
+ 352,
+ 662,
+ 665,
+ 668,
+ 669,
+ 670,
+ 672,
+ 673,
+ 676,
+ 677,
+ 679,
+ 680,
+ 682,
+ 688,
+ 697,
+ 698,
+ 699,
+ 700,
+ 707,
+ 710,
+ 718,
+ 720,
+ 724,
+ 725,
+ 728,
+ 730,
+ 731,
+ 732,
+ 734,
+ 735,
+ 744,
+ 748,
+ 750,
+ 751,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Esther[] =
+{
+ 267,
+ 273,
+ 305,
+ 312,
+ 325,
+ 332,
+ 352,
+ 662,
+ 665,
+ 668,
+ 669,
+ 670,
+ 672,
+ 673,
+ 676,
+ 677,
+ 679,
+ 680,
+ 682,
+ 688,
+ 697,
+ 698,
+ 699,
+ 700,
+ 707,
+ 710,
+ 718,
+ 720,
+ 724,
+ 725,
+ 728,
+ 730,
+ 731,
+ 732,
+ 734,
+ 735,
+ 744,
+ 748,
+ 750,
+ 751,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Oscar[] =
+{
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Wilson[] =
+{
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Clare[] =
+{
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Tess[] =
+{
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Leon[] =
+{
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 612,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 625,
+ 626,
+ 627,
+ 628,
+ 629,
+ 630,
+ 631,
+ 632,
+ 633,
+ 634,
+ 635,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Alonzo[] =
+{
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ 636,
+ 637,
+ 638,
+ 639,
+ 640,
+ 641,
+ 642,
+ 643,
+ 644,
+ 645,
+ 646,
+ 647,
+ 648,
+ 649,
+ 650,
+ 651,
+ 652,
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Vince[] =
+{
+ 421,
+ 425,
+ 431,
+ 437,
+ 439,
+ 456,
+ 460,
+ 465,
+ 466,
+ 517,
+ 521,
+ 527,
+ 533,
+ 535,
+ 552,
+ 556,
+ 561,
+ 562,
+ 613,
+ 617,
+ 623,
+ 629,
+ 631,
+ 648,
+ 652,
+ 657,
+ 658,
+ 709,
+ 713,
+ 719,
+ 725,
+ 727,
+ 744,
+ 748,
+ 753,
+ 754,
+ 766,
+ 777,
+ 788,
+ 799,
+ 800,
+ 801,
+ 802,
+ 803,
+ 804,
+ 805,
+ 806,
+ 807,
+ 808,
+ 809,
+ 810,
+ 811,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 820,
+ 821,
+ 822,
+ 823,
+ 824,
+ 825,
+ 826,
+ 827,
+ 828,
+ 829,
+ 830,
+ 831,
+ 832,
+ 833,
+ 834,
+ 835,
+ 846,
+ 847,
+ 848,
+ 849,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Bryon[] =
+{
+ 756,
+ 757,
+ 758,
+ 759,
+ 760,
+ 761,
+ 762,
+ 763,
+ 764,
+ 766,
+ 767,
+ 768,
+ 769,
+ 770,
+ 771,
+ 772,
+ 773,
+ 774,
+ 775,
+ 777,
+ 778,
+ 779,
+ 780,
+ 781,
+ 782,
+ 783,
+ 784,
+ 785,
+ 786,
+ 788,
+ 789,
+ 790,
+ 791,
+ 792,
+ 793,
+ 794,
+ 795,
+ 796,
+ 797,
+ 799,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 846,
+ 847,
+ 848,
+ 849,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ 870,
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ 876,
+ 877,
+ 878,
+ 879,
+ 880,
+ 881,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ava[] =
+{
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 564,
+ 565,
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577,
+ 578,
+ 579,
+ 580,
+ 581,
+ 582,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Miriam[] =
+{
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 588,
+ 589,
+ 590,
+ 591,
+ 592,
+ 593,
+ 594,
+ 595,
+ 596,
+ 597,
+ 598,
+ 599,
+ 600,
+ 601,
+ 602,
+ 603,
+ 604,
+ 605,
+ 606,
+ 607,
+ 608,
+ 609,
+ 610,
+ 611,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Carrie[] =
+{
+ 421,
+ 425,
+ 431,
+ 437,
+ 439,
+ 456,
+ 460,
+ 465,
+ 466,
+ 517,
+ 521,
+ 527,
+ 533,
+ 535,
+ 552,
+ 556,
+ 561,
+ 562,
+ 613,
+ 617,
+ 623,
+ 629,
+ 631,
+ 648,
+ 652,
+ 657,
+ 658,
+ 709,
+ 713,
+ 719,
+ 725,
+ 727,
+ 744,
+ 748,
+ 753,
+ 754,
+ 765,
+ 776,
+ 787,
+ 798,
+ 800,
+ 801,
+ 802,
+ 803,
+ 804,
+ 805,
+ 806,
+ 807,
+ 808,
+ 809,
+ 810,
+ 811,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 820,
+ 821,
+ 822,
+ 823,
+ 824,
+ 825,
+ 826,
+ 827,
+ 828,
+ 829,
+ 830,
+ 831,
+ 832,
+ 833,
+ 834,
+ 835,
+ 842,
+ 843,
+ 844,
+ 845,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gillian2[] =
+{
+ 756,
+ 757,
+ 758,
+ 759,
+ 760,
+ 761,
+ 762,
+ 763,
+ 764,
+ 765,
+ 767,
+ 768,
+ 769,
+ 770,
+ 771,
+ 772,
+ 773,
+ 774,
+ 775,
+ 776,
+ 778,
+ 779,
+ 780,
+ 781,
+ 782,
+ 783,
+ 784,
+ 785,
+ 786,
+ 787,
+ 789,
+ 790,
+ 791,
+ 792,
+ 793,
+ 794,
+ 795,
+ 796,
+ 797,
+ 798,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 842,
+ 843,
+ 844,
+ 845,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ 870,
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ 876,
+ 877,
+ 878,
+ 879,
+ 880,
+ 881,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Tyler[] =
+{
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Chaz[] =
+{
+ 564,
+ 565,
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577,
+ 578,
+ 579,
+ 580,
+ 581,
+ 582,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 592,
+ 593,
+ 594,
+ 595,
+ 596,
+ 597,
+ 598,
+ 599,
+ 600,
+ 601,
+ 602,
+ 603,
+ 604,
+ 605,
+ 606,
+ 607,
+ 608,
+ 609,
+ 610,
+ 611,
+ 612,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 625,
+ 626,
+ 627,
+ 628,
+ 629,
+ 630,
+ 631,
+ 632,
+ 633,
+ 634,
+ 635,
+ 636,
+ 637,
+ 638,
+ 639,
+ 640,
+ 641,
+ 642,
+ 643,
+ 644,
+ 645,
+ 646,
+ 647,
+ 648,
+ 649,
+ 650,
+ 651,
+ 652,
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Nelson[] =
+{
+ 756,
+ 757,
+ 758,
+ 759,
+ 760,
+ 761,
+ 762,
+ 763,
+ 764,
+ 766,
+ 767,
+ 768,
+ 769,
+ 770,
+ 771,
+ 772,
+ 773,
+ 774,
+ 775,
+ 777,
+ 778,
+ 779,
+ 780,
+ 781,
+ 782,
+ 783,
+ 784,
+ 785,
+ 786,
+ 788,
+ 789,
+ 790,
+ 791,
+ 792,
+ 793,
+ 794,
+ 795,
+ 796,
+ 797,
+ 799,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 846,
+ 847,
+ 848,
+ 849,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ 870,
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ 876,
+ 877,
+ 878,
+ 879,
+ 880,
+ 881,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Shania[] =
+{
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Stella[] =
+{
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dorine[] =
+{
+ 756,
+ 757,
+ 758,
+ 759,
+ 760,
+ 761,
+ 762,
+ 763,
+ 764,
+ 765,
+ 767,
+ 768,
+ 769,
+ 770,
+ 771,
+ 772,
+ 773,
+ 774,
+ 775,
+ 776,
+ 778,
+ 779,
+ 780,
+ 781,
+ 782,
+ 783,
+ 784,
+ 785,
+ 786,
+ 787,
+ 789,
+ 790,
+ 791,
+ 792,
+ 793,
+ 794,
+ 795,
+ 796,
+ 797,
+ 798,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 842,
+ 843,
+ 844,
+ 845,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ 870,
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ 876,
+ 877,
+ 878,
+ 879,
+ 880,
+ 881,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Maddox[] =
+{
+ 403,
+ 412,
+ 413,
+ 414,
+ 433,
+ 435,
+ 440,
+ 450,
+ 454,
+ 456,
+ 459,
+ 461,
+ 463,
+ 465,
+ 499,
+ 508,
+ 509,
+ 510,
+ 529,
+ 531,
+ 536,
+ 546,
+ 550,
+ 552,
+ 555,
+ 557,
+ 559,
+ 561,
+ 595,
+ 604,
+ 605,
+ 606,
+ 625,
+ 627,
+ 632,
+ 642,
+ 646,
+ 648,
+ 651,
+ 653,
+ 655,
+ 657,
+ 691,
+ 700,
+ 701,
+ 702,
+ 721,
+ 723,
+ 728,
+ 738,
+ 742,
+ 744,
+ 747,
+ 749,
+ 751,
+ 753,
+ 765,
+ 766,
+ 776,
+ 777,
+ 787,
+ 788,
+ 798,
+ 799,
+ 828,
+ 829,
+ 830,
+ 831,
+ 842,
+ 843,
+ 844,
+ 845,
+ 846,
+ 847,
+ 848,
+ 849,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Davin[] =
+{
+ 403,
+ 412,
+ 413,
+ 414,
+ 433,
+ 435,
+ 440,
+ 450,
+ 454,
+ 456,
+ 459,
+ 461,
+ 463,
+ 465,
+ 499,
+ 508,
+ 509,
+ 510,
+ 529,
+ 531,
+ 536,
+ 546,
+ 550,
+ 552,
+ 555,
+ 557,
+ 559,
+ 561,
+ 595,
+ 604,
+ 605,
+ 606,
+ 625,
+ 627,
+ 632,
+ 642,
+ 646,
+ 648,
+ 651,
+ 653,
+ 655,
+ 657,
+ 691,
+ 700,
+ 701,
+ 702,
+ 721,
+ 723,
+ 728,
+ 738,
+ 742,
+ 744,
+ 747,
+ 749,
+ 751,
+ 753,
+ 765,
+ 766,
+ 776,
+ 777,
+ 787,
+ 788,
+ 798,
+ 799,
+ 828,
+ 829,
+ 830,
+ 831,
+ 842,
+ 843,
+ 844,
+ 845,
+ 846,
+ 847,
+ 848,
+ 849,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Trevon[] =
+{
+ 403,
+ 412,
+ 413,
+ 414,
+ 433,
+ 435,
+ 440,
+ 450,
+ 454,
+ 456,
+ 459,
+ 461,
+ 463,
+ 465,
+ 499,
+ 508,
+ 509,
+ 510,
+ 529,
+ 531,
+ 536,
+ 546,
+ 550,
+ 552,
+ 555,
+ 557,
+ 559,
+ 561,
+ 595,
+ 604,
+ 605,
+ 606,
+ 625,
+ 627,
+ 632,
+ 642,
+ 646,
+ 648,
+ 651,
+ 653,
+ 655,
+ 657,
+ 691,
+ 700,
+ 701,
+ 702,
+ 721,
+ 723,
+ 728,
+ 738,
+ 742,
+ 744,
+ 747,
+ 749,
+ 751,
+ 753,
+ 765,
+ 766,
+ 776,
+ 777,
+ 787,
+ 788,
+ 798,
+ 799,
+ 828,
+ 829,
+ 830,
+ 831,
+ 842,
+ 843,
+ 844,
+ 845,
+ 846,
+ 847,
+ 848,
+ 849,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Mateo[] =
+{
+ 373,
+ 382,
+ 390,
+ 402,
+ 403,
+ 416,
+ 417,
+ 424,
+ 431,
+ 432,
+ 435,
+ 450,
+ 451,
+ 469,
+ 480,
+ 486,
+ 498,
+ 499,
+ 512,
+ 513,
+ 520,
+ 527,
+ 528,
+ 531,
+ 546,
+ 547,
+ 565,
+ 574,
+ 582,
+ 594,
+ 595,
+ 608,
+ 609,
+ 616,
+ 623,
+ 624,
+ 627,
+ 642,
+ 643,
+ 661,
+ 670,
+ 678,
+ 690,
+ 691,
+ 704,
+ 705,
+ 712,
+ 719,
+ 720,
+ 723,
+ 738,
+ 739,
+ 808,
+ 809,
+ 810,
+ 811,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Bret[] =
+{
+ 373,
+ 382,
+ 390,
+ 415,
+ 419,
+ 424,
+ 426,
+ 430,
+ 431,
+ 444,
+ 451,
+ 454,
+ 455,
+ 464,
+ 469,
+ 480,
+ 486,
+ 511,
+ 515,
+ 520,
+ 522,
+ 526,
+ 527,
+ 540,
+ 547,
+ 550,
+ 551,
+ 560,
+ 565,
+ 574,
+ 582,
+ 607,
+ 611,
+ 616,
+ 618,
+ 622,
+ 623,
+ 636,
+ 643,
+ 646,
+ 647,
+ 656,
+ 661,
+ 670,
+ 678,
+ 703,
+ 707,
+ 712,
+ 714,
+ 718,
+ 719,
+ 732,
+ 739,
+ 742,
+ 743,
+ 752,
+ 808,
+ 809,
+ 810,
+ 811,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Raul[] =
+{
+ 373,
+ 382,
+ 383,
+ 386,
+ 390,
+ 423,
+ 424,
+ 431,
+ 433,
+ 450,
+ 451,
+ 466,
+ 469,
+ 480,
+ 481,
+ 482,
+ 486,
+ 519,
+ 520,
+ 527,
+ 529,
+ 546,
+ 547,
+ 562,
+ 565,
+ 574,
+ 575,
+ 578,
+ 582,
+ 615,
+ 616,
+ 623,
+ 625,
+ 642,
+ 643,
+ 658,
+ 661,
+ 670,
+ 671,
+ 674,
+ 678,
+ 711,
+ 712,
+ 719,
+ 721,
+ 738,
+ 739,
+ 754,
+ 808,
+ 809,
+ 810,
+ 811,
+ 832,
+ 833,
+ 834,
+ 835,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Kay[] =
+{
+ 373,
+ 382,
+ 387,
+ 390,
+ 402,
+ 403,
+ 413,
+ 414,
+ 424,
+ 427,
+ 431,
+ 433,
+ 451,
+ 469,
+ 470,
+ 480,
+ 486,
+ 498,
+ 499,
+ 509,
+ 510,
+ 520,
+ 523,
+ 527,
+ 529,
+ 547,
+ 565,
+ 574,
+ 579,
+ 582,
+ 594,
+ 595,
+ 605,
+ 606,
+ 616,
+ 619,
+ 623,
+ 625,
+ 643,
+ 661,
+ 670,
+ 675,
+ 678,
+ 690,
+ 691,
+ 701,
+ 702,
+ 712,
+ 715,
+ 719,
+ 721,
+ 739,
+ 808,
+ 809,
+ 810,
+ 811,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Elena[] =
+{
+ 373,
+ 382,
+ 390,
+ 415,
+ 419,
+ 424,
+ 426,
+ 430,
+ 431,
+ 444,
+ 451,
+ 454,
+ 455,
+ 464,
+ 469,
+ 480,
+ 486,
+ 511,
+ 515,
+ 520,
+ 522,
+ 526,
+ 527,
+ 540,
+ 547,
+ 550,
+ 551,
+ 560,
+ 565,
+ 574,
+ 582,
+ 607,
+ 611,
+ 616,
+ 618,
+ 622,
+ 623,
+ 636,
+ 643,
+ 646,
+ 647,
+ 656,
+ 661,
+ 670,
+ 678,
+ 703,
+ 707,
+ 712,
+ 714,
+ 718,
+ 719,
+ 732,
+ 739,
+ 742,
+ 743,
+ 752,
+ 808,
+ 809,
+ 810,
+ 811,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Alana[] =
+{
+ 373,
+ 382,
+ 383,
+ 386,
+ 390,
+ 423,
+ 424,
+ 431,
+ 433,
+ 450,
+ 451,
+ 466,
+ 469,
+ 480,
+ 481,
+ 482,
+ 486,
+ 519,
+ 520,
+ 527,
+ 529,
+ 546,
+ 547,
+ 562,
+ 565,
+ 574,
+ 575,
+ 578,
+ 582,
+ 615,
+ 616,
+ 623,
+ 625,
+ 642,
+ 643,
+ 658,
+ 661,
+ 670,
+ 671,
+ 674,
+ 678,
+ 711,
+ 712,
+ 719,
+ 721,
+ 738,
+ 739,
+ 754,
+ 808,
+ 809,
+ 810,
+ 811,
+ 832,
+ 833,
+ 834,
+ 835,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Alexas[] =
+{
+ 382,
+ 387,
+ 403,
+ 423,
+ 424,
+ 425,
+ 431,
+ 433,
+ 435,
+ 450,
+ 459,
+ 461,
+ 465,
+ 466,
+ 470,
+ 480,
+ 499,
+ 519,
+ 520,
+ 521,
+ 527,
+ 529,
+ 531,
+ 546,
+ 555,
+ 557,
+ 561,
+ 562,
+ 574,
+ 579,
+ 595,
+ 615,
+ 616,
+ 617,
+ 623,
+ 625,
+ 627,
+ 642,
+ 651,
+ 653,
+ 657,
+ 658,
+ 670,
+ 675,
+ 691,
+ 711,
+ 712,
+ 713,
+ 719,
+ 721,
+ 723,
+ 738,
+ 747,
+ 749,
+ 753,
+ 754,
+ 762,
+ 763,
+ 764,
+ 773,
+ 774,
+ 775,
+ 784,
+ 785,
+ 786,
+ 795,
+ 796,
+ 797,
+ 804,
+ 805,
+ 806,
+ 807,
+ 808,
+ 809,
+ 810,
+ 811,
+ 828,
+ 829,
+ 830,
+ 831,
+ 832,
+ 833,
+ 834,
+ 835,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Weston[] =
+{
+ 374,
+ 377,
+ 404,
+ 421,
+ 422,
+ 426,
+ 437,
+ 439,
+ 446,
+ 451,
+ 453,
+ 457,
+ 458,
+ 472,
+ 475,
+ 500,
+ 517,
+ 518,
+ 522,
+ 533,
+ 535,
+ 542,
+ 547,
+ 549,
+ 553,
+ 554,
+ 566,
+ 569,
+ 596,
+ 613,
+ 614,
+ 618,
+ 629,
+ 631,
+ 638,
+ 643,
+ 645,
+ 649,
+ 650,
+ 662,
+ 665,
+ 692,
+ 709,
+ 710,
+ 714,
+ 725,
+ 727,
+ 734,
+ 739,
+ 741,
+ 745,
+ 746,
+ 762,
+ 763,
+ 764,
+ 766,
+ 773,
+ 774,
+ 775,
+ 777,
+ 784,
+ 785,
+ 786,
+ 788,
+ 795,
+ 796,
+ 797,
+ 799,
+ 800,
+ 801,
+ 802,
+ 803,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 846,
+ 847,
+ 848,
+ 849,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jasper[] =
+{
+ 378,
+ 388,
+ 400,
+ 409,
+ 410,
+ 411,
+ 416,
+ 429,
+ 432,
+ 438,
+ 447,
+ 452,
+ 456,
+ 460,
+ 462,
+ 463,
+ 471,
+ 476,
+ 496,
+ 505,
+ 506,
+ 507,
+ 512,
+ 525,
+ 528,
+ 534,
+ 543,
+ 548,
+ 552,
+ 556,
+ 558,
+ 559,
+ 570,
+ 580,
+ 592,
+ 601,
+ 602,
+ 603,
+ 608,
+ 621,
+ 624,
+ 630,
+ 639,
+ 644,
+ 648,
+ 652,
+ 654,
+ 655,
+ 666,
+ 676,
+ 688,
+ 697,
+ 698,
+ 699,
+ 704,
+ 717,
+ 720,
+ 726,
+ 735,
+ 740,
+ 744,
+ 748,
+ 750,
+ 751,
+ 762,
+ 763,
+ 764,
+ 773,
+ 774,
+ 775,
+ 784,
+ 785,
+ 786,
+ 795,
+ 796,
+ 797,
+ 820,
+ 821,
+ 822,
+ 823,
+ 824,
+ 825,
+ 826,
+ 827,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Nadia[] =
+{
+ 382,
+ 387,
+ 403,
+ 423,
+ 424,
+ 425,
+ 431,
+ 433,
+ 435,
+ 450,
+ 459,
+ 461,
+ 465,
+ 466,
+ 470,
+ 480,
+ 499,
+ 519,
+ 520,
+ 521,
+ 527,
+ 529,
+ 531,
+ 546,
+ 555,
+ 557,
+ 561,
+ 562,
+ 574,
+ 579,
+ 595,
+ 615,
+ 616,
+ 617,
+ 623,
+ 625,
+ 627,
+ 642,
+ 651,
+ 653,
+ 657,
+ 658,
+ 670,
+ 675,
+ 691,
+ 711,
+ 712,
+ 713,
+ 719,
+ 721,
+ 723,
+ 738,
+ 747,
+ 749,
+ 753,
+ 754,
+ 762,
+ 763,
+ 764,
+ 773,
+ 774,
+ 775,
+ 784,
+ 785,
+ 786,
+ 795,
+ 796,
+ 797,
+ 804,
+ 805,
+ 806,
+ 807,
+ 808,
+ 809,
+ 810,
+ 811,
+ 828,
+ 829,
+ 830,
+ 831,
+ 832,
+ 833,
+ 834,
+ 835,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Miranda[] =
+{
+ 374,
+ 377,
+ 404,
+ 421,
+ 422,
+ 426,
+ 437,
+ 439,
+ 446,
+ 451,
+ 453,
+ 457,
+ 458,
+ 472,
+ 475,
+ 500,
+ 517,
+ 518,
+ 522,
+ 533,
+ 535,
+ 542,
+ 547,
+ 549,
+ 553,
+ 554,
+ 566,
+ 569,
+ 596,
+ 613,
+ 614,
+ 618,
+ 629,
+ 631,
+ 638,
+ 643,
+ 645,
+ 649,
+ 650,
+ 662,
+ 665,
+ 692,
+ 709,
+ 710,
+ 714,
+ 725,
+ 727,
+ 734,
+ 739,
+ 741,
+ 745,
+ 746,
+ 762,
+ 763,
+ 764,
+ 765,
+ 773,
+ 774,
+ 775,
+ 776,
+ 784,
+ 785,
+ 786,
+ 787,
+ 795,
+ 796,
+ 797,
+ 798,
+ 800,
+ 801,
+ 802,
+ 803,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 842,
+ 843,
+ 844,
+ 845,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Emma[] =
+{
+ 378,
+ 388,
+ 400,
+ 409,
+ 410,
+ 411,
+ 416,
+ 429,
+ 432,
+ 438,
+ 447,
+ 452,
+ 456,
+ 460,
+ 462,
+ 463,
+ 471,
+ 476,
+ 496,
+ 505,
+ 506,
+ 507,
+ 512,
+ 525,
+ 528,
+ 534,
+ 543,
+ 548,
+ 552,
+ 556,
+ 558,
+ 559,
+ 570,
+ 580,
+ 592,
+ 601,
+ 602,
+ 603,
+ 608,
+ 621,
+ 624,
+ 630,
+ 639,
+ 644,
+ 648,
+ 652,
+ 654,
+ 655,
+ 666,
+ 676,
+ 688,
+ 697,
+ 698,
+ 699,
+ 704,
+ 717,
+ 720,
+ 726,
+ 735,
+ 740,
+ 744,
+ 748,
+ 750,
+ 751,
+ 762,
+ 763,
+ 764,
+ 773,
+ 774,
+ 775,
+ 784,
+ 785,
+ 786,
+ 795,
+ 796,
+ 797,
+ 820,
+ 821,
+ 822,
+ 823,
+ 824,
+ 825,
+ 826,
+ 827,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Rolando[] =
+{
+ 185,
+ 290,
+ 377,
+ 380,
+ 385,
+ 401,
+ 404,
+ 409,
+ 410,
+ 428,
+ 437,
+ 438,
+ 439,
+ 446,
+ 466,
+ 475,
+ 478,
+ 484,
+ 497,
+ 500,
+ 505,
+ 506,
+ 524,
+ 533,
+ 534,
+ 535,
+ 542,
+ 562,
+ 569,
+ 572,
+ 577,
+ 593,
+ 596,
+ 601,
+ 602,
+ 620,
+ 629,
+ 630,
+ 631,
+ 638,
+ 658,
+ 665,
+ 668,
+ 673,
+ 689,
+ 692,
+ 697,
+ 698,
+ 716,
+ 725,
+ 726,
+ 727,
+ 734,
+ 754,
+ 756,
+ 757,
+ 758,
+ 766,
+ 767,
+ 768,
+ 769,
+ 777,
+ 778,
+ 779,
+ 780,
+ 788,
+ 789,
+ 790,
+ 791,
+ 799,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 832,
+ 833,
+ 834,
+ 835,
+ 846,
+ 847,
+ 848,
+ 849,
+ 870,
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Stanly[] =
+{
+ 185,
+ 290,
+ 377,
+ 380,
+ 385,
+ 401,
+ 404,
+ 409,
+ 410,
+ 428,
+ 437,
+ 438,
+ 439,
+ 446,
+ 466,
+ 475,
+ 478,
+ 484,
+ 497,
+ 500,
+ 505,
+ 506,
+ 524,
+ 533,
+ 534,
+ 535,
+ 542,
+ 562,
+ 569,
+ 572,
+ 577,
+ 593,
+ 596,
+ 601,
+ 602,
+ 620,
+ 629,
+ 630,
+ 631,
+ 638,
+ 658,
+ 665,
+ 668,
+ 673,
+ 689,
+ 692,
+ 697,
+ 698,
+ 716,
+ 725,
+ 726,
+ 727,
+ 734,
+ 754,
+ 759,
+ 760,
+ 761,
+ 766,
+ 770,
+ 771,
+ 772,
+ 777,
+ 781,
+ 782,
+ 783,
+ 788,
+ 792,
+ 793,
+ 794,
+ 799,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 832,
+ 833,
+ 834,
+ 835,
+ 846,
+ 847,
+ 848,
+ 849,
+ 876,
+ 877,
+ 878,
+ 879,
+ 880,
+ 881,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dario[] =
+{
+ 185,
+ 290,
+ 377,
+ 380,
+ 385,
+ 401,
+ 404,
+ 409,
+ 410,
+ 428,
+ 437,
+ 438,
+ 439,
+ 446,
+ 466,
+ 475,
+ 478,
+ 484,
+ 497,
+ 500,
+ 505,
+ 506,
+ 524,
+ 533,
+ 534,
+ 535,
+ 542,
+ 562,
+ 569,
+ 572,
+ 577,
+ 593,
+ 596,
+ 601,
+ 602,
+ 620,
+ 629,
+ 630,
+ 631,
+ 638,
+ 658,
+ 665,
+ 668,
+ 673,
+ 689,
+ 692,
+ 697,
+ 698,
+ 716,
+ 725,
+ 726,
+ 727,
+ 734,
+ 754,
+ 762,
+ 763,
+ 764,
+ 766,
+ 773,
+ 774,
+ 775,
+ 777,
+ 784,
+ 785,
+ 786,
+ 788,
+ 795,
+ 796,
+ 797,
+ 799,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 832,
+ 833,
+ 834,
+ 835,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 846,
+ 847,
+ 848,
+ 849,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Karlee[] =
+{
+ 185,
+ 290,
+ 377,
+ 380,
+ 385,
+ 401,
+ 404,
+ 409,
+ 410,
+ 428,
+ 437,
+ 438,
+ 439,
+ 446,
+ 466,
+ 475,
+ 478,
+ 484,
+ 497,
+ 500,
+ 505,
+ 506,
+ 524,
+ 533,
+ 534,
+ 535,
+ 542,
+ 562,
+ 569,
+ 572,
+ 577,
+ 593,
+ 596,
+ 601,
+ 602,
+ 620,
+ 629,
+ 630,
+ 631,
+ 638,
+ 658,
+ 665,
+ 668,
+ 673,
+ 689,
+ 692,
+ 697,
+ 698,
+ 716,
+ 725,
+ 726,
+ 727,
+ 734,
+ 754,
+ 756,
+ 757,
+ 758,
+ 765,
+ 767,
+ 768,
+ 769,
+ 776,
+ 778,
+ 779,
+ 780,
+ 787,
+ 789,
+ 790,
+ 791,
+ 798,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 832,
+ 833,
+ 834,
+ 835,
+ 842,
+ 843,
+ 844,
+ 845,
+ 870,
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jaylin[] =
+{
+ 185,
+ 290,
+ 377,
+ 380,
+ 385,
+ 401,
+ 404,
+ 409,
+ 410,
+ 428,
+ 437,
+ 438,
+ 439,
+ 446,
+ 466,
+ 475,
+ 478,
+ 484,
+ 497,
+ 500,
+ 505,
+ 506,
+ 524,
+ 533,
+ 534,
+ 535,
+ 542,
+ 562,
+ 569,
+ 572,
+ 577,
+ 593,
+ 596,
+ 601,
+ 602,
+ 620,
+ 629,
+ 630,
+ 631,
+ 638,
+ 658,
+ 665,
+ 668,
+ 673,
+ 689,
+ 692,
+ 697,
+ 698,
+ 716,
+ 725,
+ 726,
+ 727,
+ 734,
+ 754,
+ 759,
+ 760,
+ 761,
+ 765,
+ 770,
+ 771,
+ 772,
+ 776,
+ 781,
+ 782,
+ 783,
+ 787,
+ 792,
+ 793,
+ 794,
+ 798,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 832,
+ 833,
+ 834,
+ 835,
+ 842,
+ 843,
+ 844,
+ 845,
+ 876,
+ 877,
+ 878,
+ 879,
+ 880,
+ 881,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ingrid[] =
+{
+ 185,
+ 290,
+ 377,
+ 380,
+ 385,
+ 401,
+ 404,
+ 409,
+ 410,
+ 428,
+ 437,
+ 438,
+ 439,
+ 446,
+ 466,
+ 475,
+ 478,
+ 484,
+ 497,
+ 500,
+ 505,
+ 506,
+ 524,
+ 533,
+ 534,
+ 535,
+ 542,
+ 562,
+ 569,
+ 572,
+ 577,
+ 593,
+ 596,
+ 601,
+ 602,
+ 620,
+ 629,
+ 630,
+ 631,
+ 638,
+ 658,
+ 665,
+ 668,
+ 673,
+ 689,
+ 692,
+ 697,
+ 698,
+ 716,
+ 725,
+ 726,
+ 727,
+ 734,
+ 754,
+ 762,
+ 763,
+ 764,
+ 765,
+ 773,
+ 774,
+ 775,
+ 776,
+ 784,
+ 785,
+ 786,
+ 787,
+ 795,
+ 796,
+ 797,
+ 798,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 832,
+ 833,
+ 834,
+ 835,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 842,
+ 843,
+ 844,
+ 845,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Delilah[] =
+{
+ 347,
+ 352,
+ 374,
+ 378,
+ 398,
+ 421,
+ 426,
+ 447,
+ 472,
+ 476,
+ 494,
+ 517,
+ 522,
+ 543,
+ 566,
+ 570,
+ 590,
+ 613,
+ 618,
+ 639,
+ 662,
+ 666,
+ 686,
+ 709,
+ 714,
+ 735,
+ 800,
+ 801,
+ 802,
+ 803,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Carly[] =
+{
+ 344,
+ 374,
+ 378,
+ 394,
+ 395,
+ 405,
+ 413,
+ 414,
+ 420,
+ 421,
+ 434,
+ 441,
+ 457,
+ 472,
+ 476,
+ 490,
+ 491,
+ 501,
+ 509,
+ 510,
+ 516,
+ 517,
+ 530,
+ 537,
+ 553,
+ 566,
+ 570,
+ 586,
+ 587,
+ 597,
+ 605,
+ 606,
+ 612,
+ 613,
+ 626,
+ 633,
+ 649,
+ 662,
+ 666,
+ 682,
+ 683,
+ 693,
+ 701,
+ 702,
+ 708,
+ 709,
+ 722,
+ 729,
+ 745,
+ 800,
+ 801,
+ 802,
+ 803,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Lexie[] =
+{
+ 344,
+ 347,
+ 352,
+ 394,
+ 395,
+ 398,
+ 405,
+ 413,
+ 414,
+ 420,
+ 421,
+ 426,
+ 434,
+ 441,
+ 447,
+ 457,
+ 490,
+ 491,
+ 494,
+ 501,
+ 509,
+ 510,
+ 516,
+ 517,
+ 522,
+ 530,
+ 537,
+ 543,
+ 553,
+ 586,
+ 587,
+ 590,
+ 597,
+ 605,
+ 606,
+ 612,
+ 613,
+ 618,
+ 626,
+ 633,
+ 639,
+ 649,
+ 682,
+ 683,
+ 686,
+ 693,
+ 701,
+ 702,
+ 708,
+ 709,
+ 714,
+ 722,
+ 729,
+ 735,
+ 745,
+ 800,
+ 801,
+ 802,
+ 803,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Miller[] =
+{
+ 345,
+ 376,
+ 386,
+ 387,
+ 397,
+ 399,
+ 402,
+ 403,
+ 406,
+ 408,
+ 411,
+ 413,
+ 414,
+ 425,
+ 427,
+ 429,
+ 433,
+ 435,
+ 440,
+ 441,
+ 445,
+ 448,
+ 449,
+ 450,
+ 452,
+ 454,
+ 456,
+ 458,
+ 459,
+ 460,
+ 462,
+ 465,
+ 466,
+ 467,
+ 470,
+ 474,
+ 482,
+ 493,
+ 495,
+ 498,
+ 499,
+ 502,
+ 504,
+ 507,
+ 509,
+ 510,
+ 521,
+ 523,
+ 525,
+ 529,
+ 531,
+ 536,
+ 537,
+ 541,
+ 544,
+ 545,
+ 546,
+ 548,
+ 550,
+ 552,
+ 554,
+ 555,
+ 556,
+ 558,
+ 561,
+ 562,
+ 563,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Marv[] =
+{
+ 345,
+ 568,
+ 578,
+ 579,
+ 589,
+ 591,
+ 594,
+ 595,
+ 598,
+ 600,
+ 603,
+ 605,
+ 606,
+ 617,
+ 619,
+ 621,
+ 625,
+ 627,
+ 632,
+ 633,
+ 637,
+ 640,
+ 641,
+ 642,
+ 644,
+ 646,
+ 648,
+ 650,
+ 651,
+ 652,
+ 654,
+ 657,
+ 658,
+ 659,
+ 664,
+ 674,
+ 675,
+ 685,
+ 687,
+ 690,
+ 691,
+ 694,
+ 696,
+ 699,
+ 701,
+ 702,
+ 713,
+ 715,
+ 717,
+ 721,
+ 723,
+ 728,
+ 729,
+ 733,
+ 736,
+ 737,
+ 738,
+ 740,
+ 742,
+ 744,
+ 746,
+ 747,
+ 748,
+ 750,
+ 753,
+ 754,
+ 755,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Layton[] =
+{
+ 345,
+ 425,
+ 433,
+ 435,
+ 445,
+ 450,
+ 454,
+ 456,
+ 458,
+ 459,
+ 460,
+ 465,
+ 466,
+ 521,
+ 529,
+ 531,
+ 541,
+ 546,
+ 550,
+ 552,
+ 554,
+ 555,
+ 556,
+ 561,
+ 562,
+ 617,
+ 625,
+ 627,
+ 637,
+ 642,
+ 646,
+ 648,
+ 650,
+ 651,
+ 652,
+ 657,
+ 658,
+ 713,
+ 721,
+ 723,
+ 733,
+ 738,
+ 742,
+ 744,
+ 746,
+ 747,
+ 748,
+ 753,
+ 754,
+ 804,
+ 805,
+ 806,
+ 807,
+ 820,
+ 821,
+ 822,
+ 823,
+ 824,
+ 825,
+ 826,
+ 827,
+ 828,
+ 829,
+ 830,
+ 831,
+ 832,
+ 833,
+ 834,
+ 835,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Brooks[] =
+{
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gregory[] =
+{
+ 421,
+ 425,
+ 431,
+ 437,
+ 439,
+ 456,
+ 460,
+ 465,
+ 466,
+ 517,
+ 521,
+ 527,
+ 533,
+ 535,
+ 552,
+ 556,
+ 561,
+ 562,
+ 613,
+ 617,
+ 623,
+ 629,
+ 631,
+ 648,
+ 652,
+ 657,
+ 658,
+ 709,
+ 713,
+ 719,
+ 725,
+ 727,
+ 744,
+ 748,
+ 753,
+ 754,
+ 765,
+ 766,
+ 776,
+ 777,
+ 787,
+ 788,
+ 798,
+ 799,
+ 800,
+ 801,
+ 802,
+ 803,
+ 804,
+ 805,
+ 806,
+ 807,
+ 808,
+ 809,
+ 810,
+ 811,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ 820,
+ 821,
+ 822,
+ 823,
+ 824,
+ 825,
+ 826,
+ 827,
+ 828,
+ 829,
+ 830,
+ 831,
+ 832,
+ 833,
+ 834,
+ 835,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Reese[] =
+{
+ 756,
+ 757,
+ 758,
+ 759,
+ 760,
+ 761,
+ 762,
+ 763,
+ 764,
+ 765,
+ 766,
+ 767,
+ 768,
+ 769,
+ 770,
+ 771,
+ 772,
+ 773,
+ 774,
+ 775,
+ 776,
+ 777,
+ 778,
+ 779,
+ 780,
+ 781,
+ 782,
+ 783,
+ 784,
+ 785,
+ 786,
+ 787,
+ 788,
+ 789,
+ 790,
+ 791,
+ 792,
+ 793,
+ 794,
+ 795,
+ 796,
+ 797,
+ 798,
+ 799,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ 842,
+ 843,
+ 844,
+ 845,
+ 846,
+ 847,
+ 848,
+ 849,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ 870,
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ 876,
+ 877,
+ 878,
+ 879,
+ 880,
+ 881,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Mason[] =
+{
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Toby[] =
+{
+ 564,
+ 565,
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577,
+ 578,
+ 579,
+ 580,
+ 581,
+ 582,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 592,
+ 593,
+ 594,
+ 595,
+ 596,
+ 597,
+ 598,
+ 599,
+ 600,
+ 601,
+ 602,
+ 603,
+ 604,
+ 605,
+ 606,
+ 607,
+ 608,
+ 609,
+ 610,
+ 611,
+ 612,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 625,
+ 626,
+ 627,
+ 628,
+ 629,
+ 630,
+ 631,
+ 632,
+ 633,
+ 634,
+ 635,
+ 636,
+ 637,
+ 638,
+ 639,
+ 640,
+ 641,
+ 642,
+ 643,
+ 644,
+ 645,
+ 646,
+ 647,
+ 648,
+ 649,
+ 650,
+ 651,
+ 652,
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dorothy[] =
+{
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Piper[] =
+{
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Finn[] =
+{
+ 317,
+ 371,
+ 373,
+ 377,
+ 390,
+ 392,
+ 399,
+ 431,
+ 452,
+ 456,
+ 469,
+ 475,
+ 486,
+ 488,
+ 495,
+ 527,
+ 548,
+ 552,
+ 565,
+ 569,
+ 573,
+ 576,
+ 580,
+ 582,
+ 584,
+ 591,
+ 592,
+ 601,
+ 602,
+ 610,
+ 621,
+ 623,
+ 626,
+ 631,
+ 634,
+ 640,
+ 641,
+ 644,
+ 648,
+ 650,
+ 651,
+ 653,
+ 655,
+ 661,
+ 665,
+ 669,
+ 672,
+ 676,
+ 678,
+ 680,
+ 687,
+ 688,
+ 697,
+ 698,
+ 706,
+ 717,
+ 719,
+ 722,
+ 727,
+ 730,
+ 736,
+ 737,
+ 740,
+ 744,
+ 746,
+ 747,
+ 749,
+ 751,
+ 808,
+ 809,
+ 810,
+ 811,
+ 816,
+ 817,
+ 818,
+ 819,
+ 820,
+ 821,
+ 822,
+ 823,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Samir[] =
+{
+ 317,
+ 371,
+ 373,
+ 377,
+ 390,
+ 392,
+ 399,
+ 431,
+ 452,
+ 456,
+ 469,
+ 475,
+ 486,
+ 488,
+ 495,
+ 527,
+ 548,
+ 552,
+ 565,
+ 569,
+ 573,
+ 576,
+ 580,
+ 582,
+ 584,
+ 591,
+ 592,
+ 601,
+ 602,
+ 610,
+ 621,
+ 623,
+ 626,
+ 631,
+ 634,
+ 640,
+ 641,
+ 644,
+ 648,
+ 650,
+ 651,
+ 653,
+ 655,
+ 661,
+ 665,
+ 669,
+ 672,
+ 676,
+ 678,
+ 680,
+ 687,
+ 688,
+ 697,
+ 698,
+ 706,
+ 717,
+ 719,
+ 722,
+ 727,
+ 730,
+ 736,
+ 737,
+ 740,
+ 744,
+ 746,
+ 747,
+ 749,
+ 751,
+ 808,
+ 809,
+ 810,
+ 811,
+ 816,
+ 817,
+ 818,
+ 819,
+ 820,
+ 821,
+ 822,
+ 823,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Fiona[] =
+{
+ 317,
+ 371,
+ 373,
+ 377,
+ 381,
+ 384,
+ 388,
+ 390,
+ 392,
+ 399,
+ 400,
+ 409,
+ 410,
+ 418,
+ 429,
+ 431,
+ 434,
+ 439,
+ 442,
+ 448,
+ 449,
+ 452,
+ 456,
+ 458,
+ 459,
+ 461,
+ 463,
+ 469,
+ 471,
+ 475,
+ 479,
+ 483,
+ 486,
+ 488,
+ 495,
+ 496,
+ 505,
+ 506,
+ 514,
+ 525,
+ 527,
+ 530,
+ 535,
+ 538,
+ 544,
+ 545,
+ 548,
+ 552,
+ 554,
+ 555,
+ 557,
+ 559,
+ 565,
+ 569,
+ 582,
+ 584,
+ 591,
+ 623,
+ 644,
+ 648,
+ 661,
+ 665,
+ 678,
+ 680,
+ 687,
+ 719,
+ 740,
+ 744,
+ 808,
+ 809,
+ 810,
+ 811,
+ 816,
+ 817,
+ 818,
+ 819,
+ 820,
+ 821,
+ 822,
+ 823,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gloria[] =
+{
+ 317,
+ 371,
+ 373,
+ 377,
+ 381,
+ 384,
+ 388,
+ 390,
+ 392,
+ 399,
+ 400,
+ 409,
+ 410,
+ 418,
+ 429,
+ 431,
+ 434,
+ 439,
+ 442,
+ 448,
+ 449,
+ 452,
+ 456,
+ 458,
+ 459,
+ 461,
+ 463,
+ 469,
+ 471,
+ 475,
+ 479,
+ 483,
+ 486,
+ 488,
+ 495,
+ 496,
+ 505,
+ 506,
+ 514,
+ 525,
+ 527,
+ 530,
+ 535,
+ 538,
+ 544,
+ 545,
+ 548,
+ 552,
+ 554,
+ 555,
+ 557,
+ 559,
+ 565,
+ 569,
+ 582,
+ 584,
+ 591,
+ 623,
+ 644,
+ 648,
+ 661,
+ 665,
+ 678,
+ 680,
+ 687,
+ 719,
+ 740,
+ 744,
+ 808,
+ 809,
+ 810,
+ 811,
+ 816,
+ 817,
+ 818,
+ 819,
+ 820,
+ 821,
+ 822,
+ 823,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Nico[] =
+{
+ 660,
+ 661,
+ 662,
+ 663,
+ 664,
+ 665,
+ 666,
+ 667,
+ 668,
+ 669,
+ 670,
+ 671,
+ 672,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
+ 678,
+ 679,
+ 680,
+ 681,
+ 682,
+ 683,
+ 684,
+ 685,
+ 686,
+ 687,
+ 688,
+ 689,
+ 690,
+ 691,
+ 692,
+ 693,
+ 694,
+ 695,
+ 696,
+ 697,
+ 698,
+ 699,
+ 700,
+ 701,
+ 702,
+ 703,
+ 704,
+ 705,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
+ 711,
+ 712,
+ 713,
+ 714,
+ 715,
+ 716,
+ 717,
+ 718,
+ 719,
+ 720,
+ 721,
+ 722,
+ 723,
+ 724,
+ 725,
+ 726,
+ 727,
+ 728,
+ 729,
+ 730,
+ 731,
+ 732,
+ 733,
+ 734,
+ 735,
+ 736,
+ 737,
+ 738,
+ 739,
+ 740,
+ 741,
+ 742,
+ 743,
+ 744,
+ 745,
+ 746,
+ 747,
+ 748,
+ 749,
+ 750,
+ 751,
+ 752,
+ 753,
+ 754,
+ 755,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Jeremy[] =
+{
+ 564,
+ 565,
+ 566,
+ 567,
+ 568,
+ 569,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577,
+ 578,
+ 579,
+ 580,
+ 581,
+ 582,
+ 583,
+ 584,
+ 585,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 592,
+ 593,
+ 594,
+ 595,
+ 596,
+ 597,
+ 598,
+ 599,
+ 600,
+ 601,
+ 602,
+ 603,
+ 604,
+ 605,
+ 606,
+ 607,
+ 608,
+ 609,
+ 610,
+ 611,
+ 612,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 625,
+ 626,
+ 627,
+ 628,
+ 629,
+ 630,
+ 631,
+ 632,
+ 633,
+ 634,
+ 635,
+ 636,
+ 637,
+ 638,
+ 639,
+ 640,
+ 641,
+ 642,
+ 643,
+ 644,
+ 645,
+ 646,
+ 647,
+ 648,
+ 649,
+ 650,
+ 651,
+ 652,
+ 653,
+ 654,
+ 655,
+ 656,
+ 657,
+ 658,
+ 659,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Caitlin[] =
+{
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 510,
+ 511,
+ 512,
+ 513,
+ 514,
+ 515,
+ 516,
+ 517,
+ 518,
+ 519,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 560,
+ 561,
+ 562,
+ 563,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Reena[] =
+{
+ 372,
+ 373,
+ 374,
+ 375,
+ 376,
+ 377,
+ 378,
+ 379,
+ 380,
+ 381,
+ 382,
+ 383,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 412,
+ 413,
+ 414,
+ 415,
+ 416,
+ 417,
+ 418,
+ 419,
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 444,
+ 445,
+ 446,
+ 447,
+ 448,
+ 449,
+ 450,
+ 451,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 464,
+ 465,
+ 466,
+ 467,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Avery[] =
+{
+ 21,
+ 238,
+ 282,
+ 303,
+ 331,
+ 343,
+ 368,
+ 369,
+ 383,
+ 417,
+ 423,
+ 424,
+ 432,
+ 481,
+ 513,
+ 519,
+ 520,
+ 528,
+ 575,
+ 609,
+ 615,
+ 616,
+ 624,
+ 671,
+ 705,
+ 711,
+ 712,
+ 720,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Liam[] =
+{
+ 21,
+ 238,
+ 282,
+ 303,
+ 331,
+ 343,
+ 368,
+ 369,
+ 383,
+ 417,
+ 423,
+ 424,
+ 432,
+ 481,
+ 513,
+ 519,
+ 520,
+ 528,
+ 575,
+ 609,
+ 615,
+ 616,
+ 624,
+ 671,
+ 705,
+ 711,
+ 712,
+ 720,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Theo[] =
+{
+ 333,
+ 347,
+ 350,
+ 354,
+ 358,
+ 361,
+ 362,
+ 363,
+ 364,
+ 371,
+ 381,
+ 384,
+ 429,
+ 434,
+ 439,
+ 479,
+ 483,
+ 525,
+ 530,
+ 535,
+ 573,
+ 576,
+ 621,
+ 626,
+ 631,
+ 669,
+ 672,
+ 717,
+ 722,
+ 727,
+ 816,
+ 817,
+ 818,
+ 819,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Bailey[] =
+{
+ 333,
+ 347,
+ 350,
+ 354,
+ 358,
+ 361,
+ 362,
+ 363,
+ 364,
+ 371,
+ 381,
+ 384,
+ 429,
+ 434,
+ 439,
+ 479,
+ 483,
+ 525,
+ 530,
+ 535,
+ 573,
+ 576,
+ 621,
+ 626,
+ 631,
+ 669,
+ 672,
+ 717,
+ 722,
+ 727,
+ 816,
+ 817,
+ 818,
+ 819,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Hugo[] =
+{
+ 383,
+ 386,
+ 402,
+ 403,
+ 416,
+ 417,
+ 423,
+ 432,
+ 433,
+ 435,
+ 450,
+ 466,
+ 481,
+ 482,
+ 498,
+ 499,
+ 512,
+ 513,
+ 519,
+ 528,
+ 529,
+ 531,
+ 546,
+ 562,
+ 575,
+ 578,
+ 594,
+ 595,
+ 608,
+ 609,
+ 615,
+ 624,
+ 625,
+ 627,
+ 642,
+ 658,
+ 671,
+ 674,
+ 690,
+ 691,
+ 704,
+ 705,
+ 711,
+ 720,
+ 721,
+ 723,
+ 738,
+ 754,
+ 762,
+ 763,
+ 764,
+ 773,
+ 774,
+ 775,
+ 784,
+ 785,
+ 786,
+ 795,
+ 796,
+ 797,
+ 832,
+ 833,
+ 834,
+ 835,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Bryce[] =
+{
+ 383,
+ 386,
+ 402,
+ 403,
+ 416,
+ 417,
+ 423,
+ 432,
+ 433,
+ 435,
+ 450,
+ 466,
+ 481,
+ 482,
+ 498,
+ 499,
+ 512,
+ 513,
+ 519,
+ 528,
+ 529,
+ 531,
+ 546,
+ 562,
+ 575,
+ 578,
+ 594,
+ 595,
+ 608,
+ 609,
+ 615,
+ 624,
+ 625,
+ 627,
+ 642,
+ 658,
+ 671,
+ 674,
+ 690,
+ 691,
+ 704,
+ 705,
+ 711,
+ 720,
+ 721,
+ 723,
+ 738,
+ 754,
+ 762,
+ 763,
+ 764,
+ 773,
+ 774,
+ 775,
+ 784,
+ 785,
+ 786,
+ 795,
+ 796,
+ 797,
+ 832,
+ 833,
+ 834,
+ 835,
+ 836,
+ 837,
+ 838,
+ 839,
+ 840,
+ 841,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gideon[] =
+{
+ 441,
+ 445,
+ 448,
+ 449,
+ 451,
+ 453,
+ 454,
+ 455,
+ 458,
+ 537,
+ 541,
+ 544,
+ 545,
+ 547,
+ 549,
+ 550,
+ 551,
+ 554,
+ 633,
+ 637,
+ 640,
+ 641,
+ 643,
+ 645,
+ 646,
+ 647,
+ 650,
+ 729,
+ 733,
+ 736,
+ 737,
+ 739,
+ 741,
+ 742,
+ 743,
+ 746,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Triston[] =
+{
+ 441,
+ 445,
+ 448,
+ 449,
+ 451,
+ 453,
+ 454,
+ 455,
+ 458,
+ 537,
+ 541,
+ 544,
+ 545,
+ 547,
+ 549,
+ 550,
+ 551,
+ 554,
+ 633,
+ 637,
+ 640,
+ 641,
+ 643,
+ 645,
+ 646,
+ 647,
+ 650,
+ 729,
+ 733,
+ 736,
+ 737,
+ 739,
+ 741,
+ 742,
+ 743,
+ 746,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Charles[] =
+{
+ 352,
+ 381,
+ 391,
+ 393,
+ 396,
+ 398,
+ 407,
+ 422,
+ 426,
+ 443,
+ 447,
+ 479,
+ 487,
+ 489,
+ 492,
+ 494,
+ 503,
+ 518,
+ 522,
+ 539,
+ 543,
+ 573,
+ 583,
+ 585,
+ 588,
+ 590,
+ 599,
+ 614,
+ 618,
+ 635,
+ 639,
+ 669,
+ 679,
+ 681,
+ 684,
+ 686,
+ 695,
+ 710,
+ 714,
+ 731,
+ 735,
+ 756,
+ 757,
+ 758,
+ 767,
+ 768,
+ 769,
+ 778,
+ 779,
+ 780,
+ 789,
+ 790,
+ 791,
+ 870,
+ 871,
+ 872,
+ 873,
+ 874,
+ 875,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Raymond[] =
+{
+ 374,
+ 376,
+ 381,
+ 404,
+ 407,
+ 422,
+ 439,
+ 443,
+ 459,
+ 472,
+ 500,
+ 506,
+ 507,
+ 518,
+ 532,
+ 546,
+ 566,
+ 585,
+ 588,
+ 628,
+ 635,
+ 679,
+ 681,
+ 684,
+ 710,
+ 731,
+ 785,
+ 795,
+ 796,
+ 797,
+ 817,
+ 842,
+ 843,
+ 846,
+ 847,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dirk[] =
+{
+ 355,
+ 375,
+ 379,
+ 385,
+ 386,
+ 412,
+ 435,
+ 440,
+ 454,
+ 457,
+ 459,
+ 465,
+ 473,
+ 477,
+ 482,
+ 484,
+ 508,
+ 531,
+ 536,
+ 550,
+ 553,
+ 555,
+ 561,
+ 567,
+ 571,
+ 577,
+ 578,
+ 604,
+ 627,
+ 632,
+ 646,
+ 649,
+ 651,
+ 657,
+ 663,
+ 667,
+ 673,
+ 674,
+ 700,
+ 723,
+ 728,
+ 742,
+ 745,
+ 747,
+ 753,
+ 756,
+ 757,
+ 758,
+ 767,
+ 768,
+ 769,
+ 778,
+ 779,
+ 780,
+ 789,
+ 790,
+ 791,
+ 828,
+ 829,
+ 830,
+ 831,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Harold[] =
+{
+ 355,
+ 375,
+ 379,
+ 385,
+ 386,
+ 412,
+ 435,
+ 440,
+ 454,
+ 457,
+ 459,
+ 465,
+ 473,
+ 477,
+ 482,
+ 484,
+ 508,
+ 531,
+ 536,
+ 550,
+ 553,
+ 555,
+ 561,
+ 567,
+ 571,
+ 577,
+ 578,
+ 604,
+ 627,
+ 632,
+ 646,
+ 649,
+ 651,
+ 657,
+ 663,
+ 667,
+ 673,
+ 674,
+ 700,
+ 723,
+ 728,
+ 742,
+ 745,
+ 747,
+ 753,
+ 756,
+ 757,
+ 758,
+ 767,
+ 768,
+ 769,
+ 778,
+ 779,
+ 780,
+ 789,
+ 790,
+ 791,
+ 828,
+ 829,
+ 830,
+ 831,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Omar[] =
+{
+ 373,
+ 388,
+ 390,
+ 392,
+ 400,
+ 409,
+ 410,
+ 418,
+ 431,
+ 442,
+ 448,
+ 449,
+ 452,
+ 456,
+ 458,
+ 459,
+ 461,
+ 463,
+ 469,
+ 471,
+ 486,
+ 488,
+ 496,
+ 505,
+ 506,
+ 514,
+ 527,
+ 538,
+ 544,
+ 545,
+ 548,
+ 552,
+ 554,
+ 555,
+ 557,
+ 559,
+ 565,
+ 580,
+ 582,
+ 584,
+ 592,
+ 601,
+ 602,
+ 610,
+ 623,
+ 634,
+ 640,
+ 641,
+ 644,
+ 648,
+ 650,
+ 651,
+ 653,
+ 655,
+ 661,
+ 676,
+ 678,
+ 680,
+ 688,
+ 697,
+ 698,
+ 706,
+ 719,
+ 730,
+ 736,
+ 737,
+ 740,
+ 744,
+ 746,
+ 747,
+ 749,
+ 751,
+ 808,
+ 809,
+ 810,
+ 811,
+ 820,
+ 821,
+ 822,
+ 823,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Peter[] =
+{
+ 373,
+ 388,
+ 390,
+ 392,
+ 400,
+ 409,
+ 410,
+ 418,
+ 431,
+ 442,
+ 448,
+ 449,
+ 452,
+ 456,
+ 458,
+ 459,
+ 461,
+ 463,
+ 469,
+ 471,
+ 486,
+ 488,
+ 496,
+ 505,
+ 506,
+ 514,
+ 527,
+ 538,
+ 544,
+ 545,
+ 548,
+ 552,
+ 554,
+ 555,
+ 557,
+ 559,
+ 565,
+ 580,
+ 582,
+ 584,
+ 592,
+ 601,
+ 602,
+ 610,
+ 623,
+ 634,
+ 640,
+ 641,
+ 644,
+ 648,
+ 650,
+ 651,
+ 653,
+ 655,
+ 661,
+ 676,
+ 678,
+ 680,
+ 688,
+ 697,
+ 698,
+ 706,
+ 719,
+ 730,
+ 736,
+ 737,
+ 740,
+ 744,
+ 746,
+ 747,
+ 749,
+ 751,
+ 808,
+ 809,
+ 810,
+ 811,
+ 820,
+ 821,
+ 822,
+ 823,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dev[] =
+{
+ 372,
+ 387,
+ 402,
+ 403,
+ 413,
+ 414,
+ 416,
+ 417,
+ 427,
+ 428,
+ 432,
+ 433,
+ 435,
+ 440,
+ 450,
+ 466,
+ 468,
+ 470,
+ 498,
+ 499,
+ 509,
+ 510,
+ 512,
+ 513,
+ 523,
+ 524,
+ 528,
+ 529,
+ 531,
+ 536,
+ 546,
+ 562,
+ 564,
+ 579,
+ 594,
+ 595,
+ 605,
+ 606,
+ 608,
+ 609,
+ 619,
+ 620,
+ 624,
+ 625,
+ 627,
+ 632,
+ 642,
+ 658,
+ 660,
+ 675,
+ 690,
+ 691,
+ 701,
+ 702,
+ 704,
+ 705,
+ 715,
+ 716,
+ 720,
+ 721,
+ 723,
+ 728,
+ 738,
+ 754,
+ 832,
+ 833,
+ 834,
+ 835,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Corey[] =
+{
+ 372,
+ 387,
+ 402,
+ 403,
+ 413,
+ 414,
+ 416,
+ 417,
+ 427,
+ 428,
+ 432,
+ 433,
+ 435,
+ 440,
+ 450,
+ 466,
+ 468,
+ 470,
+ 498,
+ 499,
+ 509,
+ 510,
+ 512,
+ 513,
+ 523,
+ 524,
+ 528,
+ 529,
+ 531,
+ 536,
+ 546,
+ 562,
+ 564,
+ 579,
+ 594,
+ 595,
+ 605,
+ 606,
+ 608,
+ 609,
+ 619,
+ 620,
+ 624,
+ 625,
+ 627,
+ 632,
+ 642,
+ 658,
+ 660,
+ 675,
+ 690,
+ 691,
+ 701,
+ 702,
+ 704,
+ 705,
+ 715,
+ 716,
+ 720,
+ 721,
+ 723,
+ 728,
+ 738,
+ 754,
+ 832,
+ 833,
+ 834,
+ 835,
+ 860,
+ 861,
+ 862,
+ 863,
+ 864,
+ 865,
+ 866,
+ 867,
+ 868,
+ 869,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Andre[] =
+{
+ 374,
+ 378,
+ 415,
+ 419,
+ 421,
+ 426,
+ 430,
+ 444,
+ 451,
+ 454,
+ 455,
+ 464,
+ 472,
+ 476,
+ 511,
+ 515,
+ 517,
+ 522,
+ 526,
+ 540,
+ 547,
+ 550,
+ 551,
+ 560,
+ 566,
+ 570,
+ 607,
+ 611,
+ 613,
+ 618,
+ 622,
+ 636,
+ 643,
+ 646,
+ 647,
+ 656,
+ 662,
+ 666,
+ 703,
+ 707,
+ 709,
+ 714,
+ 718,
+ 732,
+ 739,
+ 742,
+ 743,
+ 752,
+ 800,
+ 801,
+ 802,
+ 803,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Ferris[] =
+{
+ 374,
+ 378,
+ 415,
+ 419,
+ 421,
+ 426,
+ 430,
+ 444,
+ 451,
+ 454,
+ 455,
+ 464,
+ 472,
+ 476,
+ 511,
+ 515,
+ 517,
+ 522,
+ 526,
+ 540,
+ 547,
+ 550,
+ 551,
+ 560,
+ 566,
+ 570,
+ 607,
+ 611,
+ 613,
+ 618,
+ 622,
+ 636,
+ 643,
+ 646,
+ 647,
+ 656,
+ 662,
+ 666,
+ 703,
+ 707,
+ 709,
+ 714,
+ 718,
+ 732,
+ 739,
+ 742,
+ 743,
+ 752,
+ 800,
+ 801,
+ 802,
+ 803,
+ 850,
+ 851,
+ 852,
+ 853,
+ 854,
+ 855,
+ 856,
+ 857,
+ 858,
+ 859,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Alivia[] =
+{
+ 399,
+ 400,
+ 409,
+ 422,
+ 438,
+ 441,
+ 445,
+ 448,
+ 449,
+ 451,
+ 452,
+ 454,
+ 455,
+ 489,
+ 492,
+ 493,
+ 503,
+ 526,
+ 532,
+ 535,
+ 536,
+ 560,
+ 573,
+ 583,
+ 590,
+ 592,
+ 608,
+ 611,
+ 620,
+ 651,
+ 682,
+ 688,
+ 714,
+ 729,
+ 732,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Paige[] =
+{
+ 399,
+ 400,
+ 409,
+ 422,
+ 438,
+ 441,
+ 445,
+ 448,
+ 449,
+ 451,
+ 452,
+ 454,
+ 455,
+ 489,
+ 492,
+ 493,
+ 503,
+ 526,
+ 532,
+ 535,
+ 536,
+ 560,
+ 573,
+ 583,
+ 590,
+ 592,
+ 608,
+ 611,
+ 620,
+ 651,
+ 682,
+ 688,
+ 714,
+ 729,
+ 732,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Anya[] =
+{
+ 442,
+ 443,
+ 444,
+ 446,
+ 447,
+ 538,
+ 539,
+ 540,
+ 542,
+ 543,
+ 634,
+ 635,
+ 636,
+ 638,
+ 639,
+ 730,
+ 731,
+ 732,
+ 734,
+ 735,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Dawn[] =
+{
+ 377,
+ 381,
+ 410,
+ 421,
+ 422,
+ 443,
+ 456,
+ 460,
+ 461,
+ 471,
+ 472,
+ 473,
+ 484,
+ 491,
+ 502,
+ 503,
+ 507,
+ 508,
+ 515,
+ 520,
+ 540,
+ 549,
+ 569,
+ 574,
+ 583,
+ 586,
+ 601,
+ 622,
+ 624,
+ 639,
+ 644,
+ 655,
+ 734,
+ 804,
+ 810,
+ 815,
+ 823,
+ 831,
+ 843,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Abby[] =
+{
+ 185,
+ 290,
+ 313,
+ 334,
+ 348,
+ 359,
+ 360,
+ 377,
+ 380,
+ 382,
+ 385,
+ 394,
+ 395,
+ 398,
+ 400,
+ 401,
+ 404,
+ 409,
+ 410,
+ 416,
+ 437,
+ 438,
+ 439,
+ 441,
+ 445,
+ 446,
+ 453,
+ 475,
+ 478,
+ 480,
+ 484,
+ 490,
+ 491,
+ 494,
+ 496,
+ 497,
+ 500,
+ 505,
+ 506,
+ 512,
+ 533,
+ 534,
+ 535,
+ 537,
+ 541,
+ 542,
+ 549,
+ 569,
+ 572,
+ 574,
+ 577,
+ 586,
+ 587,
+ 590,
+ 592,
+ 593,
+ 596,
+ 601,
+ 602,
+ 608,
+ 629,
+ 630,
+ 631,
+ 633,
+ 637,
+ 638,
+ 645,
+ 665,
+ 668,
+ 670,
+ 673,
+ 682,
+ 683,
+ 686,
+ 688,
+ 689,
+ 692,
+ 697,
+ 698,
+ 704,
+ 725,
+ 726,
+ 727,
+ 729,
+ 733,
+ 734,
+ 741,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ -1
+};
+
+const u16 gBattleFrontierTrainerMons_Gretel[] =
+{
+ 185,
+ 290,
+ 313,
+ 334,
+ 348,
+ 359,
+ 360,
+ 377,
+ 380,
+ 382,
+ 385,
+ 394,
+ 395,
+ 398,
+ 400,
+ 401,
+ 404,
+ 409,
+ 410,
+ 416,
+ 437,
+ 438,
+ 439,
+ 441,
+ 445,
+ 446,
+ 453,
+ 475,
+ 478,
+ 480,
+ 484,
+ 490,
+ 491,
+ 494,
+ 496,
+ 497,
+ 500,
+ 505,
+ 506,
+ 512,
+ 533,
+ 534,
+ 535,
+ 537,
+ 541,
+ 542,
+ 549,
+ 569,
+ 572,
+ 574,
+ 577,
+ 586,
+ 587,
+ 590,
+ 592,
+ 593,
+ 596,
+ 601,
+ 602,
+ 608,
+ 629,
+ 630,
+ 631,
+ 633,
+ 637,
+ 638,
+ 645,
+ 665,
+ 668,
+ 670,
+ 673,
+ 682,
+ 683,
+ 686,
+ 688,
+ 689,
+ 692,
+ 697,
+ 698,
+ 704,
+ 725,
+ 726,
+ 727,
+ 729,
+ 733,
+ 734,
+ 741,
+ 812,
+ 813,
+ 814,
+ 815,
+ 816,
+ 817,
+ 818,
+ 819,
+ -1
+};
diff --git a/src/data/battle_frontier/battle_frontier_trainers.h b/src/data/battle_frontier/battle_frontier_trainers.h
new file mode 100644
index 000000000..faef40656
--- /dev/null
+++ b/src/data/battle_frontier/battle_frontier_trainers.h
@@ -0,0 +1,2403 @@
+const struct BattleFrontierTrainer gBattleFrontierTrainers[] =
+{
+ [0] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("BRADY"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NEVER, EC_WORD_GOING, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_STRONG, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_WHAT, EC_WORD_QUES, 0xFFFF, EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Brady
+ },
+ [1] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("CONNER"),
+ .speechBefore = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_BUG, EC_WORD_ME, 0xFFFF, 0xFFFF},
+ .speechWin = {EC_WORD_A, EC_WORD_WIN, EC_WORD_IS, EC_WORD_JUST, EC_WORD_AWESOME, 0xFFFF},
+ .speechLose = {EC_WORD_DARN, EC_WORD_ELLIPSIS, EC_WORD_LOSING, EC_WORD_DOES, EC_WORD_BUG, EC_WORD_ME},
+ .monSets = gBattleFrontierTrainerMons_Conner
+ },
+ [2] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("BRADLEY"),
+ .speechBefore = {EC_WORD_HEY_THERE, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_MY, EC_WORD_OPPONENT, EC_WORD_TODAY},
+ .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, 0xFFFF, EC_WORD_SEE_YA, EC_WORD_LATER, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_TOMORROW, EC_WORD_IS, EC_WORD_WHEN, EC_WORD_WE, EC_WORD_REALLY, EC_WORD_BATTLE},
+ .monSets = gBattleFrontierTrainerMons_Bradley
+ },
+ [3] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("CYBIL"),
+ .speechBefore = {EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_NOT_VERY, EC_WORD_SCARY, EC_WORD_AT, EC_WORD_ALL},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_SAD, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOU, EC_MOVE2(STRUGGLE)},
+ .speechLose = {EC_WORD_THIS, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_TO_ME, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Cybil
+ },
+ [4] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("RODETTE"),
+ .speechBefore = {EC_WORD_OH, EC_WORD_THIS, EC_WORD_IS, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_INCREDIBLE, EC_WORD_HOW, EC_WORD_STRONG, EC_WORD_I_AM, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_OH_DEAR, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_NO, EC_WORD_GOOD},
+ .monSets = gBattleFrontierTrainerMons_Rodette
+ },
+ [5] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("PEGGY"),
+ .speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_TO, EC_WORD_BE, EC_WORD_DESTROYED, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_LOLLING, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_SAD, EC_WORD_THANKS, EC_WORD_TO, EC_WORD_YOU},
+ .monSets = gBattleFrontierTrainerMons_Peggy
+ },
+ [6] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
+ .trainerName = _("KEITH"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_JUST, EC_WORD_STUDY, EC_WORD_YOU, EC_WORD_KNOW},
+ .speechWin = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_STUDY, EC_WORD_ENOUGH, EC_WORD_ELLIPSIS, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Keith
+ },
+ [7] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
+ .trainerName = _("GRAYSON"),
+ .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_BATTLE, EC_WORD_ISN_T, EC_WORD_CHILD_S_PLAY, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_DONE, EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_WE, EC_WORD_WERE, EC_WORD_LIKE, EC_WORD_TOYS, EC_WORD_TO, EC_WORD_YOU},
+ .monSets = gBattleFrontierTrainerMons_Grayson
+ },
+ [8] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
+ .trainerName = _("GLENN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_COOL, EC_WORD_IF_I_WIN, 0xFFFF},
+ .speechWin = {EC_WORD_COOL, EC_WORD_EXCL, 0xFFFF, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_COOL},
+ .monSets = gBattleFrontierTrainerMons_Glenn
+ },
+ [9] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .trainerName = _("LILIANA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_GIVE_UP, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_WIN},
+ .speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_SURRENDER, EC_WORD_IN, EC_WORD_ME},
+ .speechLose = {EC_WORD_THAT_S, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_GIVE_UP, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Liliana
+ },
+ [10] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .trainerName = _("ELISE"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_IS, EC_WORD_FROM, EC_WORD_MY, EC_WORD_FATHER},
+ .speechWin = {EC_WORD_I, EC_WORD_WIN, EC_WORD_EXCL, EC_WORD_FATHER, EC_WORD_I_VE, EC_WORD_WON},
+ .speechLose = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_FATHER, EC_WORD_FOR, EC_WORD_I_VE, EC_WORD_LOST},
+ .monSets = gBattleFrontierTrainerMons_Elise
+ },
+ [11] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .trainerName = _("ZOEY"),
+ .speechBefore = {EC_WORD_PLEASE, EC_WORD_BATTLE, EC_WORD_LIKE, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_IT},
+ .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
+ .speechLose = {EC_WORD_WERE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_BEING, EC_WORD_SERIOUS, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Zoey
+ },
+ [12] = {
+ .facilityClass = FACILITY_CLASS_RICH_BOY,
+ .trainerName = _("MANUEL"),
+ .speechBefore = {EC_WORD_ME, EC_WORD_LOSE, EC_WORD_QUES, EC_WORD_THAT_S, EC_WORD_PREPOSTEROUS, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_NATURALLY, EC_WORD_I, EC_WORD_WIN, 0xFFFF, 0xFFFF, 0xFFFF},
+ .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_LOST, EC_WORD_MOTHER},
+ .monSets = gBattleFrontierTrainerMons_Manuel
+ },
+ [13] = {
+ .facilityClass = FACILITY_CLASS_RICH_BOY,
+ .trainerName = _("RUSS"),
+ .speechBefore = {EC_WORD_THEY, EC_WORD_ALL, EC_WORD_WANT, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_HAVE, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_PARTY},
+ .speechLose = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_DO, EC_WORD_THAT, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Russ
+ },
+ [14] = {
+ .facilityClass = FACILITY_CLASS_RICH_BOY,
+ .trainerName = _("DUSTIN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_COOL, EC_WORD_POKEMON, 0xFFFF},
+ .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_MYSELF, EC_WORD_WHEN_I_WIN, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_MYSELF, EC_WORD_IF_I_LOSE, EC_WORD_TOO, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Dustin
+ },
+ [15] = {
+ .facilityClass = FACILITY_CLASS_LADY,
+ .trainerName = _("TINA"),
+ .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(SWEET_KISS)},
+ .speechWin = {EC_WORD_HERE_IT_IS, EC_WORD_YOUR, EC_MOVE2(SWEET_KISS), EC_WORD_FROM, EC_WORD_MY, EC_POKEMON2(JYNX)},
+ .speechLose = {EC_WORD_YOU, EC_WORD_WANT, EC_WORD_A, EC_MOVE(SWIFT), EC_MOVE2(MEGA_KICK), EC_WORD_INSTEAD},
+ .monSets = gBattleFrontierTrainerMons_Tina
+ },
+ [16] = {
+ .facilityClass = FACILITY_CLASS_LADY,
+ .trainerName = _("GILLIAN"),
+ .speechBefore = {EC_WORD_THE, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_IS, EC_WORD_SO, EC_WORD_YESTERDAY},
+ .speechWin = {EC_WORD_POKEMON, EC_WORD_NEVER, EC_WORD_GO, EC_WORD_OUT, EC_WORD_OF, EC_WORD_FASHION},
+ .speechLose = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_DISAPPOINT, EC_WORD_ME, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Gillian
+ },
+ [17] = {
+ .facilityClass = FACILITY_CLASS_LADY,
+ .trainerName = _("ZOE"),
+ .speechBefore = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_A, EC_WORD_WORRY, EC_WORD_AT, EC_WORD_ALL},
+ .speechWin = {EC_WORD_LIFE, EC_WORD_IS, EC_WORD_ALWAYS, EC_WORD_GOOD, EC_WORD_TO_ME, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_WORRY, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SKILL},
+ .monSets = gBattleFrontierTrainerMons_Zoe
+ },
+ [18] = {
+ .facilityClass = FACILITY_CLASS_CAMPER,
+ .trainerName = _("CHEN"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_TOTALLY, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK, EC_WORD_TODAY},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_READY, EC_WORD_TO, EC_WORD_GO, EC_WORD_ON, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_MOVE(FOCUS_ENERGY), EC_WORD_AND, EC_WORD_TOUGHNESS},
+ .monSets = gBattleFrontierTrainerMons_Chen
+ },
+ [19] = {
+ .facilityClass = FACILITY_CLASS_CAMPER,
+ .trainerName = _("AL"),
+ .speechBefore = {EC_WORD_YOUR, EC_WORD_LOOK, EC_WORD_SAYS, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_TOUGH},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_ME, EC_WORD_WHO_IS, EC_WORD_REALLY, EC_WORD_TOUGH, 0xFFFF},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_RIGHT, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_REALLY, EC_WORD_TOUGH},
+ .monSets = gBattleFrontierTrainerMons_Al
+ },
+ [20] = {
+ .facilityClass = FACILITY_CLASS_CAMPER,
+ .trainerName = _("MITCH"),
+ .speechBefore = {EC_WORD_MOTHER, EC_WORD_NATURE, EC_WORD_IS, EC_WORD_MY, EC_WORD_ALLY, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_WAS, EC_WORD_THAT, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_YOU, EC_WORD_QUES},
+ .speechLose = {EC_WORD_MOTHER, EC_WORD_NATURE, EC_WORD_DIDN_T, EC_WORD_LET_ME_WIN, EC_WORD_QUES, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Mitch
+ },
+ [21] = {
+ .facilityClass = FACILITY_CLASS_PICNICKER,
+ .trainerName = _("ANNE"),
+ .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_LET_S, EC_WORD_BATTLE, EC_WORD_NOW},
+ .speechWin = {EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_IS, EC_WORD_OVERWHELMING, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Anne
+ },
+ [22] = {
+ .facilityClass = FACILITY_CLASS_PICNICKER,
+ .trainerName = _("ALIZE"),
+ .speechBefore = {EC_WORD_CUTE, EC_WORD_AND, EC_WORD_AWFULLY, EC_WORD_STRONG, EC_WORD_THAT_S, EC_WORD_ME},
+ .speechWin = {EC_WORD_YUP, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_AND, EC_WORD_AWFULLY, EC_WORD_STRONG},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_WEAK, EC_WORD_ELLIPSIS, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_CUTE},
+ .monSets = gBattleFrontierTrainerMons_Alize
+ },
+ [23] = {
+ .facilityClass = FACILITY_CLASS_PICNICKER,
+ .trainerName = _("LAUREN"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_ALSO, EC_WORD_GOOD},
+ .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_I_WAS, EC_WORD_OLD, EC_WORD_BUT, EC_WORD_GOOD},
+ .speechLose = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_WEIRD, EC_WORD_DREAM, EC_WORD_THAT_WAS, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Lauren
+ },
+ [24] = {
+ .facilityClass = FACILITY_CLASS_TUBER_M,
+ .trainerName = _("KIPP"),
+ .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GO, EC_MOVE2(SURF)},
+ .speechWin = {EC_WORD_YEAH, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_OFF, EC_WORD_TO, EC_MOVE2(SURF)},
+ .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Kipp
+ },
+ [25] = {
+ .facilityClass = FACILITY_CLASS_TUBER_M,
+ .trainerName = _("JASON"),
+ .speechBefore = {EC_WORD_TEACH, EC_WORD_ME, EC_WORD_A, EC_WORD_GOOD, EC_WORD_STRATEGY, 0xFFFF},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_YOUR, EC_WORD_GOOD, EC_WORD_STRATEGY, EC_WORD_QUES_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_WOW, EC_WORD_THAT, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWESOME, EC_WORD_STRATEGY},
+ .monSets = gBattleFrontierTrainerMons_Jason
+ },
+ [26] = {
+ .facilityClass = FACILITY_CLASS_TUBER_M,
+ .trainerName = _("JOHN"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_PRETTY, EC_WORD_NEW, EC_WORD_TRAINER, 0xFFFF},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_BUT, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_NEW, EC_WORD_SO, EC_WORD_WHAT, EC_WORD_IF_I_LOSE, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_John
+ },
+ [27] = {
+ .facilityClass = FACILITY_CLASS_TUBER_F,
+ .trainerName = _("ANN"),
+ .speechBefore = {EC_WORD_IT_S, EC_WORD_SO, EC_WORD_EXCITING, EC_WORD_IT, EC_WORD_REALLY, EC_WORD_IS},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_I, EC_WORD_CAN, EC_WORD_CRY},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SAD, EC_WORD_I, EC_WORD_WILL, EC_WORD_CRY},
+ .monSets = gBattleFrontierTrainerMons_Ann
+ },
+ [28] = {
+ .facilityClass = FACILITY_CLASS_TUBER_F,
+ .trainerName = _("EILEEN"),
+ .speechBefore = {EC_WORD_LET_S, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_OK_QUES},
+ .speechWin = {EC_WORD_SO, EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_FEELING},
+ .speechLose = {EC_WORD_AN, EC_WORD_ADULT, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Eileen
+ },
+ [29] = {
+ .facilityClass = FACILITY_CLASS_TUBER_F,
+ .trainerName = _("CARLIE"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_VACATION, EC_WORD_IS, EC_WORD_FOR, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_MY, EC_WORD_SUMMER, EC_WORD_VACATION, EC_WORD_WILL, EC_WORD_BE, EC_WORD_AWESOME},
+ .speechLose = {EC_WORD_I, EC_WORD_CAN_T_WIN, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Carlie
+ },
+ [30] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_M,
+ .trainerName = _("GORDON"),
+ .speechBefore = {EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_COME, EC_WORD_TO_ME, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_OH_YEAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_REALLY, EC_WORD_WON},
+ .speechLose = {EC_WORD_NOTHING, EC_WORD_IS, EC_WORD_WORKING, EC_WORD_OUT, EC_WORD_FOR, EC_WORD_ME},
+ .monSets = gBattleFrontierTrainerMons_Gordon
+ },
+ [31] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_M,
+ .trainerName = _("AYDEN"),
+ .speechBefore = {EC_WORD_COME_ON, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_HOT, EC_WORD_BATTLE},
+ .speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_WATER, EC_WORD_TO, EC_WORD_COOL, EC_WORD_DOWN},
+ .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_ICE, EC_WORD_COLD},
+ .monSets = gBattleFrontierTrainerMons_Ayden
+ },
+ [32] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_M,
+ .trainerName = _("MARCO"),
+ .speechBefore = {EC_WORD_I, EC_MOVE2(SURF), EC_WORD_IN, EC_WORD_THE, EC_WORD_WINTER, EC_WORD_TOO},
+ .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_MOVE2(SURF), EC_WORD_RIGHT, EC_WORD_NOW},
+ .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(BEAT_UP), EC_WORD_MY, EC_MOVE2(SURF), EC_WORD_BOARD},
+ .monSets = gBattleFrontierTrainerMons_Marco
+ },
+ [33] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_F,
+ .trainerName = _("CIERRA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_SYNCHRONIZE, EC_WORD_MY, EC_WORD_SWIFT_SWIM},
+ .speechWin = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_SYNCHRONIZE, EC_WORD_WITH, EC_WORD_ME, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_SYNCHRONIZE, EC_WORD_BETTER, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Cierra
+ },
+ [34] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_F,
+ .trainerName = _("MARCY"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_KNOCKOUT, EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_AFTER, EC_WORD_ALL, EC_WORD_I_AM, EC_WORD_A, EC_WORD_KNOCKOUT, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_THAT_S, EC_WORD_NOT, EC_WORD_THE, EC_WORD_KNOCKOUT, EC_WORD_I, EC_WORD_MEAN},
+ .monSets = gBattleFrontierTrainerMons_Marcy
+ },
+ [35] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_F,
+ .trainerName = _("KATHY"),
+ .speechBefore = {EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EVERY, EC_WORD_MATCH, EC_WORD_TODAY, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_SO, EC_WORD_GREAT, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_HUH_QUES, EC_WORD_I, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_HAVE, EC_WORD_LOST},
+ .monSets = gBattleFrontierTrainerMons_Kathy
+ },
+ [36] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("PEYTON"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NEVER, EC_WORD_DISAPPOINTED, EC_WORD_WITH, EC_WORD_MY, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_IF, EC_WORD_WE, EC_WORD_WIN, EC_WORD_TOGETHER},
+ .speechLose = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_MORE, EC_WORD_IF_I_LOSE},
+ .monSets = gBattleFrontierTrainerMons_Peyton
+ },
+ [37] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("JULIAN"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_RIGHT, EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOTALLY, EC_WORD_OUT, EC_WORD_OF, EC_WORD_THE, EC_WORD_QUESTION},
+ .speechLose = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Julian
+ },
+ [38] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("QUINN"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_BUT, EC_WORD_A, EC_WORD_DREAM},
+ .speechWin = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_BEAUTIFUL, EC_WORD_DREAM, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_AN, EC_WORD_AWFUL, EC_MOVE(NIGHTMARE), EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Quinn
+ },
+ [39] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("HAYLEE"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_I_AM, EC_WORD_FEELING},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_OVERWHELMING, EC_WORD_JOY, EC_WORD_OVER, EC_WORD_THIS},
+ .speechLose = {EC_WORD_DESTROYED, EC_WORD_IS, EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_FEELING},
+ .monSets = gBattleFrontierTrainerMons_Haylee
+ },
+ [40] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("AMANDA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_COME, EC_WORD_FROM, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_FAMILY},
+ .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_TREASURE, EC_WORD_THIS, EC_WORD_WIN, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO_HOME, EC_WORD_RIGHT, EC_WORD_NOW},
+ .monSets = gBattleFrontierTrainerMons_Amanda
+ },
+ [41] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("STACY"),
+ .speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_THEIR, EC_WORD_OWN, EC_WORD_CUTE_CHARM},
+ .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_WHAT, EC_WORD_I, EC_WORD_MEAN, EC_WORD_QUES},
+ .speechLose = {EC_WORD_SHOULD, EC_WORD_I, EC_WORD_NOT, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Stacy
+ },
+ [42] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
+ .trainerName = _("RAFAEL"),
+ .speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_SOME, EC_WORD_SPIRIT},
+ .speechWin = {EC_WORD_THAT_S_IT_EXCL, EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_SPIRIT, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_WELL, EC_WORD_SO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_OUR, EC_WORD_SPIRIT},
+ .monSets = gBattleFrontierTrainerMons_Rafael
+ },
+ [43] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
+ .trainerName = _("OLIVER"),
+ .speechBefore = {EC_WORD_A, EC_WORD_GENIUS, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_WORKS, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_THAN, EC_WORD_I_AM},
+ .monSets = gBattleFrontierTrainerMons_Oliver
+ },
+ [44] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
+ .trainerName = _("PAYTON"),
+ .speechBefore = {EC_WORD_I, EC_WORD_TRAIN, EC_WORD_FROM, EC_WORD_THE, EC_WORD_EGG, EC_WORD_UP},
+ .speechWin = {EC_WORD_WELL, EC_WORD_DONE, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_A, EC_MOVE2(SOFT_BOILED), EC_WORD_LOSS, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Payton
+ },
+ [45] = {
+ .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ .trainerName = _("PAMELA"),
+ .speechBefore = {EC_WORD_ALL, EC_WORD_POKEMON, EC_WORD_ADORE, EC_WORD_A, EC_WORD_KIND, EC_WORD_TRAINER},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_TOO, EC_WORD_BAD, EC_WORD_YOU, EC_WORD_LOST, 0xFFFF},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_KIND, EC_WORD_AND, EC_WORD_YOU_RE, EC_WORD_ALSO, EC_WORD_STRONG},
+ .monSets = gBattleFrontierTrainerMons_Pamela
+ },
+ [46] = {
+ .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ .trainerName = _("ELIZA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_POKEMON, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_CHILDREN},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POKEMON},
+ .speechLose = {EC_WORD_OH_DEAR, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_WORD_ABOUT, EC_WORD_THIS},
+ .monSets = gBattleFrontierTrainerMons_Eliza
+ },
+ [47] = {
+ .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ .trainerName = _("MARISA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, 0xFFFF},
+ .speechWin = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BETTER},
+ .speechLose = {EC_WORD_PROMISE, EC_WORD_ME, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_PLEASE, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Marisa
+ },
+ [48] = {
+ .facilityClass = FACILITY_CLASS_BUG_CATCHER,
+ .trainerName = _("LEWIS"),
+ .speechBefore = {EC_WORD_A_LITTLE, EC_WORD_BUG, EC_WORD_IS, EC_WORD_SCARY, EC_WORD_QUES, EC_WORD_HAHAHA},
+ .speechWin = {EC_WORD_LOOK, EC_WORD_LOOK, EC_WORD_EXCL, EC_WORD_A, EC_WORD_SCARY, EC_WORD_BUG},
+ .speechLose = {EC_WORD_OH, EC_WORD_A, EC_WORD_BUG, EC_WORD_ISN_T, EC_WORD_SCARY, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Lewis
+ },
+ [49] = {
+ .facilityClass = FACILITY_CLASS_BUG_CATCHER,
+ .trainerName = _("YOSHI"),
+ .speechBefore = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_LOVEY_DOVEY},
+ .speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_THE, EC_WORD_BEST, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_IGNORANT, EC_WORD_ABOUT, EC_WORD_BUG, EC_WORD_POKEMON, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Yoshi
+ },
+ [50] = {
+ .facilityClass = FACILITY_CLASS_BUG_CATCHER,
+ .trainerName = _("DESTIN"),
+ .speechBefore = {EC_WORD_IT_S, EC_WORD_WAY, EC_WORD_TOO, EC_WORD_HOT, EC_WORD_HERE, 0xFFFF},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_ABOUT, EC_WORD_TO, EC_MOVE(OVERHEAT), 0xFFFF, 0xFFFF},
+ .speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_WATER, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Destin
+ },
+ [51] = {
+ .facilityClass = FACILITY_CLASS_NINJA_BOY,
+ .trainerName = _("KEON"),
+ .speechBefore = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_BUT, EC_WORD_HERE_I_COME, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_FOR, EC_WORD_MY, EC_WORD_OVERWHELMING, EC_WORD_POWER},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Keon
+ },
+ [52] = {
+ .facilityClass = FACILITY_CLASS_NINJA_BOY,
+ .trainerName = _("STUART"),
+ .speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_YOU, EC_WORD_A, EC_WORD_HOT, EC_WORD_BATTLE},
+ .speechWin = {EC_WORD_THE, EC_WORD_MASTER, EC_WORD_OF, EC_WORD_COOL, EC_WORD_THAT_S, EC_WORD_ME},
+ .speechLose = {EC_WORD_I, EC_WORD_SEE, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_SO, EC_WORD_COOL},
+ .monSets = gBattleFrontierTrainerMons_Stuart
+ },
+ [53] = {
+ .facilityClass = FACILITY_CLASS_NINJA_BOY,
+ .trainerName = _("NESTOR"),
+ .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_A, EC_WORD_REALLY, EC_WORD_SMOOTH, EC_WORD_MOVE},
+ .speechWin = {EC_WORD_THERE, EC_WORD_WAS, EC_WORD_NOTHING, EC_WORD_SMOOTH, EC_WORD_ABOUT, EC_WORD_THAT},
+ .speechLose = {EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_ARE, EC_WORD_SMOOTH, EC_WORD_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Nestor
+ },
+ [54] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("DERRICK"),
+ .speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOU, EC_MOVE2(MEDITATE), EC_WORD_LIKE, EC_WORD_ME},
+ .speechWin = {EC_WORD_HOW, EC_WORD_I, EC_MOVE2(MEDITATE), EC_WORD_IS, EC_WORD_JUST, EC_WORD_BEAUTIFUL},
+ .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(MEDITATE), EC_WORD_FOR, EC_WORD_A, EC_MOVE2(CALM_MIND)},
+ .monSets = gBattleFrontierTrainerMons_Derrick
+ },
+ [55] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("BRYSON"),
+ .speechBefore = {EC_MOVE2(POISON_POWDER), EC_WORD_IS, EC_WORD_IN, EC_WORD_OUR, EC_MOVE2(COTTON_SPORE), EC_WORD_MOVE},
+ .speechWin = {EC_WORD_HOW_DO, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_OUR, EC_MOVE2(POISON_POWDER), EC_WORD_QUES},
+ .speechLose = {EC_WORD_MY, EC_MOVE2(COTTON_SPORE), EC_WORD_WAS, EC_WORD_USELESS, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Bryson
+ },
+ [56] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("CLAYTON"),
+ .speechBefore = {EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF, EC_WORD_WHERE, EC_WORD_IS_IT_QUES, 0xFFFF},
+ .speechWin = {EC_WORD_WHERE, EC_WORD_IS_IT_QUES, EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_WORD_POKENAV},
+ .speechLose = {EC_WORD_WHERE, EC_WORD_IS_IT_QUES, EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_MY, EC_WORD_SENSE},
+ .monSets = gBattleFrontierTrainerMons_Clayton
+ },
+ [57] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("TRENTON"),
+ .speechBefore = {EC_WORD_COME_OVER, EC_WORD_FOR, EC_WORD_SOME, EC_WORD_TASTY, EC_WORD_WATER, 0xFFFF},
+ .speechWin = {EC_WORD_MMM, EC_WORD_DO, EC_WORD_YOU, EC_WORD_WANT, EC_WORD_SOME, EC_WORD_QUES},
+ .speechLose = {EC_WORD_I, EC_WORD_GOT, EC_WORD_THIS, EC_WORD_TASTY, EC_WORD_WATER, EC_WORD_SHOPPING},
+ .monSets = gBattleFrontierTrainerMons_Trenton
+ },
+ [58] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("JENSON"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_DOWNCAST},
+ .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_THE, EC_MOVE(CUT)},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_TRAINER, EC_WORD_WHO_IS, EC_WORD_FEELING, EC_WORD_DOWNCAST},
+ .monSets = gBattleFrontierTrainerMons_Jenson
+ },
+ [59] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("WESLEY"),
+ .speechBefore = {EC_POKEMON2(MEW), EC_POKEMON2(MEW), EC_WORD_IS, EC_WORD_HOW, EC_WORD_I, EC_WORD_CRY},
+ .speechWin = {EC_WORD_YES, EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_EXCL},
+ .speechLose = {EC_POKEMON2(MEW), EC_POKEMON2(MEW), EC_WORD_EXCL, EC_POKEMON2(MEW), EC_WORD_EXCL_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Wesley
+ },
+ [60] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("ANTON"),
+ .speechBefore = {EC_WORD_GET, EC_WORD_READY, EC_WORD_FOR, EC_WORD_ME, EC_WORD_TO, EC_MOVE(THRASH)},
+ .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_SORRY, EC_WORD_ABOUT, EC_WORD_THAT, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_LOSS, EC_WORD_TO, EC_MOVE2(SWALLOW)},
+ .monSets = gBattleFrontierTrainerMons_Anton
+ },
+ [61] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("LAWSON"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_YOUNG, EC_WORD_AT, EC_WORD_HEART, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_NOT, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NOT, EC_WORD_AT, EC_WORD_ALL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_OLD, EC_WORD_AND, EC_WORD_FEELING, EC_WORD_SHAKY, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Lawson
+ },
+ [62] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("SAMMY"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_PARTY, EC_WORD_IS, EC_WORD_READY, EC_WORD_TO, EC_WORD_ROCK},
+ .speechWin = {EC_WORD_MY, EC_WORD_PARTY, EC_WORD_IS, EC_WORD_JUST, EC_WORD_INCREDIBLE, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_CRY, EC_WORD_FOR, EC_WORD_MY, EC_WORD_PARTY, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Sammy
+ },
+ [63] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("ARNIE"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_I, EC_WORD_HAVE, EC_WORD_NO, EC_WORD_RIVAL},
+ .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE},
+ .speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WON_T, EC_WORD_ACCEPT, EC_WORD_THIS},
+ .monSets = gBattleFrontierTrainerMons_Arnie
+ },
+ [64] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("ADRIAN"),
+ .speechBefore = {EC_WORD_YAHOO, EC_WORD_EXCL, 0xFFFF, EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_GOOD_BYE, EC_WORD_EXCL, 0xFFFF, EC_WORD_GOOD_BYE, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Adrian
+ },
+ [65] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("TRISTAN"),
+ .speechBefore = {EC_WORD_CONFUSED, EC_WORD_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS},
+ .speechWin = {EC_WORD_SEE, EC_WORD_QUES, 0xFFFF, EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_IN, EC_WORD_BATTLE},
+ .monSets = gBattleFrontierTrainerMons_Tristan
+ },
+ [66] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("JULIANA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_SHOPPING, EC_WORD_TOO, EC_WORD_MUCH},
+ .speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL},
+ .speechLose = {EC_WORD_I, EC_WORD_SO, EC_WORD_WANT, EC_WORD_ANOTHER, EC_WORD_POKEMON, EC_WORD_PLUSH_DOLL},
+ .monSets = gBattleFrontierTrainerMons_Juliana
+ },
+ [67] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("RYLEE"),
+ .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GUTS},
+ .speechWin = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_NO, EC_WORD_GUTS},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_GUTSY, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_SUPER},
+ .monSets = gBattleFrontierTrainerMons_Rylee
+ },
+ [68] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("CHELSEA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_SERIOUSLY, EC_WORD_MEAN, EC_WORD_TO, EC_WORD_WIN, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_MY, EC_WORD_WILL, EC_WORD_TO, EC_WORD_WIN, 0xFFFF},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_FAR, EC_WORD_TOO_STRONG, EC_WORD_FOR, EC_WORD_ME, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Chelsea
+ },
+ [69] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("DANELA"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_MUST_BE, EC_WORD_MY, EC_WORD_OPPONENT, EC_WORD_NOW, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_OH_DEAR, EC_WORD_TOO_WEAK, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_GIVE_UP, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_GOOD, EC_WORD_AND, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
+ .monSets = gBattleFrontierTrainerMons_Danela
+ },
+ [70] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("LIZBETH"),
+ .speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_YOU, EC_WORD_CAN, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(PRESENT)},
+ .speechWin = {EC_WORD_HERE_IT_IS, EC_WORD_A_LITTLE, EC_WORD_PRAISE, EC_WORD_AS, EC_WORD_YOUR, EC_MOVE2(PRESENT)},
+ .speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES_EXCL, EC_WORD_HERE_IT_IS, EC_WORD_A, EC_MOVE(DOUBLE_SLAP)},
+ .monSets = gBattleFrontierTrainerMons_Lizbeth
+ },
+ [71] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("AMELIA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_CUTE, EC_WORD_FASHION, EC_WORD_APPEAL},
+ .speechWin = {EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_A, EC_WORD_DISASTER},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_AWFUL, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_HOME},
+ .monSets = gBattleFrontierTrainerMons_Amelia
+ },
+ [72] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("JILLIAN"),
+ .speechBefore = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_THAT, EC_WORD_I, EC_WORD_SMELL, EC_WORD_QUES},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_THE, EC_MOVE(SWEET_SCENT), EC_WORD_OF, EC_WORD_TASTY, EC_WORD_WATER},
+ .speechLose = {EC_WORD_IT_S, EC_WORD_YOUR, EC_WORD_OFFENSIVE, EC_WORD_STENCH, EC_WORD_THAT_S, EC_WORD_WHAT},
+ .monSets = gBattleFrontierTrainerMons_Jillian
+ },
+ [73] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("ABBIE"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_TRY, EC_WORD_MY, EC_WORD_SECRET, EC_MOVE(AROMATHERAPY), EC_WORD_OK_QUES},
+ .speechWin = {EC_WORD_MY, EC_MOVE(AROMATHERAPY), EC_WORD_IS, EC_WORD_TERRIBLE, EC_WORD_FOR, EC_WORD_YOU},
+ .speechLose = {EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_SMELL, EC_WORD_A, EC_WORD_THING, EC_WORD_QUES_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Abbie
+ },
+ [74] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("BRIANA"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_WORKS, EC_WORD_TOO, EC_WORD_MUCH},
+ .speechWin = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_MISS, EC_WORD_HIM, EC_WORD_MORE, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_LONESOME, EC_WORD_WITHOUT, EC_WORD_HIM, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Briana
+ },
+ [75] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("ANTONIO"),
+ .speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_TO, EC_WORD_GO, EC_WORD_GO},
+ .speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_DON_T, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_DANCE},
+ .speechLose = {EC_WORD_GO, EC_WORD_GO, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_MOVE(FLAIL), EC_WORD_ABOUT},
+ .monSets = gBattleFrontierTrainerMons_Antonio
+ },
+ [76] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("JADEN"),
+ .speechBefore = {EC_WORD_HELLO, EC_WORD_I, EC_WORD_THINK, EC_WORD_I, EC_WORD_ADORE, EC_WORD_YOU},
+ .speechWin = {EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_MOVE(THRASH), EC_WORD_IN, EC_MOVE2(FRUSTRATION)},
+ .speechLose = {EC_WORD_THIS_IS_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_GOOD_BYE, EC_WORD_FOREVER, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Jaden
+ },
+ [77] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("DAKOTA"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_DANCE, EC_WORD_WITH, EC_WORD_POWER},
+ .speechWin = {EC_WORD_GOT, EC_WORD_IT, EC_WORD_QUES, EC_WORD_DANCE, EC_WORD_WITH, EC_WORD_POWER},
+ .speechLose = {EC_WORD_OKAY, EC_WORD_YOU, EC_WORD_UNDERSTAND, EC_WORD_ALL_RIGHT, EC_WORD_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Dakota
+ },
+ [78] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("BRAYDEN"),
+ .speechBefore = {EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ARE, EC_WORD_USELESS, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_COLLECT, EC_WORD_NORMAL, EC_WORD_VERSION, EC_WORD_TOYS},
+ .speechLose = {EC_WORD_I, EC_MOVE2(ATTRACT), EC_WORD_COLOR_CHANGE, EC_WORD_VERSION, EC_WORD_TOYS, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Brayden
+ },
+ [79] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("CORSON"),
+ .speechBefore = {EC_WORD_I, EC_WORD_GET, EC_WORD_TO, EC_MOVE2(BEAT_UP), EC_WORD_ON, EC_WORD_YOU},
+ .speechWin = {EC_WORD_TOO, EC_WORD_EASY, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_COOL},
+ .speechLose = {EC_WORD_WHY, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_I, EC_MOVE2(CURSE), EC_WORD_YOU},
+ .monSets = gBattleFrontierTrainerMons_Corson
+ },
+ [80] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("TREVIN"),
+ .speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NONE, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_ME},
+ .speechWin = {EC_WORD_YES_SIR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST},
+ .speechLose = {EC_WORD_SERIOUS, EC_WORD_QUES_EXCL, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Trevin
+ },
+ [81] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("PATRICK"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_PERFECT, EC_WORD_EXCL, EC_WORD_GIVE_UP, EC_WORD_NOW, 0xFFFF},
+ .speechWin = {EC_WORD_DON_T, EC_WORD_BE, EC_WORD_DISAPPOINTED, EC_WORD_I_AM, EC_WORD_PERFECT, 0xFFFF},
+ .speechLose = {EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_PERFECT, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Patrick
+ },
+ [82] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("KADEN"),
+ .speechBefore = {EC_WORD_WHAT, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_UP, EC_WORD_TO, EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOU, EC_WORD_WERE, EC_WORD_A, EC_WORD_SURPRISE, EC_WORD_TO_ME, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_WHO, EC_WORD_I_AM, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Kaden
+ },
+ [83] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("MAXWELL"),
+ .speechBefore = {EC_WORD_HEY_THERE, EC_WORD_WHO_IS, EC_WORD_YOUR, EC_WORD_RIVAL, EC_WORD_QUES, 0xFFFF},
+ .speechWin = {EC_WORD_MY, EC_WORD_RIVAL, EC_WORD_IS, EC_WORD_MY, EC_WORD_GIRL, EC_WORD_FRIEND},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_MAKING, EC_WORD_YOU, EC_WORD_MY, EC_WORD_RIVAL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Maxwell
+ },
+ [84] = {
+ .facilityClass = FACILITY_CLASS_HIKER,
+ .trainerName = _("DARYL"),
+ .speechBefore = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_TO, EC_MOVE(CHARGE)},
+ .speechWin = {EC_WORD_AM, EC_WORD_I, EC_WORD_OVERWHELMING, EC_WORD_OR, EC_WORD_WHAT, EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_A, EC_WORD_LEGEND, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Daryl
+ },
+ [85] = {
+ .facilityClass = FACILITY_CLASS_HIKER,
+ .trainerName = _("KENNETH"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_BETTER, EC_WORD_NOT, EC_MOVE2(SLACK_OFF), EC_WORD_WITH, EC_WORD_ME},
+ .speechWin = {EC_WORD_DID, EC_WORD_MY, EC_MOVE2(TAUNT), EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Kenneth
+ },
+ [86] = {
+ .facilityClass = FACILITY_CLASS_HIKER,
+ .trainerName = _("RICH"),
+ .speechBefore = {EC_WORD_YOUR, EC_MOVE(FACADE), EC_WORD_DOESN_T, EC_MOVE2(TRICK), EC_WORD_ME, 0xFFFF},
+ .speechWin = {EC_WORD_SERIOUSLY, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_OK_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_REALLY, EC_WORD_TOUGH, EC_WORD_ON, EC_WORD_ME, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Rich
+ },
+ [87] = {
+ .facilityClass = FACILITY_CLASS_KINDLER,
+ .trainerName = _("CADEN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_DEFEATED, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_FIRE, EC_WORD_EXCL, 0xFFFF, EC_WORD_FIRE, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_SO, EC_WORD_HOT},
+ .monSets = gBattleFrontierTrainerMons_Caden
+ },
+ [88] = {
+ .facilityClass = FACILITY_CLASS_KINDLER,
+ .trainerName = _("MARLON"),
+ .speechBefore = {EC_WORD_A, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_A_LITTLE, EC_WORD_RADIO, EC_WORD_QUES},
+ .speechWin = {EC_WORD_A_LITTLE, EC_WORD_RADIO, EC_WORD_HUH_QUES, EC_WORD_THAT_S, EC_WORD_TOTALLY, EC_WORD_COOL},
+ .speechLose = {EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_QUES, EC_WORD_IS, EC_WORD_POKENAV, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Marlon
+ },
+ [89] = {
+ .facilityClass = FACILITY_CLASS_KINDLER,
+ .trainerName = _("NASH"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_BABY, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_I, EC_WORD_LEFT, EC_WORD_YOU, EC_WORD_JUST, EC_WORD_AN, EC_MOVE2(EMBER)},
+ .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_WATER, EC_WORD_PLEASE},
+ .monSets = gBattleFrontierTrainerMons_Nash
+ },
+ [90] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
+ .trainerName = _("ROBBY"),
+ .speechBefore = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_HAPPY, EC_WORD_TO, EC_WORD_MEET_YOU, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_LEADER, EC_WORD_WITH, EC_WORD_REFRESHING, EC_WORD_SERENE_GRACE},
+ .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(THRASH), EC_WORD_MY, EC_WORD_TOYS, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Robby
+ },
+ [91] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
+ .trainerName = _("REECE"),
+ .speechBefore = {EC_WORD_MY, EC_MOVE2(QUICK_ATTACK), EC_WORD_CAN, EC_WORD_BEAT, EC_WORD_A, EC_MOVE2(TELEPORT)},
+ .speechWin = {EC_WORD_LIKE, EC_WORD_I, EC_WORD_SAID, EC_WORD_I_AM, EC_WORD_DARN, EC_WORD_FAST},
+ .speechLose = {EC_WORD_I_WAS, EC_WORD_KIDDING, EC_WORD_ABOUT, EC_WORD_THAT, EC_MOVE2(TELEPORT), EC_WORD_THING},
+ .monSets = gBattleFrontierTrainerMons_Reece
+ },
+ [92] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
+ .trainerName = _("KATHRYN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_TRAIN, EC_WORD_GOOD, EC_WORD_ENOUGH, EC_WORD_QUES},
+ .speechWin = {EC_WORD_DON_T, EC_MOVE2(TAUNT), EC_WORD_ME, EC_WORD_LIKE, EC_WORD_THAT, EC_WORD_OK_QUES},
+ .speechLose = {EC_WORD_WHY, EC_WORD_COULDN_T, EC_WORD_I, EC_WORD_WIN, EC_WORD_THIS, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Kathryn
+ },
+ [93] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
+ .trainerName = _("ELLEN"),
+ .speechBefore = {EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_AN, EC_WORD_EGG, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_A, EC_WORD_TASTY, EC_WORD_VICTORY, EC_WORD_FOR, EC_WORD_ME},
+ .speechLose = {EC_WORD_TOO, EC_WORD_TOUGH, EC_WORD_TO, EC_WORD_CRUSH, EC_WORD_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Ellen
+ },
+ [94] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
+ .trainerName = _("RAMON"),
+ .speechBefore = {EC_WORD_OKAY, EC_WORD_EXCL, 0xFFFF, EC_WORD_THIS, EC_WORD_IS, EC_WORD_PERFECTION},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_THAT, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_SECRET, EC_WORD_WHY, EC_WORD_I_AM, EC_WORD_HAPPY},
+ .monSets = gBattleFrontierTrainerMons_Ramon
+ },
+ [95] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
+ .trainerName = _("ARTHUR"),
+ .speechBefore = {EC_WORD_HERE_I_COME, EC_WORD_FEELING, EC_WORD_READY, EC_WORD_FOR, EC_WORD_IT, EC_WORD_ALL},
+ .speechWin = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_THAT_WAS, EC_WORD_FABULOUS, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_NOT, EC_WORD_WHAT, EC_WORD_I, EC_WORD_NEED, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Arthur
+ },
+ [96] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
+ .trainerName = _("ALONDRA"),
+ .speechBefore = {EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_IS, EC_WORD_A, EC_WORD_GREAT, EC_WORD_DAY},
+ .speechWin = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_WILL, EC_WORD_BE, EC_WORD_A, EC_WORD_LEGEND},
+ .speechLose = {EC_WORD_MY, EC_MOVE2(DIVE), EC_WORD_LEFT, EC_WORD_ME, EC_WORD_COLD, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Alondra
+ },
+ [97] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
+ .trainerName = _("ADRIANA"),
+ .speechBefore = {EC_WORD_COME, EC_WORD_SEE, EC_WORD_AN, EC_WORD_INCREDIBLE, EC_WORD_SWIFT_SWIM, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_I, EC_WORD_MAKE, EC_WORD_IT, EC_WORD_LOOK, EC_WORD_SO, EC_WORD_EASY},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_MOVE2(BEAT_UP), EC_WORD_AND, EC_WORD_TIRED, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Adriana
+ },
+ [98] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
+ .trainerName = _("MALIK"),
+ .speechBefore = {EC_WORD_OH, EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_PLEASE, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_WON, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_TIRED},
+ .speechLose = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_TIRED},
+ .monSets = gBattleFrontierTrainerMons_Malik
+ },
+ [99] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
+ .trainerName = _("JILL"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_WINS, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_THE, EC_MOVE2(QUICK_ATTACK), EC_WORD_TRAINER, EC_WORD_GIVES, EC_WORD_UP, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Jill
+ },
+ [100] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
+ .trainerName = _("ERIK"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_THANK_YOU, EC_WORD_FROM, EC_WORD_THE, EC_WORD_SPEED_BOOST, EC_WORD_HERO, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Erik
+ },
+ [101] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
+ .trainerName = _("YAZMIN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_RUN, EC_WORD_THAN, EC_WORD_BIKE},
+ .speechWin = {EC_WORD_YES, EC_WORD_I, EC_WORD_WOULD, EC_WORD_MUCH, EC_WORD_RATHER, EC_WORD_RUN},
+ .speechLose = {EC_WORD_BYE_BYE, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_RUN_AWAY},
+ .monSets = gBattleFrontierTrainerMons_Yazmin
+ },
+ [102] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
+ .trainerName = _("JAMAL"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_FATHER},
+ .speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_FOR, EC_WORD_MY, EC_WORD_BABY},
+ .speechLose = {EC_WORD_MY, EC_WORD_BABY, EC_WORD_WILL, EC_WORD_BE, EC_WORD_TOTALLY, EC_WORD_AWESOME},
+ .monSets = gBattleFrontierTrainerMons_Jamal
+ },
+ [103] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
+ .trainerName = _("LESLIE"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_BE, EC_WORD_A, EC_WORD_MOTHER},
+ .speechWin = {EC_WORD_A, EC_WORD_BABY, EC_WORD_WILL, EC_WORD_BE, EC_WORD_A_LITTLE, EC_WORD_CHALLENGE},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_HAPPY, EC_WORD_TO, EC_WORD_BE, EC_WORD_ANGRY},
+ .monSets = gBattleFrontierTrainerMons_Leslie
+ },
+ [104] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
+ .trainerName = _("DAVE"),
+ .speechBefore = {EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_TODAY, EC_WORD_QUES},
+ .speechWin = {EC_WORD_I, EC_WORD_SHOULD, EC_WORD_ENJOY, EC_WORD_SOME, EC_WORD_SPORTS, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_WORD_PLAY, EC_WORD_A, EC_WORD_GAME},
+ .monSets = gBattleFrontierTrainerMons_Dave
+ },
+ [105] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
+ .trainerName = _("CARLO"),
+ .speechBefore = {EC_WORD_HAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_I, EC_WORD_DO, EC_WORD_THINGS, EC_WORD_AT, EC_MOVE(EXTREME_SPEED), EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_LOST, EC_WORD_AT, EC_MOVE(EXTREME_SPEED), EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Carlo
+ },
+ [106] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
+ .trainerName = _("EMILIA"),
+ .speechBefore = {EC_WORD_ME, EC_WORD_WORRY, EC_WORD_QUES, EC_WORD_I, EC_WORD_HAVE, EC_WORD_NONE},
+ .speechWin = {EC_WORD_AHAHA, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THAT_WAS, EC_WORD_FANTASTIC, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_AHAHA, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THAT_WAS, EC_WORD_ENTERTAINING, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Emilia
+ },
+ [107] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
+ .trainerName = _("DALIA"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_IS, EC_WORD_VERY, EC_WORD_EXPENSIVE, 0xFFFF},
+ .speechWin = {EC_WORD_DON_T, EC_WORD_COME, EC_WORD_NEAR, EC_WORD_MY, EC_WORD_BIKE, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_MY, EC_WORD_BIKE, EC_WORD_IS, EC_WORD_MY, EC_WORD_BEST, EC_WORD_FRIEND},
+ .monSets = gBattleFrontierTrainerMons_Dalia
+ },
+ [108] = {
+ .facilityClass = FACILITY_CLASS_BLACK_BELT,
+ .trainerName = _("HITOMI"),
+ .speechBefore = {EC_WORD_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_HAH, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES_EXCL},
+ .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL_EXCL, 0xFFFF, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_EXCL_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Hitomi
+ },
+ [109] = {
+ .facilityClass = FACILITY_CLASS_BLACK_BELT,
+ .trainerName = _("RICARDO"),
+ .speechBefore = {EC_WORD_COME_ON, EC_WORD_EXCL, EC_WORD_PLAY, EC_WORD_TIME, EC_WORD_IS, EC_WORD_OVER},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_OUT, EC_WORD_OF, EC_WORD_HERE, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_HIT, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Ricardo
+ },
+ [110] = {
+ .facilityClass = FACILITY_CLASS_BLACK_BELT,
+ .trainerName = _("SHIZUKA"),
+ .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU_RE, EC_WORD_SERIOUS, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_FORGET, EC_WORD_ABOUT, EC_WORD_YOU, 0xFFFF},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_PERFECT, EC_WORD_IN, EC_WORD_EVERY, EC_WORD_WAY, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Shizuka
+ },
+ [111] = {
+ .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
+ .trainerName = _("JOANA"),
+ .speechBefore = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_LOSE, EC_WORD_RIGHT, EC_WORD_AWAY},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_WINNER, EC_WORD_HEAR, EC_WORD_ME, EC_MOVE2(ROAR)},
+ .speechLose = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_ACCEPT, EC_WORD_THAT, EC_MOVE(OUTRAGE)},
+ .monSets = gBattleFrontierTrainerMons_Joana
+ },
+ [112] = {
+ .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
+ .trainerName = _("KELLY"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_NIGHT, EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_SCARY},
+ .speechWin = {EC_WORD_A, EC_WORD_LADY, EC_WORD_GHOST, EC_WORD_APPEARS, EC_WORD_THERE, 0xFFFF},
+ .speechLose = {EC_WORD_THE, EC_WORD_HOME, EC_WORD_WORK, EC_WORD_IS, EC_WORD_AWFULLY, EC_WORD_SCARY},
+ .monSets = gBattleFrontierTrainerMons_Kelly
+ },
+ [113] = {
+ .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
+ .trainerName = _("RAYNA"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_WHEN, EC_WORD_IT_S, EC_WORD_ABOUT, EC_WORD_POWER},
+ .speechWin = {EC_WORD_UNDERSTAND, EC_WORD_MY, EC_WORD_POWER, EC_WORD_NOW, EC_WORD_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Rayna
+ },
+ [114] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("EVAN"),
+ .speechBefore = {EC_WORD_EVERY, EC_WORD_BATTLE, EC_WORD_HAS, EC_WORD_A, EC_WORD_SMELL, 0xFFFF},
+ .speechWin = {EC_WORD_OH, EC_WORD_EXCL, EC_WORD_THE, EC_MOVE(SWEET_SCENT), EC_WORD_OF, EC_WORD_VICTORY},
+ .speechLose = {EC_WORD_THE, EC_WORD_AWFUL, EC_WORD_STENCH, EC_WORD_OF, EC_WORD_A, EC_WORD_LOSS},
+ .monSets = gBattleFrontierTrainerMons_Evan
+ },
+ [115] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("JORDAN"),
+ .speechBefore = {EC_WORD_GOOD, EC_WORD_EXCL, 0xFFFF, EC_WORD_COME_ON, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_WHAT, EC_WORD_QUES_EXCL, 0xFFFF, EC_WORD_BUT, EC_WORD_HOW, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Jordan
+ },
+ [116] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("JOEL"),
+ .speechBefore = {EC_WORD_FUFUFU, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
+ .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
+ .speechLose = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Joel
+ },
+ [117] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("KRISTEN"),
+ .speechBefore = {EC_WORD_HAHAHA, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_A, EC_WORD_KID, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_JUST, EC_WORD_A_LITTLE, EC_WORD_KID, EC_WORD_AFTER, EC_WORD_ALL, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_A, EC_WORD_TOUGH, EC_WORD_KID, EC_WORD_HUH_QUES, EC_WORD_HUMPH, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Kristen
+ },
+ [118] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("SELPHY"),
+ .speechBefore = {EC_WORD_HUH_QUES, EC_WORD_WHAT, EC_WORD_IS_IT_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
+ .speechWin = {EC_WORD_OH, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NOT, EC_WORD_QUES},
+ .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_EXCL, EC_WORD_WHY, EC_WORD_NOT, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Selphy
+ },
+ [119] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("CHLOE"),
+ .speechBefore = {EC_WORD_COME, EC_WORD_WE, EC_WORD_WILL, EC_WORD_DO, EC_WORD_BATTLE, EC_WORD_NOW},
+ .speechWin = {EC_WORD_MORE, EC_WORD_EXCL, 0xFFFF, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_STRONG, EC_WORD_YOU, EC_WORD_ARE},
+ .monSets = gBattleFrontierTrainerMons_Chloe
+ },
+ [120] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_M,
+ .trainerName = _("NORTON"),
+ .speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_ONLY, EC_WORD_YOU, 0xFFFF, 0xFFFF},
+ .speechWin = {EC_WORD_EXCUSE_ME, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_PUSHOVER, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_SOME, EC_WORD_KIND, EC_WORD_OF, EC_WORD_AWESOME, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Norton
+ },
+ [121] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_M,
+ .trainerName = _("LUKAS"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_JOKING, EC_WORD_IS, EC_WORD_PRETTY, EC_WORD_TERRIBLE, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_EXISTS, EC_WORD_TO, EC_WORD_SHINE, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOUR, EC_WORD_ROCK_HEAD, EC_WORD_COME, EC_WORD_TO, EC_WORD_SHINE, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Lukas
+ },
+ [122] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_M,
+ .trainerName = _("ZACH"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_EXCELLENT, EC_MOVE2(MIMIC), EC_WORD_OF, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_LIKE, EC_WORD_A_LITTLE, EC_POKEMON2(TOGEPI), EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_LIKE, EC_WORD_A, EC_POKEMON2(MANKEY), EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Zach
+ },
+ [123] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_F,
+ .trainerName = _("KAITLYN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_CRUSH, EC_WORD_THINGS, EC_WORD_WITH, EC_WORD_PSYCHIC, EC_WORD_POWER},
+ .speechWin = {EC_WORD_MY, EC_WORD_VICTORY, EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_THE, EC_WORD_NEWS},
+ .speechLose = {EC_WORD_NO, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_WON_T, EC_WORD_DO},
+ .monSets = gBattleFrontierTrainerMons_Kaitlyn
+ },
+ [124] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_F,
+ .trainerName = _("BREANNA"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_WILL, EC_WORD_CRUSH, EC_WORD_YOU, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_HAVE, EC_WORD_SOME, EC_WORD_MORE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GUTS, EC_WORD_AND, EC_WORD_SKILL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Breanna
+ },
+ [125] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_F,
+ .trainerName = _("KENDRA"),
+ .speechBefore = {EC_WORD_IF, EC_WORD_YOU_RE, EC_WORD_SMART, EC_WORD_STOP, EC_WORD_RIGHT, EC_WORD_NOW},
+ .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_STOP},
+ .speechLose = {EC_WORD_WHY, EC_WORD_DIDN_T, EC_WORD_YOU, EC_WORD_STOP, EC_WORD_QUES, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Kendra
+ },
+ [126] = {
+ .facilityClass = FACILITY_CLASS_HEX_MANIAC,
+ .trainerName = _("MOLLY"),
+ .speechBefore = {EC_WORD_WILL, EC_WORD_MY, EC_WORD_CUTE_CHARM, EC_MOVE2(ATTRACT), EC_WORD_YOU, EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_MY, EC_WORD_TOYS, EC_WORD_NOW},
+ .speechLose = {EC_WORD_OH, EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_QUES, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Molly
+ },
+ [127] = {
+ .facilityClass = FACILITY_CLASS_HEX_MANIAC,
+ .trainerName = _("JAZMIN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_FORECAST, EC_WORD_TERRIBLE, EC_WORD_THINGS, EC_WORD_FOR, EC_WORD_YOU},
+ .speechWin = {EC_WORD_THERE, EC_WORD_WASN_T, EC_WORD_MY, EC_WORD_FORECAST, EC_WORD_RIGHT, EC_WORD_QUES},
+ .speechLose = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_DIDN_T, EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THIS},
+ .monSets = gBattleFrontierTrainerMons_Jazmin
+ },
+ [128] = {
+ .facilityClass = FACILITY_CLASS_HEX_MANIAC,
+ .trainerName = _("KELSEY"),
+ .speechBefore = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_SLEPT, EC_WORD_IN, EC_WORD_DAYS, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_MY, EC_WORD_SLEEP, EC_WORD_WILL, EC_WORD_BE, EC_WORD_EXCELLENT, EC_WORD_NOW},
+ .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_DESTROYED, EC_WORD_MY, EC_WORD_SLEEP, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Kelsey
+ },
+ [129] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("JALEN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_ALLOW, EC_WORD_POKEMON, EC_WORD_TO, EC_MOVE(THRASH)},
+ .speechWin = {EC_WORD_HAHAHA, EC_WORD_EXCL, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_ANGRY, EC_WORD_QUES},
+ .speechLose = {EC_WORD_WHY, EC_WORD_IS, EC_WORD_THIS, EC_WORD_SO, EC_WORD_HARD, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Jalen
+ },
+ [130] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("GRIFFEN"),
+ .speechBefore = {EC_WORD_I, EC_MOVE2(SWALLOW), EC_MOVE2(SLUDGE), EC_WORD_TO, EC_MOVE2(TRANSFORM), EC_WORD_MYSELF},
+ .speechWin = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GROWTH), EC_WORD_OF, EC_MOVE2(ACID_ARMOR)},
+ .speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GROWTH), EC_WORD_OF, EC_WORD_SUCTION_CUPS},
+ .monSets = gBattleFrontierTrainerMons_Griffen
+ },
+ [131] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("XANDER"),
+ .speechBefore = {EC_WORD_I, EC_WORD_GOT, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ON, EC_WORD_RENTAL},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_INCREDIBLE, EC_WORD_MY, EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_WON},
+ .speechLose = {EC_WORD_RENTAL, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_UP, EC_WORD_TO, EC_MOVE2(SCRATCH)},
+ .monSets = gBattleFrontierTrainerMons_Xander
+ },
+ [132] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("MARVIN"),
+ .speechBefore = {EC_WORD_YOU_RE, EC_WORD_UP, EC_WORD_TO, EC_WORD_THE, EC_WORD_CHALLENGE, EC_WORD_QUES},
+ .speechWin = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_THINK, EC_WORD_YOU_RE, EC_WORD_GOOD, EC_WORD_ENOUGH},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_PERFECT, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
+ .monSets = gBattleFrontierTrainerMons_Marvin
+ },
+ [133] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("BRENNAN"),
+ .speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_TO, EC_WORD_SEE, EC_WORD_THE, EC_WORD_NEWS},
+ .speechWin = {EC_WORD_COMICS, EC_WORD_GET, EC_WORD_DAMP, EC_WORD_FROM, EC_WORD_DRIZZLE, EC_WORD_QUES},
+ .speechLose = {EC_WORD_THE, EC_WORD_TIGHT, EC_WORD_MONEY, EC_WORD_LIVING, EC_WORD_CHANNEL, EC_WORD_QUES_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Brennan
+ },
+ [134] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("BALEY"),
+ .speechBefore = {EC_MOVE(SCREECH), EC_WORD_IS, EC_WORD_LIKE, EC_WORD_MUSIC, EC_WORD_TO_ME, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_MY, EC_MOVE(SCREECH), EC_WORD_STRATEGY, EC_WORD_IS, EC_WORD_THE, EC_WORD_BEST},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_SOUNDPROOF, EC_WORD_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Baley
+ },
+ [135] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("ZACKARY"),
+ .speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_MOVE(DIG), EC_WORD_IT, EC_WORD_YO, EC_WORD_QUES},
+ .speechWin = {EC_MOVE2(TAKE_DOWN), EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(DIVE), EC_WORD_YO, EC_WORD_YO},
+ .speechLose = {EC_WORD_BREAK, EC_WORD_DOWN, EC_MOVE2(DIVE), EC_WORD_TIME, EC_WORD_FOR, EC_WORD_ME},
+ .monSets = gBattleFrontierTrainerMons_Zackary
+ },
+ [136] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("GABRIEL"),
+ .speechBefore = {EC_MOVE2(POUND), EC_WORD_THE, EC_WORD_THICK_FAT, EC_WORD_ON, EC_WORD_MY, EC_MOVE2(BELLY_DRUM)},
+ .speechWin = {EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_MOVE2(POUND), EC_WORD_MY, EC_MOVE2(BELLY_DRUM)},
+ .speechLose = {EC_WORD_MY, EC_MOVE2(BELLY_DRUM), EC_WORD_WAS, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Gabriel
+ },
+ [137] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("EMILY"),
+ .speechBefore = {EC_WORD_HOW, EC_WORD_ABOUT, EC_WORD_A_TINY_BIT, EC_WORD_OF, EC_MOVE(HYPNOSIS), EC_WORD_QUES},
+ .speechWin = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_WORKS, EC_WORD_TO, EC_WORD_PERFECTION},
+ .speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_STRATEGY, EC_WORD_WENT, EC_WORD_BADLY, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Emily
+ },
+ [138] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("JORDYN"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_MY, EC_WORD_SECRET, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_AS, EC_WORD_I, EC_WORD_APPEAR, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_BUT, EC_WORD_HOW, EC_WORD_DID, EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Jordyn
+ },
+ [139] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("SOFIA"),
+ .speechBefore = {EC_POKEMON(LOUDRED), EC_WORD_PROBABLY, EC_WORD_HAS, EC_WORD_A, EC_MOVE(SWEET_SCENT), 0xFFFF},
+ .speechWin = {EC_WORD_THAT_S, EC_WORD_THE, EC_WORD_FEELING, EC_WORD_THAT, EC_WORD_I, EC_WORD_GET},
+ .speechLose = {EC_WORD_I, EC_WORD_WORK, EC_WORD_AT, EC_WORD_THE, EC_WORD_DEPT_STORE, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Sofia
+ },
+ [140] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("BRADEN"),
+ .speechBefore = {EC_WORD_I_CHOOSE_YOU, EC_WORD_EXCL, 0xFFFF, EC_WORD_THIS_IS_IT_EXCL, 0xFFFF, 0xFFFF},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_PRETTY, EC_WORD_AWESOME, EC_WORD_ABOUT, EC_WORD_MYSELF},
+ .speechLose = {EC_WORD_ALL_RIGHT, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Braden
+ },
+ [141] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("KAYDEN"),
+ .speechBefore = {EC_WORD_THEY, EC_WORD_OVERDO, EC_WORD_THAT, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_THAT, EC_WORD_GOURMET, EC_WORD_THING, EC_WORD_ISN_T, EC_WORD_FOR, EC_WORD_ME},
+ .speechLose = {EC_WORD_HEY, EC_WORD_THIS, EC_WORD_IS, EC_WORD_PRETTY, EC_WORD_TASTY, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Kayden
+ },
+ [142] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("COOPER"),
+ .speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_ABSOLUTELY, EC_WORD_BE, EC_WORD_A, EC_WORD_PUSHOVER},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_TOO, EC_WORD_EXCITING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_PLEASE, EC_WORD_EXCL, 0xFFFF, EC_WORD_SORRY, EC_WORD_I_AM, EC_WORD_SORRY},
+ .monSets = gBattleFrontierTrainerMons_Cooper
+ },
+ [143] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("JULIA"),
+ .speechBefore = {EC_WORD_SPIRIT, EC_WORD_ALONE, EC_WORD_WON_T, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_WIN},
+ .speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_THIS, EC_WORD_WITH, EC_WORD_SERENE_GRACE},
+ .speechLose = {EC_WORD_FOR_NOW, EC_WORD_GOOD_BYE, EC_WORD_BUT, EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_OVER},
+ .monSets = gBattleFrontierTrainerMons_Julia
+ },
+ [144] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("AMARA"),
+ .speechBefore = {EC_WORD_WROOOAAR_EXCL, EC_WORD_EXCL_EXCL, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_READY, EC_WORD_EXCL_EXCL},
+ .speechWin = {EC_WORD_I, EC_WORD_LOSE, EC_WORD_MYSELF, EC_WORD_IF, EC_WORD_IT_S, EC_WORD_EXCITING},
+ .speechLose = {EC_WORD_THAT_S, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_MOVE2(TACKLE), EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Amara
+ },
+ [145] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("LYNN"),
+ .speechBefore = {EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_CAN_T, EC_WORD_BE, EC_WORD_HIDDEN, EC_WORD_FOREVER},
+ .speechWin = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_YOUR, EC_WORD_SECRET, EC_WORD_NOW, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_MOVE(SAFEGUARD), EC_WORD_YOUR, EC_WORD_OWN, EC_WORD_SECRET},
+ .monSets = gBattleFrontierTrainerMons_Lynn
+ },
+ [146] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
+ .trainerName = _("JOVAN"),
+ .speechBefore = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_SADLY, EC_WORD_LACKING},
+ .speechWin = {EC_WORD_MY, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_COOL, EC_WORD_ISN_T_IT_QUES},
+ .speechLose = {EC_WORD_I_WAS, EC_WORD_MINUS, EC_WORD_MY, EC_WORD_NORMAL, EC_WORD_POWER, EC_WORD_TODAY},
+ .monSets = gBattleFrontierTrainerMons_Jovan
+ },
+ [147] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
+ .trainerName = _("DOMINIC"),
+ .speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_THIS, EC_WORD_EXCELLENT, EC_WORD_CAMERA, 0xFFFF},
+ .speechWin = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_WAS, EC_WORD_AWFULLY, EC_WORD_EXPENSIVE, 0xFFFF},
+ .speechLose = {EC_WORD_MY, EC_WORD_CAMERA, EC_WORD_DOESN_T, EC_WORD_MISS, EC_WORD_A, EC_WORD_THING},
+ .monSets = gBattleFrontierTrainerMons_Dominic
+ },
+ [148] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
+ .trainerName = _("NIKOLAS"),
+ .speechBefore = {EC_WORD_I, EC_MOVE2(MIMIC), EC_WORD_POKEMON, EC_WORD_AFTER, EC_WORD_EVERY, EC_WORD_BATTLE},
+ .speechWin = {EC_WORD_IF_I_WIN, EC_WORD_I, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_POKEMON2(TAUROS)},
+ .speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_PRETEND, EC_WORD_I_AM, EC_WORD_A, EC_POKEMON2(MILTANK)},
+ .monSets = gBattleFrontierTrainerMons_Nikolas
+ },
+ [149] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
+ .trainerName = _("VALERIA"),
+ .speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_NOT, EC_MOVE2(GLARE)},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_EXCL, EC_WORD_I, EC_WORD_MEAN, EC_WORD_REALLY},
+ .speechLose = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_A, EC_WORD_REALLY, EC_MOVE(SCARY_FACE), EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Valeria
+ },
+ [150] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
+ .trainerName = _("DELANEY"),
+ .speechBefore = {EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_OVER, EC_WORD_TIME, EC_WORD_TO, EC_WORD_PLAY},
+ .speechWin = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_IS, EC_WORD_FROM, EC_WORD_SCHOOL},
+ .speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_WORK, EC_WORD_NEXT, EC_WORD_WEEK},
+ .monSets = gBattleFrontierTrainerMons_Delaney
+ },
+ [151] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
+ .trainerName = _("MEGHAN"),
+ .speechBefore = {EC_WORD_SCHOOL, EC_WORD_IS, EC_WORD_OUT, EC_WORD_TIME, EC_WORD_TO, EC_WORD_PLAY},
+ .speechWin = {EC_WORD_MY, EC_WORD_BOY, EC_WORD_FRIEND, EC_WORD_LIKES, EC_WORD_COMICS, 0xFFFF},
+ .speechLose = {EC_WORD_IT_S, EC_WORD_BACK, EC_WORD_TO, EC_WORD_SCHOOL, EC_WORD_SOON, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Meghan
+ },
+ [152] = {
+ .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
+ .trainerName = _("ROBERTO"),
+ .speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_INVINCIBLE, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_BAD, EC_WORD_I_WAS, EC_WORD_JUST, EC_WORD_BETTER},
+ .speechLose = {EC_WORD_AREN_T, EC_WORD_YOU, EC_WORD_SATISFIED, EC_WORD_YET, EC_WORD_QUES, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Roberto
+ },
+ [153] = {
+ .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
+ .trainerName = _("DAMIAN"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_PURE_POWER, EC_WORD_IS, EC_WORD_MACHINE, EC_WORD_LIKE, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_MY, EC_MOVE2(MACH_PUNCH), EC_WORD_WILL, EC_WORD_MAKE, EC_WORD_A, EC_MOVE(BRICK_BREAK)},
+ .speechLose = {EC_WORD_ARRGH, EC_WORD_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Damian
+ },
+ [154] = {
+ .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
+ .trainerName = _("BRODY"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_SEEMS, EC_POKEMON(ODDISH), EC_WORD_QUES},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_MY, EC_WORD_FAMILY, EC_WORD_STAY_AT_HOME, EC_WORD_LOOK, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_QUESTION, EC_WORD_YOUR, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_SERIOUSLY},
+ .monSets = gBattleFrontierTrainerMons_Brody
+ },
+ [155] = {
+ .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
+ .trainerName = _("GRAHAM"),
+ .speechBefore = {EC_WORD_YEAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL, EC_WORD_WAHAHAHA, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_MY, EC_WORD_BAD},
+ .monSets = gBattleFrontierTrainerMons_Graham
+ },
+ [156] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("TYLOR"),
+ .speechBefore = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_FEELING, EC_WORD_MY, EC_MOVE2(HEAT_WAVE), EC_WORD_QUES},
+ .speechWin = {EC_WORD_YES, EC_WORD_I_AM, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_BUT, EC_WORD_I_WAS, EC_WORD_ON, EC_WORD_FIRE, EC_WORD_FOR, EC_WORD_YOU},
+ .monSets = gBattleFrontierTrainerMons_Tylor
+ },
+ [157] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("JAREN"),
+ .speechBefore = {EC_WORD_FIGHTING, EC_WORD_SPIRIT, EC_WORD_QUES, EC_WORD_ME, EC_WORD_QUES, 0xFFFF},
+ .speechWin = {EC_WORD_I, EC_WORD_WANT, EC_WORD_MORE, EC_WORD_CUTE, EC_WORD_POKEMON, 0xFFFF},
+ .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_LOOK, EC_WORD_QUITE, EC_WORD_CUTE, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Jaren
+ },
+ [158] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
+ .trainerName = _("CORDELL"),
+ .speechBefore = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_DECIDED, EC_WORD_ON, EC_WORD_SPIRIT},
+ .speechWin = {EC_WORD_CAN_T, EC_WORD_YOU, EC_WORD_ACCEPT, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_BE, EC_WORD_ON, EC_WORD_MY, EC_WORD_WAY},
+ .monSets = gBattleFrontierTrainerMons_Cordell
+ },
+ [159] = {
+ .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ .trainerName = _("JAZLYN"),
+ .speechBefore = {EC_WORD_IS, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_REALLY, EC_WORD_AWESOME, EC_WORD_QUES},
+ .speechWin = {EC_WORD_OH_YEAH, EC_WORD_WOW, EC_WORD_YOUR, EC_WORD_POKEDEX, EC_WORD_IS, EC_WORD_SUPER},
+ .speechLose = {EC_WORD_AN, EC_WORD_AVANT_GARDE, EC_WORD_POKEDEX, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_AWESOME},
+ .monSets = gBattleFrontierTrainerMons_Jazlyn
+ },
+ [160] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("ZACHERY"),
+ .speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_MY, EC_WORD_OWN, EC_WORD_PLACE, EC_WORD_YEEHAW_EXCL},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_TIME, EC_WORD_FOR, EC_WORD_ME},
+ .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_FLATTEN, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Zachery
+ },
+ [161] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("JOHAN"),
+ .speechBefore = {EC_WORD_WINTER, EC_WORD_WILL, EC_WORD_SOON, EC_WORD_BE, EC_WORD_HERE, 0xFFFF},
+ .speechWin = {EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_COULD, EC_WORD_USE, EC_WORD_A, EC_MOVE2(HELPING_HAND)},
+ .speechLose = {EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_USE, EC_WORD_MY, EC_WORD_ALLOWANCE, EC_WORD_UP},
+ .monSets = gBattleFrontierTrainerMons_Johan
+ },
+ [162] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("SHEA"),
+ .speechBefore = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_WITH, EC_WORD_BEAUTY, EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOU, EC_WORD_BATTLE, EC_WORD_IN, EC_WORD_AN, EC_WORD_UGLY, EC_WORD_WAY},
+ .speechLose = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_BEAUTY, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Shea
+ },
+ [163] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("KAILA"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_THIRSTY, EC_WORD_RIGHT, EC_WORD_NOW, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_I, EC_WORD_COULD, EC_WORD_USE, EC_WORD_A, EC_WORD_COLD, EC_WORD_DRINK},
+ .speechLose = {EC_WORD_THAT, EC_WORD_LOSS, EC_WORD_IS, EC_WORD_HARD, EC_WORD_TO, EC_MOVE2(SWALLOW)},
+ .monSets = gBattleFrontierTrainerMons_Kaila
+ },
+ [164] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
+ .trainerName = _("ISIAH"),
+ .speechBefore = {EC_WORD_I, EC_WORD_PRETEND, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_A_LOT, 0xFFFF},
+ .speechWin = {EC_WORD_I, EC_MOVE2(TRICK), EC_WORD_MOTHER, EC_WORD_FOR, EC_WORD_MY, EC_WORD_ALLOWANCE},
+ .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_WANT, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE},
+ .monSets = gBattleFrontierTrainerMons_Isiah
+ },
+ [165] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_M,
+ .trainerName = _("GARRETT"),
+ .speechBefore = {EC_WORD_I, EC_WORD_ENJOY, EC_WORD_COMICS, EC_WORD_AND, EC_WORD_THIS, EC_WORD_GAME},
+ .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_THIS, EC_WORD_MUSIC, EC_WORD_IDOL, EC_WORD_TOO},
+ .speechLose = {EC_WORD_BUT, EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MORE},
+ .monSets = gBattleFrontierTrainerMons_Garrett
+ },
+ [166] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .trainerName = _("HAYLIE"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WORRY, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_SLEEP},
+ .speechWin = {EC_WORD_A, EC_WORD_WIN, EC_WORD_GIVES, EC_WORD_ME, EC_WORD_A, EC_MOVE2(CALM_MIND)},
+ .speechLose = {EC_WORD_MY, EC_WORD_INSOMNIA, EC_WORD_WILL, EC_WORD_GET, EC_WORD_BAD, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Haylie
+ },
+ [167] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .trainerName = _("MEGAN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_BELIEVE, EC_WORD_IN, EC_WORD_AN, EC_MOVE(AROMATHERAPY), EC_WORD_BATH},
+ .speechWin = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_HEALTHY, EC_WORD_CLEAR_BODY, 0xFFFF},
+ .speechLose = {EC_WORD_IF, EC_WORD_ONLY, EC_MOVE(AROMATHERAPY), EC_WORD_WERE, EC_WORD_LESS, EC_WORD_EXPENSIVE},
+ .monSets = gBattleFrontierTrainerMons_Megan
+ },
+ [168] = {
+ .facilityClass = FACILITY_CLASS_RICH_BOY,
+ .trainerName = _("ISSAC"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_HOBBY, EC_WORD_QUES, 0xFFFF, 0xFFFF, 0xFFFF},
+ .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_ANY, EC_WORD_KIND, EC_WORD_OF, EC_MOVE2(WATER_SPORT)},
+ .speechLose = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_ANY, EC_WORD_KIND, EC_WORD_OF, EC_MOVE2(MUD_SPORT)},
+ .monSets = gBattleFrontierTrainerMons_Issac
+ },
+ [169] = {
+ .facilityClass = FACILITY_CLASS_RICH_BOY,
+ .trainerName = _("QUINTON"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_SAD, EC_WORD_CAUSE, EC_WORD_I_AM, EC_WORD_TOO_WEAK, 0xFFFF},
+ .speechWin = {EC_WORD_YOU, EC_WORD_AREN_T, EC_WORD_TOO_STRONG, EC_WORD_FOR, EC_WORD_ME, 0xFFFF},
+ .speechLose = {EC_WORD_HEY, EC_WORD_WHAT, EC_WORD_DID, EC_WORD_I, EC_WORD_DO, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Quinton
+ },
+ [170] = {
+ .facilityClass = FACILITY_CLASS_LADY,
+ .trainerName = _("SALMA"),
+ .speechBefore = {EC_WORD_YOU_VE, EC_WORD_GOT, EC_WORD_YOUR, EC_WORD_HUSTLE, EC_WORD_ON, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_I, EC_WORD_WIN, EC_WORD_YOU, EC_WORD_HUSTLE, EC_WORD_ON, EC_WORD_OUT},
+ .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_HOW, EC_WORD_I, EC_WORD_LOST},
+ .monSets = gBattleFrontierTrainerMons_Salma
+ },
+ [171] = {
+ .facilityClass = FACILITY_CLASS_LADY,
+ .trainerName = _("ANSLEY"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_BORED, EC_WORD_ELLIPSIS, EC_WORD_DANCE, EC_WORD_FOR, EC_WORD_ME},
+ .speechWin = {EC_WORD_YOU_VE, EC_WORD_BORED, EC_WORD_ME, EC_WORD_SOME, EC_WORD_MORE, 0xFFFF},
+ .speechLose = {EC_WORD_TAKE, EC_WORD_YOUR, EC_MOVE2(FRUSTRATION), EC_WORD_SOME, EC_WORD_OTHER, EC_WORD_PLACE},
+ .monSets = gBattleFrontierTrainerMons_Ansley
+ },
+ [172] = {
+ .facilityClass = FACILITY_CLASS_BUG_CATCHER,
+ .trainerName = _("HOLDEN"),
+ .speechBefore = {EC_WORD_LET_S, EC_WORD_COMMEMORATE, EC_WORD_MY, EC_WORD_COOLNESS, EC_WORD_IN, EC_WORD_BATTLE},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_FOR, EC_WORD_ANY, EC_WORD_PRAISE, 0xFFFF},
+ .speechLose = {EC_WORD_YOUR, EC_WORD_BATTLE, EC_WORD_SENSE, EC_WORD_IS, EC_WORD_AMUSING, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Holden
+ },
+ [173] = {
+ .facilityClass = FACILITY_CLASS_BUG_CATCHER,
+ .trainerName = _("LUCA"),
+ .speechBefore = {EC_WORD_WE, EC_WORD_WILL, EC_WORD_HAVE, EC_WORD_A, EC_WORD_COOL, EC_WORD_BATTLE},
+ .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_IN, EC_WORD_A, EC_WORD_COOL, EC_WORD_WAY},
+ .speechLose = {EC_WORD_HELLO, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_JUST, EC_WORD_A, EC_WORD_KID},
+ .monSets = gBattleFrontierTrainerMons_Luca
+ },
+ [174] = {
+ .facilityClass = FACILITY_CLASS_NINJA_BOY,
+ .trainerName = _("JAMISON"),
+ .speechBefore = {EC_WORD_MY, EC_MOVE2(SECRET_POWER), EC_WORD_IS, EC_WORD_OVERWHELMING, EC_WORD_TO, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_USE, EC_MOVE(SMOKESCREEN), EC_WORD_TO, EC_WORD_ESCAPE},
+ .monSets = gBattleFrontierTrainerMons_Jamison
+ },
+ [175] = {
+ .facilityClass = FACILITY_CLASS_NINJA_BOY,
+ .trainerName = _("GUNNAR"),
+ .speechBefore = {EC_WORD_I, EC_MOVE(CUT), EC_WORD_DOWN, EC_WORD_EVERY, EC_WORD_OPPONENT, 0xFFFF},
+ .speechWin = {EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_ME, EC_WORD_FOR, EC_WORD_YOUR, EC_WORD_LOSS},
+ .speechLose = {EC_WORD_PLEASE, EC_WORD_LOSE, EC_WORD_THAT, EC_MOVE(SCARY_FACE), EC_WORD_OF, EC_WORD_YOURS},
+ .monSets = gBattleFrontierTrainerMons_Gunnar
+ },
+ [176] = {
+ .facilityClass = FACILITY_CLASS_TUBER_M,
+ .trainerName = _("CRAIG"),
+ .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_FOR, EC_WORD_MY, EC_WORD_TRAIN},
+ .speechWin = {EC_WORD_MY, EC_WORD_TRAIN, EC_WORD_ISN_T, EC_WORD_HERE, EC_WORD_YET, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_HERE_IT_IS, EC_WORD_MY, EC_WORD_TRAIN, EC_WORD_SEE_YA, EC_WORD_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Craig
+ },
+ [177] = {
+ .facilityClass = FACILITY_CLASS_TUBER_M,
+ .trainerName = _("PIERCE"),
+ .speechBefore = {EC_WORD_THERE, EC_WORD_WAS, EC_WORD_A, EC_MOVE2(HEAT_WAVE), EC_WORD_LAST, EC_WORD_WEEK},
+ .speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(HEAT_WAVE), 0xFFFF},
+ .speechLose = {EC_WORD_DIDN_T, EC_WORD_IT, EC_MOVE(HAIL), EC_WORD_TOO, EC_WORD_QUES, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Pierce
+ },
+ [178] = {
+ .facilityClass = FACILITY_CLASS_TUBER_F,
+ .trainerName = _("REGINA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_PLAY, EC_WORD_IN, EC_WORD_WATER},
+ .speechWin = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_COME, EC_WORD_OUT, 0xFFFF},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_MUCH, EC_WORD_GOOD, EC_WORD_IN, EC_WORD_WATER},
+ .monSets = gBattleFrontierTrainerMons_Regina
+ },
+ [179] = {
+ .facilityClass = FACILITY_CLASS_TUBER_F,
+ .trainerName = _("ALISON"),
+ .speechBefore = {EC_WORD_THIS, EC_WORD_KINDERGARTEN, EC_WORD_MAGAZINE, EC_WORD_IS, EC_WORD_TOO, EC_WORD_MUCH},
+ .speechWin = {EC_WORD_HOW, EC_WORD_TO, EC_WORD_BUG, EC_WORD_YOUR, EC_WORD_TEACHER, EC_WORD_QUES},
+ .speechLose = {EC_WORD_ENJOY, EC_WORD_A, EC_WORD_TASTY, EC_WORD_SCHOOL, EC_WORD_DIET, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Alison
+ },
+ [180] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("HANK"),
+ .speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_A, EC_WORD_BUG, EC_WORD_EVENT, EC_WORD_SOON},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_BUG, EC_WORD_FASHION, EC_WORD_SHOW, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Hank
+ },
+ [181] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("EARL"),
+ .speechBefore = {EC_WORD_THE, EC_WORD_INVINCIBLE, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_IS, EC_WORD_HERE},
+ .speechWin = {EC_WORD_THE, EC_WORD_INVINCIBLE, EC_WORD_BUG, EC_WORD_TRAINER, EC_WORD_AM, EC_WORD_I},
+ .speechLose = {EC_WORD_SEE, EC_WORD_HOW, EC_WORD_FAST, EC_WORD_I, EC_WORD_RUN_AWAY, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Earl
+ },
+ [182] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("RAMIRO"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WENT, EC_WORD_TO, EC_WORD_A, EC_WORD_FISHING, EC_WORD_SCHOOL},
+ .speechWin = {EC_WORD_SERIOUSLY, EC_WORD_I_AM, EC_WORD_IN, EC_WORD_THE, EC_WORD_FISHING, EC_WORD_HALL_OF_FAME},
+ .speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_BACK, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Ramiro
+ },
+ [183] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("HUNTER"),
+ .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_A, EC_WORD_TOTALLY, EC_WORD_COOL, EC_MOVE(CROSS_CHOP)},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_DO, EC_WORD_A, EC_MOVE(CROSS_CHOP)},
+ .speechLose = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_A, EC_WORD_MISTAKE, EC_WORD_QUES, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Hunter
+ },
+ [184] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("AIDEN"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_WORK, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_HEALTHY},
+ .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_HEALTHY, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_HEALTHY, EC_WORD_THAN, EC_WORD_I_AM, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Aiden
+ },
+ [185] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("XAVIER"),
+ .speechBefore = {EC_WORD_HEY_THERE, EC_WORD_EXCL, 0xFFFF, EC_WORD_LOOK, EC_WORD_LOOK, EC_WORD_EXCL_EXCL},
+ .speechWin = {EC_WORD_GOOD_BYE, EC_WORD_AND, EC_WORD_THANK_YOU, EC_WORD_THAT_WAS, EC_WORD_FUNNY, 0xFFFF},
+ .speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL, 0xFFFF, EC_WORD_NO, EC_WORD_NO, EC_WORD_EXCL_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Xavier
+ },
+ [186] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("CLINTON"),
+ .speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOUR, EC_MOVE2(FURY_SWIPES), EC_WORD_YOUR, EC_MOVE(STRENGTH), EC_WORD_YOUNG, EC_WORD_TRAINER},
+ .speechLose = {EC_WORD_TCH, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Clinton
+ },
+ [187] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("JESSE"),
+ .speechBefore = {EC_WORD_THIS, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_FOR, EC_WORD_MY, EC_WORD_MOTHER},
+ .speechWin = {EC_WORD_MOTHER, EC_WORD_WILL, EC_WORD_BE, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_ME},
+ .speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_MY, EC_WORD_MOTHER, EC_WORD_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Jesse
+ },
+ [188] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("EDUARDO"),
+ .speechBefore = {EC_WORD_OUR, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_PLAY, EC_WORD_ALL, EC_WORD_NIGHT},
+ .speechWin = {EC_WORD_NIGHTTIME, EC_WORD_IS, EC_WORD_WHEN, EC_WORD_I, EC_WORD_PLAY, EC_WORD_BEST},
+ .speechLose = {EC_WORD_LET_S, EC_WORD_PARTY, EC_WORD_UNTIL, EC_WORD_THE, EC_MOVE(MORNING_SUN), EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Eduardo
+ },
+ [189] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("HAL"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_TRENDY, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_QUES, 0xFFFF},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_HIP_AND, EC_WORD_HAPPENING, EC_WORD_OH_YEAH, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_ALWAYS, EC_WORD_TRENDY, EC_WORD_THANK_YOU, EC_WORD_VERY, EC_WORD_MUCH},
+ .monSets = gBattleFrontierTrainerMons_Hal
+ },
+ [190] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("GAGE"),
+ .speechBefore = {EC_WORD_HERE_IT_IS, EC_WORD_A, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_HIDDEN, EC_WORD_MOVE},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_FLYING, EC_WORD_TYPE, EC_WORD_VICTORY, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_JUST, EC_MOVE(FLY), EC_WORD_AWAY, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Gage
+ },
+ [191] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("ARNOLD"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_WEIRD, EC_WORD_FROM, EC_WORD_A, EC_WORD_DREAM},
+ .speechWin = {EC_WORD_YOUR, EC_MOVE(SCARY_FACE), EC_WORD_WAS, EC_WORD_IN, EC_WORD_MY, EC_WORD_DREAM},
+ .speechLose = {EC_WORD_MY, EC_WORD_INCREDIBLE, EC_WORD_DREAM, EC_WORD_WAS, EC_WORD_SO, EC_WORD_WEIRD},
+ .monSets = gBattleFrontierTrainerMons_Arnold
+ },
+ [192] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("JARRETT"),
+ .speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_DANCE, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_YESTERDAY},
+ .speechWin = {EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_HOW, EC_WORD_I, EC_WORD_DANCE, EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_APPRECIATE, EC_WORD_HOW, EC_WORD_I, EC_WORD_DANCE},
+ .monSets = gBattleFrontierTrainerMons_Jarrett
+ },
+ [193] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("GARETT"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_GIVES, EC_WORD_ME, EC_WORD_A_LITTLE, EC_MOVE2(SWEET_KISS)},
+ .speechWin = {EC_WORD_MY, EC_WORD_GIRL, EC_WORD_FRIEND, EC_WORD_IS, EC_WORD_MY, EC_WORD_TREASURE},
+ .speechLose = {EC_WORD_A, EC_WORD_TREASURE, EC_WORD_ISN_T, EC_WORD_ALWAYS, EC_WORD_ABOUT, EC_WORD_MONEY},
+ .monSets = gBattleFrontierTrainerMons_Garett
+ },
+ [194] = {
+ .facilityClass = FACILITY_CLASS_HIKER,
+ .trainerName = _("EMANUEL"),
+ .speechBefore = {EC_WORD_SMARTNESS, EC_WORD_ALONE, EC_WORD_WON_T, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_WIN},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_NOT_VERY, EC_WORD_SMART, EC_WORD_BUT, EC_WORD_I, EC_WORD_WON},
+ .speechLose = {EC_WORD_HOW, EC_WORD_DID, EC_WORD_YOU, EC_MOVE2(FAKE_OUT), EC_WORD_ME, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Emanuel
+ },
+ [195] = {
+ .facilityClass = FACILITY_CLASS_HIKER,
+ .trainerName = _("GUSTAVO"),
+ .speechBefore = {EC_MOVE(CHARGE), EC_WORD_EXCL, 0xFFFF, EC_MOVE(CHARGE), EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_SURRENDER, EC_WORD_QUES, 0xFFFF, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_SURRENDER, EC_WORD_YET},
+ .monSets = gBattleFrontierTrainerMons_Gustavo
+ },
+ [196] = {
+ .facilityClass = FACILITY_CLASS_KINDLER,
+ .trainerName = _("KAMERON"),
+ .speechBefore = {EC_WORD_TAKE_THAT, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK)},
+ .speechWin = {EC_WORD_DID, EC_WORD_MY, EC_WORD_FIERY, EC_MOVE2(TRICK), EC_MOVE(ASTONISH), EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU, EC_WORD_DIDN_T, EC_WORD_FALL, EC_WORD_FOR, EC_WORD_MY, EC_MOVE2(TRICK)},
+ .monSets = gBattleFrontierTrainerMons_Kameron
+ },
+ [197] = {
+ .facilityClass = FACILITY_CLASS_KINDLER,
+ .trainerName = _("ALFREDO"),
+ .speechBefore = {EC_WORD_A, EC_WORD_FIERY, EC_WORD_GOURMET, EC_WORD_AM, EC_WORD_I, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_TASTY, EC_WORD_GOURMET, EC_WORD_VICTORY, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_WHAT, EC_WORD_A, EC_WORD_DISASTER, EC_WORD_THAT_WAS, EC_WORD_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Alfredo
+ },
+ [198] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("RUBEN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_WAIT, EC_WORD_TO, EC_WORD_GET, EC_WORD_GOING},
+ .speechWin = {EC_WORD_GET, EC_WORD_GOING, EC_WORD_EXCL, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
+ .speechLose = {EC_WORD_I_VE, EC_WORD_GOT, EC_WORD_TO, EC_WORD_GET, EC_WORD_GOING, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Ruben
+ },
+ [199] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("LAMAR"),
+ .speechBefore = {EC_WORD_A, EC_MOVE2(PRESENT), EC_WORD_FOR, EC_WORD_ME, EC_WORD_QUES, 0xFFFF},
+ .speechWin = {EC_WORD_MMM, EC_WORD_THIS, EC_WORD_IS, EC_WORD_QUITE, EC_WORD_TASTY, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_OH, EC_WORD_IT_S, EC_WORD_A, EC_WORD_GAME, EC_WORD_IS_IT_QUES, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Lamar
+ },
+ [200] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("JAXON"),
+ .speechBefore = {EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_I, EC_WORD_WANT},
+ .speechWin = {EC_WORD_MY, EC_WORD_FATHER, EC_WORD_AND, EC_WORD_MOTHER, EC_WORD_WON_T, EC_WORD_ACCEPT},
+ .speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_SHELL_ARMOR, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Jaxon
+ },
+ [201] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("LOGAN"),
+ .speechBefore = {EC_WORD_IF_I_LOSE, EC_WORD_I, EC_WORD_WILL, EC_WORD_STUDY, EC_WORD_FOR, EC_WORD_SCHOOL},
+ .speechWin = {EC_WORD_ME, EC_WORD_STUDY, EC_WORD_QUES, EC_WORD_NOT_VERY, EC_WORD_LIKELY_TO, EC_WORD_SEE},
+ .speechLose = {EC_WORD_NO, EC_WORD_THANKS, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_SLEEP},
+ .monSets = gBattleFrontierTrainerMons_Logan
+ },
+ [202] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("EMILEE"),
+ .speechBefore = {EC_WORD_IS, EC_WORD_THIS, EC_WORD_KIND, EC_WORD_OF, EC_WORD_BATTLE, EC_WORD_OK_QUES},
+ .speechWin = {EC_WORD_LET_S, EC_WORD_GO, EC_WORD_FOR, EC_WORD_AN, EC_MOVE(ICY_WIND), EC_MOVE2(SURF)},
+ .speechLose = {EC_WORD_HOW, EC_WORD_ABOUT, EC_WORD_A, EC_MOVE(ROCK_SLIDE), EC_WORD_SHOW, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Emilee
+ },
+ [203] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("JOSIE"),
+ .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_FASHION, EC_WORD_CONTEST, EC_WORD_IS, EC_WORD_PRETTY},
+ .speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_LIKE, EC_WORD_MODE, EC_WORD_FASHION, EC_WORD_THINGS},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_TOTALLY, EC_WORD_LACKING, EC_WORD_IN, EC_WORD_FASHION, EC_WORD_SENSE},
+ .monSets = gBattleFrontierTrainerMons_Josie
+ },
+ [204] = {
+ .facilityClass = FACILITY_CLASS_CAMPER,
+ .trainerName = _("ARMANDO"),
+ .speechBefore = {EC_WORD_I, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_TRADE, EC_WORD_ME, EC_WORD_A, EC_WORD_GRASS, EC_WORD_POKEMON, EC_WORD_PLEASE},
+ .speechLose = {EC_WORD_THERE, EC_WORD_AREN_T, EC_WORD_ENOUGH, EC_WORD_GRASS, EC_WORD_TYPE, EC_WORD_POKEMON},
+ .monSets = gBattleFrontierTrainerMons_Armando
+ },
+ [205] = {
+ .facilityClass = FACILITY_CLASS_CAMPER,
+ .trainerName = _("SKYLER"),
+ .speechBefore = {EC_MOVE2(INGRAIN), EC_WORD_IS, EC_WORD_MY, EC_WORD_CHOICE, EC_WORD_BATTLE, EC_WORD_MOVE},
+ .speechWin = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MOVE, EC_WORD_ME, EC_WORD_NOW, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU, EC_MOVE(CUT), EC_WORD_ME, EC_WORD_DOWN, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Skyler
+ },
+ [206] = {
+ .facilityClass = FACILITY_CLASS_PICNICKER,
+ .trainerName = _("RUTH"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_BATTLE},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_MUCH, EC_WORD_TOO, EC_WORD_EASY, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_PLEASE, EC_WORD_STOP, EC_WORD_I, EC_WORD_DON_T, EC_WORD_ENJOY, EC_WORD_THIS},
+ .monSets = gBattleFrontierTrainerMons_Ruth
+ },
+ [207] = {
+ .facilityClass = FACILITY_CLASS_PICNICKER,
+ .trainerName = _("MELODY"),
+ .speechBefore = {EC_WORD_I, EC_MOVE2(WISH), EC_WORD_SUNDAY, EC_WORD_IS, EC_WORD_A, EC_MOVE2(SUNNY_DAY)},
+ .speechWin = {EC_WORD_SUNDAY, EC_WORD_SEEMS, EC_WORD_FOREVER, EC_WORD_TO, EC_WORD_COME, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_THE, EC_WORD_FORECAST, EC_WORD_SAYS, EC_WORD_IT, EC_WORD_WILL, EC_MOVE(HAIL)},
+ .monSets = gBattleFrontierTrainerMons_Melody
+ },
+ [208] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_M,
+ .trainerName = _("PEDRO"),
+ .speechBefore = {EC_WORD_A, EC_WORD_SWIFT_SWIM, EC_WORD_WILL, EC_WORD_DO, EC_WORD_YOU, EC_WORD_GOOD},
+ .speechWin = {EC_WORD_THAT_S, EC_WORD_HOW, EC_WORD_I, EC_WORD_SINK, EC_WORD_AN, EC_WORD_OPPONENT},
+ .speechLose = {EC_WORD_UH_OH, EC_WORD_EXCL, 0xFFFF, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Pedro
+ },
+ [209] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_M,
+ .trainerName = _("ERICK"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_MOVE2(TACKLE), EC_WORD_YOU, EC_WORD_DOWN, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_RUN_AWAY, EC_WORD_YOU, EC_WORD_LOSER, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_THINK, EC_WORD_YOU, EC_WORD_WOULD, EC_MOVE(COUNTER)},
+ .monSets = gBattleFrontierTrainerMons_Erick
+ },
+ [210] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_F,
+ .trainerName = _("ELAINE"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_HEROINE, EC_WORD_ADVENTURE, EC_WORD_ISN_T, EC_WORD_GOING, EC_WORD_WELL},
+ .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I, EC_WORD_NEED},
+ .speechLose = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_HEROINE},
+ .monSets = gBattleFrontierTrainerMons_Elaine
+ },
+ [211] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_F,
+ .trainerName = _("JOYCE"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_GO, EC_WORD_AHAHA, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_LALALA, EC_WORD_NO, EC_WORD_LOSING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_LALALA, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_HUH_QUES, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Joyce
+ },
+ [212] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("TODD"),
+ .speechBefore = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_LIGHTNINGROD, EC_WORD_FOR, EC_WORD_MY, EC_WORD_POWER},
+ .speechWin = {EC_WORD_THAT_S, EC_WORD_ALL, EC_WORD_YOU, EC_WORD_COULD, EC_MOVE(ABSORB), EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU, EC_MOVE2(REFLECT), EC_WORD_MY, EC_WORD_POWER, EC_WORD_BACK, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Todd
+ },
+ [213] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("GAVIN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(BIDE), EC_WORD_MY, EC_WORD_TIME, 0xFFFF},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_MY, EC_WORD_MISTAKE, EC_WORD_WAS, EC_WORD_TOO, EC_WORD_EXPENSIVE, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Gavin
+ },
+ [214] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("MALORY"),
+ .speechBefore = {EC_WORD_PROMISE, EC_WORD_TO, EC_WORD_SHOW, EC_WORD_ME, EC_WORD_CUTE, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_SO, EC_WORD_MUCH},
+ .speechLose = {EC_WORD_TCH, EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_NICE},
+ .monSets = gBattleFrontierTrainerMons_Malory
+ },
+ [215] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("ESTHER"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_A, EC_WORD_NICE, EC_MOVE2(PRESENT), EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_PLEASE, EC_WORD_GET, EC_WORD_ME, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_GAME},
+ .speechLose = {EC_WORD_MESSAGE, EC_WORD_CARDS, EC_WORD_MAKE, EC_WORD_A, EC_WORD_WEAK, EC_MOVE2(PRESENT)},
+ .monSets = gBattleFrontierTrainerMons_Esther
+ },
+ [216] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
+ .trainerName = _("OSCAR"),
+ .speechBefore = {EC_WORD_LET_S, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POWER, EC_WORD_IN, EC_WORD_FULL},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_NOT, EC_WORD_YOUR, EC_WORD_FULL, EC_WORD_POWER, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_NOT, EC_WORD_FUNNY, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_TOO_STRONG, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Oscar
+ },
+ [217] = {
+ .facilityClass = FACILITY_CLASS_PKMN_BREEDER_M,
+ .trainerName = _("WILSON"),
+ .speechBefore = {EC_WORD_WORK, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_AN, EC_WORD_EARLY_BIRD},
+ .speechWin = {EC_WORD_ALL, EC_WORD_WORK, EC_WORD_AND, EC_WORD_NO, EC_WORD_PLAY, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_MOVE(ENDURE), EC_WORD_IS, EC_WORD_ALL, EC_WORD_I, EC_WORD_CAN, EC_WORD_DO},
+ .monSets = gBattleFrontierTrainerMons_Wilson
+ },
+ [218] = {
+ .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ .trainerName = _("CLARE"),
+ .speechBefore = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_A, EC_WORD_TOUGH, EC_WORD_TRAINER, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_AWW, EC_WORD_EXCL, EC_WORD_A, EC_WORD_WIMPY, EC_WORD_TRAINER, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_TRAINER, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Clare
+ },
+ [219] = {
+ .facilityClass = FACILITY_CLASS_POKEMON_BREEDER_F,
+ .trainerName = _("TESS"),
+ .speechBefore = {EC_WORD_WANT, EC_WORD_SOME, EC_POKEMON(GULPIN), EC_WORD_DESIGN, EC_WORD_SWEETS, EC_WORD_QUES},
+ .speechWin = {EC_WORD_THEY_RE, EC_WORD_A, EC_WORD_SECRET, EC_WORD_POKEMON, EC_WORD_GOURMET, EC_WORD_ITEM},
+ .speechLose = {EC_WORD_THEY_RE, EC_WORD_TASTY, EC_WORD_EXCL, EC_WORD_REFRESHING, EC_WORD_TOO, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Tess
+ },
+ [220] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("LEON"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_BETTER, EC_WORD_THAN, EC_WORD_ANY, EC_WORD_OTHER, EC_WORD_TRAINER},
+ .speechWin = {EC_WORD_I, EC_WORD_DID, EC_WORD_IT, EC_MOVE2(JUMP_KICK), EC_WORD_FOR, EC_WORD_JOY},
+ .speechLose = {EC_WORD_BACK, EC_WORD_HOME, EC_WORD_I, EC_WORD_WILL, EC_WORD_GO, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Leon
+ },
+ [221] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("ALONZO"),
+ .speechBefore = {EC_WORD_I_VE, EC_WORD_NOT, EC_WORD_LOST, EC_WORD_ONCE, EC_WORD_YET, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_YOUR, EC_WORD_SAD, EC_WORD_LOOK, EC_WORD_BECOMES, EC_WORD_YOU, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_BELIEVE, EC_WORD_THIS, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Alonzo
+ },
+ [222] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("VINCE"),
+ .speechBefore = {EC_WORD_THE, EC_WORD_TOP, EC_WORD_TRAINER, EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_THE, EC_WORD_TOP, EC_WORD_RANK, EC_WORD_BELONGS_TO, EC_WORD_ME, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_APPEAL, EC_WORD_THIS, EC_MOVE(OUTRAGE), EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Vince
+ },
+ [223] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("BRYON"),
+ .speechBefore = {EC_WORD_MY, EC_MOVE2(BARRAGE), EC_WORD_WILL, EC_MOVE2(SLAM), EC_WORD_YOU, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_YOU, EC_WORD_DIDN_T, EC_WORD_COUNT_ON, EC_WORD_ANY, EC_WORD_LESS, EC_WORD_QUES},
+ .speechLose = {EC_WORD_I, EC_WORD_JUST, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_IT, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Bryon
+ },
+ [224] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("AVA"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_TREASURE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_WORLD},
+ .speechWin = {EC_WORD_MY, EC_WORD_WORLD, EC_WORD_IS, EC_WORD_FULL, EC_WORD_OF, EC_WORD_WONDER},
+ .speechLose = {EC_WORD_WHY, EC_WORD_ARE, EC_WORD_YOU, EC_WORD_SO, EC_WORD_TERRIBLE, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Ava
+ },
+ [225] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("MIRIAM"),
+ .speechBefore = {EC_WORD_OH, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_WITH, EC_WORD_A, EC_MOVE(SCARY_FACE)},
+ .speechWin = {EC_WORD_AHAHA, EC_WORD_YOU, EC_WORD_ONLY, EC_WORD_LOOK, EC_WORD_SCARY, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_AIYEEH, EC_WORD_EXCL, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_ARE, EC_WORD_SCARY},
+ .monSets = gBattleFrontierTrainerMons_Miriam
+ },
+ [226] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("CARRIE"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_SHOW, EC_WORD_YOU, EC_WORD_GUTSY, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_ABOUT, EC_WORD_GUTS, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_OH, EC_WORD_NO, EC_WORD_ELLIPSIS, EC_MOVE(SELF_DESTRUCT), EC_WORD_MODE, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Carrie
+ },
+ [227] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("GILLIAN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_SEEK, EC_WORD_A, EC_WORD_TRULY, EC_WORD_GREAT, EC_WORD_BATTLE},
+ .speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_A_LOT, EC_WORD_BETTER, EC_WORD_BATTLE, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_A_LITTLE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_TAKE},
+ .monSets = gBattleFrontierTrainerMons_Gillian2
+ },
+ [228] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
+ .trainerName = _("TYLER"),
+ .speechBefore = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_LET_S, EC_WORD_GO, EC_WORD_EXCL_EXCL},
+ .speechWin = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_WON, EC_WORD_YO},
+ .speechLose = {EC_WORD_YO, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_LOST, EC_WORD_YO},
+ .monSets = gBattleFrontierTrainerMons_Tyler
+ },
+ [229] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
+ .trainerName = _("CHAZ"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_HAVE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_POWER},
+ .speechWin = {EC_WORD_THEY, EC_WORD_HAVE, EC_WORD_MORE, EC_WORD_POWER, EC_WORD_NOW, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YEAH, EC_MOVE2(TAKE_DOWN), EC_WORD_THEIR, EC_WORD_POWER, EC_WORD_A_TINY_BIT, EC_WORD_PLEASE},
+ .monSets = gBattleFrontierTrainerMons_Chaz
+ },
+ [230] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_M,
+ .trainerName = _("NELSON"),
+ .speechBefore = {EC_WORD_WELL_THEN, EC_WORD_WILL, EC_WORD_THIS, EC_WORD_POKEMON, EC_WORD_WORK, EC_WORD_QUES},
+ .speechWin = {EC_WORD_I, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_IT, EC_WORD_WAS, EC_WORD_TOO_STRONG},
+ .speechLose = {EC_WORD_IT, EC_WORD_DIDN_T, EC_WORD_MATCH_UP, EC_WORD_WELL, EC_WORD_I, EC_WORD_THINK},
+ .monSets = gBattleFrontierTrainerMons_Nelson
+ },
+ [231] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
+ .trainerName = _("SHANIA"),
+ .speechBefore = {EC_WORD_ALL, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ABSOLUTELY, EC_WORD_ADORE, EC_WORD_ME},
+ .speechWin = {EC_WORD_HAPPINESS, EC_WORD_IS, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_WITH, EC_WORD_CUTE_CHARM},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_SO, EC_WORD_MEAN, EC_WORD_TO, EC_WORD_CUTE, EC_WORD_POKEMON},
+ .monSets = gBattleFrontierTrainerMons_Shania
+ },
+ [232] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
+ .trainerName = _("STELLA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOUR, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_WELL, EC_WORD_AREN_T, EC_WORD_THEY, EC_WORD_BORING, EC_WORD_QUES, EC_WORD_AHAHA},
+ .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SOMETHING, EC_WORD_ELSE, EC_WORD_ALL_RIGHT},
+ .monSets = gBattleFrontierTrainerMons_Stella
+ },
+ [233] = {
+ .facilityClass = FACILITY_CLASS_PKMN_RANGER_F,
+ .trainerName = _("DORINE"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_YOUNG, EC_WORD_AND, EC_WORD_STRONG, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_AREN_T, EC_WORD_I, EC_WORD_GOOD, EC_WORD_QUES},
+ .speechLose = {EC_WORD_THIS, EC_WORD_ISN_T, EC_WORD_WORKING, EC_WORD_OUT, EC_WORD_AT, EC_WORD_ALL},
+ .monSets = gBattleFrontierTrainerMons_Dorine
+ },
+ [234] = {
+ .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
+ .trainerName = _("MADDOX"),
+ .speechBefore = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_MY, EC_WORD_NO_1, EC_WORD_CHOICE},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_NO, EC_WORD_SECRET, EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_WIN},
+ .speechLose = {EC_WORD_DRAGON, EC_WORD_POKEMON, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_LOSE, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Maddox
+ },
+ [235] = {
+ .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
+ .trainerName = _("DAVIN"),
+ .speechBefore = {EC_WORD_LET_S, EC_WORD_HEAR, EC_WORD_YOU, EC_MOVE2(ROAR), EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_VICTORY, EC_WORD_EXCL_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_WROOOAAR_EXCL, 0xFFFF, 0xFFFF, EC_WORD_WHY, EC_WORD_QUES_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Davin
+ },
+ [236] = {
+ .facilityClass = FACILITY_CLASS_DRAGON_TAMER,
+ .trainerName = _("TREVON"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_LIVING, EC_WORD_ONLY, EC_WORD_WITH, EC_WORD_DRAGON, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_LIVING, EC_WORD_IS, EC_WORD_PERFECT},
+ .speechLose = {EC_WORD_YOU_VE, EC_WORD_DESTROYED, EC_WORD_THE, EC_WORD_WAY, EC_WORD_I_AM, EC_WORD_LIVING},
+ .monSets = gBattleFrontierTrainerMons_Trevon
+ },
+ [237] = {
+ .facilityClass = FACILITY_CLASS_BLACK_BELT,
+ .trainerName = _("MATEO"),
+ .speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_OVER, EC_WORD_SOON, EC_WORD_ENOUGH},
+ .speechWin = {EC_WORD_WELL, EC_WORD_THAT, EC_WORD_DIDN_T, EC_WORD_TAKE, EC_WORD_VERY, EC_WORD_MUCH},
+ .speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_LOSE, EC_WORD_SO, EC_WORD_SOON, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Mateo
+ },
+ [238] = {
+ .facilityClass = FACILITY_CLASS_BLACK_BELT,
+ .trainerName = _("BRET"),
+ .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_ROCK_SOLID, EC_WORD_POKEMON, EC_WORD_THE, EC_WORD_BEST},
+ .speechWin = {EC_WORD_TOUGHNESS, EC_WORD_IS, EC_WORD_THE, EC_WORD_WAY, EC_WORD_TO, EC_WORD_GO},
+ .speechLose = {EC_WORD_I, EC_WORD_ALSO, EC_WORD_HAVE, EC_WORD_A, EC_WORD_PLUSH_DOLL, EC_WORD_COLLECTION},
+ .monSets = gBattleFrontierTrainerMons_Bret
+ },
+ [239] = {
+ .facilityClass = FACILITY_CLASS_BLACK_BELT,
+ .trainerName = _("RAUL"),
+ .speechBefore = {EC_WORD_I, EC_WORD_REJECT, EC_WORD_EVERY, EC_WORD_WEAK, EC_WORD_TRAINER, 0xFFFF},
+ .speechWin = {EC_WORD_HUMPH, EC_WORD_EXCL, EC_WORD_ANOTHER, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NOTHING, EC_WORD_WEAK, EC_WORD_ABOUT, EC_WORD_YOU},
+ .monSets = gBattleFrontierTrainerMons_Raul
+ },
+ [240] = {
+ .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
+ .trainerName = _("KAY"),
+ .speechBefore = {EC_WORD_AND, EC_WORD_YET, EC_WORD_ANOTHER, EC_WORD_BATTLE, EC_WORD_QUES, 0xFFFF},
+ .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I_AM, EC_WORD_TIRED, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_GOOD, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_AT, EC_WORD_LAST, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Kay
+ },
+ [241] = {
+ .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
+ .trainerName = _("ELENA"),
+ .speechBefore = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_THAT_S, EC_WORD_ME, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_ISN_T, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_AWESOME, EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_GIRL, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Elena
+ },
+ [242] = {
+ .facilityClass = FACILITY_CLASS_BATTLE_GIRL,
+ .trainerName = _("ALANA"),
+ .speechBefore = {EC_WORD_EAT, EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_ATTACK, EC_WORD_YOU, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_LEARN, 0xFFFF},
+ .speechLose = {EC_WORD_SO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_MY, EC_WORD_INVINCIBLE, EC_WORD_ATTACK},
+ .monSets = gBattleFrontierTrainerMons_Alana
+ },
+ [243] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("ALEXAS"),
+ .speechBefore = {EC_WORD_GOOD, EC_WORD_TO, EC_WORD_MEET_YOU, EC_WORD_YOUNG, EC_WORD_TRAINER, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, 0xFFFF, EC_WORD_GIVE, EC_WORD_IT, EC_WORD_UP},
+ .speechLose = {EC_WORD_YOU, EC_WORD_ARE, EC_WORD_A, EC_WORD_STRONG, EC_WORD_TRAINER, EC_WORD_KID},
+ .monSets = gBattleFrontierTrainerMons_Alexas
+ },
+ [244] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("WESTON"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_PLAY, EC_WORD_DOWN, EC_WORD_ALL_RIGHT, EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_FAR, EC_WORD_TOO, EC_WORD_EASY, EC_WORD_TO, EC_WORD_ATTACK},
+ .speechLose = {EC_WORD_WELL, EC_WORD_WELL, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Weston
+ },
+ [245] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("JASPER"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_OLD, EC_WORD_I_AM, EC_WORD_SKILLED, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_SKILLED, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_SHOCKED, EC_WORD_EXCL, EC_WORD_DOWN, EC_WORD_I, EC_WORD_GO},
+ .monSets = gBattleFrontierTrainerMons_Jasper
+ },
+ [246] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("NADIA"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, EC_WORD_DOWN, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_HAH, EC_WORD_EXCL, 0xFFFF, EC_WORD_I, EC_WORD_BEAT, EC_WORD_YOU},
+ .speechLose = {EC_WORD_I_AM, EC_MOVE2(BEAT_UP), EC_WORD_AND, EC_WORD_DOWNCAST, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Nadia
+ },
+ [247] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("MIRANDA"),
+ .speechBefore = {EC_WORD_WELL, EC_WORD_WELL, 0xFFFF, EC_WORD_LET_S, EC_WORD_START, 0xFFFF},
+ .speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_DONE, EC_WORD_SO, EC_WORD_SOON, EC_WORD_QUES},
+ .speechLose = {EC_WORD_WELL, EC_WORD_I, EC_WORD_SEE, EC_WORD_THAT, EC_WORD_I_AM, EC_WORD_TOO_WEAK},
+ .monSets = gBattleFrontierTrainerMons_Miranda
+ },
+ [248] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("EMMA"),
+ .speechBefore = {EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_HEARING, EC_WORD_ABOUT, EC_WORD_YOU, 0xFFFF},
+ .speechWin = {EC_WORD_I, EC_WORD_THINK, EC_WORD_I_VE, EC_WORD_MISHEARD, EC_WORD_THINGS, 0xFFFF},
+ .speechLose = {EC_WORD_WHAT, EC_WORD_I_VE, EC_WORD_BEEN, EC_WORD_HEARING, EC_WORD_IS, EC_WORD_RIGHT},
+ .monSets = gBattleFrontierTrainerMons_Emma
+ },
+ [249] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_M,
+ .trainerName = _("ROLANDO"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_SUPER, EC_WORD_POKEMON, EC_WORD_HERO, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_WAS, EC_WORD_THAT, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_YOU, EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BEAT, EC_WORD_A, EC_WORD_HERO},
+ .monSets = gBattleFrontierTrainerMons_Rolando
+ },
+ [250] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_M,
+ .trainerName = _("STANLY"),
+ .speechBefore = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_AN, EC_WORD_EASY, EC_WORD_MATCH},
+ .speechWin = {EC_WORD_IT, EC_WORD_REALLY, EC_WORD_WAS, EC_WORD_EASY, 0xFFFF, 0xFFFF},
+ .speechLose = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_HAPPY, EC_WORD_NOW, EC_WORD_QUES, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Stanly
+ },
+ [251] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_M,
+ .trainerName = _("DARIO"),
+ .speechBefore = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_SAYS, EC_WORD_I, EC_WORD_WILL, EC_WORD_WIN},
+ .speechWin = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_HAS, EC_WORD_BEEN, EC_WORD_PERFECT, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_SEE, EC_WORD_THIS, EC_MOVE(REVERSAL), EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Dario
+ },
+ [252] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_F,
+ .trainerName = _("KARLEE"),
+ .speechBefore = {EC_WORD_SOMETHING, EC_WORD_GOOD, EC_WORD_WILL, EC_WORD_COME, EC_WORD_OF, EC_WORD_THIS},
+ .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_FANTASTIC, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_THAT, EC_WORD_SOMETHING, EC_WORD_GOOD, EC_WORD_WENT, EC_WORD_TO, EC_WORD_YOU},
+ .monSets = gBattleFrontierTrainerMons_Karlee
+ },
+ [253] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_F,
+ .trainerName = _("JAYLIN"),
+ .speechBefore = {EC_WORD_EVERY, EC_WORD_TRAINER, EC_WORD_HAS, EC_WORD_BEEN, EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_MAKING, EC_WORD_ME, EC_MOVE(YAWN), EC_WORD_THAT, EC_WORD_BATTLE},
+ .speechLose = {EC_WORD_I, EC_WORD_SLEPT, EC_WORD_AND, EC_WORD_SO, EC_WORD_I, EC_WORD_LOST},
+ .monSets = gBattleFrontierTrainerMons_Jaylin
+ },
+ [254] = {
+ .facilityClass = FACILITY_CLASS_PSYCHIC_F,
+ .trainerName = _("INGRID"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_A, EC_WORD_VERY, EC_WORD_MEAN, EC_WORD_TRAINER},
+ .speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_A, EC_WORD_GOOD, EC_WORD_MATCH, EC_WORD_QUES},
+ .speechLose = {EC_WORD_I, EC_WORD_LOST, EC_WORD_CAUSE, EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Ingrid
+ },
+ [255] = {
+ .facilityClass = FACILITY_CLASS_HEX_MANIAC,
+ .trainerName = _("DELILAH"),
+ .speechBefore = {EC_WORD_DON_T, EC_MOVE(GRUDGE), EC_WORD_ME, EC_WORD_IF_I_WIN, EC_WORD_OK_QUES, 0xFFFF},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_TO, EC_WORD_SEE, EC_WORD_YOU, EC_WORD_ANGRY},
+ .speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_A, EC_MOVE(GRUDGE), EC_WORD_WITH, EC_WORD_YOU},
+ .monSets = gBattleFrontierTrainerMons_Delilah
+ },
+ [256] = {
+ .facilityClass = FACILITY_CLASS_HEX_MANIAC,
+ .trainerName = _("CARLY"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_SCATTER, EC_WORD_SOME, EC_MOVE2(POISON_POWDER), EC_WORD_ABOUT},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_SCARY, EC_WORD_HOW, EC_WORD_MY, EC_WORD_STRATEGY, EC_WORD_WORKS},
+ .speechLose = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_YOU, EC_WORD_AND, EC_WORD_YOUR, EC_WORD_POKEMON},
+ .monSets = gBattleFrontierTrainerMons_Carly
+ },
+ [257] = {
+ .facilityClass = FACILITY_CLASS_HEX_MANIAC,
+ .trainerName = _("LEXIE"),
+ .speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_SEE, EC_WORD_SCARY, EC_WORD_POKEMON, EC_WORD_QUES},
+ .speechWin = {EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_SCARY, EC_WORD_EH_QUES, 0xFFFF, 0xFFFF},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_MORE, EC_WORD_SCARY, EC_WORD_THAN, EC_WORD_MY, EC_WORD_POKEMON},
+ .monSets = gBattleFrontierTrainerMons_Lexie
+ },
+ [258] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("MILLER"),
+ .speechBefore = {EC_WORD_HELLO, EC_WORD_QUES, 0xFFFF, EC_WORD_HELLO, EC_WORD_QUES_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_HELLO, EC_WORD_MOTHER, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WON, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_MY, EC_WORD_PHONE, EC_WORD_ISN_T, EC_WORD_WORKING, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Miller
+ },
+ [259] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("MARV"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_LOSE, EC_WORD_YOUR, EC_MOVE(SWAGGER), EC_WORD_NOW},
+ .speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_MOVE(SWAGGER), EC_WORD_LEFT, EC_WORD_EH_QUES},
+ .speechLose = {EC_WORD_GO, EC_WORD_ON, EC_MOVE(SWAGGER), EC_WORD_ALL, EC_WORD_YOU, EC_WORD_WANT},
+ .monSets = gBattleFrontierTrainerMons_Marv
+ },
+ [260] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("LAYTON"),
+ .speechBefore = {EC_WORD_I, EC_WORD_KNOW, EC_WORD_I_AM, EC_WORD_TOTALLY, EC_WORD_COOL, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_YOU, EC_WORD_CAN, EC_WORD_LOOK, EC_WORD_UP, EC_WORD_TO, EC_WORD_ME},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_COOL, EC_WORD_EXCL, EC_WORD_NO, EC_WORD_REALLY, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Layton
+ },
+ [261] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("BROOKS"),
+ .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_BATTLE},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_HIGH, EC_WORD_LEVEL, EC_WORD_AND, EC_WORD_EXCITING, EC_WORD_TOO},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_HIGH, EC_WORD_IN, EC_WORD_LEVEL, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Brooks
+ },
+ [262] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("GREGORY"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_THAT, EC_WORD_OLD, EC_WORD_YET, 0xFFFF},
+ .speechWin = {EC_WORD_WHO, EC_WORD_SAYS, EC_WORD_I_AM, EC_WORD_TOO, EC_WORD_OLD, EC_WORD_QUES},
+ .speechLose = {EC_WORD_PLEASE, EC_WORD_I_AM, EC_WORD_REALLY, EC_WORD_NOT, EC_WORD_THAT, EC_WORD_OLD},
+ .monSets = gBattleFrontierTrainerMons_Gregory
+ },
+ [263] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("REESE"),
+ .speechBefore = {EC_WORD_I_VE, EC_WORD_A, EC_WORD_COUPLE, EC_WORD_THINGS, 0xFFFF, 0xFFFF},
+ .speechWin = {EC_WORD_DON_T, EC_WORD_DIET, EC_WORD_PLAY, EC_WORD_SPORTS, EC_WORD_INSTEAD, 0xFFFF},
+ .speechLose = {EC_WORD_INSTEAD, EC_WORD_OF, EC_WORD_TELEVISION, EC_WORD_GET, EC_WORD_A, EC_WORD_BOOK},
+ .monSets = gBattleFrontierTrainerMons_Reese
+ },
+ [264] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
+ .trainerName = _("MASON"),
+ .speechBefore = {EC_WORD_PLEASE, EC_WORD_DON_T, EC_WORD_MAKE, EC_WORD_THIS, EC_WORD_SCARY, 0xFFFF},
+ .speechWin = {EC_WORD_THANK_YOU, EC_WORD_ELLIPSIS, 0xFFFF, EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_NOW},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_ELLIPSIS, 0xFFFF, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Mason
+ },
+ [265] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_M,
+ .trainerName = _("TOBY"),
+ .speechBefore = {EC_WORD_LISTEN, EC_WORD_UP, 0xFFFF, EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_WIN},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_A, EC_WORD_GENIUS, EC_WORD_OR, EC_WORD_WHAT, EC_WORD_QUES},
+ .speechLose = {EC_WORD_I, EC_WORD_CAN, EC_WORD_BEAT, EC_WORD_YOU, EC_WORD_AT, EC_WORD_SMARTNESS},
+ .monSets = gBattleFrontierTrainerMons_Toby
+ },
+ [266] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
+ .trainerName = _("DOROTHY"),
+ .speechBefore = {EC_WORD_THE, EC_WORD_SPORTS, EC_WORD_WORLD, EC_WORD_SHOULD, EC_WORD_ACCEPT, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_WIN, EC_WORD_WAS, EC_WORD_REFRESHING},
+ .speechLose = {EC_WORD_THANK_YOU, EC_WORD_EXCL, EC_WORD_THAT, EC_WORD_LOSS, EC_WORD_WAS, EC_WORD_REFRESHING},
+ .monSets = gBattleFrontierTrainerMons_Dorothy
+ },
+ [267] = {
+ .facilityClass = FACILITY_CLASS_RUNNING_TRIATHLETE_F,
+ .trainerName = _("PIPER"),
+ .speechBefore = {EC_WORD_COME_ON, EC_WORD_YOU, EC_WORD_NEED, EC_WORD_A, EC_WORD_SPEED_BOOST, EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_SHOW, EC_WORD_MORE, EC_WORD_GUTS},
+ .speechLose = {EC_WORD_OH, EC_WORD_YOU, EC_WORD_EXCL, 0xFFFF, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Piper
+ },
+ [268] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
+ .trainerName = _("FINN"),
+ .speechBefore = {EC_WORD_NOT, EC_WORD_ANOTHER, EC_WORD_TRAINER, EC_WORD_BATTLE, EC_WORD_ELLIPSIS, 0xFFFF},
+ .speechWin = {EC_WORD_WON_T, EC_WORD_THIS, EC_WORD_EVER, EC_WORD_END, EC_WORD_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_I, EC_WORD_FINALLY, EC_WORD_GET, EC_WORD_TO, EC_MOVE2(REST), EC_WORD_A_LITTLE},
+ .monSets = gBattleFrontierTrainerMons_Finn
+ },
+ [269] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_M,
+ .trainerName = _("SAMIR"),
+ .speechBefore = {EC_WORD_I, EC_MOVE2(DIVE), EC_WORD_BELOW, EC_WORD_THE, EC_MOVE2(SURF), EC_WORD_EXCL},
+ .speechWin = {EC_WORD_YAHOO, EC_WORD_TAKE, EC_WORD_A, EC_MOVE2(DIVE), EC_WORD_YOU, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_SINK, EC_WORD_ELLIPSIS, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Samir
+ },
+ [270] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
+ .trainerName = _("FIONA"),
+ .speechBefore = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_LIMBER, EC_WORD_UP, EC_WORD_BEFORE, EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_BE, EC_WORD_MORE, EC_WORD_READY},
+ .speechLose = {EC_WORD_BEING, EC_WORD_LIMBER, EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_FOR, EC_WORD_ME},
+ .monSets = gBattleFrontierTrainerMons_Fiona
+ },
+ [271] = {
+ .facilityClass = FACILITY_CLASS_SWIMMING_TRIATHLETE_F,
+ .trainerName = _("GLORIA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_ATTACK, EC_WORD_WITH, EC_WORD_SUCTION_CUPS},
+ .speechWin = {EC_WORD_GIGGLE, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_OVER, EC_WORD_FOR, EC_WORD_YOU},
+ .speechLose = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_GET, EC_WORD_HOW, EC_WORD_SUCTION_CUPS, EC_WORD_WORK},
+ .monSets = gBattleFrontierTrainerMons_Gloria
+ },
+ [272] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
+ .trainerName = _("NICO"),
+ .speechBefore = {EC_WORD_LIKE, EC_WORD_A, EC_MOVE(SONIC_BOOM), EC_WORD_I_VE_ARRIVED, 0xFFFF, 0xFFFF},
+ .speechWin = {EC_WORD_SORRY, EC_WORD_TO, EC_WORD_MAKE, EC_WORD_YOU, EC_WORD_SO, EC_WORD_DOWNCAST},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_WITH, EC_WORD_A, EC_MOVE2(SUPERSONIC), EC_WORD_SPEED_BOOST},
+ .monSets = gBattleFrontierTrainerMons_Nico
+ },
+ [273] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_M,
+ .trainerName = _("JEREMY"),
+ .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_MASTER, EC_WORD_THAT_S, EC_WORD_MY, EC_WORD_DREAM},
+ .speechWin = {EC_WORD_MY, EC_WORD_DREAM, EC_WORD_ISN_T, EC_WORD_FAR, EC_WORD_OFF, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_WHAT, EC_WORD_I, EC_WORD_DREAM, EC_WORD_ISN_T, EC_WORD_HAPPENING, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Jeremy
+ },
+ [274] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
+ .trainerName = _("CAITLIN"),
+ .speechBefore = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_CUTE, EC_WORD_QUES},
+ .speechWin = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_MORE, EC_WORD_TO_ME, EC_WORD_THAN, EC_WORD_CUTENESS},
+ .speechLose = {EC_WORD_MY, EC_WORD_CUTE_CHARM, EC_WORD_DOESN_T, EC_MOVE2(ATTRACT), EC_WORD_YOU, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Caitlin
+ },
+ [275] = {
+ .facilityClass = FACILITY_CLASS_CYCLING_TRIATHLETE_F,
+ .trainerName = _("REENA"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_ALWAYS, EC_WORD_HAPPY, EC_WORD_HAPPY, EC_WORD_HAPPY, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_OH, EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_YAHOO, EC_WORD_FOR, EC_WORD_ME},
+ .speechLose = {EC_WORD_YAHOO, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_HAPPY, EC_WORD_FOR, EC_WORD_YOU},
+ .monSets = gBattleFrontierTrainerMons_Reena
+ },
+ [276] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("AVERY"),
+ .speechBefore = {EC_WORD_I_VE, EC_WORD_GOT, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_BUG, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ALL, EC_WORD_UNBELIEVABLE},
+ .speechLose = {EC_WORD_MY, EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ALL, EC_WORD_UPSIDE_DOWN},
+ .monSets = gBattleFrontierTrainerMons_Avery
+ },
+ [277] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("LIAM"),
+ .speechBefore = {EC_WORD_WE, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_FIRE, EC_WORD_AND, EC_WORD_FLYING},
+ .speechWin = {EC_WORD_BUG, EC_WORD_POKEMON, EC_WORD_AREN_T, EC_WORD_BAD, EC_WORD_HEY_QUES, 0xFFFF},
+ .speechLose = {EC_WORD_YOU, EC_WORD_KNOW, EC_WORD_WHAT, EC_WORD_WE, EC_WORD_DISLIKE, EC_WORD_HEY_QUES},
+ .monSets = gBattleFrontierTrainerMons_Liam
+ },
+ [278] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("THEO"),
+ .speechBefore = {EC_WORD_FISHING, EC_WORD_IS, EC_WORD_MY, EC_WORD_CHOICE, EC_WORD_IN, EC_WORD_LIFE},
+ .speechWin = {EC_WORD_WATER, EC_WORD_POKEMON, EC_MOVE2(ATTRACT), EC_WORD_ME, EC_WORD_WITHOUT, EC_WORD_END},
+ .speechLose = {EC_WORD_DON_T, EC_WORD_COUNT_ON, EC_WORD_THAT, EC_WORD_HAPPENING, EC_WORD_ANOTHER, EC_WORD_TIME},
+ .monSets = gBattleFrontierTrainerMons_Theo
+ },
+ [279] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("BAILEY"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_WORD_BATTLE, EC_WORD_EASY},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_MOVE2(SWALLOW), EC_WORD_JOY},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_AN, EC_WORD_ADULT, EC_WORD_I, EC_MOVE2(SWALLOW), EC_MOVE2(FRUSTRATION)},
+ .monSets = gBattleFrontierTrainerMons_Bailey
+ },
+ [280] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("HUGO"),
+ .speechBefore = {EC_WORD_I, EC_WORD_TRY, EC_WORD_THE, EC_WORD_BEST, EC_WORD_I, EC_WORD_CAN},
+ .speechWin = {EC_WORD_I, EC_WORD_CAN_WIN, EC_WORD_IF, EC_WORD_I, EC_WORD_TRY, EC_WORD_ENOUGH},
+ .speechLose = {EC_WORD_I, EC_WORD_DID, EC_WORD_TRY, EC_WORD_DIDN_T, EC_WORD_I, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Hugo
+ },
+ [281] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("BRYCE"),
+ .speechBefore = {EC_WORD_I_WAS, EC_WORD_ON, EC_WORD_VACATION, EC_WORD_UNTIL, EC_WORD_ONLY, EC_WORD_YESTERDAY},
+ .speechWin = {EC_WORD_I, EC_WORD_HAVEN_T, EC_WORD_LOST, EC_WORD_MY, EC_WORD_SKILL, EC_WORD_YET},
+ .speechLose = {EC_WORD_THAT_S, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_NEED, EC_WORD_SLEEP},
+ .monSets = gBattleFrontierTrainerMons_Bryce
+ },
+ [282] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("GIDEON"),
+ .speechBefore = {EC_WORD_WHAT_S_UP_QUES, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_I_AM, EC_WORD_SCARY, EC_WORD_QUES},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_NOT, EC_WORD_SCARY, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_FASHION, EC_WORD_SENSE},
+ .monSets = gBattleFrontierTrainerMons_Gideon
+ },
+ [283] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("TRISTON"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WOULD, EC_WORD_RATHER, EC_WORD_LOOK, EC_WORD_AT, EC_WORD_POKEMON},
+ .speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES_EXCL},
+ .speechLose = {EC_WORD_SEE, EC_WORD_QUES, 0xFFFF, EC_WORD_I, EC_WORD_ALWAYS, EC_WORD_LOSE},
+ .monSets = gBattleFrontierTrainerMons_Triston
+ },
+ [284] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("CHARLES"),
+ .speechBefore = {EC_WORD_IT_S, EC_WORD_HOPELESS, EC_WORD_TO, EC_MOVE2(STRUGGLE), EC_WORD_WITH, EC_WORD_ME},
+ .speechWin = {EC_MOVE(SUBMISSION), EC_WORD_WAS, EC_WORD_YOUR, EC_WORD_ONLY, EC_WORD_CHOICE, 0xFFFF},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_DOWN, EC_WORD_DOWN, EC_WORD_DOWN, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Charles
+ },
+ [285] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("RAYMOND"),
+ .speechBefore = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_HEAR, EC_WORD_MY, EC_WORD_SONG, EC_WORD_QUES},
+ .speechWin = {EC_WORD_SATISFIED, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_SATISFIED, EC_WORD_IS, EC_WORD_WHAT, EC_WORD_I, EC_WORD_CAN_T, EC_WORD_BE},
+ .monSets = gBattleFrontierTrainerMons_Raymond
+ },
+ [286] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("DIRK"),
+ .speechBefore = {EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_ABOVE, EC_WORD_THE, EC_MOVE2(REST)},
+ .speechWin = {EC_WORD_YOU, EC_WORD_CAN_T_WIN, EC_WORD_EXCL, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_RULE},
+ .speechLose = {EC_WORD_AREN_T, EC_WORD_THERE, EC_WORD_MORE, EC_WORD_FLYING, EC_WORD_POKEMON, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Dirk
+ },
+ [287] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("HAROLD"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_APPEAL, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
+ .speechWin = {EC_WORD_YOU, EC_WORD_DO, EC_WORD_LIKE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES},
+ .speechLose = {EC_WORD_SO, EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Harold
+ },
+ [288] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("OMAR"),
+ .speechBefore = {EC_WORD_LET_ME_WIN, EC_WORD_IN, EC_MOVE(RETURN), EC_WORD_FOR, EC_WORD_A, EC_MOVE2(PRESENT)},
+ .speechWin = {EC_WORD_HERE, EC_WORD_YOU, EC_WORD_ARE, EC_WORD_SOME, EC_MOVE2(TOXIC), EC_WORD_SWEETS},
+ .speechLose = {EC_WORD_YOUR, EC_MOVE2(PRESENT), EC_WORD_QUES, EC_WORD_WHAT, EC_WORD_FOR, EC_WORD_QUES_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Omar
+ },
+ [289] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("PETER"),
+ .speechBefore = {EC_WORD_I, EC_WORD_BRAG, EC_WORD_ABOUT, EC_WORD_MY, EC_WORD_HAPPINESS, EC_WORD_OK_QUES},
+ .speechWin = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_LISTEN, EC_WORD_TO_ME, EC_WORD_BRAG},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_DISAPPOINTED, EC_WORD_YOU, EC_WORD_WON_T, EC_WORD_LISTEN, EC_WORD_TO_ME},
+ .monSets = gBattleFrontierTrainerMons_Peter
+ },
+ [290] = {
+ .facilityClass = FACILITY_CLASS_HIKER,
+ .trainerName = _("DEV"),
+ .speechBefore = {EC_WORD_COME_ON, EC_WORD_LET_S, EC_WORD_GET, EC_WORD_A, EC_WORD_MOVE, EC_WORD_ON},
+ .speechWin = {EC_WORD_I, EC_WORD_GET, EC_WORD_TO, EC_WORD_NAP, EC_WORD_AFTER, EC_WORD_THAT},
+ .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_NAP, EC_WORD_AFTER, EC_WORD_THAT},
+ .monSets = gBattleFrontierTrainerMons_Dev
+ },
+ [291] = {
+ .facilityClass = FACILITY_CLASS_HIKER,
+ .trainerName = _("COREY"),
+ .speechBefore = {EC_WORD_LET_S, EC_WORD_TEACH, EC_WORD_YOU, EC_WORD_HOW, EC_WORD_TOUGH, EC_WORD_I_AM},
+ .speechWin = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_ME, EC_WORD_MAKE, EC_WORD_A, EC_MOVE(BRICK_BREAK)},
+ .speechLose = {EC_WORD_MY, EC_MOVE2(FRUSTRATION), EC_WORD_IS, EC_WORD_CLOSE, EC_WORD_TO, EC_MOVE2(ERUPTION)},
+ .monSets = gBattleFrontierTrainerMons_Corey
+ },
+ [292] = {
+ .facilityClass = FACILITY_CLASS_KINDLER,
+ .trainerName = _("ANDRE"),
+ .speechBefore = {EC_WORD_NOW, EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_WORD_PERFECT, EC_WORD_FLAME_BODY},
+ .speechWin = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_FIERY, EC_WORD_DANCE, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU, EC_WORD_WANT, EC_WORD_AN, EC_MOVE2(EXPLOSION), EC_WORD_HERE, EC_WORD_QUES},
+ .monSets = gBattleFrontierTrainerMons_Andre
+ },
+ [293] = {
+ .facilityClass = FACILITY_CLASS_KINDLER,
+ .trainerName = _("FERRIS"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_IN, EC_WORD_THE, EC_WORD_OLD, EC_WORD_CLASS},
+ .speechWin = {EC_WORD_NO_1, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_NO_1, EC_WORD_ANY, EC_WORD_MORE, EC_WORD_ELLIPSIS},
+ .monSets = gBattleFrontierTrainerMons_Ferris
+ },
+ [294] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("ALIVIA"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_GIDDY, EC_WORD_SO, EC_WORD_SHOULD, EC_WORD_YOU},
+ .speechWin = {EC_WORD_IT, EC_WORD_WAS, EC_WORD_ALL, EC_WORD_TOGETHER, EC_WORD_TOO, EC_WORD_EASY},
+ .speechLose = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GIDDY, EC_WORD_UP, EC_WORD_AND, EC_WORD_AWAY},
+ .monSets = gBattleFrontierTrainerMons_Alivia
+ },
+ [295] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("PAIGE"),
+ .speechBefore = {EC_WORD_LET_S, EC_WORD_ENJOY, EC_WORD_OUR, EC_WORD_BATTLE, EC_WORD_TOGETHER, 0xFFFF},
+ .speechWin = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_THANK_YOU, EC_WORD_VERY, EC_WORD_MUCH},
+ .speechLose = {EC_WORD_THAT_S_IT_EXCL, 0xFFFF, 0xFFFF, EC_WORD_DO, EC_WORD_GO, EC_WORD_ON},
+ .monSets = gBattleFrontierTrainerMons_Paige
+ },
+ [296] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("ANYA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_OH, EC_WORD_SO, EC_WORD_PRETTY, EC_WORD_FASHION},
+ .speechWin = {EC_WORD_FASHION, EC_WORD_SHOULD, EC_WORD_MATCH, EC_WORD_THE, EC_WORD_PERSON, 0xFFFF},
+ .speechLose = {EC_WORD_PRETTY, EC_WORD_COULD, EC_WORD_BE, EC_WORD_GOOD, 0xFFFF, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Anya
+ },
+ [297] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("DAWN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_GO, EC_WORD_ALL, EC_WORD_OUT, EC_WORD_EXCL, 0xFFFF},
+ .speechWin = {EC_WORD_DON_T, EC_WORD_BE, EC_WORD_A, EC_WORD_BABY, EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_YOU, EC_WORD_WON, EC_WORD_EXCL, EC_WORD_MOVE, EC_WORD_ON, EC_WORD_EXCL},
+ .monSets = gBattleFrontierTrainerMons_Dawn
+ },
+ [298] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("ABBY"),
+ .speechBefore = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_A, EC_WORD_TRAINER, EC_WORD_THAT_S, EC_WORD_REFRESHING},
+ .speechWin = {EC_WORD_VICTORY, EC_WORD_HAS, EC_WORD_A, EC_MOVE(SWEET_SCENT), EC_WORD_EXCL, 0xFFFF},
+ .speechLose = {EC_WORD_WHAT, EC_WORD_AN, EC_WORD_AWFUL, EC_WORD_STENCH, EC_WORD_EXCL, 0xFFFF},
+ .monSets = gBattleFrontierTrainerMons_Abby
+ },
+ [299] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("GRETEL"),
+ .speechBefore = {EC_WORD_I, EC_WORD_CAUSE, EC_MOVE(OUTRAGE), EC_WORD_AS, EC_WORD_A, EC_WORD_TRAINER},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_ONLY, EC_WORD_NATURAL, EC_WORD_SEE_YA, EC_WORD_BYE_BYE, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_IT_S, EC_WORD_HARD, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_BUT, EC_WORD_CONGRATS},
+ .monSets = gBattleFrontierTrainerMons_Gretel
+ }
+};
diff --git a/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h b/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h
new file mode 100644
index 000000000..108b3a3b0
--- /dev/null
+++ b/src/data/battle_frontier/battle_pyramid_level_50_wild_mons.h
@@ -0,0 +1,1063 @@
+static const struct PyramidWildMon sLevel50WildMons_Round1[] =
+{
+ {
+ .species = SPECIES_PLUSLE,
+ .lvl = 35,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MINUN,
+ .lvl = 35,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PIKACHU,
+ .lvl = 37,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ELECTABUZZ,
+ .lvl = 37,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .lvl = 39,
+ .abilityBit = 2,
+ .moves = {MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .lvl = 39,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .lvl = 40,
+ .abilityBit = 2,
+ .moves = {MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH}
+ },
+ {
+ .species = SPECIES_JOLTEON,
+ .lvl = 40,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round2[] =
+{
+ {
+ .species = SPECIES_GULPIN,
+ .lvl = 36,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .lvl = 36,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE}
+ },
+ {
+ .species = SPECIES_BUTTERFREE,
+ .lvl = 38,
+ .abilityBit = 2,
+ .moves = {MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .lvl = 38,
+ .abilityBit = 2,
+ .moves = {MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .lvl = 40,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .lvl = 40,
+ .abilityBit = 1,
+ .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE}
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round3[] =
+{
+ {
+ .species = SPECIES_GROWLITHE,
+ .lvl = 37,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VULPIX,
+ .lvl = 37,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .lvl = 39,
+ .abilityBit = 1,
+ .moves = {MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 39,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH}
+ },
+ {
+ .species = SPECIES_HOUNDOOM,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round4[] =
+{
+ {
+ .species = SPECIES_DUNSPARCE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round5[] =
+{
+ {
+ .species = SPECIES_HAUNTER,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CHIMECHO,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT}
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round6[] =
+{
+ {
+ .species = SPECIES_DIGLETT,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WYNAUT,
+ .lvl = 42,
+ .abilityBit = 0,
+ .moves = {MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT}
+ },
+ {
+ .species = SPECIES_DIGLETT,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_WYNAUT,
+ .lvl = 44,
+ .abilityBit = 0,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .lvl = 45,
+ .abilityBit = 0,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DUGTRIO,
+ .lvl = 45,
+ .abilityBit = 1,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round7[] =
+{
+ {
+ .species = SPECIES_GLALIE,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SNEASEL,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DEWGONG,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PILOSWINE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_JYNX,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CLOYSTER,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round8[] =
+{
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PINECO,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round9[] =
+{
+ {
+ .species = SPECIES_WOBBUFFET,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND}
+ },
+ {
+ .species = SPECIES_METANG,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_EXEGGUTOR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SLOWKING,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER}
+ },
+ {
+ .species = SPECIES_XATU,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_ESPEON,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round10[] =
+{
+ {
+ .species = SPECIES_GOLEM,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_OMASTAR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUNATONE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_AERODACTYL,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round11[] =
+{
+ {
+ .species = SPECIES_POLIWRATH,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH}
+ },
+ {
+ .species = SPECIES_HITMONCHAN,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH}
+ },
+ {
+ .species = SPECIES_HITMONLEE,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE}
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round12[] =
+{
+ {
+ .species = SPECIES_QUAGSIRE,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .lvl = 41,
+ .abilityBit = 2,
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PUPITAR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLAREON,
+ .lvl = 44,
+ .abilityBit = 2,
+ .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .lvl = 45,
+ .abilityBit = 2,
+ .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round13[] =
+{
+ {
+ .species = SPECIES_PINECO,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VENOMOTH,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_SCIZOR,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT}
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round14[] =
+{
+ {
+ .species = SPECIES_SABLEYE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SNEASEL,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK}
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN}
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HOUNDOOM,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_UMBREON,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round15[] =
+{
+ {
+ .species = SPECIES_OCTILLERY,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DEWGONG,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_QUAGSIRE,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_SLOWKING,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD}
+ },
+ {
+ .species = SPECIES_BLASTOISE,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round16[] =
+{
+ {
+ .species = SPECIES_DUSKULL,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_HAUNTER,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL}
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round17[] =
+{
+ {
+ .species = SPECIES_MAWILE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SCIZOR,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round18[] =
+{
+ {
+ .species = SPECIES_DRAGONAIR,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VIBRAVA,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_AERODACTYL,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE}
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CHARIZARD,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round19[] =
+{
+ {
+ .species = SPECIES_ARCANINE,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_POLIWRATH,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VAPOREON,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_JOLTEON,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLAREON,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC}
+ }
+};
+
+static const struct PyramidWildMon sLevel50WildMons_Round20[] =
+{
+ {
+ .species = SPECIES_KANGASKHAN,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH}
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .lvl = 42,
+ .abilityBit = 2,
+ .moves = {MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_URSARING,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_PORYGON2,
+ .lvl = 46,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_TAUROS,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT}
+ },
+ {
+ .species = SPECIES_FEAROW,
+ .lvl = 48,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_SNORLAX,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE}
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .lvl = 50,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}
+ }
+};
+
+static const struct PyramidWildMon *const sLevel50WildMonPointers[] =
+{
+ sLevel50WildMons_Round1,
+ sLevel50WildMons_Round2,
+ sLevel50WildMons_Round3,
+ sLevel50WildMons_Round4,
+ sLevel50WildMons_Round5,
+ sLevel50WildMons_Round6,
+ sLevel50WildMons_Round7,
+ sLevel50WildMons_Round8,
+ sLevel50WildMons_Round9,
+ sLevel50WildMons_Round10,
+ sLevel50WildMons_Round11,
+ sLevel50WildMons_Round12,
+ sLevel50WildMons_Round13,
+ sLevel50WildMons_Round14,
+ sLevel50WildMons_Round15,
+ sLevel50WildMons_Round16,
+ sLevel50WildMons_Round17,
+ sLevel50WildMons_Round18,
+ sLevel50WildMons_Round19,
+ sLevel50WildMons_Round20
+};
diff --git a/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h b/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h
new file mode 100644
index 000000000..10435d767
--- /dev/null
+++ b/src/data/battle_frontier/battle_pyramid_open_level_wild_mons.h
@@ -0,0 +1,1063 @@
+static const struct PyramidWildMon sOpenLevelWildMons_Round1[] =
+{
+ {
+ .species = SPECIES_PLUSLE,
+ .lvl = 15,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_ENCORE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MINUN,
+ .lvl = 15,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_QUICK_ATTACK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PIKACHU,
+ .lvl = 13,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_SLAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ELECTABUZZ,
+ .lvl = 13,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_SWIFT, MOVE_SCREECH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VILEPLUME,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_STUN_SPORE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MANECTRIC,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_STUN_SPORE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_MACH_PUNCH}
+ },
+ {
+ .species = SPECIES_JOLTEON,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDER, MOVE_PIN_MISSILE, MOVE_QUICK_ATTACK}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round2[] =
+{
+ {
+ .species = SPECIES_GULPIN,
+ .lvl = 14,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SLUDGE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ROSELIA,
+ .lvl = 14,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_PETAL_DANCE}
+ },
+ {
+ .species = SPECIES_BUTTERFREE,
+ .lvl = 12,
+ .abilityBit = 2,
+ .moves = {MOVE_POISON_POWDER, MOVE_GUST, MOVE_PSYBEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SEVIPER,
+ .lvl = 12,
+ .abilityBit = 2,
+ .moves = {MOVE_POISON_FANG, MOVE_SWAGGER, MOVE_CRUNCH, MOVE_POISON_TAIL}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .lvl = 7,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_FLY, MOVE_STEEL_WING, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .lvl = 7,
+ .abilityBit = 1,
+ .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_DIVE, MOVE_RAIN_DANCE}
+ },
+ {
+ .species = SPECIES_CROBAT,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_BITE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SHADOW_PUNCH, MOVE_NIGHT_SHADE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round3[] =
+{
+ {
+ .species = SPECIES_GROWLITHE,
+ .lvl = 13,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAME_WHEEL, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VULPIX,
+ .lvl = 13,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MAGCARGO,
+ .lvl = 11,
+ .abilityBit = 1,
+ .moves = {MOVE_FLAMETHROWER, MOVE_ROCK_SLIDE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 11,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_QUICK_ATTACK, MOVE_FLAMETHROWER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_FIRE_PUNCH, MOVE_HI_JUMP_KICK, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_CONFUSE_RAY, MOVE_MEAN_LOOK, MOVE_SHADOW_PUNCH}
+ },
+ {
+ .species = SPECIES_HOUNDOOM,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_SOLAR_BEAM, MOVE_OVERHEAT}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round4[] =
+{
+ {
+ .species = SPECIES_DUNSPARCE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SPITE, MOVE_TOXIC, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_NIGHT_SHADE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_OVERHEAT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_BITE, MOVE_AERIAL_ACE, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_TOXIC, MOVE_SHADOW_BALL}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_TOXIC, MOVE_SPITE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_GRUDGE, MOVE_SPITE, MOVE_NIGHT_SHADE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round5[] =
+{
+ {
+ .species = SPECIES_HAUNTER,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_THUNDERBOLT, MOVE_SLUDGE_BOMB, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CHIMECHO,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_TOXIC, MOVE_PSYCHIC, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_FIRE_BLAST, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_SPITE, MOVE_SHADOW_BALL, MOVE_PAIN_SPLIT}
+ },
+ {
+ .species = SPECIES_CLAYDOL,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_SELF_DESTRUCT, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_CRUNCH, MOVE_DRAGON_CLAW, MOVE_DRAGON_BREATH}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PSYCHIC, MOVE_GIGA_DRAIN, MOVE_NIGHT_SHADE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round6[] =
+{
+ {
+ .species = SPECIES_DIGLETT,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SLASH, MOVE_DIG, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WYNAUT,
+ .lvl = 8,
+ .abilityBit = 0,
+ .moves = {MOVE_DESTINY_BOND, MOVE_SPLASH, MOVE_COUNTER, MOVE_MIRROR_COAT}
+ },
+ {
+ .species = SPECIES_DIGLETT,
+ .lvl = 8,
+ .abilityBit = 1,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_MAGNITUDE, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_TRAPINCH,
+ .lvl = 6,
+ .abilityBit = 1,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_GIGA_DRAIN, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_WYNAUT,
+ .lvl = 6,
+ .abilityBit = 0,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WOBBUFFET,
+ .lvl = 5,
+ .abilityBit = 0,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_DESTINY_BOND, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DUGTRIO,
+ .lvl = 5,
+ .abilityBit = 1,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_EARTHQUAKE, MOVE_PROTECT}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round7[] =
+{
+ {
+ .species = SPECIES_GLALIE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUNCH, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SNEASEL,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_CRUSH_CLAW, MOVE_SPITE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DEWGONG,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_DOUBLE_EDGE, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PILOSWINE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_JYNX,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_LOVELY_KISS, MOVE_PSYCHIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CLOYSTER,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_BLIZZARD, MOVE_BODY_SLAM, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_SING, MOVE_BODY_SLAM, MOVE_ICE_BEAM, MOVE_PSYCHIC}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round8[] =
+{
+ {
+ .species = SPECIES_WEEZING,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ELECTRODE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_THUNDERBOLT, MOVE_ROLLOUT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_DESTINY_BOND, MOVE_LICK, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GOLEM,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_PROTECT, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PINECO,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_DOUBLE_EDGE, MOVE_GIGA_DRAIN, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SOLROCK,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_FIRE_SPIN, MOVE_PSYWAVE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_PROTECT}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round9[] =
+{
+ {
+ .species = SPECIES_WOBBUFFET,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_COUNTER, MOVE_MIRROR_COAT, MOVE_SAFEGUARD, MOVE_DESTINY_BOND}
+ },
+ {
+ .species = SPECIES_METANG,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TOXIC, MOVE_SLUDGE_BOMB, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_EXEGGUTOR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EGG_BOMB, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SLOWKING,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SURF, MOVE_ICE_BEAM, MOVE_FLAMETHROWER}
+ },
+ {
+ .species = SPECIES_XATU,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_ALAKAZAM,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_TOXIC}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_SURF, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_ESPEON,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_DIG, MOVE_SHADOW_BALL, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round10[] =
+{
+ {
+ .species = SPECIES_GOLEM,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_IRON_TAIL, MOVE_CRUNCH, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_OMASTAR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SURF, MOVE_MUD_SHOT, MOVE_ANCIENT_POWER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUNATONE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPNOSIS, MOVE_PSYWAVE, MOVE_EXPLOSION, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_PROTECT, MOVE_WRAP, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_ANCIENT_POWER, MOVE_PROTECT, MOVE_AERIAL_ACE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CRADILY,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_SLUDGE_BOMB, MOVE_GIGA_DRAIN, MOVE_CONFUSE_RAY, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_AERODACTYL,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_ROCK_SLIDE, MOVE_BITE, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round11[] =
+{
+ {
+ .species = SPECIES_POLIWRATH,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SUBMISSION, MOVE_FOCUS_PUNCH, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HARIYAMA,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_FAKE_OUT, MOVE_SURF, MOVE_FOCUS_PUNCH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_BRELOOM,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SPORE, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MEDICHAM,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH}
+ },
+ {
+ .species = SPECIES_HITMONCHAN,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_PUNCH, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_FOCUS_PUNCH}
+ },
+ {
+ .species = SPECIES_HITMONLEE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGAHORN, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_ROCK_SLIDE}
+ },
+ {
+ .species = SPECIES_MACHAMP,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_SLIDE, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_SEISMIC_TOSS}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round12[] =
+{
+ {
+ .species = SPECIES_QUAGSIRE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_RAIN_DANCE, MOVE_SURF, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_TROPIUS,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_SUNNY_DAY, MOVE_SOLAR_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PUPITAR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SANDSTORM, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LAPRAS,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_SANDSTORM, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLAREON,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_SUNNY_DAY, MOVE_FLAMETHROWER, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_WALREIN,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HAIL, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_RAIN_DANCE, MOVE_THUNDER, MOVE_HYDRO_PUMP, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round13[] =
+{
+ {
+ .species = SPECIES_PINECO,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHUCKLE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VENOMOTH,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SILVER_WIND, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_PSYCHIC}
+ },
+ {
+ .species = SPECIES_SCIZOR,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_QUICK_ATTACK, MOVE_METAL_CLAW, MOVE_FURY_CUTTER, MOVE_PURSUIT}
+ },
+ {
+ .species = SPECIES_HERACROSS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_MEGAHORN, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_EARTHQUAKE, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ARMALDO,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_PROTECT, MOVE_ROCK_SLIDE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_SPITE, MOVE_GRUDGE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round14[] =
+{
+ {
+ .species = SPECIES_SABLEYE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_PSYCHIC, MOVE_AERIAL_ACE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SNEASEL,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_TAUNT, MOVE_FAINT_ATTACK, MOVE_QUICK_ATTACK}
+ },
+ {
+ .species = SPECIES_CRAWDAUNT,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_CRABHAMMER, MOVE_ICE_BEAM, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHIFTRY,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_GIGA_DRAIN}
+ },
+ {
+ .species = SPECIES_CACTURNE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_GIGA_DRAIN, MOVE_NEEDLE_ARM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_ABSOL,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_BITE, MOVE_PROTECT, MOVE_SLASH, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_HOUNDOOM,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_OVERHEAT, MOVE_CRUNCH, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_UMBREON,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_IRON_TAIL, MOVE_QUICK_ATTACK}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round15[] =
+{
+ {
+ .species = SPECIES_OCTILLERY,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_OCTAZOOKA, MOVE_ICE_BEAM, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_DEWGONG,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_ICE_BEAM, MOVE_HEADBUTT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_PELIPPER,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_PROTECT, MOVE_SUPERSONIC, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_QUAGSIRE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_LUDICOLO,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_PROTECT, MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_SLOWKING,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_HEADBUTT, MOVE_SWAGGER, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_WATER_PULSE, MOVE_THUNDERBOLT, MOVE_CONFUSE_RAY, MOVE_BLIZZARD}
+ },
+ {
+ .species = SPECIES_BLASTOISE,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_BITE, MOVE_ICE_BEAM, MOVE_NONE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round16[] =
+{
+ {
+ .species = SPECIES_DUSKULL,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_NIGHT_SHADE, MOVE_WILL_O_WISP, MOVE_SHADOW_BALL, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_HAUNTER,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_TOXIC, MOVE_SPITE, MOVE_HYPNOSIS, MOVE_SHADOW_BALL}
+ },
+ {
+ .species = SPECIES_BANETTE,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_WILL_O_WISP, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MISDREAVUS,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_PERISH_SONG, MOVE_SPITE, MOVE_MEAN_LOOK, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SABLEYE,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_MEAN_LOOK, MOVE_DIG, MOVE_NIGHT_SHADE}
+ },
+ {
+ .species = SPECIES_DUSCLOPS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_WILL_O_WISP, MOVE_TOXIC, MOVE_SHADOW_BALL, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SHEDINJA,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_SHADOW_BALL, MOVE_SPITE, MOVE_GRUDGE, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_GENGAR,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYCHIC, MOVE_DESTINY_BOND, MOVE_SPITE, MOVE_NIGHT_SHADE}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round17[] =
+{
+ {
+ .species = SPECIES_MAWILE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_CRUNCH, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_MAGNETON,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STEELIX,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_ROCK_THROW, MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SCIZOR,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_METAL_CLAW, MOVE_SLASH, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FORRETRESS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EXPLOSION, MOVE_TOXIC, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_SKARMORY,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_STEEL_WING, MOVE_TOXIC, MOVE_FLY, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_AGGRON,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_TAKE_DOWN, MOVE_SURF, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_METAGROSS,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_SHADOW_BALL, MOVE_BRICK_BREAK}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round18[] =
+{
+ {
+ .species = SPECIES_DRAGONAIR,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_ICE_BEAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VIBRAVA,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_BREATH, MOVE_CRUNCH, MOVE_STEEL_WING}
+ },
+ {
+ .species = SPECIES_ALTARIA,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_SING, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_FLYGON,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_DRAGON_CLAW, MOVE_FIRE_BLAST, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_AERODACTYL,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_ROCK_SLIDE, MOVE_DRAGON_CLAW, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_GYARADOS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_THRASH, MOVE_BITE}
+ },
+ {
+ .species = SPECIES_KINGDRA,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_CHARIZARD,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_FIRE_BLAST, MOVE_IRON_TAIL}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round19[] =
+{
+ {
+ .species = SPECIES_ARCANINE,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_FIRE_BLAST, MOVE_TAKE_DOWN, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_POLIWRATH,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_HYDRO_PUMP, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_RAICHU,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_SLAM, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_VAPOREON,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_SURF, MOVE_ICE_BEAM, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_JOLTEON,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_THUNDERBOLT, MOVE_PIN_MISSILE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_FLAREON,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_BITE, MOVE_NONE, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_NINETALES,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_FLAMETHROWER, MOVE_WILL_O_WISP, MOVE_PROTECT, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_STARMIE,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_ICE_BEAM, MOVE_SURF, MOVE_THUNDERBOLT, MOVE_PSYCHIC}
+ }
+};
+
+static const struct PyramidWildMon sOpenLevelWildMons_Round20[] =
+{
+ {
+ .species = SPECIES_KANGASKHAN,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLAMETHROWER, MOVE_SURF, MOVE_DIZZY_PUNCH}
+ },
+ {
+ .species = SPECIES_SWELLOW,
+ .lvl = 10,
+ .abilityBit = 2,
+ .moves = {MOVE_AERIAL_ACE, MOVE_HYPER_BEAM, MOVE_TOXIC, MOVE_NONE}
+ },
+ {
+ .species = SPECIES_URSARING,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_FOCUS_PUNCH, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_PORYGON2,
+ .lvl = 8,
+ .abilityBit = 2,
+ .moves = {MOVE_PSYBEAM, MOVE_HYPER_BEAM, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}
+ },
+ {
+ .species = SPECIES_TAUROS,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF, MOVE_THUNDERBOLT}
+ },
+ {
+ .species = SPECIES_FEAROW,
+ .lvl = 6,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_FLY, MOVE_MIRROR_MOVE, MOVE_PROTECT}
+ },
+ {
+ .species = SPECIES_SNORLAX,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_BODY_SLAM, MOVE_SHADOW_BALL, MOVE_EARTHQUAKE}
+ },
+ {
+ .species = SPECIES_SLAKING,
+ .lvl = 5,
+ .abilityBit = 2,
+ .moves = {MOVE_HYPER_BEAM, MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_ICE_BEAM}
+ }
+};
+
+static const struct PyramidWildMon *const sOpenLevelWildMonPointers[] =
+{
+ sOpenLevelWildMons_Round1,
+ sOpenLevelWildMons_Round2,
+ sOpenLevelWildMons_Round3,
+ sOpenLevelWildMons_Round4,
+ sOpenLevelWildMons_Round5,
+ sOpenLevelWildMons_Round6,
+ sOpenLevelWildMons_Round7,
+ sOpenLevelWildMons_Round8,
+ sOpenLevelWildMons_Round9,
+ sOpenLevelWildMons_Round10,
+ sOpenLevelWildMons_Round11,
+ sOpenLevelWildMons_Round12,
+ sOpenLevelWildMons_Round13,
+ sOpenLevelWildMons_Round14,
+ sOpenLevelWildMons_Round15,
+ sOpenLevelWildMons_Round16,
+ sOpenLevelWildMons_Round17,
+ sOpenLevelWildMons_Round18,
+ sOpenLevelWildMons_Round19,
+ sOpenLevelWildMons_Round20
+};
diff --git a/src/data/battle_frontier/battle_tent.h b/src/data/battle_frontier/battle_tent.h
new file mode 100644
index 000000000..946ca0187
--- /dev/null
+++ b/src/data/battle_frontier/battle_tent.h
@@ -0,0 +1,3005 @@
+// Slateport Battle Tent.
+const u16 gSlateportBattleTentTrainerMons_Jolie[] =
+{
+ 9,
+ 10,
+ 13,
+ 27,
+ 35,
+ 37,
+ 42,
+ 44,
+ 45,
+ 46,
+ 63,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Malachi[] =
+{
+ 9,
+ 16,
+ 17,
+ 27,
+ 36,
+ 39,
+ 42,
+ 45,
+ 48,
+ 49,
+ 53,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Kelsie[] =
+{
+ 4,
+ 5,
+ 6,
+ 11,
+ 28,
+ 34,
+ 35,
+ 37,
+ 43,
+ 51,
+ 53,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Davon[] =
+{
+ 4,
+ 5,
+ 6,
+ 12,
+ 26,
+ 36,
+ 37,
+ 38,
+ 40,
+ 44,
+ 46,
+ 50,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Glenda[] =
+{
+ 0,
+ 1,
+ 17,
+ 18,
+ 19,
+ 22,
+ 23,
+ 33,
+ 42,
+ 61,
+ 64,
+ 65,
+ 66,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Helena[] =
+{
+ 18,
+ 19,
+ 21,
+ 38,
+ 39,
+ 41,
+ 42,
+ 52,
+ 54,
+ 58,
+ 63,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Rodolfo[] =
+{
+ 0,
+ 1,
+ 4,
+ 5,
+ 7,
+ 8,
+ 18,
+ 20,
+ 21,
+ 37,
+ 38,
+ 40,
+ 62,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Davion[] =
+{
+ 17,
+ 23,
+ 24,
+ 25,
+ 31,
+ 32,
+ 33,
+ 34,
+ 39,
+ 43,
+ 44,
+ 49,
+ 57,
+ 69,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Kendall[] =
+{
+ 4,
+ 7,
+ 8,
+ 9,
+ 11,
+ 12,
+ 13,
+ 27,
+ 38,
+ 40,
+ 45,
+ 46,
+ 47,
+ 63,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Colten[] =
+{
+ 0,
+ 2,
+ 12,
+ 22,
+ 28,
+ 30,
+ 35,
+ 38,
+ 43,
+ 44,
+ 56,
+ 57,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Irvin[] =
+{
+ 0,
+ 1,
+ 2,
+ 3,
+ 14,
+ 15,
+ 24,
+ 25,
+ 32,
+ 34,
+ 39,
+ 59,
+ 60,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Shaun[] =
+{
+ 17,
+ 18,
+ 19,
+ 22,
+ 29,
+ 36,
+ 42,
+ 48,
+ 61,
+ 62,
+ 66,
+ 68,
+ 69,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Kyler[] =
+{
+ 22,
+ 23,
+ 28,
+ 29,
+ 31,
+ 32,
+ 34,
+ 39,
+ 55,
+ 64,
+ 65,
+ 67,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Maggie[] =
+{
+ 10,
+ 13,
+ 17,
+ 27,
+ 45,
+ 46,
+ 53,
+ 56,
+ 61,
+ 62,
+ 63,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Stephon[] =
+{
+ 8,
+ 10,
+ 16,
+ 23,
+ 29,
+ 43,
+ 44,
+ 60,
+ 62,
+ 63,
+ 68,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Rebecca[] =
+{
+ 8,
+ 13,
+ 21,
+ 29,
+ 33,
+ 41,
+ 48,
+ 54,
+ 59,
+ 61,
+ 68,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Reggie[] =
+{
+ 6,
+ 7,
+ 17,
+ 23,
+ 24,
+ 26,
+ 32,
+ 36,
+ 52,
+ 53,
+ 57,
+ 65,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Janae[] =
+{
+ 0,
+ 1,
+ 27,
+ 28,
+ 32,
+ 34,
+ 36,
+ 37,
+ 52,
+ 53,
+ 57,
+ 65,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Caiden[] =
+{
+ 10,
+ 14,
+ 15,
+ 16,
+ 20,
+ 21,
+ 25,
+ 30,
+ 35,
+ 47,
+ 48,
+ 50,
+ 69,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Kirsten[] =
+{
+ 10,
+ 16,
+ 18,
+ 19,
+ 20,
+ 21,
+ 25,
+ 30,
+ 35,
+ 39,
+ 41,
+ 48,
+ 69,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Kurtis[] =
+{
+ 0,
+ 1,
+ 36,
+ 37,
+ 40,
+ 46,
+ 49,
+ 51,
+ 64,
+ 67,
+ 68,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Stefan[] =
+{
+ 4,
+ 5,
+ 21,
+ 33,
+ 37,
+ 38,
+ 40,
+ 51,
+ 52,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Avery[] =
+{
+ 2,
+ 3,
+ 7,
+ 8,
+ 22,
+ 23,
+ 28,
+ 29,
+ 30,
+ 51,
+ 67,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Dwane[] =
+{
+ 14,
+ 15,
+ 30,
+ 43,
+ 44,
+ 45,
+ 46,
+ 55,
+ 58,
+ 59,
+ 63,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Mckenna[] =
+{
+ 27,
+ 29,
+ 30,
+ 32,
+ 36,
+ 48,
+ 51,
+ 52,
+ 53,
+ 57,
+ 67,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Camryn[] =
+{
+ 5,
+ 6,
+ 7,
+ 8,
+ 10,
+ 16,
+ 17,
+ 20,
+ 21,
+ 37,
+ 43,
+ 44,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Natasha[] =
+{
+ 1,
+ 3,
+ 4,
+ 5,
+ 9,
+ 11,
+ 12,
+ 20,
+ 21,
+ 22,
+ 51,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Austyn[] =
+{
+ 25,
+ 31,
+ 35,
+ 37,
+ 38,
+ 39,
+ 50,
+ 51,
+ 52,
+ 58,
+ 68,
+ 69,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Donovan[] =
+{
+ 10,
+ 16,
+ 17,
+ 24,
+ 25,
+ 43,
+ 44,
+ 47,
+ 49,
+ 53,
+ 59,
+ 60,
+ 64,
+ 65,
+ -1
+};
+
+const u16 gSlateportBattleTentTrainerMons_Tamia[] =
+{
+ 2,
+ 6,
+ 9,
+ 13,
+ 17,
+ 19,
+ 20,
+ 24,
+ 27,
+ 29,
+ 30,
+ -1
+};
+
+const struct BattleFrontierTrainer gSlateportBattleTentTrainers[] =
+{
+ [0] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("JOLIE"),
+ .speechBefore = {EC_WORD_WHAT, EC_WORD_WILL, EC_WORD_I, EC_WORD_BE, EC_WORD_TOMORROW, EC_WORD_QUES},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_FRIDAY, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_LIKE, EC_WORD_IT_S, EC_WORD_MONDAY, EC_WORD_ELLIPSIS},
+ .monSets = gSlateportBattleTentTrainerMons_Jolie
+ },
+ [1] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("MALACHI"),
+ .speechBefore = {EC_WORD_BAD, EC_WORD_NEWS, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_A, EC_MOVE(SAND_TOMB)},
+ .speechWin = {EC_WORD_YEEHAW_EXCL, -1, -1, EC_WORD_I_VE, EC_WORD_DONE, EC_WORD_IT},
+ .speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_IN, EC_WORD_THIS, EC_MOVE(SAND_TOMB), EC_WORD_ELLIPSIS},
+ .monSets = gSlateportBattleTentTrainerMons_Malachi
+ },
+ [2] = {
+ .facilityClass = FACILITY_CLASS_TUBER_F,
+ .trainerName = _("KELSIE"),
+ .speechBefore = {EC_WORD_GO, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
+ .speechWin = {EC_WORD_YAHOO, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
+ .speechLose = {EC_WORD_GWAH, EC_WORD_EXCL_EXCL, EC_WORD_MY, EC_WORD_BATH, EC_WORD_POKEMON, EC_WORD_EXCL_EXCL},
+ .monSets = gSlateportBattleTentTrainerMons_Kelsie
+ },
+ [3] = {
+ .facilityClass = FACILITY_CLASS_TUBER_M,
+ .trainerName = _("DAVON"),
+ .speechBefore = {EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_GREAT, EC_MOVE(WHIRLPOOL), EC_WORD_ISN_T_IT_QUES},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_LIKE, EC_WORD_A, EC_MOVE(WHIRLPOOL), EC_WORD_YEAH_YEAH, EC_WORD_EXCL_EXCL},
+ .speechLose = {EC_WORD_DON_T, EC_WORD_GET, EC_MOVE2(BEAT_UP), EC_WORD_IN, EC_WORD_THAT, EC_MOVE(WHIRLPOOL)},
+ .monSets = gSlateportBattleTentTrainerMons_Davon
+ },
+ [4] = {
+ .facilityClass = FACILITY_CLASS_LADY,
+ .trainerName = _("GLENDA"),
+ .speechBefore = {EC_WORD_CONVERSATION, EC_WORD_CAN, EC_WORD_WAIT, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_WIN},
+ .speechWin = {EC_WORD_FABULOUS, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_ROCK},
+ .speechLose = {EC_WORD_NO, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_WASN_T, EC_WORD_SERIOUS},
+ .monSets = gSlateportBattleTentTrainerMons_Glenda
+ },
+ [5] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("HELENA"),
+ .speechBefore = {EC_WORD_DOES, EC_WORD_MY, EC_WORD_BEAUTY, EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_SO, EC_WORD_SORRY, EC_WORD_BUT, EC_WORD_YOU_RE, EC_WORD_BORING},
+ .speechLose = {EC_WORD_I, EC_WORD_DO, EC_WORD_SO, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_EXCL},
+ .monSets = gSlateportBattleTentTrainerMons_Helena
+ },
+ [6] = {
+ .facilityClass = FACILITY_CLASS_RICH_BOY,
+ .trainerName = _("RODOLFO"),
+ .speechBefore = {EC_WORD_GO, EC_WORD_GET, EC_WORD_A, EC_POKEMON(WHISCASH), EC_WORD_FOR, EC_WORD_ME},
+ .speechWin = {EC_WORD_AWW, EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_HAVE, EC_WORD_A, EC_POKEMON(WHISCASH)},
+ .speechLose = {EC_WORD_PLEASE, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_POKEMON(WHISCASH), EC_WORD_BADLY},
+ .monSets = gSlateportBattleTentTrainerMons_Rodolfo
+ },
+ [7] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("DAVION"),
+ .speechBefore = {EC_WORD_GRAAAH, EC_WORD_GRAAAH, EC_WORD_EXCL_EXCL, EC_WORD_GRAAAH, EC_WORD_GRAAAH, EC_WORD_EXCL_EXCL},
+ .speechWin = {EC_MOVE2(ROAR), EC_WORD_EXCL, -1, EC_MOVE2(ROAR), EC_WORD_EXCL_EXCL, -1},
+ .speechLose = {EC_WORD_URGH, EC_WORD_WAAAH, EC_WORD_EXCL_EXCL, -1, -1, -1},
+ .monSets = gSlateportBattleTentTrainerMons_Davion
+ },
+ [8] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_M,
+ .trainerName = _("KENDALL"),
+ .speechBefore = {EC_WORD_A_LITTLE, EC_MOVE2(PETAL_DANCE), EC_WORD_TO, EC_WORD_PLEASE, EC_WORD_YOU, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_I, EC_WORD_DO, EC_WORD_THIS, EC_WORD_ONLY, EC_WORD_FOR, EC_WORD_WORK},
+ .speechLose = {EC_WORD_HOW, EC_WORD_COULD, EC_WORD_YOU, EC_MOVE2(POUND), EC_WORD_ME, EC_WORD_QUES},
+ .monSets = gSlateportBattleTentTrainerMons_Kendall
+ },
+ [9] = {
+ .facilityClass = FACILITY_CLASS_CAMPER,
+ .trainerName = _("COLTEN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_RUN, EC_WORD_AROUND},
+ .speechWin = {EC_WORD_YAY, EC_WORD_EXCL, EC_WORD_WANT, EC_WORD_TO, EC_WORD_RUN, EC_WORD_QUES},
+ .speechLose = {EC_WORD_A, EC_WORD_SWIFT_SWIM, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_GOOD, EC_WORD_TOO},
+ .monSets = gSlateportBattleTentTrainerMons_Colten
+ },
+ [10] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("IRVIN"),
+ .speechBefore = {EC_WORD_HAVE, EC_WORD_A, EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_MOVE(CONFUSE_RAY)},
+ .speechWin = {EC_WORD_YAHOO, EC_WORD_MY, EC_MOVE(CONFUSE_RAY), EC_WORD_IS, EC_WORD_THE, EC_WORD_BEST},
+ .speechLose = {EC_WORD_GWAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_I_AM, EC_WORD_SORRY, EC_WORD_EXCL},
+ .monSets = gSlateportBattleTentTrainerMons_Irvin
+ },
+ [11] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("SHAUN"),
+ .speechBefore = {EC_WORD_LISTEN, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_AREN_T, EC_WORD_VERY, EC_WORD_GOOD},
+ .speechWin = {EC_WORD_YOU, EC_WORD_SEE, EC_WORD_QUES, EC_WORD_I, EC_WORD_WAS, EC_WORD_RIGHT},
+ .speechLose = {EC_WORD_YES, EC_WORD_YES, EC_WORD_ELLIPSIS, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_SOMETHING},
+ .monSets = gSlateportBattleTentTrainerMons_Shaun
+ },
+ [12] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("KYLER"),
+ .speechBefore = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_QUES},
+ .speechWin = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_YAY},
+ .speechLose = {EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_WOW},
+ .monSets = gSlateportBattleTentTrainerMons_Kyler
+ },
+ [13] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .trainerName = _("MAGGIE"),
+ .speechBefore = {EC_POKEMON(VULPIX), EC_POKEMON(XATU), EC_POKEMON2(UMBREON), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON(SEVIPER), EC_WORD_EXCL, -1},
+ .speechLose = {EC_POKEMON(NOSEPASS), EC_WORD_ELLIPSIS, EC_WORD_UM, EC_POKEMON2(SNORLAX), EC_WORD_ELLIPSIS, EC_WORD_UH_OH},
+ .monSets = gSlateportBattleTentTrainerMons_Maggie
+ },
+ [14] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("STEPHON"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_ENJOY, EC_WORD_AN, EC_WORD_EGG},
+ .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_WORD_ENJOY, EC_WORD_THIS, EC_WORD_TASTY, EC_WORD_VICTORY},
+ .speechLose = {EC_WORD_AWFUL, EC_WORD_EXCL_EXCL, -1, EC_WORD_JUST, EC_WORD_AWFUL, EC_WORD_EXCL_EXCL},
+ .monSets = gSlateportBattleTentTrainerMons_Stephon
+ },
+ [15] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("REBECCA"),
+ .speechBefore = {EC_WORD_THAT, EC_WORD_EGG, EC_WORD_HAS, EC_WORD_A, EC_WORD_TASTY, EC_WORD_SHINE},
+ .speechWin = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_EXCL, EC_WORD_SMELL, EC_WORD_THAT, EC_WORD_STENCH},
+ .speechLose = {EC_WORD_YOU, EC_WORD_CAN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_STOP, EC_WORD_ELLIPSIS},
+ .monSets = gSlateportBattleTentTrainerMons_Rebecca
+ },
+ [16] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("REGGIE"),
+ .speechBefore = {EC_WORD_POKEMON, EC_WORD_COME, EC_WORD_BEFORE, EC_WORD_MONEY, EC_WORD_OR, EC_WORD_FAMILY},
+ .speechWin = {EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_ME, EC_WORD_STRONG},
+ .speechLose = {EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_I_AM, EC_WORD_SO, EC_WORD_THICK, EC_WORD_ELLIPSIS},
+ .monSets = gSlateportBattleTentTrainerMons_Reggie
+ },
+ [17] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("JANAE"),
+ .speechBefore = {EC_WORD_I, EC_WORD_JUST, EC_WORD_ADORE, EC_WORD_YOUR, EC_WORD_TOUGH, EC_WORD_LOOK},
+ .speechWin = {EC_WORD_I, EC_WORD_LIKE, EC_WORD_HOW, EC_WORD_YOU, EC_MOVE2(STRUGGLE), -1},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_MEAN, EC_WORD_AND, EC_WORD_AWFUL, EC_WORD_TRAINER},
+ .monSets = gSlateportBattleTentTrainerMons_Janae
+ },
+ [18] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("CAIDEN"),
+ .speechBefore = {EC_WORD_MY, EC_MOVE2(CURSE), EC_WORD_WILL, EC_WORD_BREAK, EC_WORD_YOUR, EC_WORD_SPIRIT},
+ .speechWin = {EC_MOVE2(CURSE), EC_WORD_QUES, EC_WORD_IT_S, EC_WORD_A, EC_WORD_LIE, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_MY, EC_MOVE2(CURSE), EC_WORD_WILL, EC_WORD_LAST, EC_WORD_FOREVER, -1},
+ .monSets = gSlateportBattleTentTrainerMons_Caiden
+ },
+ [19] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("KIRSTEN"),
+ .speechBefore = {EC_WORD_HUH_QUES, EC_WORD_A, EC_WORD_BATTLE, EC_WORD_YOU, EC_WORD_SAID, EC_WORD_QUES},
+ .speechWin = {EC_WORD_HUH_QUES, EC_WORD_STRONG, EC_WORD_BUT, EC_WORD_NOT, EC_WORD_STRONG, EC_WORD_ENOUGH},
+ .speechLose = {EC_WORD_HUH_QUES, EC_WORD_I, EC_WORD_SURRENDER, EC_WORD_TO, EC_WORD_YOUR, EC_MOVE(STRENGTH)},
+ .monSets = gSlateportBattleTentTrainerMons_Kirsten
+ },
+ [20] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("KURTIS"),
+ .speechBefore = {EC_WORD_SORRY, EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_GET, EC_MOVE2(BEAT_UP)},
+ .speechWin = {EC_WORD_I, EC_WORD_SAID, EC_WORD_WE, EC_WORD_WOULD, EC_MOVE2(POUND), EC_WORD_YOU},
+ .speechLose = {EC_WORD_HOW, EC_WORD_DID, EC_WORD_I, EC_WORD_GET, EC_MOVE2(BEAT_UP), EC_WORD_QUES},
+ .monSets = gSlateportBattleTentTrainerMons_Kurtis
+ },
+ [21] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("STEFAN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_ONLY, EC_WORD_WANT, EC_WORD_CUTE, EC_WORD_POKEMON, -1},
+ .speechWin = {EC_WORD_WHAT, EC_WORD_IS, EC_WORD_IT, EC_WORD_TO, EC_WORD_YOU, EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_KIND, EC_WORD_OF, EC_WORD_AWESOME, EC_WORD_ELLIPSIS, -1},
+ .monSets = gSlateportBattleTentTrainerMons_Stefan
+ },
+ [22] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("AVERY"),
+ .speechBefore = {EC_WORD_TOYS, EC_WORD_EXCL, EC_WORD_I, EC_WORD_NEED, EC_WORD_MORE, EC_WORD_TOYS},
+ .speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_SOME, EC_WORD_EASY, EC_WORD_MONEY, EC_WORD_FAST},
+ .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_WORK, EC_WORD_FOR, EC_WORD_MONEY},
+ .monSets = gSlateportBattleTentTrainerMons_Avery
+ },
+ [23] = {
+ .facilityClass = FACILITY_CLASS_NINJA_BOY,
+ .trainerName = _("DWANE"),
+ .speechBefore = {EC_WORD_MMM, EC_WORD_TASTY, EC_WORD_ELLIPSIS, EC_WORD_WONDER, EC_WORD_WHAT, EC_WORD_QUES},
+ .speechWin = {EC_WORD_MMM, EC_WORD_MMM, EC_WORD_ELLIPSIS, EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW},
+ .speechLose = {EC_WORD_MMM, EC_WORD_MMM, EC_WORD_ELLIPSIS, EC_WORD_OH_YEAH, EC_WORD_THIS_IS_IT_EXCL, -1},
+ .monSets = gSlateportBattleTentTrainerMons_Dwane
+ },
+ [24] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("MCKENNA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_SMALL, EC_WORD_TALK, EC_WORD_LET_S, EC_WORD_GO},
+ .speechWin = {EC_WORD_YUP, EC_WORD_THAT_S, EC_WORD_THAT, -1, -1, -1},
+ .speechLose = {EC_WORD_KTHX_BYE, -1, -1, -1, -1, -1},
+ .monSets = gSlateportBattleTentTrainerMons_Mckenna
+ },
+ [25] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_F,
+ .trainerName = _("CAMRYN"),
+ .speechBefore = {EC_WORD_MR, EC_WORD_JUDGE, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_OUR, EC_WORD_TRUST},
+ .speechWin = {EC_WORD_YES_SIR_EXCL, EC_WORD_WE_RE, EC_WORD_NO_1, EC_WORD_IN, EC_WORD_THIS, EC_WORD_CONTEST},
+ .speechLose = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_GIVE_UP, EC_WORD_MY, EC_WORD_IDOL, EC_WORD_DREAM},
+ .monSets = gSlateportBattleTentTrainerMons_Camryn
+ },
+ [26] = {
+ .facilityClass = FACILITY_CLASS_PICNICKER,
+ .trainerName = _("NATASHA"),
+ .speechBefore = {EC_WORD_COME_OVER, EC_WORD_TO, EC_WORD_MY, EC_WORD_PLACE, EC_WORD_OK_QUES, -1},
+ .speechWin = {EC_WORD_COME_ON, EC_WORD_OVER, EC_WORD_IT, EC_WORD_WILL, EC_WORD_BE, EC_WORD_GREAT},
+ .speechLose = {EC_WORD_AWW, EC_WORD_WON_T, EC_WORD_YOU, EC_WORD_COME_OVER, EC_WORD_QUES, -1},
+ .monSets = gSlateportBattleTentTrainerMons_Natasha
+ },
+ [27] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("AUSTYN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_CARE, EC_WORD_HOW, EC_WORD_WE, EC_WORD_MATCH_UP},
+ .speechWin = {EC_WORD_HAH, EC_WORD_BACK, EC_WORD_TO, EC_WORD_SCHOOL, EC_WORD_FOR, EC_WORD_YOU},
+ .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_STUDY, EC_WORD_MY, EC_WORD_LESSONS},
+ .monSets = gSlateportBattleTentTrainerMons_Austyn
+ },
+ [28] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("DONOVAN"),
+ .speechBefore = {EC_WORD_OH, EC_WORD_I_AM, EC_WORD_FEELING, EC_WORD_SLIMY, EC_WORD_ALL, EC_WORD_OVER},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_DOWN, EC_WORD_THE, EC_MOVE2(MEGA_DRAIN), EC_WORD_HAHAHA},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_NATURALLY, EC_WORD_SLIMY, EC_WORD_THAT_S, EC_WORD_WHAT, EC_WORD_I_AM},
+ .monSets = gSlateportBattleTentTrainerMons_Donovan
+ },
+ [29] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("TAMIA"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_ANGRY, EC_WORD_WITH, EC_WORD_MY, EC_WORD_FATHER, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_DISLIKE, EC_WORD_MY, EC_WORD_FATHER, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_JUST, EC_WORD_SO, EC_WORD_ADORE, EC_WORD_MY, EC_WORD_FATHER},
+ .monSets = gSlateportBattleTentTrainerMons_Tamia
+ }
+};
+
+const struct FacilityMon gSlateportBattleTentMons[] =
+{
+ [0] = {
+ .species = SPECIES_ZIGZAGOON,
+ .moves = {MOVE_TACKLE, MOVE_CHARM, MOVE_ODOR_SLEUTH, MOVE_PIN_MISSILE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHOICE_BAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [1] = {
+ .species = SPECIES_ZIGZAGOON,
+ .moves = {MOVE_DIG, MOVE_MUD_SPORT, MOVE_TAIL_WHIP, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [2] = {
+ .species = SPECIES_BEAUTIFLY,
+ .moves = {MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_GUST, MOVE_HARDEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [3] = {
+ .species = SPECIES_DUSTOX,
+ .moves = {MOVE_POISON_STING, MOVE_MOONLIGHT, MOVE_PROTECT, MOVE_GUST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_ORAN_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [4] = {
+ .species = SPECIES_WAILMER,
+ .moves = {MOVE_ROLLOUT, MOVE_CURSE, MOVE_GROWL, MOVE_WHIRLPOOL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [5] = {
+ .species = SPECIES_WAILMER,
+ .moves = {MOVE_ROLLOUT, MOVE_GROWL, MOVE_WHIRLPOOL, MOVE_WATER_PULSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [6] = {
+ .species = SPECIES_MARILL,
+ .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_TAIL_WHIP, MOVE_BUBBLE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [7] = {
+ .species = SPECIES_WINGULL,
+ .moves = {MOVE_SUPERSONIC, MOVE_GROWL, MOVE_WING_ATTACK, MOVE_STEEL_WING},
+ .itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE
+ },
+ [8] = {
+ .species = SPECIES_PELIPPER,
+ .moves = {MOVE_TWISTER, MOVE_WATER_SPORT, MOVE_GROWL, MOVE_WING_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [9] = {
+ .species = SPECIES_CACNEA,
+ .moves = {MOVE_SANDSTORM, MOVE_LEER, MOVE_LEECH_SEED, MOVE_PIN_MISSILE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_JOLLY
+ },
+ [10] = {
+ .species = SPECIES_LOMBRE,
+ .moves = {MOVE_ASTONISH, MOVE_WATER_GUN, MOVE_FAKE_OUT, MOVE_ABSORB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MIRACLE_SEED,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [11] = {
+ .species = SPECIES_LOTAD,
+ .moves = {MOVE_SYNTHESIS, MOVE_NATURE_POWER, MOVE_RAIN_DANCE, MOVE_MEGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_DOCILE
+ },
+ [12] = {
+ .species = SPECIES_SEEDOT,
+ .moves = {MOVE_SUNNY_DAY, MOVE_SYNTHESIS, MOVE_LEECH_SEED, MOVE_BIDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID
+ },
+ [13] = {
+ .species = SPECIES_NUZLEAF,
+ .moves = {MOVE_FAKE_OUT, MOVE_NATURE_POWER, MOVE_HARDEN, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [14] = {
+ .species = SPECIES_NINJASK,
+ .moves = {MOVE_FURY_CUTTER, MOVE_SCREECH, MOVE_SWORDS_DANCE, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [15] = {
+ .species = SPECIES_NINJASK,
+ .moves = {MOVE_FURY_CUTTER, MOVE_DOUBLE_TEAM, MOVE_SCREECH, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [16] = {
+ .species = SPECIES_GRAVELER,
+ .moves = {MOVE_MUD_SPORT, MOVE_BLOCK, MOVE_ROCK_TOMB, MOVE_MAGNITUDE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [17] = {
+ .species = SPECIES_BALTOY,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_ANCIENT_POWER, MOVE_PSYBEAM, MOVE_REFLECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE
+ },
+ [18] = {
+ .species = SPECIES_MIGHTYENA,
+ .moves = {MOVE_BITE, MOVE_ROAR, MOVE_SWAGGER, MOVE_TACKLE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [19] = {
+ .species = SPECIES_MIGHTYENA,
+ .moves = {MOVE_ODOR_SLEUTH, MOVE_HOWL, MOVE_SAND_ATTACK, MOVE_POISON_FANG},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHELL_BELL,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [20] = {
+ .species = SPECIES_LINOONE,
+ .moves = {MOVE_HEADBUTT, MOVE_TICKLE, MOVE_TAIL_WHIP, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY
+ },
+ [21] = {
+ .species = SPECIES_GOLDEEN,
+ .moves = {MOVE_WATER_SPORT, MOVE_HORN_ATTACK, MOVE_WATERFALL, MOVE_SUPERSONIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_CALM
+ },
+ [22] = {
+ .species = SPECIES_ELECTRIKE,
+ .moves = {MOVE_BITE, MOVE_SPARK, MOVE_ROAR, MOVE_FLASH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_MODEST
+ },
+ [23] = {
+ .species = SPECIES_VOLTORB,
+ .moves = {MOVE_SPARK, MOVE_ROLLOUT, MOVE_CHARGE, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK,
+ .nature = NATURE_MILD
+ },
+ [24] = {
+ .species = SPECIES_ARON,
+ .moves = {MOVE_DIG, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_ENDEAVOR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [25] = {
+ .species = SPECIES_ARON,
+ .moves = {MOVE_MUD_SLAP, MOVE_IRON_TAIL, MOVE_HARDEN, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [26] = {
+ .species = SPECIES_TRAPINCH,
+ .moves = {MOVE_BODY_SLAM, MOVE_FOCUS_ENERGY, MOVE_SAND_TOMB, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [27] = {
+ .species = SPECIES_CACNEA,
+ .moves = {MOVE_INGRAIN, MOVE_SANDSTORM, MOVE_POISON_STING, MOVE_DESTINY_BOND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID
+ },
+ [28] = {
+ .species = SPECIES_TAILLOW,
+ .moves = {MOVE_GROWL, MOVE_AERIAL_ACE, MOVE_AGILITY, MOVE_ENDEAVOR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [29] = {
+ .species = SPECIES_SWELLOW,
+ .moves = {MOVE_SUPERSONIC, MOVE_GROWL, MOVE_FOCUS_ENERGY, MOVE_PECK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [30] = {
+ .species = SPECIES_GOLBAT,
+ .moves = {MOVE_ASTONISH, MOVE_GUST, MOVE_MEAN_LOOK, MOVE_CONFUSE_RAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SPELL_TAG,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_TIMID
+ },
+ [31] = {
+ .species = SPECIES_LOUDRED,
+ .moves = {MOVE_ASTONISH, MOVE_SCREECH, MOVE_UPROAR, MOVE_SUPERSONIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [32] = {
+ .species = SPECIES_SPINDA,
+ .moves = {MOVE_DIZZY_PUNCH, MOVE_FAINT_ATTACK, MOVE_HYPNOSIS, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [33] = {
+ .species = SPECIES_MAGNEMITE,
+ .moves = {MOVE_METAL_SOUND, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SPARK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_SERIOUS
+ },
+ [34] = {
+ .species = SPECIES_WHISMUR,
+ .moves = {MOVE_REST, MOVE_SLEEP_TALK, MOVE_HOWL, MOVE_BODY_SLAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [35] = {
+ .species = SPECIES_MAKUHITA,
+ .moves = {MOVE_SAND_ATTACK, MOVE_KNOCK_OFF, MOVE_ARM_THRUST, MOVE_BELLY_DRUM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [36] = {
+ .species = SPECIES_NUMEL,
+ .moves = {MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_GROWL, MOVE_FOCUS_ENERGY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_MODEST
+ },
+ [37] = {
+ .species = SPECIES_BARBOACH,
+ .moves = {MOVE_MAGNITUDE, MOVE_MUD_SPORT, MOVE_WATER_SPORT, MOVE_WATER_GUN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SEA_INCENSE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY
+ },
+ [38] = {
+ .species = SPECIES_TENTACOOL,
+ .moves = {MOVE_SCREECH, MOVE_BUBBLE_BEAM, MOVE_ACID, MOVE_BARRIER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [39] = {
+ .species = SPECIES_VIGOROTH,
+ .moves = {MOVE_FOCUS_ENERGY, MOVE_FURY_SWIPES, MOVE_ENDURE, MOVE_YAWN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_AGUAV_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [40] = {
+ .species = SPECIES_MAGIKARP,
+ .moves = {MOVE_TACKLE, MOVE_FLAIL, MOVE_SPLASH, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_SCALE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [41] = {
+ .species = SPECIES_SEVIPER,
+ .moves = {MOVE_LICK, MOVE_POISON_FANG, MOVE_GLARE, MOVE_WRAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [42] = {
+ .species = SPECIES_SOLROCK,
+ .moves = {MOVE_ROCK_THROW, MOVE_HARDEN, MOVE_PSYWAVE, MOVE_TACKLE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [43] = {
+ .species = SPECIES_KECLEON,
+ .moves = {MOVE_PSYBEAM, MOVE_SUBSTITUTE, MOVE_THIEF, MOVE_TAIL_WHIP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [44] = {
+ .species = SPECIES_KECLEON,
+ .moves = {MOVE_FAINT_ATTACK, MOVE_ASTONISH, MOVE_LICK, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_IAPAPA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [45] = {
+ .species = SPECIES_SHROOMISH,
+ .moves = {MOVE_STUN_SPORE, MOVE_TACKLE, MOVE_LEECH_SEED, MOVE_MEGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [46] = {
+ .species = SPECIES_SHROOMISH,
+ .moves = {MOVE_ABSORB, MOVE_STUN_SPORE, MOVE_SPORE, MOVE_LEECH_SEED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FIGY_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BRAVE
+ },
+ [47] = {
+ .species = SPECIES_LOMBRE,
+ .moves = {MOVE_NATURE_POWER, MOVE_ASTONISH, MOVE_GROWL, MOVE_ABSORB},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LONELY
+ },
+ [48] = {
+ .species = SPECIES_NUMEL,
+ .moves = {MOVE_EMBER, MOVE_GROWL, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [49] = {
+ .species = SPECIES_TRAPINCH,
+ .moves = {MOVE_FAINT_ATTACK, MOVE_DIG, MOVE_BITE, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [50] = {
+ .species = SPECIES_PELIPPER,
+ .moves = {MOVE_WING_ATTACK, MOVE_SUPERSONIC, MOVE_MIST, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WIKI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [51] = {
+ .species = SPECIES_WINGULL,
+ .moves = {MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_GROWL, MOVE_ICY_WIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NEVER_MELT_ICE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [52] = {
+ .species = SPECIES_MARILL,
+ .moves = {MOVE_DOUBLE_EDGE, MOVE_RAIN_DANCE, MOVE_TAIL_WHIP, MOVE_WATER_GUN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_GANLON_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [53] = {
+ .species = SPECIES_SKITTY,
+ .moves = {MOVE_ASSIST, MOVE_ATTRACT, MOVE_SING, MOVE_CHARM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [54] = {
+ .species = SPECIES_SEVIPER,
+ .moves = {MOVE_SWAGGER, MOVE_WRAP, MOVE_POISON_TAIL, MOVE_HAZE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_BRAVE
+ },
+ [55] = {
+ .species = SPECIES_GOLBAT,
+ .moves = {MOVE_BITE, MOVE_TORMENT, MOVE_SCREECH, MOVE_POISON_FANG},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_HARDY
+ },
+ [56] = {
+ .species = SPECIES_RALTS,
+ .moves = {MOVE_HYPNOSIS, MOVE_IMPRISON, MOVE_PSYCHIC, MOVE_DREAM_EATER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGO_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID
+ },
+ [57] = {
+ .species = SPECIES_SANDSHREW,
+ .moves = {MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_SAND_TOMB, MOVE_DEFENSE_CURL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
+ .evSpread = 0,
+ .nature = NATURE_HARDY
+ },
+ [58] = {
+ .species = SPECIES_SWALOT,
+ .moves = {MOVE_YAWN, MOVE_SLUDGE, MOVE_ENCORE, MOVE_POUND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH
+ },
+ [59] = {
+ .species = SPECIES_VOLBEAT,
+ .moves = {MOVE_TACKLE, MOVE_CONFUSE_RAY, MOVE_QUICK_ATTACK, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [60] = {
+ .species = SPECIES_ILLUMISE,
+ .moves = {MOVE_CHARM, MOVE_TACKLE, MOVE_ENCORE, MOVE_MOONLIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHERI_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [61] = {
+ .species = SPECIES_KADABRA,
+ .moves = {MOVE_DISABLE, MOVE_CONFUSION, MOVE_REFLECT, MOVE_RECOVER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [62] = {
+ .species = SPECIES_KIRLIA,
+ .moves = {MOVE_CALM_MIND, MOVE_CONFUSION, MOVE_DOUBLE_TEAM, MOVE_GROWL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [63] = {
+ .species = SPECIES_BRELOOM,
+ .moves = {MOVE_ABSORB, MOVE_TACKLE, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAIVE
+ },
+ [64] = {
+ .species = SPECIES_PLUSLE,
+ .moves = {MOVE_SPARK, MOVE_ENCORE, MOVE_THUNDER_WAVE, MOVE_GROWL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LONELY
+ },
+ [65] = {
+ .species = SPECIES_PLUSLE,
+ .moves = {MOVE_SPARK, MOVE_FAKE_TEARS, MOVE_SUBSTITUTE, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD
+ },
+ [66] = {
+ .species = SPECIES_ELECTRIKE,
+ .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_ROAR, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_APICOT_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_TIMID
+ },
+ [67] = {
+ .species = SPECIES_SWABLU,
+ .moves = {MOVE_SING, MOVE_PECK, MOVE_STEEL_WING, MOVE_SAFEGUARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [68] = {
+ .species = SPECIES_MACHOP,
+ .moves = {MOVE_FOCUS_ENERGY, MOVE_VITAL_THROW, MOVE_SEISMIC_TOSS, MOVE_FORESIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [69] = {
+ .species = SPECIES_MACHOKE,
+ .moves = {MOVE_FOCUS_ENERGY, MOVE_LEER, MOVE_KARATE_CHOP, MOVE_FORESIGHT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ }
+};
+
+// Verdanturf Battle Tent.
+const u16 gVerdanturfBattleTentTrainerMons_Brenna[] =
+{
+ 4,
+ 11,
+ 13,
+ 18,
+ 26,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Dilan[] =
+{
+ 30,
+ 37,
+ 13,
+ 29,
+ 42,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Eliana[] =
+{
+ 6,
+ 7,
+ 17,
+ 18,
+ 40,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Markus[] =
+{
+ 6,
+ 7,
+ 18,
+ 24,
+ 38,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Caitlyn[] =
+{
+ 0,
+ 12,
+ 25,
+ 28,
+ 22,
+ 44,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Desiree[] =
+{
+ 8,
+ 12,
+ 21,
+ 22,
+ 31,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Ronald[] =
+{
+ 1,
+ 20,
+ 23,
+ 25,
+ 32,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Ashten[] =
+{
+ 9,
+ 12,
+ 27,
+ 37,
+ 43,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Gerard[] =
+{
+ 36,
+ 7,
+ 34,
+ 6,
+ 40,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Bradly[] =
+{
+ 26,
+ 3,
+ 0,
+ 2,
+ 17,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Dennis[] =
+{
+ 14,
+ 37,
+ 2,
+ 38,
+ 27,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Prestin[] =
+{
+ 31,
+ 28,
+ 22,
+ 25,
+ 44,
+ 43,
+ 41,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Ernesto[] =
+{
+ 33,
+ 32,
+ 25,
+ 35,
+ 34,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Nala[] =
+{
+ 1,
+ 4,
+ 8,
+ 11,
+ 17,
+ 40,
+ 34,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Darnell[] =
+{
+ 0,
+ 29,
+ 35,
+ 37,
+ 39,
+ 43,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Ashlyn[] =
+{
+ 29,
+ 36,
+ 32,
+ 30,
+ 17,
+ 6,
+ 44,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Addison[] =
+{
+ 0,
+ 1,
+ 16,
+ 31,
+ 6,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Justine[] =
+{
+ 0,
+ 1,
+ 16,
+ 36,
+ 18,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Tyson[] =
+{
+ 5,
+ 15,
+ 22,
+ 30,
+ 16,
+ 39,
+ 43,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Laila[] =
+{
+ 5,
+ 15,
+ 19,
+ 24,
+ 41,
+ 43,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Waren[] =
+{
+ 0,
+ 9,
+ 10,
+ 11,
+ 23,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Tobias[] =
+{
+ 6,
+ 7,
+ 24,
+ 38,
+ 40,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Josiah[] =
+{
+ 8,
+ 16,
+ 23,
+ 34,
+ 3,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Dion[] =
+{
+ 14,
+ 2,
+ 11,
+ 39,
+ 21,
+ 38,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Kenzie[] =
+{
+ 18,
+ 10,
+ 16,
+ 26,
+ 25,
+ 27,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Lillian[] =
+{
+ 24,
+ 34,
+ 36,
+ 38,
+ 5,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Lesley[] =
+{
+ 26,
+ 0,
+ 18,
+ 13,
+ 25,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Marquis[] =
+{
+ 24,
+ 34,
+ 5,
+ 15,
+ 7,
+ 42,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Freddy[] =
+{
+ 18,
+ 21,
+ 26,
+ 29,
+ 41,
+ -1
+};
+
+const u16 gVerdanturfBattleTentTrainerMons_Cecilia[] =
+{
+ 23,
+ 26,
+ 27,
+ 28,
+ 31,
+ -1
+};
+
+const struct BattleFrontierTrainer gVerdanturfBattleTentTrainers[] =
+{
+ [0] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("BRENNA"),
+ .speechBefore = {EC_WORD_NO, EC_WORD_DAYS, EC_WORD_GO, EC_WORD_WITHOUT, EC_WORD_MY, EC_MOVE(FAKE_TEARS)},
+ .speechWin = {EC_WORD_OH, EC_WORD_THAT_WAS, EC_WORD_SO, EC_WORD_REFRESHING, EC_WORD_EXCL, -1},
+ .speechLose = {EC_WORD_ALL, EC_WORD_I, EC_WORD_EVER, EC_WORD_GET, EC_WORD_IS, EC_MOVE(TORMENT)},
+ .monSets = gVerdanturfBattleTentTrainerMons_Brenna
+ },
+ [1] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("DILAN"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_KNOW, EC_WORD_HOW, EC_WORD_BORED, EC_WORD_I_AM},
+ .speechWin = {EC_WORD_LOSING, EC_WORD_ISN_T, EC_WORD_EXCITING, EC_WORD_AT, EC_WORD_ALL, EC_WORD_ELLIPSIS},
+ .speechLose = {EC_WORD_EXCITING, EC_WORD_EXCL_EXCL, EC_WORD_BYE_BYE, EC_WORD_TO, EC_WORD_BEING, EC_WORD_BORED},
+ .monSets = gVerdanturfBattleTentTrainerMons_Dilan
+ },
+ [2] = {
+ .facilityClass = FACILITY_CLASS_TUBER_F,
+ .trainerName = _("ELIANA"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_ON, EC_WORD_A, EC_WORD_VACATION, EC_WORD_SOON},
+ .speechWin = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_GET, EC_WORD_SOME, EC_WORD_MONEY},
+ .speechLose = {EC_WORD_NO, EC_WORD_SLEEP, EC_WORD_UNTIL, EC_WORD_I, EC_WORD_GET, EC_WORD_HOME},
+ .monSets = gVerdanturfBattleTentTrainerMons_Eliana
+ },
+ [3] = {
+ .facilityClass = FACILITY_CLASS_TUBER_M,
+ .trainerName = _("MARKUS"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_SMART, EC_WORD_EXCL, EC_WORD_IF_I_LOSE, EC_WORD_I, EC_MOVE(SELF_DESTRUCT)},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_A, EC_WORD_NON_STOP, EC_MOVE2(EXPLOSION), EC_WORD_OF, EC_WORD_JOY},
+ .speechLose = {EC_WORD_I_VE, EC_WORD_LOST, EC_WORD_ELLIPSIS, EC_WORD_TIME, EC_WORD_TO, EC_MOVE(SELF_DESTRUCT)},
+ .monSets = gVerdanturfBattleTentTrainerMons_Markus
+ },
+ [4] = {
+ .facilityClass = FACILITY_CLASS_LADY,
+ .trainerName = _("CAITLYN"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_BORED, EC_WORD_OF, EC_WORD_BEING, EC_WORD_AN, EC_WORD_IDOL},
+ .speechWin = {EC_WORD_A, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_BEST, EC_WORD_FOR, EC_WORD_HAPPINESS},
+ .speechLose = {EC_WORD_LOSING, EC_WORD_DOESN_T, EC_WORD_BUG, EC_WORD_ME, EC_WORD_AT, EC_WORD_ALL},
+ .monSets = gVerdanturfBattleTentTrainerMons_Caitlyn
+ },
+ [5] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("DESIREE"),
+ .speechBefore = {EC_WORD_DOESN_T, EC_WORD_MY, EC_WORD_BEAUTY, EC_MOVE(ASTONISH), EC_WORD_YOU, EC_WORD_QUES},
+ .speechWin = {EC_WORD_DID, EC_WORD_I, EC_WORD_INTIMIDATE, EC_WORD_YOU, EC_WORD_QUES, -1},
+ .speechLose = {EC_WORD_MY, EC_WORD_BEAUTY, EC_WORD_DID, EC_WORD_NOTHING, EC_WORD_FOR, EC_WORD_YOU},
+ .monSets = gVerdanturfBattleTentTrainerMons_Desiree
+ },
+ [6] = {
+ .facilityClass = FACILITY_CLASS_RICH_BOY,
+ .trainerName = _("RONALD"),
+ .speechBefore = {EC_WORD_COME_ON, EC_WORD_I, EC_WORD_WILL, EC_WORD_BATTLE, EC_WORD_SERIOUSLY, -1},
+ .speechWin = {EC_WORD_GIVE_UP, EC_WORD_QUES, -1, EC_WORD_THAT_S, EC_WORD_REALLY, EC_WORD_WEAK},
+ .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_TO, EC_WORD_DO, EC_WORD_A, EC_MOVE2(BATON_PASS)},
+ .monSets = gVerdanturfBattleTentTrainerMons_Ronald
+ },
+ [7] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("ASHTEN"),
+ .speechBefore = {EC_WORD_OH_YEAH, EC_WORD_ANOTHER, EC_WORD_EXCITING, EC_WORD_BATTLE, EC_WORD_EXCL, -1},
+ .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_WIMPY, EC_WORD_AND, EC_WORD_BORING},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_AN, EC_WORD_EXCITING, EC_WORD_LOSS, EC_WORD_WOW, EC_WORD_EXCL},
+ .monSets = gVerdanturfBattleTentTrainerMons_Ashten
+ },
+ [8] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_M,
+ .trainerName = _("GERARD"),
+ .speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_WORD_SUPER, EC_MOVE2(TEETER_DANCE), EC_WORD_EXCL},
+ .speechWin = {EC_WORD_THAT_WAS, EC_WORD_HARD, EC_WORD_ELLIPSIS, EC_WORD_AM, EC_WORD_I, EC_WORD_OK_QUES},
+ .speechLose = {EC_WORD_I, EC_WORD_WON_T, EC_WORD_FORGIVE, EC_WORD_YOU, EC_WORD_FOR, EC_WORD_THAT},
+ .monSets = gVerdanturfBattleTentTrainerMons_Gerard
+ },
+ [9] = {
+ .facilityClass = FACILITY_CLASS_CAMPER,
+ .trainerName = _("BRADLY"),
+ .speechBefore = {EC_WORD_IT_S, EC_WORD_LONESOME, EC_WORD_BUT, EC_WORD_I, EC_WORD_VACATION, EC_WORD_ALONE},
+ .speechWin = {EC_WORD_I, EC_WORD_WILL, EC_MOVE(WITHDRAW), EC_WORD_INSIDE, EC_WORD_MY, EC_WORD_SHELL_ARMOR},
+ .speechLose = {EC_WORD_OH, EC_WORD_ELLIPSIS, -1, EC_WORD_ALONE, EC_WORD_AS, EC_WORD_ALWAYS},
+ .monSets = gVerdanturfBattleTentTrainerMons_Bradly
+ },
+ [10] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("DENNIS"),
+ .speechBefore = {EC_WORD_ARE, EC_WORD_YOU, EC_WORD_REALLY, EC_WORD_STRONG, EC_WORD_QUES, -1},
+ .speechWin = {EC_WORD_WAHAHAHA, EC_WORD_EXCL, -1, EC_WORD_WAHAHAHA, EC_WORD_EXCL_EXCL, -1},
+ .speechLose = {EC_WORD_NICE, EC_WORD_GOING, EC_WORD_EXCL, EC_WORD_I, EC_WORD_WAS, EC_WORD_CHILD_S_PLAY},
+ .monSets = gVerdanturfBattleTentTrainerMons_Dennis
+ },
+ [11] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("PRESTIN"),
+ .speechBefore = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_FOR, EC_WORD_YOU},
+ .speechWin = {EC_WORD_FORGIVE, EC_WORD_ME, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_A, EC_WORD_DREAM},
+ .speechLose = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_WAKE_UP, EC_WORD_FROM, EC_WORD_THIS},
+ .monSets = gVerdanturfBattleTentTrainerMons_Prestin
+ },
+ [12] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("ERNESTO"),
+ .speechBefore = {EC_WORD_THIS, EC_WORD_PARTY, EC_WORD_GOES, EC_WORD_ON, EC_WORD_FOREVER, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_THE, EC_WORD_MUSIC, EC_WORD_PLAYS, EC_WORD_ON, EC_WORD_WITHOUT, EC_WORD_END},
+ .speechLose = {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_THE, EC_WORD_MUSIC, EC_WORD_CAN_T, EC_WORD_STOP},
+ .monSets = gVerdanturfBattleTentTrainerMons_Ernesto
+ },
+ [13] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .trainerName = _("NALA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_THE, EC_WORD_WORLD, EC_WORD_MOVIE, EC_WORD_COLLECTION},
+ .speechWin = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_LIKE, EC_WORD_RADIO, EC_WORD_VERY, EC_WORD_MUCH},
+ .speechLose = {EC_WORD_I, EC_WORD_REFUSE, EC_WORD_TO, EC_WORD_BELIEVE, EC_WORD_THIS, EC_WORD_EXCL},
+ .monSets = gVerdanturfBattleTentTrainerMons_Nala
+ },
+ [14] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("DARNELL"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WILL, EC_WORD_GO_EASY, EC_WORD_ON, EC_WORD_YOU, -1},
+ .speechWin = {EC_WORD_YOUR, EC_MOVE2(FRUSTRATION), EC_WORD_SHOULD, EC_WORD_BE, EC_WORD_HIDDEN, EC_WORD_AWAY},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_TO, EC_WORD_TAKE, EC_WORD_ELLIPSIS},
+ .monSets = gVerdanturfBattleTentTrainerMons_Darnell
+ },
+ [15] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("ASHLYN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_LOOK, EC_WORD_TOUGH, EC_WORD_DO, EC_WORD_I, EC_WORD_QUES},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_OVER, EC_WORD_YOUR, EC_MOVE2(TAUNT), EC_WORD_YET},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_MEAN, EC_WORD_EXCL_EXCL, -1, -1, -1},
+ .monSets = gVerdanturfBattleTentTrainerMons_Ashlyn
+ },
+ [16] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("ADDISON"),
+ .speechBefore = {EC_WORD_YES, EC_WORD_EXCL, -1, EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_WELL, EC_WORD_WASN_T, EC_WORD_THAT, EC_WORD_EASY, EC_WORD_QUES, -1},
+ .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, -1, EC_WORD_BUT, EC_WORD_WHY, EC_WORD_QUES},
+ .monSets = gVerdanturfBattleTentTrainerMons_Addison
+ },
+ [17] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("JUSTINE"),
+ .speechBefore = {EC_WORD_YES, EC_WORD_EXCL, -1, EC_WORD_COME_ON, EC_WORD_I_AM, EC_WORD_READY},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_JUST, EC_WORD_NOT, EC_WORD_GOOD, EC_WORD_ENOUGH, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_WOWEE, EC_WORD_EXCL_EXCL, -1, -1, -1, -1},
+ .monSets = gVerdanturfBattleTentTrainerMons_Justine
+ },
+ [18] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("TYSON"),
+ .speechBefore = {EC_WORD_YOU_RE, EC_WORD_GOING, EC_WORD_TO, EC_WORD_PRESSURE, EC_WORD_ME, EC_WORD_QUES},
+ .speechWin = {EC_WORD_WHAT, EC_WORD_QUES, EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO_WEAK, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_THIS, EC_WORD_DOESN_T, EC_WORD_MAKE, EC_WORD_ME, EC_WORD_HAPPY, EC_WORD_EXCL},
+ .monSets = gVerdanturfBattleTentTrainerMons_Tyson
+ },
+ [19] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("LAILA"),
+ .speechBefore = {EC_WORD_A, EC_MOVE2(STRUGGLE), EC_WORD_ISN_T, EC_WORD_VERY, EC_WORD_COOL, -1},
+ .speechWin = {EC_WORD_NOPE, EC_WORD_NOT_VERY, EC_WORD_COOL, EC_WORD_AT, EC_WORD_ALL, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_NOT, EC_WORD_COOL, EC_WORD_BUT, EC_WORD_YOU, EC_WORD_WON},
+ .monSets = gVerdanturfBattleTentTrainerMons_Laila
+ },
+ [20] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("WAREN"),
+ .speechBefore = {EC_WORD_DANGER, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_SENSE, EC_WORD_DANGER},
+ .speechWin = {EC_WORD_DID, EC_WORD_YOU, EC_WORD_BELIEVE, EC_WORD_MY, EC_WORD_LIE, EC_WORD_QUES_EXCL},
+ .speechLose = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_DID, EC_WORD_SENSE, EC_WORD_DANGER, EC_WORD_ELLIPSIS},
+ .monSets = gVerdanturfBattleTentTrainerMons_Waren
+ },
+ [21] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("TOBIAS"),
+ .speechBefore = {EC_MOVE2(BARRIER), EC_WORD_EXCL_EXCL, -1, EC_WORD_NOW, EC_WORD_COME_ON, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_I, EC_WORD_WON, EC_WORD_QUES},
+ .speechLose = {EC_WORD_I, EC_WORD_SHOULD, EC_WORD_KNOW, EC_WORD_THAT, EC_WORD_IT_S, EC_WORD_HOPELESS},
+ .monSets = gVerdanturfBattleTentTrainerMons_Tobias
+ },
+ [22] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("JOSIAH"),
+ .speechBefore = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_MOVE(FLY), EC_WORD_IF_I_LOSE, -1},
+ .speechWin = {EC_WORD_TOO_WEAK, EC_WORD_ELLIPSIS, -1, EC_WORD_YOU, EC_MOVE(FLY), EC_WORD_INSTEAD},
+ .speechLose = {EC_WORD_I, EC_WORD_PROMISE, EC_WORD_TO, EC_MOVE(FLY), EC_WORD_SOMETIME, EC_WORD_SOON},
+ .monSets = gVerdanturfBattleTentTrainerMons_Josiah
+ },
+ [23] = {
+ .facilityClass = FACILITY_CLASS_NINJA_BOY,
+ .trainerName = _("DION"),
+ .speechBefore = {EC_WORD_IT_S, EC_WORD_TRENDY, EC_WORD_UM, EC_WORD_BATTLE, EC_WORD_SOMETHING, -1},
+ .speechWin = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_BATTLE, EC_WORD_DATE, EC_WORD_QUES},
+ .speechLose = {EC_WORD_WAS, EC_WORD_IT, EC_WORD_ELLIPSIS, EC_WORD_BATTLE, EC_WORD_GOURMET, EC_WORD_QUES},
+ .monSets = gVerdanturfBattleTentTrainerMons_Dion
+ },
+ [24] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("KENZIE"),
+ .speechBefore = {EC_WORD_THE, EC_MOVE(MORNING_SUN), EC_WORD_GIVES, EC_WORD_ME, EC_MOVE(STRENGTH), -1},
+ .speechWin = {EC_WORD_BUT, EC_WORD_I, EC_WORD_LIKE, EC_MOVE2(MOONLIGHT), EC_WORD_TOO, -1},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_LIKE, EC_WORD_A, EC_WORD_TERRIBLE, EC_MOVE(SANDSTORM), EC_WORD_ELLIPSIS},
+ .monSets = gVerdanturfBattleTentTrainerMons_Kenzie
+ },
+ [25] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_F,
+ .trainerName = _("LILLIAN"),
+ .speechBefore = {EC_WORD_I, EC_WORD_DO, EC_WORD_THINGS, EC_WORD_AT, EC_WORD_MY, EC_WORD_OWN_TEMPO},
+ .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_QUES, EC_WORD_WHAT, EC_WORD_A, EC_WORD_SURPRISE},
+ .speechLose = {EC_WORD_AWW, EC_WORD_ELLIPSIS, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_WORD_NAP},
+ .monSets = gVerdanturfBattleTentTrainerMons_Lillian
+ },
+ [26] = {
+ .facilityClass = FACILITY_CLASS_PICNICKER,
+ .trainerName = _("LESLEY"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BE, EC_WORD_LOLLING, EC_WORD_ABOUT},
+ .speechWin = {EC_WORD_YOU, EC_WORD_SHOULD, EC_WORD_GET, EC_WORD_UP, EC_WORD_EARLIER, -1},
+ .speechLose = {EC_WORD_THIS, EC_WORD_SHOULD, EC_WORD_NOT, EC_WORD_BE, EC_WORD_HAPPENING, EC_WORD_EXCL},
+ .monSets = gVerdanturfBattleTentTrainerMons_Lesley
+ },
+ [27] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("MARQUIS"),
+ .speechBefore = {EC_WORD_NONE, EC_WORD_OF, EC_WORD_THIS, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_SENSE},
+ .speechWin = {EC_WORD_SEE, EC_WORD_QUES, EC_WORD_THIS, EC_WORD_JUST, EC_WORD_ISN_T, EC_WORD_NORMAL},
+ .speechLose = {EC_WORD_SHOULD, EC_WORD_I, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_QUES},
+ .monSets = gVerdanturfBattleTentTrainerMons_Marquis
+ },
+ [28] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("FREDDY"),
+ .speechBefore = {EC_WORD_I, EC_WORD_ADORE, EC_WORD_THIS, EC_WORD_CUTE, EC_WORD_TELEVISION, EC_WORD_IDOL},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_SO, EC_WORD_FUNNY, EC_WORD_WHEN, EC_WORD_YOU_RE, EC_WORD_ANGRY},
+ .speechLose = {EC_WORD_LATE, EC_WORD_NIGHT, EC_WORD_TELEVISION, EC_WORD_IS, EC_WORD_MY, EC_WORD_LIFE},
+ .monSets = gVerdanturfBattleTentTrainerMons_Freddy
+ },
+ [29] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("CECILIA"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_FABULOUS, EC_WORD_CUTENESS, EC_WORD_IS, EC_WORD_IN, EC_WORD_FASHION},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_NO, EC_WORD_MATCH, EC_WORD_FOR, EC_WORD_MY, EC_WORD_CUTE_CHARM},
+ .speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_FASHION, EC_WORD_SENSE, EC_WORD_QUES},
+ .monSets = gVerdanturfBattleTentTrainerMons_Cecilia
+ }
+};
+
+const struct FacilityMon gVerdanturfBattleTentMons[] =
+{
+ [0] = {
+ .species = SPECIES_POOCHYENA,
+ .moves = {MOVE_ROAR, MOVE_THIEF, MOVE_BITE, MOVE_HOWL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [1] = {
+ .species = SPECIES_ZIGZAGOON,
+ .moves = {MOVE_COVET, MOVE_GROWL, MOVE_PIN_MISSILE, MOVE_MUD_SPORT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [2] = {
+ .species = SPECIES_DUSTOX,
+ .moves = {MOVE_CONFUSION, MOVE_MOONLIGHT, MOVE_PROTECT, MOVE_FLASH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_MODEST
+ },
+ [3] = {
+ .species = SPECIES_TAILLOW,
+ .moves = {MOVE_AGILITY, MOVE_DOUBLE_TEAM, MOVE_WING_ATTACK, MOVE_GROWL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_ORAN_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [4] = {
+ .species = SPECIES_SHROOMISH,
+ .moves = {MOVE_HEADBUTT, MOVE_STUN_SPORE, MOVE_LEECH_SEED, MOVE_FLASH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_RASH
+ },
+ [5] = {
+ .species = SPECIES_MACHOP,
+ .moves = {MOVE_LOW_KICK, MOVE_LEER, MOVE_FOCUS_ENERGY, MOVE_ENCORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PERSIM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_LONELY
+ },
+ [6] = {
+ .species = SPECIES_MAGIKARP,
+ .moves = {MOVE_SPLASH, MOVE_FLAIL, MOVE_TACKLE, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [7] = {
+ .species = SPECIES_BARBOACH,
+ .moves = {MOVE_MUD_SLAP, MOVE_WATER_GUN, MOVE_RAIN_DANCE, MOVE_SPARK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED,
+ .nature = NATURE_HASTY
+ },
+ [8] = {
+ .species = SPECIES_WINGULL,
+ .moves = {MOVE_ATTRACT, MOVE_TWISTER, MOVE_WING_ATTACK, MOVE_SUPERSONIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH
+ },
+ [9] = {
+ .species = SPECIES_ARON,
+ .moves = {MOVE_ENDEAVOR, MOVE_METAL_CLAW, MOVE_TACKLE, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PECHA_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HARDY
+ },
+ [10] = {
+ .species = SPECIES_NUMEL,
+ .moves = {MOVE_EMBER, MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_GROWL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SASSY
+ },
+ [11] = {
+ .species = SPECIES_SWALOT,
+ .moves = {MOVE_YAWN, MOVE_SLUDGE, MOVE_ACID_ARMOR, MOVE_AMNESIA},
+ .itemTableId = BATTLE_FRONTIER_ITEM_POISON_BARB,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [12] = {
+ .species = SPECIES_KECLEON,
+ .moves = {MOVE_SUBSTITUTE, MOVE_FAINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_BIND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIET
+ },
+ [13] = {
+ .species = SPECIES_BALTOY,
+ .moves = {MOVE_SANDSTORM, MOVE_FLASH, MOVE_SELF_DESTRUCT, MOVE_HARDEN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [14] = {
+ .species = SPECIES_NINJASK,
+ .moves = {MOVE_DIG, MOVE_SCREECH, MOVE_SWORDS_DANCE, MOVE_LEECH_LIFE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [15] = {
+ .species = SPECIES_MAKUHITA,
+ .moves = {MOVE_BULK_UP, MOVE_ARM_THRUST, MOVE_SMELLING_SALT, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [16] = {
+ .species = SPECIES_SWABLU,
+ .moves = {MOVE_REFRESH, MOVE_SAFEGUARD, MOVE_ATTRACT, MOVE_MIRROR_MOVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MILD
+ },
+ [17] = {
+ .species = SPECIES_GOLDEEN,
+ .moves = {MOVE_WATERFALL, MOVE_MUD_SPORT, MOVE_SUPERSONIC, MOVE_DOUBLE_TEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MYSTIC_WATER,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_GENTLE
+ },
+ [18] = {
+ .species = SPECIES_LOTAD,
+ .moves = {MOVE_GROWL, MOVE_WATER_GUN, MOVE_MEGA_DRAIN, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_IAPAPA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [19] = {
+ .species = SPECIES_NUMEL,
+ .moves = {MOVE_MAGNITUDE, MOVE_EMBER, MOVE_GROWL, MOVE_DEFENSE_CURL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_RELAXED
+ },
+ [20] = {
+ .species = SPECIES_LINOONE,
+ .moves = {MOVE_HEADBUTT, MOVE_TICKLE, MOVE_PROTECT, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [21] = {
+ .species = SPECIES_SEVIPER,
+ .moves = {MOVE_WRAP, MOVE_GLARE, MOVE_POISON_FANG, MOVE_SWAGGER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [22] = {
+ .species = SPECIES_SKARMORY,
+ .moves = {MOVE_AIR_CUTTER, MOVE_SANDSTORM, MOVE_LEER, MOVE_AGILITY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MACHO_BRACE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BASHFUL
+ },
+ [23] = {
+ .species = SPECIES_SWELLOW,
+ .moves = {MOVE_AGILITY, MOVE_WING_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SUPERSONIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SHARP_BEAK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [24] = {
+ .species = SPECIES_GOLDEEN,
+ .moves = {MOVE_PECK, MOVE_SUPERSONIC, MOVE_PSYBEAM, MOVE_RAIN_DANCE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_GENTLE
+ },
+ [25] = {
+ .species = SPECIES_ELECTRIKE,
+ .moves = {MOVE_SHOCK_WAVE, MOVE_TACKLE, MOVE_CHARGE, MOVE_THUNDER_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_MILD
+ },
+ [26] = {
+ .species = SPECIES_NUZLEAF,
+ .moves = {MOVE_SUNNY_DAY, MOVE_TORMENT, MOVE_FAKE_OUT, MOVE_THIEF},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_GLASSES,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [27] = {
+ .species = SPECIES_ARON,
+ .moves = {MOVE_TAKE_DOWN, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [28] = {
+ .species = SPECIES_MIGHTYENA,
+ .moves = {MOVE_HOWL, MOVE_TAKE_DOWN, MOVE_ODOR_SLEUTH, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [29] = {
+ .species = SPECIES_SOLROCK,
+ .moves = {MOVE_HARDEN, MOVE_FIRE_SPIN, MOVE_MIMIC, MOVE_PSYWAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_TWISTED_SPOON,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [30] = {
+ .species = SPECIES_GRAVELER,
+ .moves = {MOVE_ROLLOUT, MOVE_ROCK_SMASH, MOVE_SANDSTORM, MOVE_BLOCK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_IMPISH
+ },
+ [31] = {
+ .species = SPECIES_KADABRA,
+ .moves = {MOVE_ENCORE, MOVE_PSYBEAM, MOVE_DISABLE, MOVE_KINESIS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [32] = {
+ .species = SPECIES_VOLTORB,
+ .moves = {MOVE_PROTECT, MOVE_SELF_DESTRUCT, MOVE_SPARK, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_BASHFUL
+ },
+ [33] = {
+ .species = SPECIES_MAGNEMITE,
+ .moves = {MOVE_METAL_SOUND, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SHOCK_WAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS
+ },
+ [34] = {
+ .species = SPECIES_PELIPPER,
+ .moves = {MOVE_WING_ATTACK, MOVE_MIST, MOVE_AGILITY, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FIGY_BERRY,
+ .evSpread = 0,
+ .nature = NATURE_BRAVE
+ },
+ [35] = {
+ .species = SPECIES_LOUDRED,
+ .moves = {MOVE_HOWL, MOVE_UPROAR, MOVE_REST, MOVE_SCREECH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CALM
+ },
+ [36] = {
+ .species = SPECIES_MARILL,
+ .moves = {MOVE_ROLLOUT, MOVE_DEFENSE_CURL, MOVE_TAIL_WHIP, MOVE_BUBBLE_BEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY
+ },
+ [37] = {
+ .species = SPECIES_TRAPINCH,
+ .moves = {MOVE_DIG, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_FAINT_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_NONE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_NAUGHTY
+ },
+ [38] = {
+ .species = SPECIES_TENTACOOL,
+ .moves = {MOVE_SCREECH, MOVE_CONFUSE_RAY, MOVE_WRAP, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [39] = {
+ .species = SPECIES_VIGOROTH,
+ .moves = {MOVE_ENCORE, MOVE_SLACK_OFF, MOVE_YAWN, MOVE_SECRET_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [40] = {
+ .species = SPECIES_WAILMER,
+ .moves = {MOVE_WATER_PULSE, MOVE_ROLLOUT, MOVE_CURSE, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WHITE_HERB,
+ .evSpread = F_EV_SPREAD_HP,
+ .nature = NATURE_RELAXED
+ },
+ [41] = {
+ .species = SPECIES_ILLUMISE,
+ .moves = {MOVE_TACKLE, MOVE_SWEET_SCENT, MOVE_WISH, MOVE_ENCORE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [42] = {
+ .species = SPECIES_MACHOKE,
+ .moves = {MOVE_LEER, MOVE_KARATE_CHOP, MOVE_BULK_UP, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_CALM
+ },
+ [43] = {
+ .species = SPECIES_WHISMUR,
+ .moves = {MOVE_SECRET_POWER, MOVE_SUPERSONIC, MOVE_STOMP, MOVE_ROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_QUIRKY
+ },
+ [44] = {
+ .species = SPECIES_CACNEA,
+ .moves = {MOVE_INGRAIN, MOVE_LEECH_SEED, MOVE_NEEDLE_ARM, MOVE_GROWTH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SERIOUS
+ }
+};
+
+// Fallarbor Battle Tent.
+const u16 gFallarborBattleTentTrainerMons_Amber[] =
+{
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Javier[] =
+{
+ 6,
+ 35,
+ 36,
+ 37,
+ 38,
+ 44,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Natalie[] =
+{
+ 5,
+ 29,
+ 30,
+ 32,
+ 34,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Treve[] =
+{
+ 28,
+ 29,
+ 30,
+ 32,
+ 33,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Arianna[] =
+{
+ 18,
+ 23,
+ 24,
+ 27,
+ 44,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Jadyn[] =
+{
+ 0,
+ 22,
+ 24,
+ 27,
+ 32,
+ 39,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Gerardo[] =
+{
+ 6,
+ 18,
+ 23,
+ 24,
+ 29,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Jonn[] =
+{
+ 16,
+ 17,
+ 21,
+ 22,
+ 37,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Esteban[] =
+{
+ 5,
+ 28,
+ 30,
+ 33,
+ 42,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Jameson[] =
+{
+ 1,
+ 2,
+ 3,
+ 5,
+ 9,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Alanzo[] =
+{
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Howard[] =
+{
+ 18,
+ 23,
+ 31,
+ 38,
+ 43,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Conrad[] =
+{
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Makenna[] =
+{
+ 4,
+ 21,
+ 25,
+ 36,
+ 40,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Brayan[] =
+{
+ 0,
+ 4,
+ 6,
+ 12,
+ 19,
+ 23,
+ 28,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Mariana[] =
+{
+ 0,
+ 4,
+ 13,
+ 19,
+ 28,
+ 30,
+ 37,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Sheldon[] =
+{
+ 2,
+ 3,
+ 21,
+ 31,
+ 39,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Gianna[] =
+{
+ 1,
+ 2,
+ 30,
+ 32,
+ 41,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Yahir[] =
+{
+ 4,
+ 8,
+ 15,
+ 17,
+ 22,
+ 24,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Britney[] =
+{
+ 4,
+ 7,
+ 14,
+ 20,
+ 23,
+ 43,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Hecter[] =
+{
+ 0,
+ 1,
+ 2,
+ 5,
+ 9,
+ 35,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Tannor[] =
+{
+ 5,
+ 30,
+ 31,
+ 33,
+ 34,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Benji[] =
+{
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Rory[] =
+{
+ 9,
+ 11,
+ 14,
+ 15,
+ 27,
+ 39,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Eleanor[] =
+{
+ 23,
+ 28,
+ 31,
+ 36,
+ 38,
+ 42,
+ 44,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Evelyn[] =
+{
+ 29,
+ 31,
+ 32,
+ 33,
+ 34,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Arielle[] =
+{
+ 1,
+ 3,
+ 38,
+ 39,
+ 41,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Connar[] =
+{
+ 7,
+ 8,
+ 28,
+ 29,
+ 31,
+ 32,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Maurice[] =
+{
+ 4,
+ 5,
+ 6,
+ 12,
+ 13,
+ -1
+};
+
+const u16 gFallarborBattleTentTrainerMons_Kianna[] =
+{
+ 22,
+ 24,
+ 26,
+ 27,
+ 34,
+ 37,
+ -1
+};
+
+const struct BattleFrontierTrainer gFallarborBattleTentTrainers[] =
+{
+ [0] = {
+ .facilityClass = FACILITY_CLASS_AROMA_LADY,
+ .trainerName = _("AMBER"),
+ .speechBefore = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_DIET, EC_WORD_EVERY, EC_WORD_DAY},
+ .speechWin = {EC_WORD_A, EC_MOVE(NIGHTMARE), EC_WORD_OF, EC_WORD_SWEETS, EC_WORD_SHOCKED, EC_WORD_ME},
+ .speechLose = {EC_WORD_IF, EC_WORD_YOU, EC_WORD_GIVE_UP, EC_WORD_YOU, EC_WORD_WILL, EC_WORD_LOSE},
+ .monSets = gFallarborBattleTentTrainerMons_Amber
+ },
+ [1] = {
+ .facilityClass = FACILITY_CLASS_RUIN_MANIAC,
+ .trainerName = _("JAVIER"),
+ .speechBefore = {EC_WORD_I, EC_WORD_NEVER, EC_WORD_EVER, EC_WORD_HAVE, EC_WORD_ENOUGH, EC_WORD_MONEY},
+ .speechWin = {EC_WORD_I, EC_WORD_WON, EC_WORD_BUT, EC_WORD_I, EC_WORD_NEED, EC_WORD_MONEY},
+ .speechLose = {EC_WORD_I, EC_WORD_NEED, EC_WORD_MONEY, EC_WORD_FOR, EC_WORD_A, EC_WORD_BIKE},
+ .monSets = gFallarborBattleTentTrainerMons_Javier
+ },
+ [2] = {
+ .facilityClass = FACILITY_CLASS_TUBER_F,
+ .trainerName = _("NATALIE"),
+ .speechBefore = {EC_WORD_THE, EC_WORD_WAY, EC_WORD_I, EC_WORD_BATTLE, EC_WORD_IS, EC_WORD_WEIRD},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO_WEAK, EC_WORD_FOR, EC_WORD_THIS, EC_WORD_PLACE},
+ .speechLose = {EC_WORD_GIVE_ME, EC_WORD_AN, EC_WORD_EASY, EC_WORD_MATCH, EC_WORD_NEXT, EC_WORD_TIME},
+ .monSets = gFallarborBattleTentTrainerMons_Natalie
+ },
+ [3] = {
+ .facilityClass = FACILITY_CLASS_TUBER_M,
+ .trainerName = _("TREVE"),
+ .speechBefore = {EC_WORD_LOOK, EC_WORD_AT, EC_WORD_MY, EC_MOVE2(METRONOME), EC_WORD_AND, EC_WORD_SLEEP},
+ .speechWin = {EC_WORD_YEAH, EC_WORD_EXCL, EC_MOVE(HYPNOSIS), EC_WORD_IS, EC_WORD_TOTALLY, EC_WORD_GREAT},
+ .speechLose = {EC_WORD_MY, EC_MOVE(HYPNOSIS), EC_WORD_DIDN_T, EC_WORD_WORK, EC_WORD_ELLIPSIS, -1},
+ .monSets = gFallarborBattleTentTrainerMons_Treve
+ },
+ [4] = {
+ .facilityClass = FACILITY_CLASS_LADY,
+ .trainerName = _("ARIANNA"),
+ .speechBefore = {EC_WORD_IF_I_WIN, EC_WORD_GIVE_ME, EC_WORD_POKEMON, EC_WORD_FOR, EC_WORD_MY, EC_WORD_COLLECTION},
+ .speechWin = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_TOO_WEAK, EC_WORD_TO, EC_WORD_COLLECT},
+ .speechLose = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SOMETHING, EC_WORD_ELSE, EC_WORD_ELLIPSIS},
+ .monSets = gFallarborBattleTentTrainerMons_Arianna
+ },
+ [5] = {
+ .facilityClass = FACILITY_CLASS_BEAUTY,
+ .trainerName = _("JADYN"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_IS, EC_WORD_REALLY, EC_WORD_A, EC_WORD_MYSTERY},
+ .speechWin = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_GOES, EC_WORD_ON, EC_WORD_A, EC_WORD_MYSTERY},
+ .speechLose = {EC_WORD_MY, EC_WORD_NAME, EC_WORD_QUES, EC_WORD_I_AM, EC_WORD_YOUR, EC_WORD_MOTHER},
+ .monSets = gFallarborBattleTentTrainerMons_Jadyn
+ },
+ [6] = {
+ .facilityClass = FACILITY_CLASS_RICH_BOY,
+ .trainerName = _("GERARDO"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST, EC_WORD_HERO, EC_WORD_EVER, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_SEE, EC_WORD_WHAT, EC_WORD_I, EC_WORD_MEAN, EC_WORD_QUES, -1},
+ .speechLose = {EC_WORD_HUH_QUES, EC_WORD_YOU, EC_WORD_WERE, EC_WORD_RIGHT, EC_WORD_QUES, -1},
+ .monSets = gFallarborBattleTentTrainerMons_Gerardo
+ },
+ [7] = {
+ .facilityClass = FACILITY_CLASS_POKEMANIAC,
+ .trainerName = _("JONN"),
+ .speechBefore = {EC_WORD_THE, EC_WORD_WORLD, EC_MOVE2(SUPERPOWER), EC_MOVE2(STOMP), EC_WORD_CONTEST, EC_WORD_EXCL_EXCL},
+ .speechWin = {EC_WORD_I_AM, EC_WORD_NO_1, EC_WORD_EXCL_EXCL, EC_WORD_HEAR, EC_WORD_ME, EC_MOVE2(ROAR)},
+ .speechLose = {EC_WORD_I, EC_WORD_GIVE_UP, EC_WORD_EXCL, EC_WORD_YOU_RE, EC_WORD_NO_1, EC_WORD_EXCL},
+ .monSets = gFallarborBattleTentTrainerMons_Jonn
+ },
+ [8] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_M,
+ .trainerName = _("ESTEBAN"),
+ .speechBefore = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_GOOD, EC_WORD_TRAINER, EC_WORD_QUES, EC_WORD_UNBELIEVABLE},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_SOME, EC_WORD_PUSHOVER, EC_WORD_OF, EC_WORD_A, EC_WORD_TRAINER},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_MUCH, EC_WORD_TOO, EC_WORD_MUCH, EC_WORD_FOR, EC_WORD_ME},
+ .monSets = gFallarborBattleTentTrainerMons_Esteban
+ },
+ [9] = {
+ .facilityClass = FACILITY_CLASS_CAMPER,
+ .trainerName = _("JAMESON"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_SILKY, EC_WORD_SMOOTH, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_MY, EC_WORD_SILKY, EC_WORD_SMOOTH, EC_WORD_POKEMON, EC_WORD_RULE, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_MY, EC_WORD_POKEMON, EC_MOVE2(STRUGGLE), EC_WORD_IN, EC_WORD_YOUR, EC_WORD_STICKY_HOLD},
+ .monSets = gFallarborBattleTentTrainerMons_Jameson
+ },
+ [10] = {
+ .facilityClass = FACILITY_CLASS_BUG_MANIAC,
+ .trainerName = _("ALANZO"),
+ .speechBefore = {EC_MOVE2(FORESIGHT), EC_WORD_IS, EC_WORD_A, EC_WORD_POWER, EC_WORD_I, EC_WORD_HAVE},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_OBLIVIOUS, EC_WORD_ABOUT, EC_MOVE2(FORESIGHT), EC_WORD_EXCL, -1},
+ .speechLose = {EC_WORD_MY, EC_MOVE2(FORESIGHT), EC_WORD_IS, EC_WORD_ALWAYS, EC_WORD_RIGHT, EC_WORD_EXCL},
+ .monSets = gFallarborBattleTentTrainerMons_Alanzo
+ },
+ [11] = {
+ .facilityClass = FACILITY_CLASS_GENTLEMAN,
+ .trainerName = _("HOWARD"),
+ .speechBefore = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_CAN_T, EC_WORD_BEAT, EC_WORD_ME, -1},
+ .speechWin = {EC_WORD_YOU, EC_WORD_COULDN_T, EC_WORD_WIN, EC_WORD_COULD, EC_WORD_YOU, EC_WORD_QUES},
+ .speechLose = {EC_WORD_YOU, EC_WORD_WOULD, EC_WORD_GO, EC_WORD_ALL, EC_WORD_OUT, EC_WORD_ELLIPSIS},
+ .monSets = gFallarborBattleTentTrainerMons_Howard
+ },
+ [12] = {
+ .facilityClass = FACILITY_CLASS_GUITARIST,
+ .trainerName = _("CONRAD"),
+ .speechBefore = {EC_WORD_YOUR, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_PRETTY, EC_WORD_WILD, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_WHOAH, EC_WORD_EXCL_EXCL, -1, EC_WORD_LET_S, EC_WORD_DANCE, EC_WORD_EXCL},
+ .speechLose = {EC_WORD_MY, EC_WORD_MUSIC, EC_WORD_WILL, EC_WORD_PLAY, EC_WORD_ON, EC_WORD_ELLIPSIS},
+ .monSets = gFallarborBattleTentTrainerMons_Conrad
+ },
+ [13] = {
+ .facilityClass = FACILITY_CLASS_SCHOOL_KID_F,
+ .trainerName = _("MAKENNA"),
+ .speechBefore = {EC_WORD_SHOW, EC_WORD_ME, EC_WORD_THAT, EC_WORD_YOU, EC_WORD_MEAN, EC_WORD_IT},
+ .speechWin = {EC_WORD_THAT_S, EC_WORD_WHY, EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY},
+ .speechLose = {EC_WORD_AWW, EC_WORD_I, EC_WORD_STUDY, EC_WORD_EVERY, EC_WORD_DAY, EC_WORD_TOO},
+ .monSets = gFallarborBattleTentTrainerMons_Makenna
+ },
+ [14] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_M,
+ .trainerName = _("BRAYAN"),
+ .speechBefore = {EC_WORD_CAN, EC_WORD_YOU, EC_WORD_SEE, EC_WORD_MY, EC_WORD_POWER, EC_WORD_QUES},
+ .speechWin = {EC_WORD_HOW, EC_WORD_BORING, EC_WORD_ELLIPSIS, EC_WORD_THIS, EC_WORD_IS, EC_WORD_GOOD_BYE},
+ .speechLose = {EC_WORD_AM, EC_WORD_I, EC_WORD_THE, EC_WORD_WEAK, EC_WORD_TRAINER, EC_WORD_QUES},
+ .monSets = gFallarborBattleTentTrainerMons_Brayan
+ },
+ [15] = {
+ .facilityClass = FACILITY_CLASS_COOLTRAINER_F,
+ .trainerName = _("MARIANA"),
+ .speechBefore = {EC_WORD_A, EC_WORD_LIE, EC_WORD_CAN, EC_WORD_BE, EC_WORD_KIND, EC_WORD_ELLIPSIS},
+ .speechWin = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_LIKE, EC_WORD_THE, EC_WORD_SUNDAY, EC_WORD_COMICS},
+ .speechLose = {EC_WORD_THIS, EC_WORD_IS, EC_WORD_LIKE, EC_WORD_FROM, EC_WORD_A, EC_WORD_MOVIE},
+ .monSets = gFallarborBattleTentTrainerMons_Mariana
+ },
+ [16] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_M,
+ .trainerName = _("SHELDON"),
+ .speechBefore = {EC_WORD_A, EC_WORD_POKEMON, EC_WORD_TEACHER, EC_WORD_GETS, EC_WORD_NO, EC_MOVE2(REST)},
+ .speechWin = {EC_WORD_MY, EC_WORD_SMARTNESS, EC_WORD_GETS, EC_WORD_ME, EC_WORD_EASY, EC_WORD_WINS},
+ .speechLose = {EC_WORD_I, EC_WORD_HAVE, EC_WORD_TO, EC_WORD_GO, EC_WORD_WORK, EC_WORD_BYE_BYE},
+ .monSets = gFallarborBattleTentTrainerMons_Sheldon
+ },
+ [17] = {
+ .facilityClass = FACILITY_CLASS_POKEFAN_F,
+ .trainerName = _("GIANNA"),
+ .speechBefore = {EC_WORD_AHAHA, EC_WORD_YES, EC_WORD_EXCL, EC_WORD_LOVEY_DOVEY, EC_WORD_POKEMON, EC_WORD_WORLD},
+ .speechWin = {EC_WORD_MY, EC_WORD_SHINE, EC_WORD_IS, EC_WORD_MAKING, EC_WORD_THINGS, EC_WORD_BETTER},
+ .speechLose = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_DISLIKE, EC_WORD_POKEMON, EC_WORD_QUES, -1},
+ .monSets = gFallarborBattleTentTrainerMons_Gianna
+ },
+ [18] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_M,
+ .trainerName = _("YAHIR"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS, EC_WORD_COME_ON, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_YOU, EC_WORD_NEED, EC_WORD_TO, EC_WORD_TRAIN, EC_WORD_A_LOT, EC_WORD_MORE},
+ .speechLose = {EC_WORD_NOT, EC_WORD_ENOUGH, EC_WORD_ELLIPSIS, EC_WORD_JUST, EC_WORD_NOT, EC_WORD_ENOUGH},
+ .monSets = gFallarborBattleTentTrainerMons_Yahir
+ },
+ [19] = {
+ .facilityClass = FACILITY_CLASS_EXPERT_F,
+ .trainerName = _("BRITNEY"),
+ .speechBefore = {EC_WORD_IT, EC_WORD_SEEMS, EC_WORD_THAT, EC_WORD_YOU_RE, EC_WORD_QUITE, EC_WORD_GOOD},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_LUKEWARM, EC_WORD_TALENT, EC_WORD_AT, EC_WORD_BEST},
+ .speechLose = {EC_WORD_YOU_RE, EC_WORD_A, EC_WORD_COOL, EC_WORD_HERO, EC_WORD_AT, EC_WORD_THIS},
+ .monSets = gFallarborBattleTentTrainerMons_Britney
+ },
+ [20] = {
+ .facilityClass = FACILITY_CLASS_YOUNGSTER,
+ .trainerName = _("HECTER"),
+ .speechBefore = {EC_WORD_MY, EC_MOVE2(HIDDEN_POWER), EC_WORD_IS, EC_WORD_EXCITING, EC_WORD_ME, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_YEEHAW_EXCL, EC_WORD_LET_S, EC_WORD_HAVE, EC_WORD_A, EC_MOVE2(HIDDEN_POWER), EC_WORD_PARTY},
+ .speechLose = {EC_WORD_WAAAH, EC_WORD_EXCL, EC_WORD_DON_T, EC_WORD_YOU, EC_MOVE2(MIMIC), EC_WORD_ME},
+ .monSets = gFallarborBattleTentTrainerMons_Hecter
+ },
+ [21] = {
+ .facilityClass = FACILITY_CLASS_FISHERMAN,
+ .trainerName = _("TANNOR"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_HAVE, EC_WORD_GOT, EC_WORD_TO, EC_WORD_BE, EC_WORD_JOKING},
+ .speechWin = {EC_WORD_YOU_RE, EC_WORD_THE, EC_WORD_BEST, EC_WORD_AT, EC_WORD_BEING, EC_WORD_FUNNY},
+ .speechLose = {EC_WORD_YOU, EC_WORD_WEREN_T, EC_WORD_BEING, EC_WORD_FUNNY, EC_WORD_AT, EC_WORD_ALL},
+ .monSets = gFallarborBattleTentTrainerMons_Tannor
+ },
+ [22] = {
+ .facilityClass = FACILITY_CLASS_BIRD_KEEPER,
+ .trainerName = _("BENJI"),
+ .speechBefore = {EC_WORD_YOU, EC_WORD_DON_T, EC_WORD_THINK, EC_WORD_VERY, EC_WORD_FAST, EC_WORD_HUH_QUES},
+ .speechWin = {EC_WORD_SORRY, EC_WORD_EXCL, EC_WORD_I, EC_WORD_DIDN_T, EC_WORD_MEAN, EC_WORD_YOU},
+ .speechLose = {EC_WORD_YOU, EC_WORD_LEFT, EC_WORD_ME, EC_WORD_FEELING, EC_WORD_SAD, EC_WORD_ELLIPSIS},
+ .monSets = gFallarborBattleTentTrainerMons_Benji
+ },
+ [23] = {
+ .facilityClass = FACILITY_CLASS_NINJA_BOY,
+ .trainerName = _("RORY"),
+ .speechBefore = {EC_WORD_DON_T, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_YOU, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_I, EC_WORD_DON_T, EC_WORD_NEED, EC_WORD_AN, EC_MOVE(UPROAR), EC_WORD_EXCL},
+ .speechLose = {EC_WORD_I_AM, EC_WORD_GOING, EC_WORD_TO, EC_WORD_CAUSE, EC_WORD_AN, EC_MOVE(UPROAR)},
+ .monSets = gFallarborBattleTentTrainerMons_Rory
+ },
+ [24] = {
+ .facilityClass = FACILITY_CLASS_PARASOL_LADY,
+ .trainerName = _("ELEANOR"),
+ .speechBefore = {EC_WORD_I, EC_WORD_REALLY, EC_WORD_WANT, EC_WORD_TO, EC_WORD_PARTY, -1},
+ .speechWin = {EC_WORD_A, EC_WORD_TRENDY, EC_WORD_PARTY, EC_WORD_WOULD, EC_WORD_BE, EC_WORD_REFRESHING},
+ .speechLose = {EC_WORD_DON_T, EC_WORD_YOU, EC_WORD_LIKE, EC_WORD_TO, EC_WORD_PARTY, EC_WORD_QUES},
+ .monSets = gFallarborBattleTentTrainerMons_Eleanor
+ },
+ [25] = {
+ .facilityClass = FACILITY_CLASS_SWIMMER_F,
+ .trainerName = _("EVELYN"),
+ .speechBefore = {EC_WORD_MY, EC_WORD_PC, EC_WORD_IS, EC_WORD_MY, EC_WORD_SECRET_BASE, EC_WORD_EXCL},
+ .speechWin = {EC_WORD_IT_S, EC_WORD_ALL, EC_WORD_SECRET, EC_WORD_ON, EC_WORD_MY, EC_WORD_PC},
+ .speechLose = {EC_WORD_NO, EC_WORD_EXCL, -1, EC_WORD_I, EC_WORD_REJECT, EC_WORD_THIS},
+ .monSets = gFallarborBattleTentTrainerMons_Evelyn
+ },
+ [26] = {
+ .facilityClass = FACILITY_CLASS_PICNICKER,
+ .trainerName = _("ARIELLE"),
+ .speechBefore = {EC_WORD_IT_S, EC_WORD_NOT_VERY, EC_WORD_PRETTY, EC_WORD_BUT, EC_WORD_I, EC_WORD_TRY},
+ .speechWin = {EC_WORD_WE_RE, EC_WORD_NOT_VERY, EC_WORD_PRETTY, EC_WORD_BUT, EC_WORD_WE_RE, EC_WORD_GREAT},
+ .speechLose = {EC_WORD_THAT_WAS, EC_WORD_PRETTY, EC_WORD_MEAN, EC_WORD_OF, EC_WORD_YOU, EC_WORD_EXCL},
+ .monSets = gFallarborBattleTentTrainerMons_Arielle
+ },
+ [27] = {
+ .facilityClass = FACILITY_CLASS_SAILOR,
+ .trainerName = _("CONNAR"),
+ .speechBefore = {EC_WORD_I_AM, EC_WORD_NOT, EC_WORD_STRONG, EC_WORD_ENOUGH, EC_WORD_FOR, EC_WORD_THIS},
+ .speechWin = {EC_WORD_DO, EC_WORD_YOU, EC_WORD_THINK, EC_WORD_YOU_RE, EC_WORD_OK_QUES, -1},
+ .speechLose = {EC_WORD_GOOD_BYE, EC_WORD_AND, EC_WORD_THANK_YOU, -1, -1, -1},
+ .monSets = gFallarborBattleTentTrainerMons_Connar
+ },
+ [28] = {
+ .facilityClass = FACILITY_CLASS_COLLECTOR,
+ .trainerName = _("MAURICE"),
+ .speechBefore = {EC_WORD_THERE, EC_WORD_IS, EC_WORD_NO, EC_WORD_RADIO, EC_WORD_OR, EC_WORD_TELEVISION},
+ .speechWin = {EC_WORD_BUT, EC_WORD_THERE, EC_WORD_IS, EC_WORD_A_LOT, EC_WORD_OF, EC_WORD_POKEMON},
+ .speechLose = {EC_WORD_I, EC_WORD_CAN_T, EC_WORD_ENJOY, EC_WORD_MYSELF, EC_WORD_WITHOUT, EC_WORD_MONEY},
+ .monSets = gFallarborBattleTentTrainerMons_Maurice
+ },
+ [29] = {
+ .facilityClass = FACILITY_CLASS_LASS,
+ .trainerName = _("KIANNA"),
+ .speechBefore = {EC_WORD_I, EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_DEPT_STORE, EC_WORD_SHOPPING},
+ .speechWin = {EC_WORD_I, EC_WORD_DISLIKE, EC_WORD_SHOPPING, EC_WORD_ALONE, -1, -1},
+ .speechLose = {EC_WORD_WANT, EC_WORD_TO, EC_WORD_GO, EC_WORD_SHOPPING, EC_WORD_TOGETHER, EC_WORD_QUES},
+ .monSets = gFallarborBattleTentTrainerMons_Kianna
+ }
+};
+
+const struct FacilityMon gFallarborBattleTentMons[] =
+{
+ [0] = {
+ .species = SPECIES_NUMEL,
+ .moves = {MOVE_GROWL, MOVE_FLAMETHROWER, MOVE_TACKLE, MOVE_SUNNY_DAY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHARCOAL,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [1] = {
+ .species = SPECIES_LINOONE,
+ .moves = {MOVE_ODOR_SLEUTH, MOVE_COVET, MOVE_ROCK_SMASH, MOVE_CHARM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILK_SCARF,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_SASSY
+ },
+ [2] = {
+ .species = SPECIES_PLUSLE,
+ .moves = {MOVE_SPARK, MOVE_GROWL, MOVE_QUICK_ATTACK, MOVE_FAKE_TEARS},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [3] = {
+ .species = SPECIES_POOCHYENA,
+ .moves = {MOVE_YAWN, MOVE_ODOR_SLEUTH, MOVE_HOWL, MOVE_FRUSTRATION},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAUGHTY
+ },
+ [4] = {
+ .species = SPECIES_KECLEON,
+ .moves = {MOVE_LICK, MOVE_SLASH, MOVE_FAINT_ATTACK, MOVE_PSYBEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_WIKI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_MODEST
+ },
+ [5] = {
+ .species = SPECIES_MAGIKARP,
+ .moves = {MOVE_SPLASH, MOVE_TACKLE, MOVE_FLAIL, MOVE_NONE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_SCALE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [6] = {
+ .species = SPECIES_SOLROCK,
+ .moves = {MOVE_ROCK_THROW, MOVE_FLASH, MOVE_SANDSTORM, MOVE_PSYWAVE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_SASSY
+ },
+ [7] = {
+ .species = SPECIES_MAKUHITA,
+ .moves = {MOVE_DETECT, MOVE_ARM_THRUST, MOVE_FAKE_OUT, MOVE_SMELLING_SALT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BLACK_BELT,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [8] = {
+ .species = SPECIES_MACHOKE,
+ .moves = {MOVE_COUNTER, MOVE_REVENGE, MOVE_BULK_UP, MOVE_FOCUS_ENERGY},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_NAIVE
+ },
+ [9] = {
+ .species = SPECIES_NINCADA,
+ .moves = {MOVE_FURY_SWIPES, MOVE_ENDURE, MOVE_MUD_SLAP, MOVE_DIG},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LUM_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_SERIOUS
+ },
+ [10] = {
+ .species = SPECIES_BEAUTIFLY,
+ .moves = {MOVE_FLASH, MOVE_MORNING_SUN, MOVE_HARDEN, MOVE_MEGA_DRAIN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIRKY
+ },
+ [11] = {
+ .species = SPECIES_DUSTOX,
+ .moves = {MOVE_MOONLIGHT, MOVE_HARDEN, MOVE_POISON_STING, MOVE_PSYBEAM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE,
+ .nature = NATURE_DOCILE
+ },
+ [12] = {
+ .species = SPECIES_ILLUMISE,
+ .moves = {MOVE_METRONOME, MOVE_FLATTER, MOVE_WISH, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SALAC_BERRY,
+ .evSpread = F_EV_SPREAD_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [13] = {
+ .species = SPECIES_VOLBEAT,
+ .moves = {MOVE_TACKLE, MOVE_MOONLIGHT, MOVE_SIGNAL_BEAM, MOVE_TAIL_GLOW},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEPPA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [14] = {
+ .species = SPECIES_NINJASK,
+ .moves = {MOVE_DOUBLE_TEAM, MOVE_PROTECT, MOVE_DIG, MOVE_SAND_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_TIMID
+ },
+ [15] = {
+ .species = SPECIES_NINJASK,
+ .moves = {MOVE_SWORDS_DANCE, MOVE_CUT, MOVE_FURY_CUTTER, MOVE_LEECH_LIFE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SILVER_POWDER,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [16] = {
+ .species = SPECIES_ARON,
+ .moves = {MOVE_METAL_CLAW, MOVE_PROTECT, MOVE_SHOCK_WAVE, MOVE_METAL_SOUND},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_LONELY
+ },
+ [17] = {
+ .species = SPECIES_ARON,
+ .moves = {MOVE_SECRET_POWER, MOVE_METAL_CLAW, MOVE_IRON_DEFENSE, MOVE_MUD_SLAP},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_GENTLE
+ },
+ [18] = {
+ .species = SPECIES_ELECTRIKE,
+ .moves = {MOVE_CRUNCH, MOVE_THUNDER_WAVE, MOVE_HOWL, MOVE_QUICK_ATTACK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SEA_INCENSE,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HASTY
+ },
+ [19] = {
+ .species = SPECIES_MAGNEMITE,
+ .moves = {MOVE_THUNDER_WAVE, MOVE_SUPERSONIC, MOVE_ENDURE, MOVE_SPARK},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIET
+ },
+ [20] = {
+ .species = SPECIES_VOLTORB,
+ .moves = {MOVE_CHARGE, MOVE_SPARK, MOVE_SCREECH, MOVE_SONIC_BOOM},
+ .itemTableId = BATTLE_FRONTIER_ITEM_ASPEAR_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [21] = {
+ .species = SPECIES_WHISMUR,
+ .moves = {MOVE_REST, MOVE_SLEEP_TALK, MOVE_HYPER_VOICE, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LAX_INCENSE,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [22] = {
+ .species = SPECIES_LOUDRED,
+ .moves = {MOVE_STOMP, MOVE_REST, MOVE_SCREECH, MOVE_UPROAR},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [23] = {
+ .species = SPECIES_LINOONE,
+ .moves = {MOVE_FURY_SWIPES, MOVE_SAND_ATTACK, MOVE_SHOCK_WAVE, MOVE_GROWL},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGNET,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [24] = {
+ .species = SPECIES_MIGHTYENA,
+ .moves = {MOVE_SAND_ATTACK, MOVE_HOWL, MOVE_SWAGGER, MOVE_SECRET_POWER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_JOLLY
+ },
+ [25] = {
+ .species = SPECIES_SWABLU,
+ .moves = {MOVE_TAKE_DOWN, MOVE_SING, MOVE_GROWL, MOVE_SAFEGUARD},
+ .itemTableId = BATTLE_FRONTIER_ITEM_FOCUS_BAND,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_QUIRKY
+ },
+ [26] = {
+ .species = SPECIES_SKARMORY,
+ .moves = {MOVE_AGILITY, MOVE_STEEL_WING, MOVE_SAND_ATTACK, MOVE_TORMENT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_METAL_COAT,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [27] = {
+ .species = SPECIES_GOLBAT,
+ .moves = {MOVE_CONFUSE_RAY, MOVE_BITE, MOVE_DOUBLE_TEAM, MOVE_SUBSTITUTE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_PETAYA_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BOLD
+ },
+ [28] = {
+ .species = SPECIES_WINGULL,
+ .moves = {MOVE_WING_ATTACK, MOVE_HAIL, MOVE_DOUBLE_TEAM, MOVE_SUPERSONIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_RAWST_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_SPEED,
+ .nature = NATURE_MODEST
+ },
+ [29] = {
+ .species = SPECIES_PELIPPER,
+ .moves = {MOVE_TWISTER, MOVE_ICY_WIND, MOVE_DOUBLE_TEAM, MOVE_WATER_GUN},
+ .itemTableId = BATTLE_FRONTIER_ITEM_DRAGON_FANG,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [30] = {
+ .species = SPECIES_BARBOACH,
+ .moves = {MOVE_SPARK, MOVE_WATER_GUN, MOVE_EARTHQUAKE, MOVE_WATER_SPORT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LIECHI_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_MODEST
+ },
+ [31] = {
+ .species = SPECIES_WAILMER,
+ .moves = {MOVE_WATER_PULSE, MOVE_RAIN_DANCE, MOVE_SPLASH, MOVE_CURSE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_KINGS_ROCK,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_QUIET
+ },
+ [32] = {
+ .species = SPECIES_MARILL,
+ .moves = {MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_ATTRACT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [33] = {
+ .species = SPECIES_GOLDEEN,
+ .moves = {MOVE_WATERFALL, MOVE_RAIN_DANCE, MOVE_FLAIL, MOVE_PROTECT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_GANLON_BERRY,
+ .evSpread = F_EV_SPREAD_SP_ATTACK | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_HASTY
+ },
+ [34] = {
+ .species = SPECIES_GOLDEEN,
+ .moves = {MOVE_SLEEP_TALK, MOVE_HORN_DRILL, MOVE_REST, MOVE_SUPERSONIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MENTAL_HERB,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_CAREFUL
+ },
+ [35] = {
+ .species = SPECIES_TRAPINCH,
+ .moves = {MOVE_RETURN, MOVE_SAND_ATTACK, MOVE_ATTRACT, MOVE_STRENGTH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_MAGO_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [36] = {
+ .species = SPECIES_BALTOY,
+ .moves = {MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_RAPID_SPIN, MOVE_MIMIC},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [37] = {
+ .species = SPECIES_GRAVELER,
+ .moves = {MOVE_ROCK_BLAST, MOVE_DEFENSE_CURL, MOVE_MAGNITUDE, MOVE_MUD_SPORT},
+ .itemTableId = BATTLE_FRONTIER_ITEM_HARD_STONE,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ },
+ [38] = {
+ .species = SPECIES_SANDSHREW,
+ .moves = {MOVE_SAND_TOMB, MOVE_SANDSTORM, MOVE_DOUBLE_TEAM, MOVE_FOCUS_PUNCH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SOFT_SAND,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_JOLLY
+ },
+ [39] = {
+ .species = SPECIES_SWALOT,
+ .moves = {MOVE_YAWN, MOVE_ENCORE, MOVE_BULLET_SEED, MOVE_SLUDGE},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SCOPE_LENS,
+ .evSpread = F_EV_SPREAD_ATTACK | F_EV_SPREAD_HP,
+ .nature = NATURE_BRAVE
+ },
+ [40] = {
+ .species = SPECIES_SHROOMISH,
+ .moves = {MOVE_HEADBUTT, MOVE_SPORE, MOVE_SWAGGER, MOVE_LEECH_SEED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_QUICK_CLAW,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_IMPISH
+ },
+ [41] = {
+ .species = SPECIES_KIRLIA,
+ .moves = {MOVE_HYPNOSIS, MOVE_GROWL, MOVE_ATTRACT, MOVE_DREAM_EATER},
+ .itemTableId = BATTLE_FRONTIER_ITEM_SITRUS_BERRY,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [42] = {
+ .species = SPECIES_LOMBRE,
+ .moves = {MOVE_NATURE_POWER, MOVE_WATER_GUN, MOVE_RAIN_DANCE, MOVE_FLASH},
+ .itemTableId = BATTLE_FRONTIER_ITEM_LEFTOVERS,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_BASHFUL
+ },
+ [43] = {
+ .species = SPECIES_NUZLEAF,
+ .moves = {MOVE_NATURE_POWER, MOVE_TORMENT, MOVE_SWAGGER, MOVE_REST},
+ .itemTableId = BATTLE_FRONTIER_ITEM_CHESTO_BERRY,
+ .evSpread = F_EV_SPREAD_SPEED | F_EV_SPREAD_ATTACK,
+ .nature = NATURE_ADAMANT
+ },
+ [44] = {
+ .species = SPECIES_CACNEA,
+ .moves = {MOVE_SANDSTORM, MOVE_NEEDLE_ARM, MOVE_TEETER_DANCE, MOVE_LEECH_SEED},
+ .itemTableId = BATTLE_FRONTIER_ITEM_BRIGHT_POWDER,
+ .evSpread = F_EV_SPREAD_SP_DEFENSE | F_EV_SPREAD_SPEED | F_EV_SPREAD_DEFENSE | F_EV_SPREAD_HP,
+ .nature = NATURE_ADAMANT
+ }
+};
diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h
index 00a6f7fdb..008d7d784 100644
--- a/src/data/battle_moves.h
+++ b/src/data/battle_moves.h
@@ -1,3913 +1,4617 @@
-#ifndef GUARD_DATA_BATTLE_MOVES
-#define GUARD_DATA_BATTLE_MOVES
-
const struct BattleMove gBattleMoves[MOVES_COUNT] =
{
- { // MOVE_NONE
- .effect = EFFECT_HIT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 0,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_POUND
- .effect = EFFECT_HIT,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_KARATE_CHOP
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 50,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DOUBLE_SLAP
- .effect = EFFECT_MULTI_HIT,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COMET_PUNCH
- .effect = EFFECT_MULTI_HIT,
- .power = 18,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MEGA_PUNCH
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_PAY_DAY
- .effect = EFFECT_PAY_DAY,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FIRE_PUNCH
- .effect = EFFECT_BURN_HIT,
- .power = 75,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ICE_PUNCH
- .effect = EFFECT_FREEZE_HIT,
- .power = 75,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_THUNDER_PUNCH
- .effect = EFFECT_PARALYZE_HIT,
- .power = 75,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SCRATCH
- .effect = EFFECT_HIT,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_VICE_GRIP
- .effect = EFFECT_HIT,
- .power = 55,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_GUILLOTINE
- .effect = EFFECT_OHKO,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 30,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_RAZOR_WIND
- .effect = EFFECT_RAZOR_WIND,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWORDS_DANCE
- .effect = EFFECT_ATTACK_UP_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_CUT
- .effect = EFFECT_HIT,
- .power = 50,
- .type = TYPE_NORMAL,
- .accuracy = 95,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_GUST
- .effect = EFFECT_GUST,
- .power = 40,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_WING_ATTACK
- .effect = EFFECT_HIT,
- .power = 60,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_WHIRLWIND
- .effect = EFFECT_ROAR,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -6,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLY
- .effect = EFFECT_SEMI_INVULNERABLE,
- .power = 70,
- .type = TYPE_FLYING,
- .accuracy = 95,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BIND
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SLAM
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_VINE_WHIP
- .effect = EFFECT_HIT,
- .power = 35,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STOMP
- .effect = EFFECT_FLINCH_MINIMIZE_HIT,
- .power = 65,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DOUBLE_KICK
- .effect = EFFECT_DOUBLE_HIT,
- .power = 30,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MEGA_KICK
- .effect = EFFECT_HIT,
- .power = 120,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_JUMP_KICK
- .effect = EFFECT_RECOIL_IF_MISS,
- .power = 70,
- .type = TYPE_FIGHTING,
- .accuracy = 95,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ROLLING_KICK
- .effect = EFFECT_FLINCH_HIT,
- .power = 60,
- .type = TYPE_FIGHTING,
- .accuracy = 85,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SAND_ATTACK
- .effect = EFFECT_ACCURACY_DOWN,
- .power = 0,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HEADBUTT
- .effect = EFFECT_FLINCH_HIT,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HORN_ATTACK
- .effect = EFFECT_HIT,
- .power = 65,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FURY_ATTACK
- .effect = EFFECT_MULTI_HIT,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_HORN_DRILL
- .effect = EFFECT_OHKO,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 30,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_TACKLE
- .effect = EFFECT_HIT,
- .power = 35,
- .type = TYPE_NORMAL,
- .accuracy = 95,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BODY_SLAM
- .effect = EFFECT_PARALYZE_HIT,
- .power = 85,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WRAP
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TAKE_DOWN
- .effect = EFFECT_RECOIL,
- .power = 90,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_THRASH
- .effect = EFFECT_RAMPAGE,
- .power = 90,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_RANDOM,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DOUBLE_EDGE
- .effect = EFFECT_DOUBLE_EDGE,
- .power = 120,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TAIL_WHIP
- .effect = EFFECT_DEFENSE_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_POISON_STING
- .effect = EFFECT_POISON_HIT,
- .power = 15,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_TWINEEDLE
- .effect = EFFECT_TWINEEDLE,
- .power = 25,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PIN_MISSILE
- .effect = EFFECT_MULTI_HIT,
- .power = 14,
- .type = TYPE_BUG,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LEER
- .effect = EFFECT_DEFENSE_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BITE
- .effect = EFFECT_FLINCH_HIT,
- .power = 60,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_GROWL
- .effect = EFFECT_ATTACK_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROAR
- .effect = EFFECT_ROAR,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -6,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SING
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 55,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SUPERSONIC
- .effect = EFFECT_CONFUSE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 55,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SONIC_BOOM
- .effect = EFFECT_SONICBOOM,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DISABLE
- .effect = EFFECT_DISABLE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 55,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ACID
- .effect = EFFECT_DEFENSE_DOWN_HIT,
- .power = 40,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_EMBER
- .effect = EFFECT_BURN_HIT,
- .power = 40,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLAMETHROWER
- .effect = EFFECT_BURN_HIT,
- .power = 95,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MIST
- .effect = EFFECT_MIST,
- .power = 0,
- .type = TYPE_ICE,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_WATER_GUN
- .effect = EFFECT_HIT,
- .power = 40,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_HYDRO_PUMP
- .effect = EFFECT_HIT,
- .power = 120,
- .type = TYPE_WATER,
- .accuracy = 80,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SURF
- .effect = EFFECT_HIT,
- .power = 95,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ICE_BEAM
- .effect = EFFECT_FREEZE_HIT,
- .power = 95,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BLIZZARD
- .effect = EFFECT_FREEZE_HIT,
- .power = 120,
- .type = TYPE_ICE,
- .accuracy = 70,
- .pp = 5,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PSYBEAM
- .effect = EFFECT_CONFUSE_HIT,
- .power = 65,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BUBBLE_BEAM
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 65,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_AURORA_BEAM
- .effect = EFFECT_ATTACK_DOWN_HIT,
- .power = 65,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HYPER_BEAM
- .effect = EFFECT_RECHARGE,
- .power = 150,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_PECK
- .effect = EFFECT_HIT,
- .power = 35,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DRILL_PECK
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SUBMISSION
- .effect = EFFECT_RECOIL,
- .power = 80,
- .type = TYPE_FIGHTING,
- .accuracy = 80,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LOW_KICK
- .effect = EFFECT_LOW_KICK,
- .power = 1,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COUNTER
- .effect = EFFECT_COUNTER,
- .power = 1,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = -5,
- .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SEISMIC_TOSS
- .effect = EFFECT_LEVEL_DAMAGE,
- .power = 1,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STRENGTH
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ABSORB
- .effect = EFFECT_ABSORB,
- .power = 20,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MEGA_DRAIN
- .effect = EFFECT_ABSORB,
- .power = 40,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_LEECH_SEED
- .effect = EFFECT_LEECH_SEED,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_GROWTH
- .effect = EFFECT_SPECIAL_ATTACK_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_RAZOR_LEAF
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 55,
- .type = TYPE_GRASS,
- .accuracy = 95,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SOLAR_BEAM
- .effect = EFFECT_SOLARBEAM,
- .power = 120,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_POISON_POWDER
- .effect = EFFECT_POISON,
- .power = 0,
- .type = TYPE_POISON,
- .accuracy = 75,
- .pp = 35,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_STUN_SPORE
- .effect = EFFECT_PARALYZE,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 75,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLEEP_POWDER
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 75,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PETAL_DANCE
- .effect = EFFECT_RAMPAGE,
- .power = 70,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_RANDOM,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STRING_SHOT
- .effect = EFFECT_SPEED_DOWN,
- .power = 0,
- .type = TYPE_BUG,
- .accuracy = 95,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DRAGON_RAGE
- .effect = EFFECT_DRAGON_RAGE,
- .power = 1,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FIRE_SPIN
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_FIRE,
- .accuracy = 70,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_THUNDER_SHOCK
- .effect = EFFECT_PARALYZE_HIT,
- .power = 40,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_THUNDERBOLT
- .effect = EFFECT_PARALYZE_HIT,
- .power = 95,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_THUNDER_WAVE
- .effect = EFFECT_PARALYZE,
- .power = 0,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_THUNDER
- .effect = EFFECT_THUNDER,
- .power = 120,
- .type = TYPE_ELECTRIC,
- .accuracy = 70,
- .pp = 10,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROCK_THROW
- .effect = EFFECT_HIT,
- .power = 50,
- .type = TYPE_ROCK,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_EARTHQUAKE
- .effect = EFFECT_EARTHQUAKE,
- .power = 100,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FISSURE
- .effect = EFFECT_OHKO,
- .power = 1,
- .type = TYPE_GROUND,
- .accuracy = 30,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DIG
- .effect = EFFECT_SEMI_INVULNERABLE,
- .power = 60,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TOXIC
- .effect = EFFECT_TOXIC,
- .power = 0,
- .type = TYPE_POISON,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_CONFUSION
- .effect = EFFECT_CONFUSE_HIT,
- .power = 50,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PSYCHIC
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- .power = 90,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HYPNOSIS
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 60,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MEDITATE
- .effect = EFFECT_ATTACK_UP,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_AGILITY
- .effect = EFFECT_SPEED_UP_2,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_QUICK_ATTACK
- .effect = EFFECT_QUICK_ATTACK,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 1,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_RAGE
- .effect = EFFECT_RAGE,
- .power = 20,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TELEPORT
- .effect = EFFECT_TELEPORT,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_NIGHT_SHADE
- .effect = EFFECT_LEVEL_DAMAGE,
- .power = 1,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MIMIC
- .effect = EFFECT_MIMIC,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_SCREECH
- .effect = EFFECT_DEFENSE_DOWN_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DOUBLE_TEAM
- .effect = EFFECT_EVASION_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_RECOVER
- .effect = EFFECT_RESTORE_HP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HARDEN
- .effect = EFFECT_DEFENSE_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_MINIMIZE
- .effect = EFFECT_MINIMIZE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SMOKESCREEN
- .effect = EFFECT_ACCURACY_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_CONFUSE_RAY
- .effect = EFFECT_CONFUSE,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WITHDRAW
- .effect = EFFECT_DEFENSE_UP,
- .power = 0,
- .type = TYPE_WATER,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_DEFENSE_CURL
- .effect = EFFECT_DEFENSE_CURL,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_BARRIER
- .effect = EFFECT_DEFENSE_UP_2,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_LIGHT_SCREEN
- .effect = EFFECT_LIGHT_SCREEN,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HAZE
- .effect = EFFECT_HAZE,
- .power = 0,
- .type = TYPE_ICE,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_REFLECT
- .effect = EFFECT_REFLECT,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_FOCUS_ENERGY
- .effect = EFFECT_FOCUS_ENERGY,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_BIDE
- .effect = EFFECT_BIDE,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_METRONOME
- .effect = EFFECT_METRONOME,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_MIRROR_MOVE
- .effect = EFFECT_MIRROR_MOVE,
- .power = 0,
- .type = TYPE_FLYING,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_SELF_DESTRUCT
- .effect = EFFECT_EXPLOSION,
- .power = 200,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_EGG_BOMB
- .effect = EFFECT_HIT,
- .power = 100,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LICK
- .effect = EFFECT_PARALYZE_HIT,
- .power = 20,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SMOG
- .effect = EFFECT_POISON_HIT,
- .power = 20,
- .type = TYPE_POISON,
- .accuracy = 70,
- .pp = 20,
- .secondaryEffectChance = 40,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLUDGE
- .effect = EFFECT_POISON_HIT,
- .power = 65,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BONE_CLUB
- .effect = EFFECT_FLINCH_HIT,
- .power = 65,
- .type = TYPE_GROUND,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FIRE_BLAST
- .effect = EFFECT_BURN_HIT,
- .power = 120,
- .type = TYPE_FIRE,
- .accuracy = 85,
- .pp = 5,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WATERFALL
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CLAMP
- .effect = EFFECT_TRAP,
- .power = 35,
- .type = TYPE_WATER,
- .accuracy = 75,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWIFT
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SKULL_BASH
- .effect = EFFECT_SKULL_BASH,
- .power = 100,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SPIKE_CANNON
- .effect = EFFECT_MULTI_HIT,
- .power = 20,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CONSTRICT
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 10,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 35,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_AMNESIA
- .effect = EFFECT_SPECIAL_DEFENSE_UP_2,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_KINESIS
- .effect = EFFECT_ACCURACY_DOWN,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 80,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SOFT_BOILED
- .effect = EFFECT_SOFTBOILED,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HI_JUMP_KICK
- .effect = EFFECT_RECOIL_IF_MISS,
- .power = 85,
- .type = TYPE_FIGHTING,
- .accuracy = 90,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_GLARE
- .effect = EFFECT_PARALYZE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DREAM_EATER
- .effect = EFFECT_DREAM_EATER,
- .power = 100,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_POISON_GAS
- .effect = EFFECT_POISON,
- .power = 0,
- .type = TYPE_POISON,
- .accuracy = 55,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BARRAGE
- .effect = EFFECT_MULTI_HIT,
- .power = 15,
- .type = TYPE_NORMAL,
- .accuracy = 85,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LEECH_LIFE
- .effect = EFFECT_ABSORB,
- .power = 20,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_LOVELY_KISS
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SKY_ATTACK
- .effect = EFFECT_SKY_ATTACK,
- .power = 140,
- .type = TYPE_FLYING,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TRANSFORM
- .effect = EFFECT_TRANSFORM,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_BUBBLE
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 20,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DIZZY_PUNCH
- .effect = EFFECT_CONFUSE_HIT,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SPORE
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLASH
- .effect = EFFECT_ACCURACY_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 70,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PSYWAVE
- .effect = EFFECT_PSYWAVE,
- .power = 1,
- .type = TYPE_PSYCHIC,
- .accuracy = 80,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SPLASH
- .effect = EFFECT_SPLASH,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ACID_ARMOR
- .effect = EFFECT_DEFENSE_UP_2,
- .power = 0,
- .type = TYPE_POISON,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_CRABHAMMER
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 90,
- .type = TYPE_WATER,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_EXPLOSION
- .effect = EFFECT_EXPLOSION,
- .power = 250,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FURY_SWIPES
- .effect = EFFECT_MULTI_HIT,
- .power = 18,
- .type = TYPE_NORMAL,
- .accuracy = 80,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BONEMERANG
- .effect = EFFECT_DOUBLE_HIT,
- .power = 50,
- .type = TYPE_GROUND,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_REST
- .effect = EFFECT_REST,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_ROCK_SLIDE
- .effect = EFFECT_FLINCH_HIT,
- .power = 75,
- .type = TYPE_ROCK,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HYPER_FANG
- .effect = EFFECT_FLINCH_HIT,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SHARPEN
- .effect = EFFECT_ATTACK_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_CONVERSION
- .effect = EFFECT_CONVERSION,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_TRI_ATTACK
- .effect = EFFECT_TRI_ATTACK,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SUPER_FANG
- .effect = EFFECT_SUPER_FANG,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLASH
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SUBSTITUTE
- .effect = EFFECT_SUBSTITUTE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_STRUGGLE
- .effect = EFFECT_RECOIL,
- .power = 50,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 1,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SKETCH
- .effect = EFFECT_SKETCH,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 1,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_TRIPLE_KICK
- .effect = EFFECT_TRIPLE_KICK,
- .power = 10,
- .type = TYPE_FIGHTING,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_THIEF
- .effect = EFFECT_THIEF,
- .power = 40,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SPIDER_WEB
- .effect = EFFECT_MEAN_LOOK,
- .power = 0,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MIND_READER
- .effect = EFFECT_LOCK_ON,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_NIGHTMARE
- .effect = EFFECT_NIGHTMARE,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLAME_WHEEL
- .effect = EFFECT_THAW_HIT,
- .power = 60,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SNORE
- .effect = EFFECT_SNORE,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CURSE
- .effect = EFFECT_CURSE,
- .power = 0,
- .type = TYPE_MYSTERY,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_FLAIL
- .effect = EFFECT_FLAIL,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CONVERSION_2
- .effect = EFFECT_CONVERSION_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_AEROBLAST
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 100,
- .type = TYPE_FLYING,
- .accuracy = 95,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COTTON_SPORE
- .effect = EFFECT_SPEED_DOWN_2,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 85,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_REVERSAL
- .effect = EFFECT_FLAIL,
- .power = 1,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SPITE
- .effect = EFFECT_SPITE,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_POWDER_SNOW
- .effect = EFFECT_FREEZE_HIT,
- .power = 40,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PROTECT
- .effect = EFFECT_PROTECT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 3,
- .flags = 0,
- },
- { // MOVE_MACH_PUNCH
- .effect = EFFECT_QUICK_ATTACK,
- .power = 40,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 1,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SCARY_FACE
- .effect = EFFECT_SPEED_DOWN_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FAINT_ATTACK
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_DARK,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWEET_KISS
- .effect = EFFECT_CONFUSE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 75,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BELLY_DRUM
- .effect = EFFECT_BELLY_DRUM,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SLUDGE_BOMB
- .effect = EFFECT_POISON_HIT,
- .power = 90,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MUD_SLAP
- .effect = EFFECT_ACCURACY_DOWN_HIT,
- .power = 20,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_OCTAZOOKA
- .effect = EFFECT_ACCURACY_DOWN_HIT,
- .power = 65,
- .type = TYPE_WATER,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SPIKES
- .effect = EFFECT_SPIKES,
- .power = 0,
- .type = TYPE_GROUND,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_OPPONENTS_FIELD,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ZAP_CANNON
- .effect = EFFECT_PARALYZE_HIT,
- .power = 100,
- .type = TYPE_ELECTRIC,
- .accuracy = 50,
- .pp = 5,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FORESIGHT
- .effect = EFFECT_FORESIGHT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DESTINY_BOND
- .effect = EFFECT_DESTINY_BOND,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_PERISH_SONG
- .effect = EFFECT_PERISH_SONG,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ICY_WIND
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 55,
- .type = TYPE_ICE,
- .accuracy = 95,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DETECT
- .effect = EFFECT_PROTECT,
- .power = 0,
- .type = TYPE_FIGHTING,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 3,
- .flags = 0,
- },
- { // MOVE_BONE_RUSH
- .effect = EFFECT_MULTI_HIT,
- .power = 25,
- .type = TYPE_GROUND,
- .accuracy = 80,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_LOCK_ON
- .effect = EFFECT_LOCK_ON,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_OUTRAGE
- .effect = EFFECT_RAMPAGE,
- .power = 90,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_RANDOM,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SANDSTORM
- .effect = EFFECT_SANDSTORM,
- .power = 0,
- .type = TYPE_ROCK,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_GIGA_DRAIN
- .effect = EFFECT_ABSORB,
- .power = 60,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ENDURE
- .effect = EFFECT_ENDURE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 3,
- .flags = 0,
- },
- { // MOVE_CHARM
- .effect = EFFECT_ATTACK_DOWN_2,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROLLOUT
- .effect = EFFECT_ROLLOUT,
- .power = 30,
- .type = TYPE_ROCK,
- .accuracy = 90,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FALSE_SWIPE
- .effect = EFFECT_FALSE_SWIPE,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWAGGER
- .effect = EFFECT_SWAGGER,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MILK_DRINK
- .effect = EFFECT_SOFTBOILED,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SPARK
- .effect = EFFECT_PARALYZE_HIT,
- .power = 65,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FURY_CUTTER
- .effect = EFFECT_FURY_CUTTER,
- .power = 10,
- .type = TYPE_BUG,
- .accuracy = 95,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STEEL_WING
- .effect = EFFECT_DEFENSE_UP_HIT,
- .power = 70,
- .type = TYPE_STEEL,
- .accuracy = 90,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MEAN_LOOK
- .effect = EFFECT_MEAN_LOOK,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ATTRACT
- .effect = EFFECT_ATTRACT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLEEP_TALK
- .effect = EFFECT_SLEEP_TALK,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_HEAL_BELL
- .effect = EFFECT_HEAL_BELL,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_RETURN
- .effect = EFFECT_RETURN,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_PRESENT
- .effect = EFFECT_PRESENT,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FRUSTRATION
- .effect = EFFECT_FRUSTRATION,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SAFEGUARD
- .effect = EFFECT_SAFEGUARD,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_PAIN_SPLIT
- .effect = EFFECT_PAIN_SPLIT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SACRED_FIRE
- .effect = EFFECT_THAW_HIT,
- .power = 100,
- .type = TYPE_FIRE,
- .accuracy = 95,
- .pp = 5,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MAGNITUDE
- .effect = EFFECT_MAGNITUDE,
- .power = 1,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DYNAMIC_PUNCH
- .effect = EFFECT_CONFUSE_HIT,
- .power = 100,
- .type = TYPE_FIGHTING,
- .accuracy = 50,
- .pp = 5,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MEGAHORN
- .effect = EFFECT_HIT,
- .power = 120,
- .type = TYPE_BUG,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DRAGON_BREATH
- .effect = EFFECT_PARALYZE_HIT,
- .power = 60,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BATON_PASS
- .effect = EFFECT_BATON_PASS,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ENCORE
- .effect = EFFECT_ENCORE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PURSUIT
- .effect = EFFECT_PURSUIT,
- .power = 40,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_RAPID_SPIN
- .effect = EFFECT_RAPID_SPIN,
- .power = 20,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWEET_SCENT
- .effect = EFFECT_EVASION_DOWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_IRON_TAIL
- .effect = EFFECT_DEFENSE_DOWN_HIT,
- .power = 100,
- .type = TYPE_STEEL,
- .accuracy = 75,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_METAL_CLAW
- .effect = EFFECT_ATTACK_UP_HIT,
- .power = 50,
- .type = TYPE_STEEL,
- .accuracy = 95,
- .pp = 35,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_VITAL_THROW
- .effect = EFFECT_VITAL_THROW,
- .power = 70,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -1,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MORNING_SUN
- .effect = EFFECT_MORNING_SUN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SYNTHESIS
- .effect = EFFECT_SYNTHESIS,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_MOONLIGHT
- .effect = EFFECT_MOONLIGHT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HIDDEN_POWER
- .effect = EFFECT_HIDDEN_POWER,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CROSS_CHOP
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 100,
- .type = TYPE_FIGHTING,
- .accuracy = 80,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_TWISTER
- .effect = EFFECT_TWISTER,
- .power = 40,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_RAIN_DANCE
- .effect = EFFECT_RAIN_DANCE,
- .power = 0,
- .type = TYPE_WATER,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_SUNNY_DAY
- .effect = EFFECT_SUNNY_DAY,
- .power = 0,
- .type = TYPE_FIRE,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_CRUNCH
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- .power = 80,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MIRROR_COAT
- .effect = EFFECT_MIRROR_COAT,
- .power = 1,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = -5,
- .flags = FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_PSYCH_UP
- .effect = EFFECT_PSYCH_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_EXTREME_SPEED
- .effect = EFFECT_QUICK_ATTACK,
- .power = 80,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 1,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ANCIENT_POWER
- .effect = EFFECT_ALL_STATS_UP_HIT,
- .power = 60,
- .type = TYPE_ROCK,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SHADOW_BALL
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- .power = 80,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FUTURE_SIGHT
- .effect = EFFECT_FUTURE_SIGHT,
- .power = 80,
- .type = TYPE_PSYCHIC,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ROCK_SMASH
- .effect = EFFECT_DEFENSE_DOWN_HIT,
- .power = 20,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WHIRLPOOL
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_WATER,
- .accuracy = 70,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BEAT_UP
- .effect = EFFECT_BEAT_UP,
- .power = 10,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FAKE_OUT
- .effect = EFFECT_FAKE_OUT,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 1,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_UPROAR
- .effect = EFFECT_UPROAR,
- .power = 50,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_RANDOM,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_STOCKPILE
- .effect = EFFECT_STOCKPILE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SPIT_UP
- .effect = EFFECT_SPIT_UP,
- .power = 100,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SWALLOW
- .effect = EFFECT_SWALLOW,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HEAT_WAVE
- .effect = EFFECT_BURN_HIT,
- .power = 100,
- .type = TYPE_FIRE,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HAIL
- .effect = EFFECT_HAIL,
- .power = 0,
- .type = TYPE_ICE,
- .accuracy = 0,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_TORMENT
- .effect = EFFECT_TORMENT,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FLATTER
- .effect = EFFECT_FLATTER,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WILL_O_WISP
- .effect = EFFECT_WILL_O_WISP,
- .power = 0,
- .type = TYPE_FIRE,
- .accuracy = 75,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MEMENTO
- .effect = EFFECT_MEMENTO,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FACADE
- .effect = EFFECT_FACADE,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FOCUS_PUNCH
- .effect = EFFECT_FOCUS_PUNCH,
- .power = 150,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -3,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_SMELLING_SALT
- .effect = EFFECT_SMELLINGSALT,
- .power = 60,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FOLLOW_ME
- .effect = EFFECT_FOLLOW_ME,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 3,
- .flags = 0,
- },
- { // MOVE_NATURE_POWER
- .effect = EFFECT_NATURE_POWER,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 95,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_CHARGE
- .effect = EFFECT_CHARGE,
- .power = 0,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_TAUNT
- .effect = EFFECT_TAUNT,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_HELPING_HAND
- .effect = EFFECT_HELPING_HAND,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 5,
- .flags = 0,
- },
- { // MOVE_TRICK
- .effect = EFFECT_TRICK,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROLE_PLAY
- .effect = EFFECT_ROLE_PLAY,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_WISH
- .effect = EFFECT_WISH,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_ASSIST
- .effect = EFFECT_ASSIST,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_INGRAIN
- .effect = EFFECT_INGRAIN,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_SUPERPOWER
- .effect = EFFECT_SUPERPOWER,
- .power = 120,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MAGIC_COAT
- .effect = EFFECT_MAGIC_COAT,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 4,
- .flags = 0,
- },
- { // MOVE_RECYCLE
- .effect = EFFECT_RECYCLE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_REVENGE
- .effect = EFFECT_REVENGE,
- .power = 60,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = -4,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BRICK_BREAK
- .effect = EFFECT_BRICK_BREAK,
- .power = 75,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_YAWN
- .effect = EFFECT_YAWN,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_KNOCK_OFF
- .effect = EFFECT_KNOCK_OFF,
- .power = 20,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ENDEAVOR
- .effect = EFFECT_ENDEAVOR,
- .power = 1,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ERUPTION
- .effect = EFFECT_ERUPTION,
- .power = 150,
- .type = TYPE_FIRE,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SKILL_SWAP
- .effect = EFFECT_SKILL_SWAP,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_IMPRISON
- .effect = EFFECT_IMPRISON,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_REFRESH
- .effect = EFFECT_REFRESH,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_GRUDGE
- .effect = EFFECT_GRUDGE,
- .power = 0,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SNATCH
- .effect = EFFECT_SNATCH,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_DEPENDS,
- .priority = 4,
- .flags = FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SECRET_POWER
- .effect = EFFECT_SECRET_POWER,
- .power = 70,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_DIVE
- .effect = EFFECT_SEMI_INVULNERABLE,
- .power = 60,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ARM_THRUST
- .effect = EFFECT_MULTI_HIT,
- .power = 15,
- .type = TYPE_FIGHTING,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_CAMOUFLAGE
- .effect = EFFECT_CAMOUFLAGE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_TAIL_GLOW
- .effect = EFFECT_SPECIAL_ATTACK_UP_2,
- .power = 0,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_LUSTER_PURGE
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- .power = 70,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MIST_BALL
- .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT,
- .power = 70,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_FEATHER_DANCE
- .effect = EFFECT_ATTACK_DOWN_2,
- .power = 0,
- .type = TYPE_FLYING,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_TEETER_DANCE
- .effect = EFFECT_TEETER_DANCE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_FOES_AND_ALLY,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED,
- },
- { // MOVE_BLAZE_KICK
- .effect = EFFECT_BLAZE_KICK,
- .power = 85,
- .type = TYPE_FIRE,
- .accuracy = 90,
- .pp = 10,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MUD_SPORT
- .effect = EFFECT_MUD_SPORT,
- .power = 0,
- .type = TYPE_GROUND,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_ICE_BALL
- .effect = EFFECT_ROLLOUT,
- .power = 30,
- .type = TYPE_ICE,
- .accuracy = 90,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_NEEDLE_ARM
- .effect = EFFECT_FLINCH_MINIMIZE_HIT,
- .power = 60,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SLACK_OFF
- .effect = EFFECT_RESTORE_HP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_HYPER_VOICE
- .effect = EFFECT_HIT,
- .power = 90,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_POISON_FANG
- .effect = EFFECT_POISON_FANG,
- .power = 50,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_CRUSH_CLAW
- .effect = EFFECT_DEFENSE_DOWN_HIT,
- .power = 75,
- .type = TYPE_NORMAL,
- .accuracy = 95,
- .pp = 10,
- .secondaryEffectChance = 50,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_BLAST_BURN
- .effect = EFFECT_RECHARGE,
- .power = 150,
- .type = TYPE_FIRE,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_HYDRO_CANNON
- .effect = EFFECT_RECHARGE,
- .power = 150,
- .type = TYPE_WATER,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_METEOR_MASH
- .effect = EFFECT_ATTACK_UP_HIT,
- .power = 100,
- .type = TYPE_STEEL,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ASTONISH
- .effect = EFFECT_FLINCH_MINIMIZE_HIT,
- .power = 30,
- .type = TYPE_GHOST,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_WEATHER_BALL
- .effect = EFFECT_WEATHER_BALL,
- .power = 50,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_AROMATHERAPY
- .effect = EFFECT_HEAL_BELL,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 0,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_FAKE_TEARS
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
- .power = 0,
- .type = TYPE_DARK,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_AIR_CUTTER
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 55,
- .type = TYPE_FLYING,
- .accuracy = 95,
- .pp = 25,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_OVERHEAT
- .effect = EFFECT_OVERHEAT,
- .power = 140,
- .type = TYPE_FIRE,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ODOR_SLEUTH
- .effect = EFFECT_FORESIGHT,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_ROCK_TOMB
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 50,
- .type = TYPE_ROCK,
- .accuracy = 80,
- .pp = 10,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SILVER_WIND
- .effect = EFFECT_ALL_STATS_UP_HIT,
- .power = 60,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_METAL_SOUND
- .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
- .power = 0,
- .type = TYPE_STEEL,
- .accuracy = 85,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_GRASS_WHISTLE
- .effect = EFFECT_SLEEP,
- .power = 0,
- .type = TYPE_GRASS,
- .accuracy = 55,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_TICKLE
- .effect = EFFECT_TICKLE,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COSMIC_POWER
- .effect = EFFECT_COSMIC_POWER,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_WATER_SPOUT
- .effect = EFFECT_ERUPTION,
- .power = 150,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SIGNAL_BEAM
- .effect = EFFECT_CONFUSE_HIT,
- .power = 75,
- .type = TYPE_BUG,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SHADOW_PUNCH
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_GHOST,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_EXTRASENSORY
- .effect = EFFECT_FLINCH_MINIMIZE_HIT,
- .power = 80,
- .type = TYPE_PSYCHIC,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_SKY_UPPERCUT
- .effect = EFFECT_SKY_UPPERCUT,
- .power = 85,
- .type = TYPE_FIGHTING,
- .accuracy = 90,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SAND_TOMB
- .effect = EFFECT_TRAP,
- .power = 15,
- .type = TYPE_GROUND,
- .accuracy = 70,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SHEER_COLD
- .effect = EFFECT_OHKO,
- .power = 1,
- .type = TYPE_ICE,
- .accuracy = 30,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_MUDDY_WATER
- .effect = EFFECT_ACCURACY_DOWN_HIT,
- .power = 95,
- .type = TYPE_WATER,
- .accuracy = 85,
- .pp = 10,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_BOTH,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BULLET_SEED
- .effect = EFFECT_MULTI_HIT,
- .power = 10,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_AERIAL_ACE
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_FLYING,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_ICICLE_SPEAR
- .effect = EFFECT_MULTI_HIT,
- .power = 10,
- .type = TYPE_ICE,
- .accuracy = 100,
- .pp = 30,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_IRON_DEFENSE
- .effect = EFFECT_DEFENSE_UP_2,
- .power = 0,
- .type = TYPE_STEEL,
- .accuracy = 0,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_BLOCK
- .effect = EFFECT_MEAN_LOOK,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_HOWL
- .effect = EFFECT_ATTACK_UP,
- .power = 0,
- .type = TYPE_NORMAL,
- .accuracy = 0,
- .pp = 40,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_DRAGON_CLAW
- .effect = EFFECT_HIT,
- .power = 80,
- .type = TYPE_DRAGON,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_FRENZY_PLANT
- .effect = EFFECT_RECHARGE,
- .power = 150,
- .type = TYPE_GRASS,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_BULK_UP
- .effect = EFFECT_BULK_UP,
- .power = 0,
- .type = TYPE_FIGHTING,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_BOUNCE
- .effect = EFFECT_SEMI_INVULNERABLE,
- .power = 85,
- .type = TYPE_FLYING,
- .accuracy = 85,
- .pp = 5,
- .secondaryEffectChance = 30,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MUD_SHOT
- .effect = EFFECT_SPEED_DOWN_HIT,
- .power = 55,
- .type = TYPE_GROUND,
- .accuracy = 95,
- .pp = 15,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_POISON_TAIL
- .effect = EFFECT_POISON_TAIL,
- .power = 50,
- .type = TYPE_POISON,
- .accuracy = 100,
- .pp = 25,
- .secondaryEffectChance = 10,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_COVET
- .effect = EFFECT_THIEF,
- .power = 40,
- .type = TYPE_NORMAL,
- .accuracy = 100,
- .pp = 40,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
- },
- { // MOVE_VOLT_TACKLE
- .effect = EFFECT_DOUBLE_EDGE,
- .power = 120,
- .type = TYPE_ELECTRIC,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_MAGICAL_LEAF
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_GRASS,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_WATER_SPORT
- .effect = EFFECT_WATER_SPORT,
- .power = 0,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_CALM_MIND
- .effect = EFFECT_CALM_MIND,
- .power = 0,
- .type = TYPE_PSYCHIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_LEAF_BLADE
- .effect = EFFECT_HIGH_CRITICAL,
- .power = 70,
- .type = TYPE_GRASS,
- .accuracy = 100,
- .pp = 15,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DRAGON_DANCE
- .effect = EFFECT_DRAGON_DANCE,
- .power = 0,
- .type = TYPE_DRAGON,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_USER,
- .priority = 0,
- .flags = FLAG_SNATCH_AFFECTED,
- },
- { // MOVE_ROCK_BLAST
- .effect = EFFECT_MULTI_HIT,
- .power = 25,
- .type = TYPE_ROCK,
- .accuracy = 80,
- .pp = 10,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_SHOCK_WAVE
- .effect = EFFECT_ALWAYS_HIT,
- .power = 60,
- .type = TYPE_ELECTRIC,
- .accuracy = 0,
- .pp = 20,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_WATER_PULSE
- .effect = EFFECT_CONFUSE_HIT,
- .power = 60,
- .type = TYPE_WATER,
- .accuracy = 100,
- .pp = 20,
- .secondaryEffectChance = 20,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
- { // MOVE_DOOM_DESIRE
- .effect = EFFECT_FUTURE_SIGHT,
- .power = 120,
- .type = TYPE_STEEL,
- .accuracy = 85,
- .pp = 5,
- .secondaryEffectChance = 0,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = 0,
- },
- { // MOVE_PSYCHO_BOOST
- .effect = EFFECT_OVERHEAT,
- .power = 140,
- .type = TYPE_PSYCHIC,
- .accuracy = 90,
- .pp = 5,
- .secondaryEffectChance = 100,
- .target = MOVE_TARGET_SELECTED,
- .priority = 0,
- .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
- },
-};
+ [MOVE_NONE] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 0,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_POUND] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_KARATE_CHOP] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 50,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DOUBLE_SLAP] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COMET_PUNCH] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 18,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MEGA_PUNCH] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_PAY_DAY] =
+ {
+ .effect = EFFECT_PAY_DAY,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FIRE_PUNCH] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 75,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ICE_PUNCH] =
+ {
+ .effect = EFFECT_FREEZE_HIT,
+ .power = 75,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_THUNDER_PUNCH] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 75,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SCRATCH] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_VICE_GRIP] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 55,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_GUILLOTINE] =
+ {
+ .effect = EFFECT_OHKO,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 30,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_RAZOR_WIND] =
+ {
+ .effect = EFFECT_RAZOR_WIND,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWORDS_DANCE] =
+ {
+ .effect = EFFECT_ATTACK_UP_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_CUT] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 50,
+ .type = TYPE_NORMAL,
+ .accuracy = 95,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_GUST] =
+ {
+ .effect = EFFECT_GUST,
+ .power = 40,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_WING_ATTACK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 60,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_WHIRLWIND] =
+ {
+ .effect = EFFECT_ROAR,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -6,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLY] =
+ {
+ .effect = EFFECT_SEMI_INVULNERABLE,
+ .power = 70,
+ .type = TYPE_FLYING,
+ .accuracy = 95,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BIND] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SLAM] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_VINE_WHIP] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 35,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STOMP] =
+ {
+ .effect = EFFECT_FLINCH_MINIMIZE_HIT,
+ .power = 65,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DOUBLE_KICK] =
+ {
+ .effect = EFFECT_DOUBLE_HIT,
+ .power = 30,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MEGA_KICK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 120,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_JUMP_KICK] =
+ {
+ .effect = EFFECT_RECOIL_IF_MISS,
+ .power = 70,
+ .type = TYPE_FIGHTING,
+ .accuracy = 95,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ROLLING_KICK] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 60,
+ .type = TYPE_FIGHTING,
+ .accuracy = 85,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SAND_ATTACK] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN,
+ .power = 0,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HEADBUTT] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HORN_ATTACK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 65,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FURY_ATTACK] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_HORN_DRILL] =
+ {
+ .effect = EFFECT_OHKO,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 30,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_TACKLE] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 35,
+ .type = TYPE_NORMAL,
+ .accuracy = 95,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BODY_SLAM] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 85,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WRAP] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TAKE_DOWN] =
+ {
+ .effect = EFFECT_RECOIL,
+ .power = 90,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_THRASH] =
+ {
+ .effect = EFFECT_RAMPAGE,
+ .power = 90,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_RANDOM,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DOUBLE_EDGE] =
+ {
+ .effect = EFFECT_DOUBLE_EDGE,
+ .power = 120,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TAIL_WHIP] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_POISON_STING] =
+ {
+ .effect = EFFECT_POISON_HIT,
+ .power = 15,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_TWINEEDLE] =
+ {
+ .effect = EFFECT_TWINEEDLE,
+ .power = 25,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PIN_MISSILE] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 14,
+ .type = TYPE_BUG,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LEER] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BITE] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 60,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_GROWL] =
+ {
+ .effect = EFFECT_ATTACK_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROAR] =
+ {
+ .effect = EFFECT_ROAR,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -6,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SING] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 55,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SUPERSONIC] =
+ {
+ .effect = EFFECT_CONFUSE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 55,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SONIC_BOOM] =
+ {
+ .effect = EFFECT_SONICBOOM,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DISABLE] =
+ {
+ .effect = EFFECT_DISABLE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 55,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ACID] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_HIT,
+ .power = 40,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_EMBER] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 40,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLAMETHROWER] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 95,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MIST] =
+ {
+ .effect = EFFECT_MIST,
+ .power = 0,
+ .type = TYPE_ICE,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_WATER_GUN] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 40,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_HYDRO_PUMP] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 120,
+ .type = TYPE_WATER,
+ .accuracy = 80,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SURF] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 95,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ICE_BEAM] =
+ {
+ .effect = EFFECT_FREEZE_HIT,
+ .power = 95,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BLIZZARD] =
+ {
+ .effect = EFFECT_FREEZE_HIT,
+ .power = 120,
+ .type = TYPE_ICE,
+ .accuracy = 70,
+ .pp = 5,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PSYBEAM] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 65,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BUBBLE_BEAM] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 65,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_AURORA_BEAM] =
+ {
+ .effect = EFFECT_ATTACK_DOWN_HIT,
+ .power = 65,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HYPER_BEAM] =
+ {
+ .effect = EFFECT_RECHARGE,
+ .power = 150,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_PECK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 35,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DRILL_PECK] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SUBMISSION] =
+ {
+ .effect = EFFECT_RECOIL,
+ .power = 80,
+ .type = TYPE_FIGHTING,
+ .accuracy = 80,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LOW_KICK] =
+ {
+ .effect = EFFECT_LOW_KICK,
+ .power = 1,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COUNTER] =
+ {
+ .effect = EFFECT_COUNTER,
+ .power = 1,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = -5,
+ .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SEISMIC_TOSS] =
+ {
+ .effect = EFFECT_LEVEL_DAMAGE,
+ .power = 1,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STRENGTH] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ABSORB] =
+ {
+ .effect = EFFECT_ABSORB,
+ .power = 20,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MEGA_DRAIN] =
+ {
+ .effect = EFFECT_ABSORB,
+ .power = 40,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_LEECH_SEED] =
+ {
+ .effect = EFFECT_LEECH_SEED,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_GROWTH] =
+ {
+ .effect = EFFECT_SPECIAL_ATTACK_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_RAZOR_LEAF] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 55,
+ .type = TYPE_GRASS,
+ .accuracy = 95,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SOLAR_BEAM] =
+ {
+ .effect = EFFECT_SOLARBEAM,
+ .power = 120,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_POISON_POWDER] =
+ {
+ .effect = EFFECT_POISON,
+ .power = 0,
+ .type = TYPE_POISON,
+ .accuracy = 75,
+ .pp = 35,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_STUN_SPORE] =
+ {
+ .effect = EFFECT_PARALYZE,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 75,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLEEP_POWDER] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 75,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PETAL_DANCE] =
+ {
+ .effect = EFFECT_RAMPAGE,
+ .power = 70,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_RANDOM,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STRING_SHOT] =
+ {
+ .effect = EFFECT_SPEED_DOWN,
+ .power = 0,
+ .type = TYPE_BUG,
+ .accuracy = 95,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DRAGON_RAGE] =
+ {
+ .effect = EFFECT_DRAGON_RAGE,
+ .power = 1,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FIRE_SPIN] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_FIRE,
+ .accuracy = 70,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_THUNDER_SHOCK] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 40,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_THUNDERBOLT] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 95,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_THUNDER_WAVE] =
+ {
+ .effect = EFFECT_PARALYZE,
+ .power = 0,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_THUNDER] =
+ {
+ .effect = EFFECT_THUNDER,
+ .power = 120,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 70,
+ .pp = 10,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROCK_THROW] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 50,
+ .type = TYPE_ROCK,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_EARTHQUAKE] =
+ {
+ .effect = EFFECT_EARTHQUAKE,
+ .power = 100,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FISSURE] =
+ {
+ .effect = EFFECT_OHKO,
+ .power = 1,
+ .type = TYPE_GROUND,
+ .accuracy = 30,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DIG] =
+ {
+ .effect = EFFECT_SEMI_INVULNERABLE,
+ .power = 60,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TOXIC] =
+ {
+ .effect = EFFECT_TOXIC,
+ .power = 0,
+ .type = TYPE_POISON,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_CONFUSION] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 50,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PSYCHIC] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
+ .power = 90,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HYPNOSIS] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 60,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MEDITATE] =
+ {
+ .effect = EFFECT_ATTACK_UP,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_AGILITY] =
+ {
+ .effect = EFFECT_SPEED_UP_2,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_QUICK_ATTACK] =
+ {
+ .effect = EFFECT_QUICK_ATTACK,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 1,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_RAGE] =
+ {
+ .effect = EFFECT_RAGE,
+ .power = 20,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TELEPORT] =
+ {
+ .effect = EFFECT_TELEPORT,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_NIGHT_SHADE] =
+ {
+ .effect = EFFECT_LEVEL_DAMAGE,
+ .power = 1,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MIMIC] =
+ {
+ .effect = EFFECT_MIMIC,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_SCREECH] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DOUBLE_TEAM] =
+ {
+ .effect = EFFECT_EVASION_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_RECOVER] =
+ {
+ .effect = EFFECT_RESTORE_HP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HARDEN] =
+ {
+ .effect = EFFECT_DEFENSE_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_MINIMIZE] =
+ {
+ .effect = EFFECT_MINIMIZE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SMOKESCREEN] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_CONFUSE_RAY] =
+ {
+ .effect = EFFECT_CONFUSE,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WITHDRAW] =
+ {
+ .effect = EFFECT_DEFENSE_UP,
+ .power = 0,
+ .type = TYPE_WATER,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_DEFENSE_CURL] =
+ {
+ .effect = EFFECT_DEFENSE_CURL,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_BARRIER] =
+ {
+ .effect = EFFECT_DEFENSE_UP_2,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_LIGHT_SCREEN] =
+ {
+ .effect = EFFECT_LIGHT_SCREEN,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HAZE] =
+ {
+ .effect = EFFECT_HAZE,
+ .power = 0,
+ .type = TYPE_ICE,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_REFLECT] =
+ {
+ .effect = EFFECT_REFLECT,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_FOCUS_ENERGY] =
+ {
+ .effect = EFFECT_FOCUS_ENERGY,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_BIDE] =
+ {
+ .effect = EFFECT_BIDE,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_METRONOME] =
+ {
+ .effect = EFFECT_METRONOME,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_MIRROR_MOVE] =
+ {
+ .effect = EFFECT_MIRROR_MOVE,
+ .power = 0,
+ .type = TYPE_FLYING,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_SELF_DESTRUCT] =
+ {
+ .effect = EFFECT_EXPLOSION,
+ .power = 200,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_EGG_BOMB] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 100,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LICK] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 20,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SMOG] =
+ {
+ .effect = EFFECT_POISON_HIT,
+ .power = 20,
+ .type = TYPE_POISON,
+ .accuracy = 70,
+ .pp = 20,
+ .secondaryEffectChance = 40,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLUDGE] =
+ {
+ .effect = EFFECT_POISON_HIT,
+ .power = 65,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BONE_CLUB] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 65,
+ .type = TYPE_GROUND,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FIRE_BLAST] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 120,
+ .type = TYPE_FIRE,
+ .accuracy = 85,
+ .pp = 5,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WATERFALL] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CLAMP] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 35,
+ .type = TYPE_WATER,
+ .accuracy = 75,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWIFT] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SKULL_BASH] =
+ {
+ .effect = EFFECT_SKULL_BASH,
+ .power = 100,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SPIKE_CANNON] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 20,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CONSTRICT] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 10,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 35,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_AMNESIA] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_UP_2,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_KINESIS] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 80,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SOFT_BOILED] =
+ {
+ .effect = EFFECT_SOFTBOILED,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HI_JUMP_KICK] =
+ {
+ .effect = EFFECT_RECOIL_IF_MISS,
+ .power = 85,
+ .type = TYPE_FIGHTING,
+ .accuracy = 90,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_GLARE] =
+ {
+ .effect = EFFECT_PARALYZE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DREAM_EATER] =
+ {
+ .effect = EFFECT_DREAM_EATER,
+ .power = 100,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_POISON_GAS] =
+ {
+ .effect = EFFECT_POISON,
+ .power = 0,
+ .type = TYPE_POISON,
+ .accuracy = 55,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BARRAGE] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 15,
+ .type = TYPE_NORMAL,
+ .accuracy = 85,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LEECH_LIFE] =
+ {
+ .effect = EFFECT_ABSORB,
+ .power = 20,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_LOVELY_KISS] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SKY_ATTACK] =
+ {
+ .effect = EFFECT_SKY_ATTACK,
+ .power = 140,
+ .type = TYPE_FLYING,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TRANSFORM] =
+ {
+ .effect = EFFECT_TRANSFORM,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_BUBBLE] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 20,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DIZZY_PUNCH] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SPORE] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLASH] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 70,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PSYWAVE] =
+ {
+ .effect = EFFECT_PSYWAVE,
+ .power = 1,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 80,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SPLASH] =
+ {
+ .effect = EFFECT_SPLASH,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ACID_ARMOR] =
+ {
+ .effect = EFFECT_DEFENSE_UP_2,
+ .power = 0,
+ .type = TYPE_POISON,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_CRABHAMMER] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 90,
+ .type = TYPE_WATER,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_EXPLOSION] =
+ {
+ .effect = EFFECT_EXPLOSION,
+ .power = 250,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FURY_SWIPES] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 18,
+ .type = TYPE_NORMAL,
+ .accuracy = 80,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BONEMERANG] =
+ {
+ .effect = EFFECT_DOUBLE_HIT,
+ .power = 50,
+ .type = TYPE_GROUND,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_REST] =
+ {
+ .effect = EFFECT_REST,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_ROCK_SLIDE] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 75,
+ .type = TYPE_ROCK,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HYPER_FANG] =
+ {
+ .effect = EFFECT_FLINCH_HIT,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SHARPEN] =
+ {
+ .effect = EFFECT_ATTACK_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_CONVERSION] =
+ {
+ .effect = EFFECT_CONVERSION,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_TRI_ATTACK] =
+ {
+ .effect = EFFECT_TRI_ATTACK,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SUPER_FANG] =
+ {
+ .effect = EFFECT_SUPER_FANG,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLASH] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SUBSTITUTE] =
+ {
+ .effect = EFFECT_SUBSTITUTE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_STRUGGLE] =
+ {
+ .effect = EFFECT_RECOIL,
+ .power = 50,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 1,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SKETCH] =
+ {
+ .effect = EFFECT_SKETCH,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 1,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_TRIPLE_KICK] =
+ {
+ .effect = EFFECT_TRIPLE_KICK,
+ .power = 10,
+ .type = TYPE_FIGHTING,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_THIEF] =
+ {
+ .effect = EFFECT_THIEF,
+ .power = 40,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SPIDER_WEB] =
+ {
+ .effect = EFFECT_MEAN_LOOK,
+ .power = 0,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MIND_READER] =
+ {
+ .effect = EFFECT_LOCK_ON,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_NIGHTMARE] =
+ {
+ .effect = EFFECT_NIGHTMARE,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLAME_WHEEL] =
+ {
+ .effect = EFFECT_THAW_HIT,
+ .power = 60,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SNORE] =
+ {
+ .effect = EFFECT_SNORE,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CURSE] =
+ {
+ .effect = EFFECT_CURSE,
+ .power = 0,
+ .type = TYPE_MYSTERY,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_FLAIL] =
+ {
+ .effect = EFFECT_FLAIL,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CONVERSION_2] =
+ {
+ .effect = EFFECT_CONVERSION_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
-#endif // GUARD_DATA_BATTLE_MOVES
+ [MOVE_AEROBLAST] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 100,
+ .type = TYPE_FLYING,
+ .accuracy = 95,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COTTON_SPORE] =
+ {
+ .effect = EFFECT_SPEED_DOWN_2,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 85,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_REVERSAL] =
+ {
+ .effect = EFFECT_FLAIL,
+ .power = 1,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SPITE] =
+ {
+ .effect = EFFECT_SPITE,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_POWDER_SNOW] =
+ {
+ .effect = EFFECT_FREEZE_HIT,
+ .power = 40,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PROTECT] =
+ {
+ .effect = EFFECT_PROTECT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 3,
+ .flags = 0,
+ },
+
+ [MOVE_MACH_PUNCH] =
+ {
+ .effect = EFFECT_QUICK_ATTACK,
+ .power = 40,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 1,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SCARY_FACE] =
+ {
+ .effect = EFFECT_SPEED_DOWN_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FAINT_ATTACK] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_DARK,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWEET_KISS] =
+ {
+ .effect = EFFECT_CONFUSE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 75,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BELLY_DRUM] =
+ {
+ .effect = EFFECT_BELLY_DRUM,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SLUDGE_BOMB] =
+ {
+ .effect = EFFECT_POISON_HIT,
+ .power = 90,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MUD_SLAP] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN_HIT,
+ .power = 20,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_OCTAZOOKA] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN_HIT,
+ .power = 65,
+ .type = TYPE_WATER,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SPIKES] =
+ {
+ .effect = EFFECT_SPIKES,
+ .power = 0,
+ .type = TYPE_GROUND,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_OPPONENTS_FIELD,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ZAP_CANNON] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 100,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 50,
+ .pp = 5,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FORESIGHT] =
+ {
+ .effect = EFFECT_FORESIGHT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DESTINY_BOND] =
+ {
+ .effect = EFFECT_DESTINY_BOND,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_PERISH_SONG] =
+ {
+ .effect = EFFECT_PERISH_SONG,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ICY_WIND] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 55,
+ .type = TYPE_ICE,
+ .accuracy = 95,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DETECT] =
+ {
+ .effect = EFFECT_PROTECT,
+ .power = 0,
+ .type = TYPE_FIGHTING,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 3,
+ .flags = 0,
+ },
+
+ [MOVE_BONE_RUSH] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 25,
+ .type = TYPE_GROUND,
+ .accuracy = 80,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_LOCK_ON] =
+ {
+ .effect = EFFECT_LOCK_ON,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_OUTRAGE] =
+ {
+ .effect = EFFECT_RAMPAGE,
+ .power = 90,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_RANDOM,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SANDSTORM] =
+ {
+ .effect = EFFECT_SANDSTORM,
+ .power = 0,
+ .type = TYPE_ROCK,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_GIGA_DRAIN] =
+ {
+ .effect = EFFECT_ABSORB,
+ .power = 60,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ENDURE] =
+ {
+ .effect = EFFECT_ENDURE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 3,
+ .flags = 0,
+ },
+
+ [MOVE_CHARM] =
+ {
+ .effect = EFFECT_ATTACK_DOWN_2,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROLLOUT] =
+ {
+ .effect = EFFECT_ROLLOUT,
+ .power = 30,
+ .type = TYPE_ROCK,
+ .accuracy = 90,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FALSE_SWIPE] =
+ {
+ .effect = EFFECT_FALSE_SWIPE,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWAGGER] =
+ {
+ .effect = EFFECT_SWAGGER,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MILK_DRINK] =
+ {
+ .effect = EFFECT_SOFTBOILED,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SPARK] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 65,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FURY_CUTTER] =
+ {
+ .effect = EFFECT_FURY_CUTTER,
+ .power = 10,
+ .type = TYPE_BUG,
+ .accuracy = 95,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STEEL_WING] =
+ {
+ .effect = EFFECT_DEFENSE_UP_HIT,
+ .power = 70,
+ .type = TYPE_STEEL,
+ .accuracy = 90,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MEAN_LOOK] =
+ {
+ .effect = EFFECT_MEAN_LOOK,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ATTRACT] =
+ {
+ .effect = EFFECT_ATTRACT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLEEP_TALK] =
+ {
+ .effect = EFFECT_SLEEP_TALK,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_HEAL_BELL] =
+ {
+ .effect = EFFECT_HEAL_BELL,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_RETURN] =
+ {
+ .effect = EFFECT_RETURN,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_PRESENT] =
+ {
+ .effect = EFFECT_PRESENT,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FRUSTRATION] =
+ {
+ .effect = EFFECT_FRUSTRATION,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SAFEGUARD] =
+ {
+ .effect = EFFECT_SAFEGUARD,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_PAIN_SPLIT] =
+ {
+ .effect = EFFECT_PAIN_SPLIT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SACRED_FIRE] =
+ {
+ .effect = EFFECT_THAW_HIT,
+ .power = 100,
+ .type = TYPE_FIRE,
+ .accuracy = 95,
+ .pp = 5,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MAGNITUDE] =
+ {
+ .effect = EFFECT_MAGNITUDE,
+ .power = 1,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DYNAMIC_PUNCH] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 100,
+ .type = TYPE_FIGHTING,
+ .accuracy = 50,
+ .pp = 5,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MEGAHORN] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 120,
+ .type = TYPE_BUG,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DRAGON_BREATH] =
+ {
+ .effect = EFFECT_PARALYZE_HIT,
+ .power = 60,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BATON_PASS] =
+ {
+ .effect = EFFECT_BATON_PASS,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ENCORE] =
+ {
+ .effect = EFFECT_ENCORE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PURSUIT] =
+ {
+ .effect = EFFECT_PURSUIT,
+ .power = 40,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_RAPID_SPIN] =
+ {
+ .effect = EFFECT_RAPID_SPIN,
+ .power = 20,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWEET_SCENT] =
+ {
+ .effect = EFFECT_EVASION_DOWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_IRON_TAIL] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_HIT,
+ .power = 100,
+ .type = TYPE_STEEL,
+ .accuracy = 75,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_METAL_CLAW] =
+ {
+ .effect = EFFECT_ATTACK_UP_HIT,
+ .power = 50,
+ .type = TYPE_STEEL,
+ .accuracy = 95,
+ .pp = 35,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_VITAL_THROW] =
+ {
+ .effect = EFFECT_VITAL_THROW,
+ .power = 70,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -1,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MORNING_SUN] =
+ {
+ .effect = EFFECT_MORNING_SUN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SYNTHESIS] =
+ {
+ .effect = EFFECT_SYNTHESIS,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_MOONLIGHT] =
+ {
+ .effect = EFFECT_MOONLIGHT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HIDDEN_POWER] =
+ {
+ .effect = EFFECT_HIDDEN_POWER,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CROSS_CHOP] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 100,
+ .type = TYPE_FIGHTING,
+ .accuracy = 80,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_TWISTER] =
+ {
+ .effect = EFFECT_TWISTER,
+ .power = 40,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_RAIN_DANCE] =
+ {
+ .effect = EFFECT_RAIN_DANCE,
+ .power = 0,
+ .type = TYPE_WATER,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_SUNNY_DAY] =
+ {
+ .effect = EFFECT_SUNNY_DAY,
+ .power = 0,
+ .type = TYPE_FIRE,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_CRUNCH] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
+ .power = 80,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MIRROR_COAT] =
+ {
+ .effect = EFFECT_MIRROR_COAT,
+ .power = 1,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = -5,
+ .flags = FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_PSYCH_UP] =
+ {
+ .effect = EFFECT_PSYCH_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_EXTREME_SPEED] =
+ {
+ .effect = EFFECT_QUICK_ATTACK,
+ .power = 80,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 1,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ANCIENT_POWER] =
+ {
+ .effect = EFFECT_ALL_STATS_UP_HIT,
+ .power = 60,
+ .type = TYPE_ROCK,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SHADOW_BALL] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
+ .power = 80,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FUTURE_SIGHT] =
+ {
+ .effect = EFFECT_FUTURE_SIGHT,
+ .power = 80,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ROCK_SMASH] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_HIT,
+ .power = 20,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WHIRLPOOL] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_WATER,
+ .accuracy = 70,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BEAT_UP] =
+ {
+ .effect = EFFECT_BEAT_UP,
+ .power = 10,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FAKE_OUT] =
+ {
+ .effect = EFFECT_FAKE_OUT,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 1,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_UPROAR] =
+ {
+ .effect = EFFECT_UPROAR,
+ .power = 50,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_RANDOM,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_STOCKPILE] =
+ {
+ .effect = EFFECT_STOCKPILE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SPIT_UP] =
+ {
+ .effect = EFFECT_SPIT_UP,
+ .power = 100,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SWALLOW] =
+ {
+ .effect = EFFECT_SWALLOW,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HEAT_WAVE] =
+ {
+ .effect = EFFECT_BURN_HIT,
+ .power = 100,
+ .type = TYPE_FIRE,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HAIL] =
+ {
+ .effect = EFFECT_HAIL,
+ .power = 0,
+ .type = TYPE_ICE,
+ .accuracy = 0,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_TORMENT] =
+ {
+ .effect = EFFECT_TORMENT,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FLATTER] =
+ {
+ .effect = EFFECT_FLATTER,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WILL_O_WISP] =
+ {
+ .effect = EFFECT_WILL_O_WISP,
+ .power = 0,
+ .type = TYPE_FIRE,
+ .accuracy = 75,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MEMENTO] =
+ {
+ .effect = EFFECT_MEMENTO,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FACADE] =
+ {
+ .effect = EFFECT_FACADE,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FOCUS_PUNCH] =
+ {
+ .effect = EFFECT_FOCUS_PUNCH,
+ .power = 150,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -3,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_SMELLING_SALT] =
+ {
+ .effect = EFFECT_SMELLINGSALT,
+ .power = 60,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FOLLOW_ME] =
+ {
+ .effect = EFFECT_FOLLOW_ME,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 3,
+ .flags = 0,
+ },
+
+ [MOVE_NATURE_POWER] =
+ {
+ .effect = EFFECT_NATURE_POWER,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 95,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_CHARGE] =
+ {
+ .effect = EFFECT_CHARGE,
+ .power = 0,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_TAUNT] =
+ {
+ .effect = EFFECT_TAUNT,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_HELPING_HAND] =
+ {
+ .effect = EFFECT_HELPING_HAND,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 5,
+ .flags = 0,
+ },
+
+ [MOVE_TRICK] =
+ {
+ .effect = EFFECT_TRICK,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROLE_PLAY] =
+ {
+ .effect = EFFECT_ROLE_PLAY,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_WISH] =
+ {
+ .effect = EFFECT_WISH,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_ASSIST] =
+ {
+ .effect = EFFECT_ASSIST,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_INGRAIN] =
+ {
+ .effect = EFFECT_INGRAIN,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_SUPERPOWER] =
+ {
+ .effect = EFFECT_SUPERPOWER,
+ .power = 120,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MAGIC_COAT] =
+ {
+ .effect = EFFECT_MAGIC_COAT,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 4,
+ .flags = 0,
+ },
+
+ [MOVE_RECYCLE] =
+ {
+ .effect = EFFECT_RECYCLE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_REVENGE] =
+ {
+ .effect = EFFECT_REVENGE,
+ .power = 60,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = -4,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BRICK_BREAK] =
+ {
+ .effect = EFFECT_BRICK_BREAK,
+ .power = 75,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_YAWN] =
+ {
+ .effect = EFFECT_YAWN,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_KNOCK_OFF] =
+ {
+ .effect = EFFECT_KNOCK_OFF,
+ .power = 20,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ENDEAVOR] =
+ {
+ .effect = EFFECT_ENDEAVOR,
+ .power = 1,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ERUPTION] =
+ {
+ .effect = EFFECT_ERUPTION,
+ .power = 150,
+ .type = TYPE_FIRE,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SKILL_SWAP] =
+ {
+ .effect = EFFECT_SKILL_SWAP,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_IMPRISON] =
+ {
+ .effect = EFFECT_IMPRISON,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_REFRESH] =
+ {
+ .effect = EFFECT_REFRESH,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_GRUDGE] =
+ {
+ .effect = EFFECT_GRUDGE,
+ .power = 0,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SNATCH] =
+ {
+ .effect = EFFECT_SNATCH,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_DEPENDS,
+ .priority = 4,
+ .flags = FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SECRET_POWER] =
+ {
+ .effect = EFFECT_SECRET_POWER,
+ .power = 70,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_DIVE] =
+ {
+ .effect = EFFECT_SEMI_INVULNERABLE,
+ .power = 60,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ARM_THRUST] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 15,
+ .type = TYPE_FIGHTING,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_CAMOUFLAGE] =
+ {
+ .effect = EFFECT_CAMOUFLAGE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_TAIL_GLOW] =
+ {
+ .effect = EFFECT_SPECIAL_ATTACK_UP_2,
+ .power = 0,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_LUSTER_PURGE] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
+ .power = 70,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MIST_BALL] =
+ {
+ .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT,
+ .power = 70,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_FEATHER_DANCE] =
+ {
+ .effect = EFFECT_ATTACK_DOWN_2,
+ .power = 0,
+ .type = TYPE_FLYING,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_TEETER_DANCE] =
+ {
+ .effect = EFFECT_TEETER_DANCE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_FOES_AND_ALLY,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED,
+ },
+
+ [MOVE_BLAZE_KICK] =
+ {
+ .effect = EFFECT_BLAZE_KICK,
+ .power = 85,
+ .type = TYPE_FIRE,
+ .accuracy = 90,
+ .pp = 10,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MUD_SPORT] =
+ {
+ .effect = EFFECT_MUD_SPORT,
+ .power = 0,
+ .type = TYPE_GROUND,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_ICE_BALL] =
+ {
+ .effect = EFFECT_ROLLOUT,
+ .power = 30,
+ .type = TYPE_ICE,
+ .accuracy = 90,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_NEEDLE_ARM] =
+ {
+ .effect = EFFECT_FLINCH_MINIMIZE_HIT,
+ .power = 60,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SLACK_OFF] =
+ {
+ .effect = EFFECT_RESTORE_HP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_HYPER_VOICE] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 90,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_POISON_FANG] =
+ {
+ .effect = EFFECT_POISON_FANG,
+ .power = 50,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_CRUSH_CLAW] =
+ {
+ .effect = EFFECT_DEFENSE_DOWN_HIT,
+ .power = 75,
+ .type = TYPE_NORMAL,
+ .accuracy = 95,
+ .pp = 10,
+ .secondaryEffectChance = 50,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_BLAST_BURN] =
+ {
+ .effect = EFFECT_RECHARGE,
+ .power = 150,
+ .type = TYPE_FIRE,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_HYDRO_CANNON] =
+ {
+ .effect = EFFECT_RECHARGE,
+ .power = 150,
+ .type = TYPE_WATER,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_METEOR_MASH] =
+ {
+ .effect = EFFECT_ATTACK_UP_HIT,
+ .power = 100,
+ .type = TYPE_STEEL,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ASTONISH] =
+ {
+ .effect = EFFECT_FLINCH_MINIMIZE_HIT,
+ .power = 30,
+ .type = TYPE_GHOST,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_WEATHER_BALL] =
+ {
+ .effect = EFFECT_WEATHER_BALL,
+ .power = 50,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_AROMATHERAPY] =
+ {
+ .effect = EFFECT_HEAL_BELL,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 0,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_FAKE_TEARS] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
+ .power = 0,
+ .type = TYPE_DARK,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_AIR_CUTTER] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 55,
+ .type = TYPE_FLYING,
+ .accuracy = 95,
+ .pp = 25,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_OVERHEAT] =
+ {
+ .effect = EFFECT_OVERHEAT,
+ .power = 140,
+ .type = TYPE_FIRE,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ODOR_SLEUTH] =
+ {
+ .effect = EFFECT_FORESIGHT,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_ROCK_TOMB] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 50,
+ .type = TYPE_ROCK,
+ .accuracy = 80,
+ .pp = 10,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SILVER_WIND] =
+ {
+ .effect = EFFECT_ALL_STATS_UP_HIT,
+ .power = 60,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_METAL_SOUND] =
+ {
+ .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2,
+ .power = 0,
+ .type = TYPE_STEEL,
+ .accuracy = 85,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_GRASS_WHISTLE] =
+ {
+ .effect = EFFECT_SLEEP,
+ .power = 0,
+ .type = TYPE_GRASS,
+ .accuracy = 55,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_TICKLE] =
+ {
+ .effect = EFFECT_TICKLE,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COSMIC_POWER] =
+ {
+ .effect = EFFECT_COSMIC_POWER,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_WATER_SPOUT] =
+ {
+ .effect = EFFECT_ERUPTION,
+ .power = 150,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SIGNAL_BEAM] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 75,
+ .type = TYPE_BUG,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SHADOW_PUNCH] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_GHOST,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_EXTRASENSORY] =
+ {
+ .effect = EFFECT_FLINCH_MINIMIZE_HIT,
+ .power = 80,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_SKY_UPPERCUT] =
+ {
+ .effect = EFFECT_SKY_UPPERCUT,
+ .power = 85,
+ .type = TYPE_FIGHTING,
+ .accuracy = 90,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SAND_TOMB] =
+ {
+ .effect = EFFECT_TRAP,
+ .power = 15,
+ .type = TYPE_GROUND,
+ .accuracy = 70,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SHEER_COLD] =
+ {
+ .effect = EFFECT_OHKO,
+ .power = 1,
+ .type = TYPE_ICE,
+ .accuracy = 30,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_MUDDY_WATER] =
+ {
+ .effect = EFFECT_ACCURACY_DOWN_HIT,
+ .power = 95,
+ .type = TYPE_WATER,
+ .accuracy = 85,
+ .pp = 10,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_BOTH,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BULLET_SEED] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 10,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_AERIAL_ACE] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_FLYING,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_ICICLE_SPEAR] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 10,
+ .type = TYPE_ICE,
+ .accuracy = 100,
+ .pp = 30,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_IRON_DEFENSE] =
+ {
+ .effect = EFFECT_DEFENSE_UP_2,
+ .power = 0,
+ .type = TYPE_STEEL,
+ .accuracy = 0,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_BLOCK] =
+ {
+ .effect = EFFECT_MEAN_LOOK,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_HOWL] =
+ {
+ .effect = EFFECT_ATTACK_UP,
+ .power = 0,
+ .type = TYPE_NORMAL,
+ .accuracy = 0,
+ .pp = 40,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_DRAGON_CLAW] =
+ {
+ .effect = EFFECT_HIT,
+ .power = 80,
+ .type = TYPE_DRAGON,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_FRENZY_PLANT] =
+ {
+ .effect = EFFECT_RECHARGE,
+ .power = 150,
+ .type = TYPE_GRASS,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_BULK_UP] =
+ {
+ .effect = EFFECT_BULK_UP,
+ .power = 0,
+ .type = TYPE_FIGHTING,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_BOUNCE] =
+ {
+ .effect = EFFECT_SEMI_INVULNERABLE,
+ .power = 85,
+ .type = TYPE_FLYING,
+ .accuracy = 85,
+ .pp = 5,
+ .secondaryEffectChance = 30,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MUD_SHOT] =
+ {
+ .effect = EFFECT_SPEED_DOWN_HIT,
+ .power = 55,
+ .type = TYPE_GROUND,
+ .accuracy = 95,
+ .pp = 15,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_POISON_TAIL] =
+ {
+ .effect = EFFECT_POISON_TAIL,
+ .power = 50,
+ .type = TYPE_POISON,
+ .accuracy = 100,
+ .pp = 25,
+ .secondaryEffectChance = 10,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_COVET] =
+ {
+ .effect = EFFECT_THIEF,
+ .power = 40,
+ .type = TYPE_NORMAL,
+ .accuracy = 100,
+ .pp = 40,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED,
+ },
+
+ [MOVE_VOLT_TACKLE] =
+ {
+ .effect = EFFECT_DOUBLE_EDGE,
+ .power = 120,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_MAGICAL_LEAF] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_GRASS,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_WATER_SPORT] =
+ {
+ .effect = EFFECT_WATER_SPORT,
+ .power = 0,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_CALM_MIND] =
+ {
+ .effect = EFFECT_CALM_MIND,
+ .power = 0,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_LEAF_BLADE] =
+ {
+ .effect = EFFECT_HIGH_CRITICAL,
+ .power = 70,
+ .type = TYPE_GRASS,
+ .accuracy = 100,
+ .pp = 15,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DRAGON_DANCE] =
+ {
+ .effect = EFFECT_DRAGON_DANCE,
+ .power = 0,
+ .type = TYPE_DRAGON,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_USER,
+ .priority = 0,
+ .flags = FLAG_SNATCH_AFFECTED,
+ },
+
+ [MOVE_ROCK_BLAST] =
+ {
+ .effect = EFFECT_MULTI_HIT,
+ .power = 25,
+ .type = TYPE_ROCK,
+ .accuracy = 80,
+ .pp = 10,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_SHOCK_WAVE] =
+ {
+ .effect = EFFECT_ALWAYS_HIT,
+ .power = 60,
+ .type = TYPE_ELECTRIC,
+ .accuracy = 0,
+ .pp = 20,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_WATER_PULSE] =
+ {
+ .effect = EFFECT_CONFUSE_HIT,
+ .power = 60,
+ .type = TYPE_WATER,
+ .accuracy = 100,
+ .pp = 20,
+ .secondaryEffectChance = 20,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+
+ [MOVE_DOOM_DESIRE] =
+ {
+ .effect = EFFECT_FUTURE_SIGHT,
+ .power = 120,
+ .type = TYPE_STEEL,
+ .accuracy = 85,
+ .pp = 5,
+ .secondaryEffectChance = 0,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = 0,
+ },
+
+ [MOVE_PSYCHO_BOOST] =
+ {
+ .effect = EFFECT_OVERHEAT,
+ .power = 140,
+ .type = TYPE_PSYCHIC,
+ .accuracy = 90,
+ .pp = 5,
+ .secondaryEffectChance = 100,
+ .target = MOVE_TARGET_SELECTED,
+ .priority = 0,
+ .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED,
+ },
+};
diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h
index ae560c833..5460ac806 100644
--- a/src/data/contest_moves.h
+++ b/src/data/contest_moves.h
@@ -1,2889 +1,3129 @@
const struct ContestMove gContestMoves[MOVES_COUNT] =
{
- [MOVE_NONE] = {0},
-
- [MOVE_POUND] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_POUND,
- .comboMoves = {0},
- },
-
- [MOVE_KARATE_CHOP] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
- },
-
- [MOVE_DOUBLE_SLAP] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_POUND},
- },
-
- [MOVE_COMET_PUNCH] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_MEGA_PUNCH] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
- },
-
- [MOVE_PAY_DAY] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FIRE_PUNCH] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_FIRE_PUNCH,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH},
- },
-
- [MOVE_ICE_PUNCH] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_ICE_PUNCH,
- .comboMoves = {COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH},
- },
-
- [MOVE_THUNDER_PUNCH] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_THUNDER_PUNCH,
- .comboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH},
- },
-
- [MOVE_SCRATCH] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_SCRATCH,
- .comboMoves = {COMBO_STARTER_LEER},
- },
-
- [MOVE_VICE_GRIP] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_VICE_GRIP,
- .comboMoves = {0},
- },
-
- [MOVE_GUILLOTINE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_VICE_GRIP},
- },
-
- [MOVE_RAZOR_WIND] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SWORDS_DANCE] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_SWORDS_DANCE,
- .comboMoves = {0},
- },
-
- [MOVE_CUT] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SWORDS_DANCE},
- },
-
- [MOVE_GUST] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WING_ATTACK] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WHIRLWIND] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FLY] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_BIND] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_VICE_GRIP},
- },
-
- [MOVE_SLAM] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_POUND},
- },
-
- [MOVE_VINE_WHIP] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_STOMP] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,{0, COMBO_STARTER_LEER},
- },
-
- [MOVE_DOUBLE_KICK] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_MEGA_KICK] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
- },
-
- [MOVE_JUMP_KICK] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_MIND_READER},
- },
-
- [MOVE_ROLLING_KICK] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SAND_ATTACK] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_SAND_ATTACK,
- .comboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM},
- },
-
- [MOVE_HEADBUTT] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
- },
-
- [MOVE_HORN_ATTACK] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_HORN_ATTACK,
- .comboMoves = {COMBO_STARTER_LEER},
- },
-
- [MOVE_FURY_ATTACK] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK},
- },
-
- [MOVE_HORN_DRILL] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_HORN_ATTACK},
- },
-
- [MOVE_TACKLE] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN},
- },
-
- [MOVE_BODY_SLAM] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WRAP] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TAKE_DOWN] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN},
- },
-
- [MOVE_THRASH] =
- {
- .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAGE},
- },
-
- [MOVE_DOUBLE_EDGE] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN},
- },
-
- [MOVE_TAIL_WHIP] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARM},
- },
-
- [MOVE_POISON_STING] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TWINEEDLE] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_PIN_MISSILE] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_LEER] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_LEER,
- .comboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE},
- },
-
- [MOVE_BITE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE},
- },
-
- [MOVE_GROWL] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARM},
- },
-
- [MOVE_ROAR] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SING] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_SING,
- .comboMoves = {0},
- },
-
- [MOVE_SUPERSONIC] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SONIC_BOOM] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DISABLE] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ACID] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_EMBER] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_FLAMETHROWER] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_MIST] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WATER_GUN] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT},
- },
-
- [MOVE_HYDRO_PUMP] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_SURF] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_SURF,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE},
- },
-
- [MOVE_ICE_BEAM] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_BLIZZARD] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL},
- },
-
- [MOVE_PSYBEAM] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_BUBBLE_BEAM] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_AURORA_BEAM] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_HYPER_BEAM] =
- {
- .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_PECK] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_PECK,
- .comboMoves = {0},
- },
-
- [MOVE_DRILL_PECK] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_PECK},
- },
-
- [MOVE_SUBMISSION] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_MIND_READER},
- },
-
- [MOVE_LOW_KICK] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_COUNTER] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_TAUNT},
- },
-
- [MOVE_SEISMIC_TOSS] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FAKE_OUT},
- },
-
- [MOVE_STRENGTH] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ABSORB] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_MEGA_DRAIN] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_LEECH_SEED] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_GROWTH] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_GROWTH,
- .comboMoves = {0},
- },
-
- [MOVE_RAZOR_LEAF] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_SOLAR_BEAM] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH},
- },
-
- [MOVE_POISON_POWDER] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SWEET_SCENT},
- },
-
- [MOVE_STUN_SPORE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SWEET_SCENT},
- },
-
- [MOVE_SLEEP_POWDER] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SWEET_SCENT},
- },
-
- [MOVE_PETAL_DANCE] =
- {
- .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_STRING_SHOT] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_STRING_SHOT,
- .comboMoves = {0},
- },
-
- [MOVE_DRAGON_RAGE] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_DRAGON_RAGE,
- .comboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE},
- },
-
- [MOVE_FIRE_SPIN] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_THUNDER_SHOCK] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARGE},
- },
-
- [MOVE_THUNDERBOLT] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARGE},
- },
-
- [MOVE_THUNDER_WAVE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARGE},
- },
-
- [MOVE_THUNDER] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON},
- },
-
- [MOVE_ROCK_THROW] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_ROCK_THROW,
- .comboMoves = {0},
- },
-
- [MOVE_EARTHQUAKE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_EARTHQUAKE,
- .comboMoves = {0},
- },
-
- [MOVE_FISSURE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_EARTHQUAKE},
- },
-
- [MOVE_DIG] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TOXIC] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_CONFUSION] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_CONFUSION,
- .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_PSYCHIC] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_PSYCHIC,
- .comboMoves = {COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_HYPNOSIS] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_HYPNOSIS,
- .comboMoves = {0},
- },
-
- [MOVE_MEDITATE] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_AGILITY] =
- {
- .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_DOUBLE_TEAM},
- },
-
- [MOVE_QUICK_ATTACK] =
- {
- .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_DOUBLE_TEAM},
- },
-
- [MOVE_RAGE] =
- {
- .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_RAGE,
- .comboMoves = {0},
- },
-
- [MOVE_TELEPORT] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION},
- },
-
- [MOVE_NIGHT_SHADE] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_MIMIC] =
- {
- .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SCREECH] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DOUBLE_TEAM] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_DOUBLE_TEAM,
- .comboMoves = {0},
- },
-
- [MOVE_RECOVER] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_HARDEN] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_HARDEN,
- .comboMoves = {0},
- },
-
- [MOVE_MINIMIZE] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SMOKESCREEN] =
- {
- .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SMOG},
- },
-
- [MOVE_CONFUSE_RAY] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WITHDRAW] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_DEFENSE_CURL] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_DEFENSE_CURL,
- .comboMoves = {0},
- },
-
- [MOVE_BARRIER] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_LIGHT_SCREEN] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_HAZE] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_REFLECT] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_FOCUS_ENERGY] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_FOCUS_ENERGY,
- .comboMoves = {0},
- },
-
- [MOVE_BIDE] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_METRONOME] =
- {
- .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_MIRROR_MOVE] =
- {
- .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SELF_DESTRUCT] =
- {
- .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_EGG_BOMB] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SOFT_BOILED},
- },
-
- [MOVE_LICK] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SMOG] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_SMOG,
- .comboMoves = {0},
- },
-
- [MOVE_SLUDGE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_SLUDGE,
- .comboMoves = {COMBO_STARTER_SLUDGE_BOMB},
- },
-
- [MOVE_BONE_CLUB] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_BONE_CLUB,
- .comboMoves = {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH},
- },
-
- [MOVE_FIRE_BLAST] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_WATERFALL] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_CLAMP] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_SWIFT] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SKULL_BASH] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SPIKE_CANNON] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_CONSTRICT] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_AMNESIA] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_KINESIS] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_KINESIS,
- .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION},
- },
-
- [MOVE_SOFT_BOILED] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_SOFT_BOILED,
- .comboMoves = {0},
- },
-
- [MOVE_HI_JUMP_KICK] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_MIND_READER},
- },
-
- [MOVE_GLARE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_LEER},
- },
-
- [MOVE_DREAM_EATER] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_POISON_GAS] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_BARRAGE] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_LEECH_LIFE] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_LOVELY_KISS] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SKY_ATTACK] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TRANSFORM] =
- {
- .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_BUBBLE] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_DIZZY_PUNCH] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SPORE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FLASH] =
- {
- .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_PSYWAVE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_SPLASH] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ACID_ARMOR] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_CRABHAMMER] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE},
- },
-
- [MOVE_EXPLOSION] =
- {
- .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FURY_SWIPES] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SCRATCH},
- },
-
- [MOVE_BONEMERANG] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_BONEMERANG,
- .comboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH},
- },
-
- [MOVE_REST] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_REST,
- .comboMoves = {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN},
- },
-
- [MOVE_ROCK_SLIDE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_ROCK_THROW},
- },
-
- [MOVE_HYPER_FANG] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SHARPEN] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_CONVERSION] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TRI_ATTACK] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_LOCK_ON},
- },
-
- [MOVE_SUPER_FANG] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SCARY_FACE},
- },
-
- [MOVE_SLASH] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH},
- },
-
- [MOVE_SUBSTITUTE] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_STRUGGLE] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SKETCH] =
- {
- .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TRIPLE_KICK] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
- },
-
- [MOVE_THIEF] =
- {
- .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SPIDER_WEB] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_STRING_SHOT},
- },
-
- [MOVE_MIND_READER] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_MIND_READER,
- .comboMoves = {0},
- },
-
- [MOVE_NIGHTMARE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_HYPNOSIS},
- },
-
- [MOVE_FLAME_WHEEL] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_SNORE] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_REST},
- },
-
- [MOVE_CURSE] =
- {
- .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_CURSE,
- .comboMoves = {0},
- },
-
- [MOVE_FLAIL] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_ENDURE},
- },
-
- [MOVE_CONVERSION_2] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_AEROBLAST] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_COTTON_SPORE] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_REVERSAL] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_ENDURE},
- },
-
- [MOVE_SPITE] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CURSE},
- },
-
- [MOVE_POWDER_SNOW] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_POWDER_SNOW,
- .comboMoves = {COMBO_STARTER_HAIL},
- },
-
- [MOVE_PROTECT] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_HARDEN},
- },
-
- [MOVE_MACH_PUNCH] =
- {
- .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SCARY_FACE] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_SCARY_FACE,
- .comboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_LEER},
- },
-
- [MOVE_FAINT_ATTACK] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND},
- },
-
- [MOVE_SWEET_KISS] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARM},
- },
-
- [MOVE_BELLY_DRUM] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_BELLY_DRUM,
- .comboMoves = {0},
- },
-
- [MOVE_SLUDGE_BOMB] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_SLUDGE_BOMB,
- .comboMoves = {COMBO_STARTER_SLUDGE},
- },
-
- [MOVE_MUD_SLAP] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_MUD_SLAP,
- .comboMoves = {COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM},
- },
-
- [MOVE_OCTAZOOKA] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON},
- },
-
- [MOVE_SPIKES] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ZAP_CANNON] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_LOCK_ON},
- },
-
- [MOVE_FORESIGHT] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DESTINY_BOND] =
- {
- .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE},
- },
-
- [MOVE_PERISH_SONG] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING},
- },
-
- [MOVE_ICY_WIND] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DETECT] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_TAUNT},
- },
-
- [MOVE_BONE_RUSH] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_BONE_RUSH,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG},
- },
-
- [MOVE_LOCK_ON] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_LOCK_ON,
- .comboMoves = {0},
- },
-
- [MOVE_OUTRAGE] =
- {
- .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SANDSTORM] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_SANDSTORM,
- .comboMoves = {0},
- },
-
- [MOVE_GIGA_DRAIN] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_ENDURE] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_ENDURE,
- .comboMoves = {0},
- },
-
- [MOVE_CHARM] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_CHARM,
- .comboMoves = {0},
- },
-
- [MOVE_ROLLOUT] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN},
- },
-
- [MOVE_FALSE_SWIPE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SWORDS_DANCE},
- },
-
- [MOVE_SWAGGER] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_MILK_DRINK] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SPARK] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARGE},
- },
-
- [MOVE_FURY_CUTTER] =
- {
- .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SWORDS_DANCE},
- },
-
- [MOVE_STEEL_WING] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_MEAN_LOOK] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_MEAN_LOOK,
- .comboMoves = {COMBO_STARTER_CURSE},
- },
-
- [MOVE_ATTRACT] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SLEEP_TALK] =
- {
- .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_REST},
- },
-
- [MOVE_HEAL_BELL] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_RETURN] =
- {
- .effect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_PRESENT] =
- {
- .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FRUSTRATION] =
- {
- .effect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SAFEGUARD] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_PAIN_SPLIT] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_ENDURE},
- },
-
- [MOVE_SACRED_FIRE] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_MAGNITUDE] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DYNAMIC_PUNCH] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
- },
-
- [MOVE_MEGAHORN] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DRAGON_BREATH] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_DRAGON_BREATH,
- .comboMoves = {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE},
- },
-
- [MOVE_BATON_PASS] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ENCORE] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_PURSUIT] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_RAPID_SPIN] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SWEET_SCENT] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_SWEET_SCENT,
- .comboMoves = {0},
- },
-
- [MOVE_IRON_TAIL] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_METAL_CLAW] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_METAL_SOUND},
- },
-
- [MOVE_VITAL_THROW] =
- {
- .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FAKE_OUT},
- },
-
- [MOVE_MORNING_SUN] =
- {
- .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_SYNTHESIS] =
- {
- .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_MOONLIGHT] =
- {
- .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_HIDDEN_POWER] =
- {
- .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_CROSS_CHOP] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
- },
-
- [MOVE_TWISTER] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_RAIN_DANCE] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_RAIN_DANCE,
- .comboMoves = {0},
- },
-
- [MOVE_SUNNY_DAY] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_SUNNY_DAY,
- .comboMoves = {0},
- },
-
- [MOVE_CRUNCH] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SCARY_FACE},
- },
-
- [MOVE_MIRROR_COAT] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_TAUNT},
- },
-
- [MOVE_PSYCH_UP] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_EXTREME_SPEED] =
- {
- .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ANCIENT_POWER] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SHADOW_BALL] =
- {
- .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FUTURE_SIGHT] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_ROCK_SMASH] =
- {
- .effect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WHIRLPOOL] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_BEAT_UP] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FAKE_OUT] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_FAKE_OUT,
- .comboMoves = {0},
- },
-
- [MOVE_UPROAR] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_STOCKPILE] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = COMBO_STARTER_STOCKPILE,
- .comboMoves = {0},
- },
-
- [MOVE_SPIT_UP] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_STOCKPILE},
- },
-
- [MOVE_SWALLOW] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_STOCKPILE},
- },
-
- [MOVE_HEAT_WAVE] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_HAIL] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_HAIL,
- .comboMoves = {0},
- },
-
- [MOVE_TORMENT] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FLATTER] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARM},
- },
-
- [MOVE_WILL_O_WISP] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_MEMENTO] =
- {
- .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FACADE] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FOCUS_PUNCH] =
- {
- .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
- },
-
- [MOVE_SMELLING_SALT] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FOLLOW_ME] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_NATURE_POWER] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_CHARGE] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_CHARGE,
- .comboMoves = {0},
- },
-
- [MOVE_TAUNT] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_TAUNT,
- .comboMoves = {0},
- },
-
- [MOVE_HELPING_HAND] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TRICK] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ROLE_PLAY] =
- {
- .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WISH] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ASSIST] =
- {
- .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_INGRAIN] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SUPERPOWER] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_LOCK_ON},
- },
-
- [MOVE_MAGIC_COAT] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_RECYCLE] =
- {
- .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_REVENGE] =
- {
- .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_BRICK_BREAK] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
- },
-
- [MOVE_YAWN] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_YAWN,
- .comboMoves = {0},
- },
-
- [MOVE_KNOCK_OFF] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FAKE_OUT},
- },
-
- [MOVE_ENDEAVOR] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_ENDURE},
- },
-
- [MOVE_ERUPTION] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_SKILL_SWAP] =
- {
- .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_IMPRISON] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_REFRESH] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING},
- },
-
- [MOVE_GRUDGE] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CURSE},
- },
-
- [MOVE_SNATCH] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SECRET_POWER] =
- {
- .effect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DIVE] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = COMBO_STARTER_DIVE,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF},
- },
-
- [MOVE_ARM_THRUST] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT},
- },
-
- [MOVE_CAMOUFLAGE] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TAIL_GLOW] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_LUSTER_PURGE] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_MIST_BALL] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CALM_MIND},
- },
-
- [MOVE_FEATHER_DANCE] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TEETER_DANCE] =
- {
- .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_BLAZE_KICK] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_MUD_SPORT] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_MUD_SPORT,
- .comboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT},
- },
-
- [MOVE_ICE_BALL] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_NEEDLE_ARM] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SLACK_OFF] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_YAWN},
- },
-
- [MOVE_HYPER_VOICE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_POISON_FANG] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_CRUSH_CLAW] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SWORDS_DANCE},
- },
-
- [MOVE_BLAST_BURN] =
- {
- .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_HYDRO_CANNON] =
- {
- .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_METEOR_MASH] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ASTONISH] =
- {
- .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WEATHER_BALL] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM},
- },
-
- [MOVE_AROMATHERAPY] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_FAKE_TEARS] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_LAST,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_AIR_CUTTER] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_OVERHEAT] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SUNNY_DAY},
- },
-
- [MOVE_ODOR_SLEUTH] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ROCK_TOMB] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_ROCK_THROW},
- },
-
- [MOVE_SILVER_WIND] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_METAL_SOUND] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_METAL_SOUND,
- .comboMoves = {0},
- },
-
- [MOVE_GRASS_WHISTLE] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_TICKLE] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_COSMIC_POWER] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_WATER_SPOUT] =
- {
- .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_SIGNAL_BEAM] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SHADOW_PUNCH] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_EXTRASENSORY] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SKY_UPPERCUT] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
- },
-
- [MOVE_SAND_TOMB] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_SANDSTORM},
- },
-
- [MOVE_SHEER_COLD] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_MUDDY_WATER] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_BULLET_SEED] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_AERIAL_ACE] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_ICICLE_SPEAR] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_IRON_DEFENSE] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_BLOCK] =
- {
- .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_HOWL] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DRAGON_CLAW] =
- {
- .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE},
- },
-
- [MOVE_FRENZY_PLANT] =
- {
- .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_BULK_UP] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_BOUNCE] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_MUD_SHOT] =
- {
- .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_POISON_TAIL] =
- {
- .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_COVET] =
- {
- .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_VOLT_TACKLE] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARGE},
- },
-
- [MOVE_MAGICAL_LEAF] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_GROWTH},
- },
-
- [MOVE_WATER_SPORT] =
- {
- .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
- .contestCategory = CONTEST_CATEGORY_CUTE,
- .comboStarterId = COMBO_STARTER_WATER_SPORT,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT},
- },
-
- [MOVE_CALM_MIND] =
- {
- .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = COMBO_STARTER_CALM_MIND,
- .comboMoves = {0},
- },
-
- [MOVE_LEAF_BLADE] =
- {
- .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_DRAGON_DANCE] =
- {
- .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = COMBO_STARTER_DRAGON_DANCE,
- .comboMoves = {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH},
- },
-
- [MOVE_ROCK_BLAST] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
- .contestCategory = CONTEST_CATEGORY_TOUGH,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_SHOCK_WAVE] =
- {
- .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CHARGE},
- },
-
- [MOVE_WATER_PULSE] =
- {
- .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
- .contestCategory = CONTEST_CATEGORY_BEAUTY,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_RAIN_DANCE},
- },
-
- [MOVE_DOOM_DESIRE] =
- {
- .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
- .contestCategory = CONTEST_CATEGORY_COOL,
- .comboStarterId = 0,
- .comboMoves = {0},
- },
-
- [MOVE_PSYCHO_BOOST] =
- {
- .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
- .contestCategory = CONTEST_CATEGORY_SMART,
- .comboStarterId = 0,
- .comboMoves = {COMBO_STARTER_CALM_MIND},
- },
+ [MOVE_NONE] = {0},
+
+ [MOVE_POUND] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_POUND,
+ .comboMoves = {0},
+ },
+
+ [MOVE_KARATE_CHOP] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
+ },
+
+ [MOVE_DOUBLE_SLAP] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_POUND},
+ },
+
+ [MOVE_COMET_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MEGA_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
+ },
+
+ [MOVE_PAY_DAY] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FIRE_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_FIRE_PUNCH,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH},
+ },
+
+ [MOVE_ICE_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_ICE_PUNCH,
+ .comboMoves = {COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH},
+ },
+
+ [MOVE_THUNDER_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_THUNDER_PUNCH,
+ .comboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH},
+ },
+
+ [MOVE_SCRATCH] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_SCRATCH,
+ .comboMoves = {COMBO_STARTER_LEER},
+ },
+
+ [MOVE_VICE_GRIP] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_VICE_GRIP,
+ .comboMoves = {0},
+ },
+
+ [MOVE_GUILLOTINE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_VICE_GRIP},
+ },
+
+ [MOVE_RAZOR_WIND] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SWORDS_DANCE] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_SWORDS_DANCE,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CUT] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SWORDS_DANCE},
+ },
+
+ [MOVE_GUST] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WING_ATTACK] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WHIRLWIND] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FLY] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BIND] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_VICE_GRIP},
+ },
+
+ [MOVE_SLAM] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_POUND},
+ },
+
+ [MOVE_VINE_WHIP] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_STOMP] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,{0, COMBO_STARTER_LEER},
+ },
+
+ [MOVE_DOUBLE_KICK] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MEGA_KICK] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
+ },
+
+ [MOVE_JUMP_KICK] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_MIND_READER},
+ },
+
+ [MOVE_ROLLING_KICK] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SAND_ATTACK] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_SAND_ATTACK,
+ .comboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM},
+ },
+
+ [MOVE_HEADBUTT] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
+ },
+
+ [MOVE_HORN_ATTACK] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_HORN_ATTACK,
+ .comboMoves = {COMBO_STARTER_LEER},
+ },
+
+ [MOVE_FURY_ATTACK] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK},
+ },
+
+ [MOVE_HORN_DRILL] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_HORN_ATTACK},
+ },
+
+ [MOVE_TACKLE] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN},
+ },
+
+ [MOVE_BODY_SLAM] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WRAP] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TAKE_DOWN] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN},
+ },
+
+ [MOVE_THRASH] =
+ {
+ .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAGE},
+ },
+
+ [MOVE_DOUBLE_EDGE] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN},
+ },
+
+ [MOVE_TAIL_WHIP] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARM},
+ },
+
+ [MOVE_POISON_STING] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TWINEEDLE] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_PIN_MISSILE] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_LEER] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_LEER,
+ .comboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE},
+ },
+
+ [MOVE_BITE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE},
+ },
+
+ [MOVE_GROWL] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARM},
+ },
+
+ [MOVE_ROAR] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SING] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_SING,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SUPERSONIC] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SONIC_BOOM] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DISABLE] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ACID] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_EMBER] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_FLAMETHROWER] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_MIST] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WATER_GUN] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT},
+ },
+
+ [MOVE_HYDRO_PUMP] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_SURF] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_SURF,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE},
+ },
+
+ [MOVE_ICE_BEAM] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BLIZZARD] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL},
+ },
+
+ [MOVE_PSYBEAM] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_BUBBLE_BEAM] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_AURORA_BEAM] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_HYPER_BEAM] =
+ {
+ .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_PECK] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_PECK,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DRILL_PECK] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_PECK},
+ },
+
+ [MOVE_SUBMISSION] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_MIND_READER},
+ },
+
+ [MOVE_LOW_KICK] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_COUNTER] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_TAUNT},
+ },
+
+ [MOVE_SEISMIC_TOSS] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FAKE_OUT},
+ },
+
+ [MOVE_STRENGTH] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ABSORB] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_MEGA_DRAIN] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_LEECH_SEED] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_GROWTH] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_GROWTH,
+ .comboMoves = {0},
+ },
+
+ [MOVE_RAZOR_LEAF] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_SOLAR_BEAM] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_POISON_POWDER] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SWEET_SCENT},
+ },
+
+ [MOVE_STUN_SPORE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SWEET_SCENT},
+ },
+
+ [MOVE_SLEEP_POWDER] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SWEET_SCENT},
+ },
+
+ [MOVE_PETAL_DANCE] =
+ {
+ .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_STRING_SHOT] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_STRING_SHOT,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DRAGON_RAGE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_DRAGON_RAGE,
+ .comboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE},
+ },
+
+ [MOVE_FIRE_SPIN] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_THUNDER_SHOCK] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARGE},
+ },
+
+ [MOVE_THUNDERBOLT] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARGE},
+ },
+
+ [MOVE_THUNDER_WAVE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARGE},
+ },
+
+ [MOVE_THUNDER] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON},
+ },
+
+ [MOVE_ROCK_THROW] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_ROCK_THROW,
+ .comboMoves = {0},
+ },
+
+ [MOVE_EARTHQUAKE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_EARTHQUAKE,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FISSURE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_EARTHQUAKE},
+ },
+
+ [MOVE_DIG] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TOXIC] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CONFUSION] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_CONFUSION,
+ .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_PSYCHIC] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_PSYCHIC,
+ .comboMoves = {COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_HYPNOSIS] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_HYPNOSIS,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MEDITATE] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_AGILITY] =
+ {
+ .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_DOUBLE_TEAM},
+ },
+
+ [MOVE_QUICK_ATTACK] =
+ {
+ .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_DOUBLE_TEAM},
+ },
+
+ [MOVE_RAGE] =
+ {
+ .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_RAGE,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TELEPORT] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION},
+ },
+
+ [MOVE_NIGHT_SHADE] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MIMIC] =
+ {
+ .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SCREECH] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DOUBLE_TEAM] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_DOUBLE_TEAM,
+ .comboMoves = {0},
+ },
+
+ [MOVE_RECOVER] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_HARDEN] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_HARDEN,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MINIMIZE] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SMOKESCREEN] =
+ {
+ .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SMOG},
+ },
+
+ [MOVE_CONFUSE_RAY] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WITHDRAW] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_DEFENSE_CURL] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_DEFENSE_CURL,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BARRIER] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_LIGHT_SCREEN] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_HAZE] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_REFLECT] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_FOCUS_ENERGY] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_FOCUS_ENERGY,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BIDE] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_METRONOME] =
+ {
+ .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MIRROR_MOVE] =
+ {
+ .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SELF_DESTRUCT] =
+ {
+ .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_EGG_BOMB] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SOFT_BOILED},
+ },
+
+ [MOVE_LICK] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SMOG] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_SMOG,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SLUDGE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_SLUDGE,
+ .comboMoves = {COMBO_STARTER_SLUDGE_BOMB},
+ },
+
+ [MOVE_BONE_CLUB] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_BONE_CLUB,
+ .comboMoves = {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH},
+ },
+
+ [MOVE_FIRE_BLAST] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_WATERFALL] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_CLAMP] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_SWIFT] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SKULL_BASH] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SPIKE_CANNON] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CONSTRICT] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_AMNESIA] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_KINESIS] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_KINESIS,
+ .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION},
+ },
+
+ [MOVE_SOFT_BOILED] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_SOFT_BOILED,
+ .comboMoves = {0},
+ },
+
+ [MOVE_HI_JUMP_KICK] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_MIND_READER},
+ },
+
+ [MOVE_GLARE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_LEER},
+ },
+
+ [MOVE_DREAM_EATER] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_POISON_GAS] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BARRAGE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_LEECH_LIFE] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_LOVELY_KISS] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SKY_ATTACK] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TRANSFORM] =
+ {
+ .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BUBBLE] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_DIZZY_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SPORE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FLASH] =
+ {
+ .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_PSYWAVE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_SPLASH] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ACID_ARMOR] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CRABHAMMER] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE},
+ },
+
+ [MOVE_EXPLOSION] =
+ {
+ .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FURY_SWIPES] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SCRATCH},
+ },
+
+ [MOVE_BONEMERANG] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_BONEMERANG,
+ .comboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH},
+ },
+
+ [MOVE_REST] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_REST,
+ .comboMoves = {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN},
+ },
+
+ [MOVE_ROCK_SLIDE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_ROCK_THROW},
+ },
+
+ [MOVE_HYPER_FANG] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SHARPEN] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CONVERSION] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TRI_ATTACK] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_LOCK_ON},
+ },
+
+ [MOVE_SUPER_FANG] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SCARY_FACE},
+ },
+
+ [MOVE_SLASH] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH},
+ },
+
+ [MOVE_SUBSTITUTE] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_STRUGGLE] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SKETCH] =
+ {
+ .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TRIPLE_KICK] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
+ },
+
+ [MOVE_THIEF] =
+ {
+ .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SPIDER_WEB] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_STRING_SHOT},
+ },
+
+ [MOVE_MIND_READER] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_MIND_READER,
+ .comboMoves = {0},
+ },
+
+ [MOVE_NIGHTMARE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_HYPNOSIS},
+ },
+
+ [MOVE_FLAME_WHEEL] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_SNORE] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_REST},
+ },
+
+ [MOVE_CURSE] =
+ {
+ .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_CURSE,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FLAIL] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_ENDURE},
+ },
+
+ [MOVE_CONVERSION_2] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_AEROBLAST] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_COTTON_SPORE] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_REVERSAL] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_ENDURE},
+ },
+
+ [MOVE_SPITE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CURSE},
+ },
+
+ [MOVE_POWDER_SNOW] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_POWDER_SNOW,
+ .comboMoves = {COMBO_STARTER_HAIL},
+ },
+
+ [MOVE_PROTECT] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_HARDEN},
+ },
+
+ [MOVE_MACH_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SCARY_FACE] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_SCARY_FACE,
+ .comboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_LEER},
+ },
+
+ [MOVE_FAINT_ATTACK] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND},
+ },
+
+ [MOVE_SWEET_KISS] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARM},
+ },
+
+ [MOVE_BELLY_DRUM] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_BELLY_DRUM,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SLUDGE_BOMB] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_SLUDGE_BOMB,
+ .comboMoves = {COMBO_STARTER_SLUDGE},
+ },
+
+ [MOVE_MUD_SLAP] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_MUD_SLAP,
+ .comboMoves = {COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM},
+ },
+
+ [MOVE_OCTAZOOKA] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON},
+ },
+
+ [MOVE_SPIKES] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ZAP_CANNON] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_LOCK_ON},
+ },
+
+ [MOVE_FORESIGHT] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DESTINY_BOND] =
+ {
+ .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE},
+ },
+
+ [MOVE_PERISH_SONG] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING},
+ },
+
+ [MOVE_ICY_WIND] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DETECT] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_TAUNT},
+ },
+
+ [MOVE_BONE_RUSH] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_BONE_RUSH,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG},
+ },
+
+ [MOVE_LOCK_ON] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_LOCK_ON,
+ .comboMoves = {0},
+ },
+
+ [MOVE_OUTRAGE] =
+ {
+ .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SANDSTORM] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_SANDSTORM,
+ .comboMoves = {0},
+ },
+
+ [MOVE_GIGA_DRAIN] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_ENDURE] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_ENDURE,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CHARM] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_CHARM,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ROLLOUT] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN},
+ },
+
+ [MOVE_FALSE_SWIPE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SWORDS_DANCE},
+ },
+
+ [MOVE_SWAGGER] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MILK_DRINK] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SPARK] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARGE},
+ },
+
+ [MOVE_FURY_CUTTER] =
+ {
+ .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SWORDS_DANCE},
+ },
+
+ [MOVE_STEEL_WING] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MEAN_LOOK] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_MEAN_LOOK,
+ .comboMoves = {COMBO_STARTER_CURSE},
+ },
+
+ [MOVE_ATTRACT] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SLEEP_TALK] =
+ {
+ .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_REST},
+ },
+
+ [MOVE_HEAL_BELL] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_RETURN] =
+ {
+ .effect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_PRESENT] =
+ {
+ .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FRUSTRATION] =
+ {
+ .effect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SAFEGUARD] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_PAIN_SPLIT] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_ENDURE},
+ },
+
+ [MOVE_SACRED_FIRE] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_MAGNITUDE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DYNAMIC_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER},
+ },
+
+ [MOVE_MEGAHORN] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DRAGON_BREATH] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_DRAGON_BREATH,
+ .comboMoves = {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE},
+ },
+
+ [MOVE_BATON_PASS] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ENCORE] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_PURSUIT] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_RAPID_SPIN] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SWEET_SCENT] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_SWEET_SCENT,
+ .comboMoves = {0},
+ },
+
+ [MOVE_IRON_TAIL] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_METAL_CLAW] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_METAL_SOUND},
+ },
+
+ [MOVE_VITAL_THROW] =
+ {
+ .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FAKE_OUT},
+ },
+
+ [MOVE_MORNING_SUN] =
+ {
+ .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_SYNTHESIS] =
+ {
+ .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_MOONLIGHT] =
+ {
+ .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_HIDDEN_POWER] =
+ {
+ .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CROSS_CHOP] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
+ },
+
+ [MOVE_TWISTER] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_RAIN_DANCE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_RAIN_DANCE,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SUNNY_DAY] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_SUNNY_DAY,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CRUNCH] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SCARY_FACE},
+ },
+
+ [MOVE_MIRROR_COAT] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_TAUNT},
+ },
+
+ [MOVE_PSYCH_UP] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_EXTREME_SPEED] =
+ {
+ .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ANCIENT_POWER] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SHADOW_BALL] =
+ {
+ .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FUTURE_SIGHT] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_ROCK_SMASH] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WHIRLPOOL] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_BEAT_UP] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FAKE_OUT] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_FAKE_OUT,
+ .comboMoves = {0},
+ },
+
+ [MOVE_UPROAR] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_STOCKPILE] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = COMBO_STARTER_STOCKPILE,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SPIT_UP] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_STOCKPILE},
+ },
+
+ [MOVE_SWALLOW] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_STOCKPILE},
+ },
+
+ [MOVE_HEAT_WAVE] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_HAIL] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_HAIL,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TORMENT] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FLATTER] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARM},
+ },
+
+ [MOVE_WILL_O_WISP] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_MEMENTO] =
+ {
+ .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FACADE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FOCUS_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
+ },
+
+ [MOVE_SMELLING_SALT] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FOLLOW_ME] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_NATURE_POWER] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CHARGE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_CHARGE,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TAUNT] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_TAUNT,
+ .comboMoves = {0},
+ },
+
+ [MOVE_HELPING_HAND] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TRICK] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ROLE_PLAY] =
+ {
+ .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WISH] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ASSIST] =
+ {
+ .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_INGRAIN] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SUPERPOWER] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_LOCK_ON},
+ },
+
+ [MOVE_MAGIC_COAT] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_RECYCLE] =
+ {
+ .effect = CONTEST_EFFECT_REPETITION_NOT_BORING,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_REVENGE] =
+ {
+ .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BRICK_BREAK] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
+ },
+
+ [MOVE_YAWN] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_YAWN,
+ .comboMoves = {0},
+ },
+
+ [MOVE_KNOCK_OFF] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FAKE_OUT},
+ },
+
+ [MOVE_ENDEAVOR] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_ENDURE},
+ },
+
+ [MOVE_ERUPTION] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_SKILL_SWAP] =
+ {
+ .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_IMPRISON] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_REFRESH] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING},
+ },
+
+ [MOVE_GRUDGE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CURSE},
+ },
+
+ [MOVE_SNATCH] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SECRET_POWER] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DIVE] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = COMBO_STARTER_DIVE,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF},
+ },
+
+ [MOVE_ARM_THRUST] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT},
+ },
+
+ [MOVE_CAMOUFLAGE] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TAIL_GLOW] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_LUSTER_PURGE] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_MIST_BALL] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CALM_MIND},
+ },
+
+ [MOVE_FEATHER_DANCE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TEETER_DANCE] =
+ {
+ .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BLAZE_KICK] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_MUD_SPORT] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_MUD_SPORT,
+ .comboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT},
+ },
+
+ [MOVE_ICE_BALL] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_NEEDLE_ARM] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SLACK_OFF] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_YAWN},
+ },
+
+ [MOVE_HYPER_VOICE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_POISON_FANG] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_CRUSH_CLAW] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SWORDS_DANCE},
+ },
+
+ [MOVE_BLAST_BURN] =
+ {
+ .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_HYDRO_CANNON] =
+ {
+ .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_METEOR_MASH] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ASTONISH] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_PREV_MON,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WEATHER_BALL] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM},
+ },
+
+ [MOVE_AROMATHERAPY] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_FAKE_TEARS] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_LAST,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_AIR_CUTTER] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_OVERHEAT] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SUNNY_DAY},
+ },
+
+ [MOVE_ODOR_SLEUTH] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ROCK_TOMB] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_ROCK_THROW},
+ },
+
+ [MOVE_SILVER_WIND] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_METAL_SOUND] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_METAL_SOUND,
+ .comboMoves = {0},
+ },
+
+ [MOVE_GRASS_WHISTLE] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_TICKLE] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_COSMIC_POWER] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_WATER_SPOUT] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_WHEN_LATER,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_SIGNAL_BEAM] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SHADOW_PUNCH] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_EXTRASENSORY] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SKY_UPPERCUT] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_FOCUS_ENERGY},
+ },
+
+ [MOVE_SAND_TOMB] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_SANDSTORM},
+ },
+
+ [MOVE_SHEER_COLD] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MUDDY_WATER] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_BULLET_SEED] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_AERIAL_ACE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_ICICLE_SPEAR] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_IRON_DEFENSE] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BLOCK] =
+ {
+ .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_HOWL] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DRAGON_CLAW] =
+ {
+ .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE},
+ },
+
+ [MOVE_FRENZY_PLANT] =
+ {
+ .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_BULK_UP] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_BOUNCE] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_MUD_SHOT] =
+ {
+ .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_POISON_TAIL] =
+ {
+ .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_COVET] =
+ {
+ .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_VOLT_TACKLE] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARGE},
+ },
+
+ [MOVE_MAGICAL_LEAF] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_GROWTH},
+ },
+
+ [MOVE_WATER_SPORT] =
+ {
+ .effect = CONTEST_EFFECT_HIGHLY_APPEALING,
+ .contestCategory = CONTEST_CATEGORY_CUTE,
+ .comboStarterId = COMBO_STARTER_WATER_SPORT,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT},
+ },
+
+ [MOVE_CALM_MIND] =
+ {
+ .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = COMBO_STARTER_CALM_MIND,
+ .comboMoves = {0},
+ },
+
+ [MOVE_LEAF_BLADE] =
+ {
+ .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_DRAGON_DANCE] =
+ {
+ .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = COMBO_STARTER_DRAGON_DANCE,
+ .comboMoves = {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH},
+ },
+
+ [MOVE_ROCK_BLAST] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE,
+ .contestCategory = CONTEST_CATEGORY_TOUGH,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_SHOCK_WAVE] =
+ {
+ .effect = CONTEST_EFFECT_BETTER_IF_FIRST,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CHARGE},
+ },
+
+ [MOVE_WATER_PULSE] =
+ {
+ .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER,
+ .contestCategory = CONTEST_CATEGORY_BEAUTY,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_RAIN_DANCE},
+ },
+
+ [MOVE_DOOM_DESIRE] =
+ {
+ .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE,
+ .contestCategory = CONTEST_CATEGORY_COOL,
+ .comboStarterId = 0,
+ .comboMoves = {0},
+ },
+
+ [MOVE_PSYCHO_BOOST] =
+ {
+ .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED,
+ .contestCategory = CONTEST_CATEGORY_SMART,
+ .comboStarterId = 0,
+ .comboMoves = {COMBO_STARTER_CALM_MIND},
+ },
};
const struct ContestEffect gContestEffects[] =
{
- {0, 40, 0}, // CONTEST_EFFECT_HIGHLY_APPEALING
- {0, 60, 0}, // CONTEST_EFFECT_USER_MORE_EASILY_STARTLED
- {0, 80, 0}, // CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES
- {0, 30, 0}, // CONTEST_EFFECT_REPETITION_NOT_BORING
- {1, 20, 0}, // CONTEST_EFFECT_AVOID_STARTLE_ONCE
- {1, 10, 0}, // CONTEST_EFFECT_AVOID_STARTLE
- {1, 30, 0}, // CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY
- {1, 30, 0}, // CONTEST_EFFECT_USER_LESS_EASILY_STARTLED
- {2, 30, 20}, // CONTEST_EFFECT_STARTLE_FRONT_MON
- {3, 30, 10}, // CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS
- {2, 20, 30}, // CONTEST_EFFECT_STARTLE_PREV_MON
- {3, 20, 20}, // CONTEST_EFFECT_STARTLE_PREV_MONS
- {2, 10, 40}, // CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON
- {3, 10, 30}, // CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS
- {2, 30, 20}, // CONTEST_EFFECT_STARTLE_PREV_MON_2
- {3, 30, 10}, // CONTEST_EFFECT_STARTLE_PREV_MONS_2
- {4, 30, 0}, // CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION
- {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION
- {3, 40, 40}, // CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN
- {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL
- {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL
- {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL
- {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL
- {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL
- {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL
- {4, 20, 0}, // CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS
- {4, 20, 0}, // CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS
- {4, 30, 0}, // CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS
- {3, 30, 10}, // CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION
- {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_FIRST
- {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_LAST
- {5, 10, 0}, // CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES
- {5, 10, 0}, // CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE
- {5, 10, 0}, // CONTEST_EFFECT_BETTER_WHEN_LATER
- {5, 10, 0}, // CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING
- {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_SAME_TYPE
- {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_DIFF_TYPE
- {5, 30, 0}, // CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL
- {5, 10, 0}, // CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS
- {5, 10, 0}, // CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION
- {6, 30, 0}, // CONTEST_EFFECT_NEXT_APPEAL_EARLIER
- {6, 30, 0}, // CONTEST_EFFECT_NEXT_APPEAL_LATER
- {6, 30, 0}, // CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER
- {6, 30, 0}, // CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER
- {5, 10, 0}, // CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST
- {3, 20, 10}, // CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS
- {5, 10, 0}, // CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED
- {4, 30, 0} // CONTEST_EFFECT_DONT_EXCITE_AUDIENCE
+ [CONTEST_EFFECT_HIGHLY_APPEALING] =
+ {
+ .effectType = 0,
+ .appeal = 40,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_USER_MORE_EASILY_STARTLED] =
+ {
+ .effectType = 0,
+ .appeal = 60,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES] =
+ {
+ .effectType = 0,
+ .appeal = 80,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_REPETITION_NOT_BORING] =
+ {
+ .effectType = 0,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_AVOID_STARTLE_ONCE] =
+ {
+ .effectType = 1,
+ .appeal = 20,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_AVOID_STARTLE] =
+ {
+ .effectType = 1,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY] =
+ {
+ .effectType = 1,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_USER_LESS_EASILY_STARTLED] =
+ {
+ .effectType = 1,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_STARTLE_FRONT_MON] =
+ {
+ .effectType = 2,
+ .appeal = 30,
+ .jam = 20,
+ },
+ [CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS] =
+ {
+ .effectType = 3,
+ .appeal = 30,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_STARTLE_PREV_MON] =
+ {
+ .effectType = 2,
+ .appeal = 20,
+ .jam = 30,
+ },
+ [CONTEST_EFFECT_STARTLE_PREV_MONS] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 20,
+ },
+ [CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON] =
+ {
+ .effectType = 2,
+ .appeal = 10,
+ .jam = 40,
+ },
+ [CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS] =
+ {
+ .effectType = 3,
+ .appeal = 10,
+ .jam = 30,
+ },
+ [CONTEST_EFFECT_STARTLE_PREV_MON_2] =
+ {
+ .effectType = 2,
+ .appeal = 30,
+ .jam = 20,
+ },
+ [CONTEST_EFFECT_STARTLE_PREV_MONS_2] =
+ {
+ .effectType = 3,
+ .appeal = 30,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION] =
+ {
+ .effectType = 4,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN] =
+ {
+ .effectType = 3,
+ .appeal = 40,
+ .jam = 40,
+ },
+ [CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS] =
+ {
+ .effectType = 4,
+ .appeal = 20,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS] =
+ {
+ .effectType = 4,
+ .appeal = 20,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS] =
+ {
+ .effectType = 4,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION] =
+ {
+ .effectType = 3,
+ .appeal = 30,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_BETTER_IF_FIRST] =
+ {
+ .effectType = 5,
+ .appeal = 20,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_BETTER_IF_LAST] =
+ {
+ .effectType = 5,
+ .appeal = 20,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES] =
+ {
+ .effectType = 5,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE] =
+ {
+ .effectType = 5,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_BETTER_WHEN_LATER] =
+ {
+ .effectType = 5,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING] =
+ {
+ .effectType = 5,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_BETTER_IF_SAME_TYPE] =
+ {
+ .effectType = 5,
+ .appeal = 20,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_BETTER_IF_DIFF_TYPE] =
+ {
+ .effectType = 5,
+ .appeal = 20,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL] =
+ {
+ .effectType = 5,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS] =
+ {
+ .effectType = 5,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION] =
+ {
+ .effectType = 5,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_NEXT_APPEAL_EARLIER] =
+ {
+ .effectType = 6,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_NEXT_APPEAL_LATER] =
+ {
+ .effectType = 6,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER] =
+ {
+ .effectType = 6,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER] =
+ {
+ .effectType = 6,
+ .appeal = 30,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST] =
+ {
+ .effectType = 5,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS] =
+ {
+ .effectType = 3,
+ .appeal = 20,
+ .jam = 10,
+ },
+ [CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED] =
+ {
+ .effectType = 5,
+ .appeal = 10,
+ .jam = 0,
+ },
+ [CONTEST_EFFECT_DONT_EXCITE_AUDIENCE] =
+ {
+ .effectType = 4,
+ .appeal = 30,
+ .jam = 0,
+ },
};
// A lookup table with TRUE for each combo starter ID and FALSE for ID 0,
diff --git a/src/data/decoration/description.h b/src/data/decoration/description.h
index ba4c3dd54..b56f43eb6 100644
--- a/src/data/decoration/description.h
+++ b/src/data/decoration/description.h
@@ -1,10 +1,3 @@
-//
-// Created by scott on 10/21/2017.
-//
-
-#ifndef GUARD_DATA_DECORATION_DESCRIPTION_H
-#define GUARD_DATA_DECORATION_DESCRIPTION_H
-
const u8 DecorDesc_SMALL_DESK[] = _(
"A small desk built\n"
"for one.");
@@ -578,4 +571,3 @@ const u8 DecorDesc_REGISTEEL_DOLL[] = _(
"A large doll.\n"
"Place it on a mat\n"
"or a desk.");
-#endif //GUARD_DATA_DECORATION_DESCRIPTION_H
diff --git a/src/data/decoration/header.h b/src/data/decoration/header.h
index 64bed1c7e..a909bd9fd 100644
--- a/src/data/decoration/header.h
+++ b/src/data/decoration/header.h
@@ -1,10 +1,3 @@
-//
-// Created by scott on 10/21/2017.
-//
-
-#ifndef GUARD_DATA_DECORATION_HEADER_H
-#define GUARD_DATA_DECORATION_HEADER_H
-
const struct Decoration gDecorations[] = {
{
DECOR_NONE,
@@ -1096,5 +1089,3 @@ const struct Decoration gDecorations[] = {
DecorDesc_REGISTEEL_DOLL,
DecorGfx_REGISTEEL_DOLL}
};
-
-#endif //GUARD_DATA_DECORATION_HEADER_H
diff --git a/src/data/decoration/icon.h b/src/data/decoration/icon.h
index 1823485ba..58d9cea7b 100644
--- a/src/data/decoration/icon.h
+++ b/src/data/decoration/icon.h
@@ -1,10 +1,3 @@
-//
-// Created by scott on 10/21/2017.
-//
-
-#ifndef GUARD_ICON_H
-#define GUARD_ICON_H
-
const u32 *const gUnknown_085A6BE8[][2] = {
{gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
{NULL, NULL},
@@ -128,5 +121,3 @@ const u32 *const gUnknown_085A6BE8[][2] = {
{gUnknown_08DB9DD4, gUnknown_08DB9EE4},
{gUnknown_08DBA020, gUnknown_08DBA12C}
};
-
-#endif //GUARD_ICON_H
diff --git a/src/data/decoration/tilemaps.h b/src/data/decoration/tilemaps.h
index 1cca7ae0b..12fe31dc0 100644
--- a/src/data/decoration/tilemaps.h
+++ b/src/data/decoration/tilemaps.h
@@ -1,10 +1,3 @@
-//
-// Created by scott on 10/21/2017.
-//
-
-#ifndef GUARD_TILEMAPS_H
-#define GUARD_TILEMAPS_H
-
const u8 Unknown_085A6FB0[] = {
0x00, 0x01, 0x02, 0x03
};
@@ -235,5 +228,3 @@ const struct {
Unknown_085A7198,
0x18
}};
-
-#endif //GUARD_TILEMAPS_H
diff --git a/src/data/decoration/tiles.h b/src/data/decoration/tiles.h
index 6b3ed699f..2b91cb53d 100644
--- a/src/data/decoration/tiles.h
+++ b/src/data/decoration/tiles.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_DATA_DECORATION_TILES
-#define GUARD_DATA_DECORATION_TILES
-
const u16 DecorGfx_SMALL_DESK[] = {
0x87
};
@@ -642,5 +639,3 @@ const u16 DecorGfx_REGICE_DOLL[] = {
const u16 DecorGfx_REGISTEEL_DOLL[] = {
EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL
};
-
-#endif // GUARD_DATA_DECORATION_TILES
diff --git a/src/data/field_event_obj/base_oam.h b/src/data/field_event_obj/base_oam.h
index 1aa6987c3..543382d43 100755
--- a/src/data/field_event_obj/base_oam.h
+++ b/src/data/field_event_obj/base_oam.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_BASE_OAM_H
-#define GUARD_BASE_OAM_H
-
const struct OamData gEventObjectBaseOam_8x8 = {
.shape = 0,
.size = 0,
@@ -48,5 +45,3 @@ const struct OamData gEventObjectBaseOam_64x64 = {
.size = 3,
.priority = 2
};
-
-#endif //GUARD_BASE_OAM_H
diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h
index beb59974f..f5ef15af9 100755
--- a/src/data/field_event_obj/berry_tree_graphics_tables.h
+++ b/src/data/field_event_obj/berry_tree_graphics_tables.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_BERRY_TREE_GRAPHICS_TABLES_H
-#define GUARD_BERRY_TREE_GRAPHICS_TABLES_H
-
const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[] = {
overworld_frame(gEventObjectPic_BerryTreeDirtPile, 2, 2, 0),
overworld_frame(gEventObjectPic_BerryTreeSprout, 2, 2, 0),
@@ -565,6 +562,3 @@ const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[] = {
gBerryTreeEventObjectGraphicsIdTable,
gBerryTreeEventObjectGraphicsIdTable,
};
-
-
-#endif //GUARD_BERRY_TREE_GRAPHICS_TABLES_H
diff --git a/src/data/field_event_obj/event_object_anims.h b/src/data/field_event_obj/event_object_anims.h
index 9b897651d..6203e0548 100755
--- a/src/data/field_event_obj/event_object_anims.h
+++ b/src/data/field_event_obj/event_object_anims.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_ANIMS_H
-#define GUARD_EVENT_OBJECT_ANIMS_H
-
const union AnimCmd gEventObjectImageAnim_StayStill[] =
{
ANIMCMD_FRAME(0, 8),
@@ -1172,5 +1169,3 @@ const struct UnkStruct_085094AC gUnknown_085094AC[] = {
{0, 0, 0, 0},
},
};
-
-#endif //GUARD_EVENT_OBJECT_ANIMS_H
diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h
index 4b65e694f..f7f1f33ba 100755
--- a/src/data/field_event_obj/event_object_graphics.h
+++ b/src/data/field_event_obj/event_object_graphics.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_GFX_H
-#define GUARD_EVENT_OBJECT_GFX_H
-
const u32 gEventObjectPic_BrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/walking.4bpp");
const u32 gEventObjectPic_BrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/running.4bpp");
const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal");
@@ -307,7 +304,7 @@ const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/pale
const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal");
const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust.4bpp");
const u32 gFieldEffectObjectPic_BikeHopTallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass.4bpp");
-const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp");
+const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp");
const u32 gFieldEffectObjectPic_Unknown16[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16.4bpp");
const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17.4bpp");
const u32 gFieldEffectObjectPic_Unknown18[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18.4bpp");
@@ -363,5 +360,3 @@ const u32 gEventObjectPic_Lugia[] = INCBIN_U32("graphics/event_objects/pics/poke
const u16 gEventObjectPalette32[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_32.gbapal");
const u32 gEventObjectPic_HoOh[] = INCBIN_U32("graphics/event_objects/pics/pokemon/ho_oh.4bpp");
const u16 gEventObjectPalette31[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_31.gbapal");
-
-#endif //GUARD_EVENT_OBJECT_GFX_H
diff --git a/src/data/field_event_obj/event_object_graphics_info.h b/src/data/field_event_obj/event_object_graphics_info.h
index ebc324b08..1f89cc98d 100755
--- a/src/data/field_event_obj/event_object_graphics_info.h
+++ b/src/data/field_event_obj/event_object_graphics_info.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
-#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
-
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_BrendanMayNormal, gEventObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, EVENT_OBJ_PAL_TAG_8, EVENT_OBJ_PAL_TAG_10, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_AcroBike, gEventObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable};
@@ -246,5 +243,3 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireBrenda
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_RubySapphireMay = {0xFFFF, EVENT_OBJ_PAL_TAG_34, EVENT_OBJ_PAL_TAG_NONE, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_16x32, gEventObjectSpriteOamTables_16x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_Lugia = {0xFFFF, EVENT_OBJ_PAL_TAG_32, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_Standard, gEventObjectPicTable_Lugia, gDummySpriteAffineAnimTable};
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_HoOh = {0xFFFF, EVENT_OBJ_PAL_TAG_31, EVENT_OBJ_PAL_TAG_NONE, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gEventObjectBaseOam_32x32, gEventObjectSpriteOamTables_32x32, gEventObjectImageAnimTable_HoOh, gEventObjectPicTable_HoOh, gDummySpriteAffineAnimTable};
-
-#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_H
diff --git a/src/data/field_event_obj/event_object_graphics_info_pointers.h b/src/data/field_event_obj/event_object_graphics_info_pointers.h
index 3f726e30e..2f504737a 100755
--- a/src/data/field_event_obj/event_object_graphics_info_pointers.h
+++ b/src/data/field_event_obj/event_object_graphics_info_pointers.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
-#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
-
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanNormal;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanMachBike;
const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_BrendanSurfing;
@@ -250,255 +247,253 @@ const struct EventObjectGraphicsInfo gEventObjectGraphicsInfo_UnusedMauvilleOldM
const struct EventObjectGraphicsInfo *const gEventObjectGraphicsInfoPointers[] = {
- &gEventObjectGraphicsInfo_BrendanNormal,
- &gEventObjectGraphicsInfo_BrendanMachBike,
- &gEventObjectGraphicsInfo_BrendanSurfing,
- &gEventObjectGraphicsInfo_BrendanFieldMove,
- &gEventObjectGraphicsInfo_QuintyPlump,
- &gEventObjectGraphicsInfo_NinjaBoy,
- &gEventObjectGraphicsInfo_Twin,
- &gEventObjectGraphicsInfo_Boy1,
- &gEventObjectGraphicsInfo_Girl1,
- &gEventObjectGraphicsInfo_Boy2,
- &gEventObjectGraphicsInfo_Girl2,
- &gEventObjectGraphicsInfo_LittleBoy,
- &gEventObjectGraphicsInfo_LittleGirl,
- &gEventObjectGraphicsInfo_Boy3,
- &gEventObjectGraphicsInfo_Girl3,
- &gEventObjectGraphicsInfo_RichBoy,
- &gEventObjectGraphicsInfo_Woman1,
- &gEventObjectGraphicsInfo_FatMan,
- &gEventObjectGraphicsInfo_PokefanF,
- &gEventObjectGraphicsInfo_Man1,
- &gEventObjectGraphicsInfo_Woman2,
- &gEventObjectGraphicsInfo_ExpertM,
- &gEventObjectGraphicsInfo_ExpertF,
- &gEventObjectGraphicsInfo_Man2,
- &gEventObjectGraphicsInfo_Woman3,
- &gEventObjectGraphicsInfo_PokefanM,
- &gEventObjectGraphicsInfo_Woman4,
- &gEventObjectGraphicsInfo_Cook,
- &gEventObjectGraphicsInfo_LinkReceptionist,
- &gEventObjectGraphicsInfo_OldMan,
- &gEventObjectGraphicsInfo_OldWoman,
- &gEventObjectGraphicsInfo_Camper,
- &gEventObjectGraphicsInfo_Picnicker,
- &gEventObjectGraphicsInfo_Man3,
- &gEventObjectGraphicsInfo_Woman5,
- &gEventObjectGraphicsInfo_Youngster,
- &gEventObjectGraphicsInfo_BugCatcher,
- &gEventObjectGraphicsInfo_PsychicM,
- &gEventObjectGraphicsInfo_SchoolKidM,
- &gEventObjectGraphicsInfo_Maniac,
- &gEventObjectGraphicsInfo_HexManiac,
- &gEventObjectGraphicsInfo_Rayquaza1,
- &gEventObjectGraphicsInfo_SwimmerM,
- &gEventObjectGraphicsInfo_SwimmerF,
- &gEventObjectGraphicsInfo_BlackBelt,
- &gEventObjectGraphicsInfo_Beauty,
- &gEventObjectGraphicsInfo_Scientist1,
- &gEventObjectGraphicsInfo_Lass,
- &gEventObjectGraphicsInfo_Gentleman,
- &gEventObjectGraphicsInfo_Sailor,
- &gEventObjectGraphicsInfo_Fisherman,
- &gEventObjectGraphicsInfo_RunningTriathleteM,
- &gEventObjectGraphicsInfo_RunningTriathleteF,
- &gEventObjectGraphicsInfo_TuberF,
- &gEventObjectGraphicsInfo_TuberM,
- &gEventObjectGraphicsInfo_Hiker,
- &gEventObjectGraphicsInfo_CyclingTriathleteM,
- &gEventObjectGraphicsInfo_CyclingTriathleteF,
- &gEventObjectGraphicsInfo_Nurse,
- &gEventObjectGraphicsInfo_ItemBall,
- &gEventObjectGraphicsInfo_BerryTree,
- &gEventObjectGraphicsInfo_BerryTreeEarlyStages,
- &gEventObjectGraphicsInfo_BerryTreeLateStages,
- &gEventObjectGraphicsInfo_BrendanAcroBike,
- &gEventObjectGraphicsInfo_ProfBirch,
- &gEventObjectGraphicsInfo_Man4,
- &gEventObjectGraphicsInfo_Man5,
- &gEventObjectGraphicsInfo_ReporterM,
- &gEventObjectGraphicsInfo_ReporterF,
- &gEventObjectGraphicsInfo_Bard,
- &gEventObjectGraphicsInfo_Anabel,
- &gEventObjectGraphicsInfo_Tucker,
- &gEventObjectGraphicsInfo_Greta,
- &gEventObjectGraphicsInfo_Spenser,
- &gEventObjectGraphicsInfo_Noland,
- &gEventObjectGraphicsInfo_Lucy,
- &gEventObjectGraphicsInfo_UnusedNatuDoll,
- &gEventObjectGraphicsInfo_UnusedMagnemiteDoll,
- &gEventObjectGraphicsInfo_UnusedSquirtleDoll,
- &gEventObjectGraphicsInfo_UnusedWooperDoll,
- &gEventObjectGraphicsInfo_UnusedPikachuDoll,
- &gEventObjectGraphicsInfo_UnusedPorygon2Doll,
- &gEventObjectGraphicsInfo_CuttableTree,
- &gEventObjectGraphicsInfo_MartEmployee,
- &gEventObjectGraphicsInfo_RooftopSaleWoman,
- &gEventObjectGraphicsInfo_Teala,
- &gEventObjectGraphicsInfo_BreakableRock,
- &gEventObjectGraphicsInfo_PushableBoulder,
- &gEventObjectGraphicsInfo_MrBrineysBoat,
- &gEventObjectGraphicsInfo_MayNormal,
- &gEventObjectGraphicsInfo_MayMachBike,
- &gEventObjectGraphicsInfo_MayAcroBike,
- &gEventObjectGraphicsInfo_MaySurfing,
- &gEventObjectGraphicsInfo_MayFieldMove,
- &gEventObjectGraphicsInfo_Truck,
- &gEventObjectGraphicsInfo_VigorothCarryingBox,
- &gEventObjectGraphicsInfo_VigorothFacingAway,
- &gEventObjectGraphicsInfo_BirchsBag,
- &gEventObjectGraphicsInfo_EnemyZigzagoon,
- &gEventObjectGraphicsInfo_Artist,
- &gEventObjectGraphicsInfo_RivalBrendanNormal,
- &gEventObjectGraphicsInfo_RivalBrendanMachBike,
- &gEventObjectGraphicsInfo_RivalBrendanAcroBike,
- &gEventObjectGraphicsInfo_RivalBrendanSurfing,
- &gEventObjectGraphicsInfo_RivalBrendanFieldMove,
- &gEventObjectGraphicsInfo_RivalMayNormal,
- &gEventObjectGraphicsInfo_RivalMayMachBike,
- &gEventObjectGraphicsInfo_RivalMayAcroBike,
- &gEventObjectGraphicsInfo_RivalMaySurfing,
- &gEventObjectGraphicsInfo_RivalMayFieldMove,
- &gEventObjectGraphicsInfo_Cameraman,
- &gEventObjectGraphicsInfo_BrendanUnderwater,
- &gEventObjectGraphicsInfo_MayUnderwater,
- &gEventObjectGraphicsInfo_MovingBox,
- &gEventObjectGraphicsInfo_CableCar,
- &gEventObjectGraphicsInfo_Scientist2,
- &gEventObjectGraphicsInfo_DevonEmployee,
- &gEventObjectGraphicsInfo_AquaMemberM,
- &gEventObjectGraphicsInfo_AquaMemberF,
- &gEventObjectGraphicsInfo_MagmaMemberM,
- &gEventObjectGraphicsInfo_MagmaMemberF,
- &gEventObjectGraphicsInfo_Sidney,
- &gEventObjectGraphicsInfo_Phoebe,
- &gEventObjectGraphicsInfo_Glacia,
- &gEventObjectGraphicsInfo_Drake,
- &gEventObjectGraphicsInfo_Roxanne,
- &gEventObjectGraphicsInfo_Brawly,
- &gEventObjectGraphicsInfo_Wattson,
- &gEventObjectGraphicsInfo_Flannery,
- &gEventObjectGraphicsInfo_Norman,
- &gEventObjectGraphicsInfo_Winona,
- &gEventObjectGraphicsInfo_Liza,
- &gEventObjectGraphicsInfo_Tate,
- &gEventObjectGraphicsInfo_Wallace,
- &gEventObjectGraphicsInfo_Steven,
- &gEventObjectGraphicsInfo_Wally,
- &gEventObjectGraphicsInfo_RubySapphireLittleBoy,
- &gEventObjectGraphicsInfo_BrendanFishing,
- &gEventObjectGraphicsInfo_MayFishing,
- &gEventObjectGraphicsInfo_HotSpringsOldWoman,
- &gEventObjectGraphicsInfo_SSTidal,
- &gEventObjectGraphicsInfo_SubmarineShadow,
- &gEventObjectGraphicsInfo_PichuDoll,
- &gEventObjectGraphicsInfo_PikachuDoll,
- &gEventObjectGraphicsInfo_MarillDoll,
- &gEventObjectGraphicsInfo_TogepiDoll,
- &gEventObjectGraphicsInfo_CyndaquilDoll,
- &gEventObjectGraphicsInfo_ChikoritaDoll,
- &gEventObjectGraphicsInfo_TotodileDoll,
- &gEventObjectGraphicsInfo_JigglypuffDoll,
- &gEventObjectGraphicsInfo_MeowthDoll,
- &gEventObjectGraphicsInfo_ClefairyDoll,
- &gEventObjectGraphicsInfo_DittoDoll,
- &gEventObjectGraphicsInfo_SmoochumDoll,
- &gEventObjectGraphicsInfo_TreeckoDoll,
- &gEventObjectGraphicsInfo_TorchicDoll,
- &gEventObjectGraphicsInfo_MudkipDoll,
- &gEventObjectGraphicsInfo_DuskullDoll,
- &gEventObjectGraphicsInfo_WynautDoll,
- &gEventObjectGraphicsInfo_BaltoyDoll,
- &gEventObjectGraphicsInfo_KecleonDoll,
- &gEventObjectGraphicsInfo_AzurillDoll,
- &gEventObjectGraphicsInfo_SkittyDoll,
- &gEventObjectGraphicsInfo_SwabluDoll,
- &gEventObjectGraphicsInfo_GulpinDoll,
- &gEventObjectGraphicsInfo_LotadDoll,
- &gEventObjectGraphicsInfo_SeedotDoll,
- &gEventObjectGraphicsInfo_PikaCushion,
- &gEventObjectGraphicsInfo_RoundCushion,
- &gEventObjectGraphicsInfo_KissCushion,
- &gEventObjectGraphicsInfo_ZigzagCushion,
- &gEventObjectGraphicsInfo_SpinCushion,
- &gEventObjectGraphicsInfo_DiamondCushion,
- &gEventObjectGraphicsInfo_BallCushion,
- &gEventObjectGraphicsInfo_GrassCushion,
- &gEventObjectGraphicsInfo_FireCushion,
- &gEventObjectGraphicsInfo_WaterCushion,
- &gEventObjectGraphicsInfo_BigSnorlaxDoll,
- &gEventObjectGraphicsInfo_BigRhydonDoll,
- &gEventObjectGraphicsInfo_BigLaprasDoll,
- &gEventObjectGraphicsInfo_BigVenusaurDoll,
- &gEventObjectGraphicsInfo_BigCharizardDoll,
- &gEventObjectGraphicsInfo_BigBlastoiseDoll,
- &gEventObjectGraphicsInfo_BigWailmerDoll,
- &gEventObjectGraphicsInfo_BigRegirockDoll,
- &gEventObjectGraphicsInfo_BigRegiceDoll,
- &gEventObjectGraphicsInfo_BigRegisteelDoll,
- &gEventObjectGraphicsInfo_Latias,
- &gEventObjectGraphicsInfo_Latios,
- &gEventObjectGraphicsInfo_GameboyKid,
- &gEventObjectGraphicsInfo_ContestJudge,
- &gEventObjectGraphicsInfo_BrendanWatering,
- &gEventObjectGraphicsInfo_MayWatering,
- &gEventObjectGraphicsInfo_BrendanDecorating,
- &gEventObjectGraphicsInfo_MayDecorating,
- &gEventObjectGraphicsInfo_Archie,
- &gEventObjectGraphicsInfo_Maxie,
- &gEventObjectGraphicsInfo_Kyogre1,
- &gEventObjectGraphicsInfo_Groudon1,
- &gEventObjectGraphicsInfo_Fossil,
- &gEventObjectGraphicsInfo_Regirock,
- &gEventObjectGraphicsInfo_Regice,
- &gEventObjectGraphicsInfo_Registeel,
- &gEventObjectGraphicsInfo_Skitty,
- &gEventObjectGraphicsInfo_Kecleon1,
- &gEventObjectGraphicsInfo_Kyogre2,
- &gEventObjectGraphicsInfo_Groudon2,
- &gEventObjectGraphicsInfo_Rayquaza2,
- &gEventObjectGraphicsInfo_Zigzagoon,
- &gEventObjectGraphicsInfo_Pikachu,
- &gEventObjectGraphicsInfo_Azumarill,
- &gEventObjectGraphicsInfo_Wingull,
- &gEventObjectGraphicsInfo_Kecleon2,
- &gEventObjectGraphicsInfo_TuberMSwimming,
- &gEventObjectGraphicsInfo_Azurill,
- &gEventObjectGraphicsInfo_Mom,
- &gEventObjectGraphicsInfo_LinkBrendan,
- &gEventObjectGraphicsInfo_LinkMay,
- &gEventObjectGraphicsInfo_Juan,
- &gEventObjectGraphicsInfo_Scott,
- &gEventObjectGraphicsInfo_Poochyena,
- &gEventObjectGraphicsInfo_Kyogre3,
- &gEventObjectGraphicsInfo_Groudon3,
- &gEventObjectGraphicsInfo_MysteryEventDeliveryman,
- &gEventObjectGraphicsInfo_Statue,
- &gEventObjectGraphicsInfo_Kirlia,
- &gEventObjectGraphicsInfo_Dusclops,
- &gEventObjectGraphicsInfo_UnionRoomAttendant,
- &gEventObjectGraphicsInfo_Sudowoodo,
- &gEventObjectGraphicsInfo_Mew,
- &gEventObjectGraphicsInfo_Red,
- &gEventObjectGraphicsInfo_Leaf,
- &gEventObjectGraphicsInfo_Deoxys,
- &gEventObjectGraphicsInfo_BirthIslandStone,
- &gEventObjectGraphicsInfo_Brandon,
- &gEventObjectGraphicsInfo_RubySapphireBrendan,
- &gEventObjectGraphicsInfo_RubySapphireMay,
- &gEventObjectGraphicsInfo_Lugia,
- &gEventObjectGraphicsInfo_HoOh,
+ &gEventObjectGraphicsInfo_BrendanNormal,
+ &gEventObjectGraphicsInfo_BrendanMachBike,
+ &gEventObjectGraphicsInfo_BrendanSurfing,
+ &gEventObjectGraphicsInfo_BrendanFieldMove,
+ &gEventObjectGraphicsInfo_QuintyPlump,
+ &gEventObjectGraphicsInfo_NinjaBoy,
+ &gEventObjectGraphicsInfo_Twin,
+ &gEventObjectGraphicsInfo_Boy1,
+ &gEventObjectGraphicsInfo_Girl1,
+ &gEventObjectGraphicsInfo_Boy2,
+ &gEventObjectGraphicsInfo_Girl2,
+ &gEventObjectGraphicsInfo_LittleBoy,
+ &gEventObjectGraphicsInfo_LittleGirl,
+ &gEventObjectGraphicsInfo_Boy3,
+ &gEventObjectGraphicsInfo_Girl3,
+ &gEventObjectGraphicsInfo_RichBoy,
+ &gEventObjectGraphicsInfo_Woman1,
+ &gEventObjectGraphicsInfo_FatMan,
+ &gEventObjectGraphicsInfo_PokefanF,
+ &gEventObjectGraphicsInfo_Man1,
+ &gEventObjectGraphicsInfo_Woman2,
+ &gEventObjectGraphicsInfo_ExpertM,
+ &gEventObjectGraphicsInfo_ExpertF,
+ &gEventObjectGraphicsInfo_Man2,
+ &gEventObjectGraphicsInfo_Woman3,
+ &gEventObjectGraphicsInfo_PokefanM,
+ &gEventObjectGraphicsInfo_Woman4,
+ &gEventObjectGraphicsInfo_Cook,
+ &gEventObjectGraphicsInfo_LinkReceptionist,
+ &gEventObjectGraphicsInfo_OldMan,
+ &gEventObjectGraphicsInfo_OldWoman,
+ &gEventObjectGraphicsInfo_Camper,
+ &gEventObjectGraphicsInfo_Picnicker,
+ &gEventObjectGraphicsInfo_Man3,
+ &gEventObjectGraphicsInfo_Woman5,
+ &gEventObjectGraphicsInfo_Youngster,
+ &gEventObjectGraphicsInfo_BugCatcher,
+ &gEventObjectGraphicsInfo_PsychicM,
+ &gEventObjectGraphicsInfo_SchoolKidM,
+ &gEventObjectGraphicsInfo_Maniac,
+ &gEventObjectGraphicsInfo_HexManiac,
+ &gEventObjectGraphicsInfo_Rayquaza1,
+ &gEventObjectGraphicsInfo_SwimmerM,
+ &gEventObjectGraphicsInfo_SwimmerF,
+ &gEventObjectGraphicsInfo_BlackBelt,
+ &gEventObjectGraphicsInfo_Beauty,
+ &gEventObjectGraphicsInfo_Scientist1,
+ &gEventObjectGraphicsInfo_Lass,
+ &gEventObjectGraphicsInfo_Gentleman,
+ &gEventObjectGraphicsInfo_Sailor,
+ &gEventObjectGraphicsInfo_Fisherman,
+ &gEventObjectGraphicsInfo_RunningTriathleteM,
+ &gEventObjectGraphicsInfo_RunningTriathleteF,
+ &gEventObjectGraphicsInfo_TuberF,
+ &gEventObjectGraphicsInfo_TuberM,
+ &gEventObjectGraphicsInfo_Hiker,
+ &gEventObjectGraphicsInfo_CyclingTriathleteM,
+ &gEventObjectGraphicsInfo_CyclingTriathleteF,
+ &gEventObjectGraphicsInfo_Nurse,
+ &gEventObjectGraphicsInfo_ItemBall,
+ &gEventObjectGraphicsInfo_BerryTree,
+ &gEventObjectGraphicsInfo_BerryTreeEarlyStages,
+ &gEventObjectGraphicsInfo_BerryTreeLateStages,
+ &gEventObjectGraphicsInfo_BrendanAcroBike,
+ &gEventObjectGraphicsInfo_ProfBirch,
+ &gEventObjectGraphicsInfo_Man4,
+ &gEventObjectGraphicsInfo_Man5,
+ &gEventObjectGraphicsInfo_ReporterM,
+ &gEventObjectGraphicsInfo_ReporterF,
+ &gEventObjectGraphicsInfo_Bard,
+ &gEventObjectGraphicsInfo_Anabel,
+ &gEventObjectGraphicsInfo_Tucker,
+ &gEventObjectGraphicsInfo_Greta,
+ &gEventObjectGraphicsInfo_Spenser,
+ &gEventObjectGraphicsInfo_Noland,
+ &gEventObjectGraphicsInfo_Lucy,
+ &gEventObjectGraphicsInfo_UnusedNatuDoll,
+ &gEventObjectGraphicsInfo_UnusedMagnemiteDoll,
+ &gEventObjectGraphicsInfo_UnusedSquirtleDoll,
+ &gEventObjectGraphicsInfo_UnusedWooperDoll,
+ &gEventObjectGraphicsInfo_UnusedPikachuDoll,
+ &gEventObjectGraphicsInfo_UnusedPorygon2Doll,
+ &gEventObjectGraphicsInfo_CuttableTree,
+ &gEventObjectGraphicsInfo_MartEmployee,
+ &gEventObjectGraphicsInfo_RooftopSaleWoman,
+ &gEventObjectGraphicsInfo_Teala,
+ &gEventObjectGraphicsInfo_BreakableRock,
+ &gEventObjectGraphicsInfo_PushableBoulder,
+ &gEventObjectGraphicsInfo_MrBrineysBoat,
+ &gEventObjectGraphicsInfo_MayNormal,
+ &gEventObjectGraphicsInfo_MayMachBike,
+ &gEventObjectGraphicsInfo_MayAcroBike,
+ &gEventObjectGraphicsInfo_MaySurfing,
+ &gEventObjectGraphicsInfo_MayFieldMove,
+ &gEventObjectGraphicsInfo_Truck,
+ &gEventObjectGraphicsInfo_VigorothCarryingBox,
+ &gEventObjectGraphicsInfo_VigorothFacingAway,
+ &gEventObjectGraphicsInfo_BirchsBag,
+ &gEventObjectGraphicsInfo_EnemyZigzagoon,
+ &gEventObjectGraphicsInfo_Artist,
+ &gEventObjectGraphicsInfo_RivalBrendanNormal,
+ &gEventObjectGraphicsInfo_RivalBrendanMachBike,
+ &gEventObjectGraphicsInfo_RivalBrendanAcroBike,
+ &gEventObjectGraphicsInfo_RivalBrendanSurfing,
+ &gEventObjectGraphicsInfo_RivalBrendanFieldMove,
+ &gEventObjectGraphicsInfo_RivalMayNormal,
+ &gEventObjectGraphicsInfo_RivalMayMachBike,
+ &gEventObjectGraphicsInfo_RivalMayAcroBike,
+ &gEventObjectGraphicsInfo_RivalMaySurfing,
+ &gEventObjectGraphicsInfo_RivalMayFieldMove,
+ &gEventObjectGraphicsInfo_Cameraman,
+ &gEventObjectGraphicsInfo_BrendanUnderwater,
+ &gEventObjectGraphicsInfo_MayUnderwater,
+ &gEventObjectGraphicsInfo_MovingBox,
+ &gEventObjectGraphicsInfo_CableCar,
+ &gEventObjectGraphicsInfo_Scientist2,
+ &gEventObjectGraphicsInfo_DevonEmployee,
+ &gEventObjectGraphicsInfo_AquaMemberM,
+ &gEventObjectGraphicsInfo_AquaMemberF,
+ &gEventObjectGraphicsInfo_MagmaMemberM,
+ &gEventObjectGraphicsInfo_MagmaMemberF,
+ &gEventObjectGraphicsInfo_Sidney,
+ &gEventObjectGraphicsInfo_Phoebe,
+ &gEventObjectGraphicsInfo_Glacia,
+ &gEventObjectGraphicsInfo_Drake,
+ &gEventObjectGraphicsInfo_Roxanne,
+ &gEventObjectGraphicsInfo_Brawly,
+ &gEventObjectGraphicsInfo_Wattson,
+ &gEventObjectGraphicsInfo_Flannery,
+ &gEventObjectGraphicsInfo_Norman,
+ &gEventObjectGraphicsInfo_Winona,
+ &gEventObjectGraphicsInfo_Liza,
+ &gEventObjectGraphicsInfo_Tate,
+ &gEventObjectGraphicsInfo_Wallace,
+ &gEventObjectGraphicsInfo_Steven,
+ &gEventObjectGraphicsInfo_Wally,
+ &gEventObjectGraphicsInfo_RubySapphireLittleBoy,
+ &gEventObjectGraphicsInfo_BrendanFishing,
+ &gEventObjectGraphicsInfo_MayFishing,
+ &gEventObjectGraphicsInfo_HotSpringsOldWoman,
+ &gEventObjectGraphicsInfo_SSTidal,
+ &gEventObjectGraphicsInfo_SubmarineShadow,
+ &gEventObjectGraphicsInfo_PichuDoll,
+ &gEventObjectGraphicsInfo_PikachuDoll,
+ &gEventObjectGraphicsInfo_MarillDoll,
+ &gEventObjectGraphicsInfo_TogepiDoll,
+ &gEventObjectGraphicsInfo_CyndaquilDoll,
+ &gEventObjectGraphicsInfo_ChikoritaDoll,
+ &gEventObjectGraphicsInfo_TotodileDoll,
+ &gEventObjectGraphicsInfo_JigglypuffDoll,
+ &gEventObjectGraphicsInfo_MeowthDoll,
+ &gEventObjectGraphicsInfo_ClefairyDoll,
+ &gEventObjectGraphicsInfo_DittoDoll,
+ &gEventObjectGraphicsInfo_SmoochumDoll,
+ &gEventObjectGraphicsInfo_TreeckoDoll,
+ &gEventObjectGraphicsInfo_TorchicDoll,
+ &gEventObjectGraphicsInfo_MudkipDoll,
+ &gEventObjectGraphicsInfo_DuskullDoll,
+ &gEventObjectGraphicsInfo_WynautDoll,
+ &gEventObjectGraphicsInfo_BaltoyDoll,
+ &gEventObjectGraphicsInfo_KecleonDoll,
+ &gEventObjectGraphicsInfo_AzurillDoll,
+ &gEventObjectGraphicsInfo_SkittyDoll,
+ &gEventObjectGraphicsInfo_SwabluDoll,
+ &gEventObjectGraphicsInfo_GulpinDoll,
+ &gEventObjectGraphicsInfo_LotadDoll,
+ &gEventObjectGraphicsInfo_SeedotDoll,
+ &gEventObjectGraphicsInfo_PikaCushion,
+ &gEventObjectGraphicsInfo_RoundCushion,
+ &gEventObjectGraphicsInfo_KissCushion,
+ &gEventObjectGraphicsInfo_ZigzagCushion,
+ &gEventObjectGraphicsInfo_SpinCushion,
+ &gEventObjectGraphicsInfo_DiamondCushion,
+ &gEventObjectGraphicsInfo_BallCushion,
+ &gEventObjectGraphicsInfo_GrassCushion,
+ &gEventObjectGraphicsInfo_FireCushion,
+ &gEventObjectGraphicsInfo_WaterCushion,
+ &gEventObjectGraphicsInfo_BigSnorlaxDoll,
+ &gEventObjectGraphicsInfo_BigRhydonDoll,
+ &gEventObjectGraphicsInfo_BigLaprasDoll,
+ &gEventObjectGraphicsInfo_BigVenusaurDoll,
+ &gEventObjectGraphicsInfo_BigCharizardDoll,
+ &gEventObjectGraphicsInfo_BigBlastoiseDoll,
+ &gEventObjectGraphicsInfo_BigWailmerDoll,
+ &gEventObjectGraphicsInfo_BigRegirockDoll,
+ &gEventObjectGraphicsInfo_BigRegiceDoll,
+ &gEventObjectGraphicsInfo_BigRegisteelDoll,
+ &gEventObjectGraphicsInfo_Latias,
+ &gEventObjectGraphicsInfo_Latios,
+ &gEventObjectGraphicsInfo_GameboyKid,
+ &gEventObjectGraphicsInfo_ContestJudge,
+ &gEventObjectGraphicsInfo_BrendanWatering,
+ &gEventObjectGraphicsInfo_MayWatering,
+ &gEventObjectGraphicsInfo_BrendanDecorating,
+ &gEventObjectGraphicsInfo_MayDecorating,
+ &gEventObjectGraphicsInfo_Archie,
+ &gEventObjectGraphicsInfo_Maxie,
+ &gEventObjectGraphicsInfo_Kyogre1,
+ &gEventObjectGraphicsInfo_Groudon1,
+ &gEventObjectGraphicsInfo_Fossil,
+ &gEventObjectGraphicsInfo_Regirock,
+ &gEventObjectGraphicsInfo_Regice,
+ &gEventObjectGraphicsInfo_Registeel,
+ &gEventObjectGraphicsInfo_Skitty,
+ &gEventObjectGraphicsInfo_Kecleon1,
+ &gEventObjectGraphicsInfo_Kyogre2,
+ &gEventObjectGraphicsInfo_Groudon2,
+ &gEventObjectGraphicsInfo_Rayquaza2,
+ &gEventObjectGraphicsInfo_Zigzagoon,
+ &gEventObjectGraphicsInfo_Pikachu,
+ &gEventObjectGraphicsInfo_Azumarill,
+ &gEventObjectGraphicsInfo_Wingull,
+ &gEventObjectGraphicsInfo_Kecleon2,
+ &gEventObjectGraphicsInfo_TuberMSwimming,
+ &gEventObjectGraphicsInfo_Azurill,
+ &gEventObjectGraphicsInfo_Mom,
+ &gEventObjectGraphicsInfo_LinkBrendan,
+ &gEventObjectGraphicsInfo_LinkMay,
+ &gEventObjectGraphicsInfo_Juan,
+ &gEventObjectGraphicsInfo_Scott,
+ &gEventObjectGraphicsInfo_Poochyena,
+ &gEventObjectGraphicsInfo_Kyogre3,
+ &gEventObjectGraphicsInfo_Groudon3,
+ &gEventObjectGraphicsInfo_MysteryEventDeliveryman,
+ &gEventObjectGraphicsInfo_Statue,
+ &gEventObjectGraphicsInfo_Kirlia,
+ &gEventObjectGraphicsInfo_Dusclops,
+ &gEventObjectGraphicsInfo_UnionRoomAttendant,
+ &gEventObjectGraphicsInfo_Sudowoodo,
+ &gEventObjectGraphicsInfo_Mew,
+ &gEventObjectGraphicsInfo_Red,
+ &gEventObjectGraphicsInfo_Leaf,
+ &gEventObjectGraphicsInfo_Deoxys,
+ &gEventObjectGraphicsInfo_BirthIslandStone,
+ &gEventObjectGraphicsInfo_Brandon,
+ &gEventObjectGraphicsInfo_RubySapphireBrendan,
+ &gEventObjectGraphicsInfo_RubySapphireMay,
+ &gEventObjectGraphicsInfo_Lugia,
+ &gEventObjectGraphicsInfo_HoOh,
};
const struct EventObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = {
- &gEventObjectGraphicsInfo_Bard,
- &gEventObjectGraphicsInfo_Hipster,
- &gEventObjectGraphicsInfo_Trader,
- &gEventObjectGraphicsInfo_Storyteller,
- &gEventObjectGraphicsInfo_Giddy,
- &gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
- &gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
+ &gEventObjectGraphicsInfo_Bard,
+ &gEventObjectGraphicsInfo_Hipster,
+ &gEventObjectGraphicsInfo_Trader,
+ &gEventObjectGraphicsInfo_Storyteller,
+ &gEventObjectGraphicsInfo_Giddy,
+ &gEventObjectGraphicsInfo_UnusedMauvilleOldMan1,
+ &gEventObjectGraphicsInfo_UnusedMauvilleOldMan2,
};
-
-#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H
diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h
index bd1ad1a25..5c8be195d 100755
--- a/src/data/field_event_obj/event_object_pic_tables.h
+++ b/src/data/field_event_obj/event_object_pic_tables.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_PIC_TABLES_H
-#define GUARD_EVENT_OBJECT_PIC_TABLES_H
-
const struct SpriteFrameImage gEventObjectPicTable_BrendanNormal[] = {
overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 0),
overworld_frame(gEventObjectPic_BrendanNormal, 2, 4, 1),
@@ -2175,5 +2172,3 @@ const struct SpriteFrameImage gEventObjectPicTable_RubySapphireMay[] = {
overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 7),
overworld_frame(gEventObjectPic_RubySapphireMayNormal, 2, 4, 8),
};
-
-#endif //GUARD_EVENT_OBJECT_PIC_TABLES_H
diff --git a/src/data/field_event_obj/event_object_subsprites.h b/src/data/field_event_obj/event_object_subsprites.h
index db5fddf1e..5da262731 100755
--- a/src/data/field_event_obj/event_object_subsprites.h
+++ b/src/data/field_event_obj/event_object_subsprites.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_EVENT_OBJECT_SUBSPRITES_H
-#define GUARD_EVENT_OBJECT_SUBSPRITES_H
-
const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = {
{ -8, -8, 0, 1, 0, 2}
};
@@ -338,5 +335,3 @@ const struct SubspriteTable gEventObjectSpriteOamTables_SubmarineShadow[] = {
{16, gEventObjectSpriteOamTable_SubmarineShadow_3},
{16, gEventObjectSpriteOamTable_SubmarineShadow_3}
};
-
-#endif //GUARD_EVENT_OBJECT_SUBSPRITES_H
diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_event_obj/field_effect_object_template_pointers.h
index 3b08a5ff1..32d2b069a 100755
--- a/src/data/field_event_obj/field_effect_object_template_pointers.h
+++ b/src/data/field_event_obj/field_effect_object_template_pointers.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
-#define GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
-
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge;
@@ -78,5 +75,3 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
&gFieldEffectObjectTemplate_Unknown35,
&gFieldEffectObjectTemplate_Rayquaza,
};
-
-#endif //GUARD_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h
index 82fde1769..a3944de36 100755
--- a/src/data/field_event_obj/field_effect_objects.h
+++ b/src/data/field_event_obj/field_effect_objects.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_FIELD_EFFECT_OBJECTS_H
-#define GUARD_FIELD_EFFECT_OBJECTS_H
-
const struct SpritePalette gFieldEffectObjectPaletteInfo0 = {gFieldEffectObjectPalette0, 0x1004};
const struct SpritePalette gFieldEffectObjectPaletteInfo1 = {gFieldEffectObjectPalette1, 0x1005};
@@ -993,5 +990,3 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = {
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80};
const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gEventObjectPalette2, 0x1011};
-
-#endif //GUARD_FIELD_EFFECT_OBJECTS_H
diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h
index b24f5dea4..712988f5e 100755
--- a/src/data/field_event_obj/movement_action_func_tables.h
+++ b/src/data/field_event_obj/movement_action_func_tables.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
-#define GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
-
u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *);
u8 MovementAction_PauseSpriteAnim(struct EventObject *, struct Sprite *);
@@ -425,1094 +422,1092 @@ u8 (*const gMovementActionFuncs_FlyUp[])(struct EventObject *, struct Sprite *);
u8 (*const gMovementActionFuncs_FlyDown[])(struct EventObject *, struct Sprite *);
u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) = {
- gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN
- gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP
- gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT
- gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT
- gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_SLOW_DOWN
- gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_SLOW_UP
- gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_SLOW_LEFT
- gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_SLOW_RIGHT
- gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_NORMAL_DOWN
- gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_NORMAL_UP
- gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_NORMAL_LEFT
- gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_NORMAL_RIGHT
- gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN
- gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP
- gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT
- gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT
- gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1
- gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2
- gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4
- gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8
- gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16
- gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN
- gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP
- gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT
- gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT
- gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN
- gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP
- gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT
- gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT
- gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN
- gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP
- gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT
- gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT
- gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN
- gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP
- gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT
- gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT
- gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN
- gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP
- gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT
- gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT
- gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN
- gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP
- gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT
- gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT
- gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN
- gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP
- gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT
- gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT
- gMovementActionFuncs_SlideDown, // MOVEMENT_ACTION_SLIDE_DOWN
- gMovementActionFuncs_SlideUp, // MOVEMENT_ACTION_SLIDE_UP
- gMovementActionFuncs_SlideLeft, // MOVEMENT_ACTION_SLIDE_LEFT
- gMovementActionFuncs_SlideRight, // MOVEMENT_ACTION_SLIDE_RIGHT
- gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN
- gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP
- gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT
- gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT
- gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION
- gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN
- gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP
- gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT
- gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT
- gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER
- gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER
- gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION
- gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION
- gMovementActionFuncs_JumpDown, // MOVEMENT_ACTION_JUMP_DOWN
- gMovementActionFuncs_JumpUp, // MOVEMENT_ACTION_JUMP_UP
- gMovementActionFuncs_JumpLeft, // MOVEMENT_ACTION_JUMP_LEFT
- gMovementActionFuncs_JumpRight, // MOVEMENT_ACTION_JUMP_RIGHT
- gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN
- gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP
- gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT
- gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT
- gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP
- gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN
- gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT
- gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT
- gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION
- gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN
- gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT
- gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT
- gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION
- gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION
- gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE
- gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE
- gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK
- gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK
- gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART
- gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER
- gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK
- gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE
- gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY
- gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY
- gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM
- gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM
- gMovementActionFuncs_Unknown1, // MOVEMENT_ACTION_UNKNOWN1
- gMovementActionFuncs_Unknown2, // MOVEMENT_ACTION_UNKNOWN2
- gMovementActionFuncs_WalkDownStartAffine, // MOVEMENT_ACTION_WALK_DOWN_START_AFFINE
- gMovementActionFuncs_WalkDownAffine, // MOVEMENT_ACTION_WALK_DOWN_AFFINE
- gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN
- gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP
- gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT
- gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT
- gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN
- gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP
- gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT
- gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT
- gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN
- gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP
- gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT
- gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT
- gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN
- gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP
- gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT
- gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT
- gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN
- gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP
- gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT
- gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT
- gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN
- gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP
- gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT
- gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT
- gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN
- gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP
- gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT
- gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT
- gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN
- gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP
- gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT
- gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT
- gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN
- gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP
- gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT
- gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT
- gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN
- gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP
- gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT
- gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT
- gMovementActionFuncs_WalkNormalDiagonalUpLeft, // MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT
- gMovementActionFuncs_WalkNormalDiagonalUpRight, // MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT
- gMovementActionFuncs_WalkNormalDiagonalDownLeft, // MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT
- gMovementActionFuncs_WalkNormalDiagonalDownRight, // MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT
- gMovementActionFuncs_WalkSlowDiagonalUpLeft, // MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT
- gMovementActionFuncs_WalkSlowDiagonalUpRight, // MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT
- gMovementActionFuncs_WalkSlowDiagonalDownLeft, // MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT
- gMovementActionFuncs_WalkSlowDiagonalDownRight, // MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT
- gMovementActionFuncs_StoreAndLockAnim, // MOVEMENT_ACTION_STORE_AND_LOCK_ANIM
- gMovementActionFuncs_FreeAndUnlockAnim, // MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM
- gMovementActionFuncs_WalkLeftAffine, // MOVEMENT_ACTION_WALK_LEFT_AFFINE
- gMovementActionFuncs_WalkRightAffine, // MOVEMENT_ACTION_WALK_RIGHT_AFFINE
- gMovementActionFuncs_Levitate, // MOVEMENT_ACTION_LEVITATE
- gMovementActionFuncs_StopLevitate, // MOVEMENT_ACTION_STOP_LEVITATE
- gMovementActionFuncs_DestroyExtraTaskIfAtTop, // MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP
- gMovementActionFuncs_Figure8, // MOVEMENT_ACTION_FIGURE_8
- gMovementActionFuncs_FlyUp, // MOVEMENT_ACTION_FLY_UP
- gMovementActionFuncs_FlyDown, // MOVEMENT_ACTION_FLY_DOWN
+ [MOVEMENT_ACTION_FACE_DOWN] = gMovementActionFuncs_FaceDown,
+ [MOVEMENT_ACTION_FACE_UP] = gMovementActionFuncs_FaceUp,
+ [MOVEMENT_ACTION_FACE_LEFT] = gMovementActionFuncs_FaceLeft,
+ [MOVEMENT_ACTION_FACE_RIGHT] = gMovementActionFuncs_FaceRight,
+ [MOVEMENT_ACTION_WALK_SLOW_DOWN] = gMovementActionFuncs_WalkSlowDown,
+ [MOVEMENT_ACTION_WALK_SLOW_UP] = gMovementActionFuncs_WalkSlowUp,
+ [MOVEMENT_ACTION_WALK_SLOW_LEFT] = gMovementActionFuncs_WalkSlowLeft,
+ [MOVEMENT_ACTION_WALK_SLOW_RIGHT] = gMovementActionFuncs_WalkSlowRight,
+ [MOVEMENT_ACTION_WALK_NORMAL_DOWN] = gMovementActionFuncs_WalkNormalDown,
+ [MOVEMENT_ACTION_WALK_NORMAL_UP] = gMovementActionFuncs_WalkNormalUp,
+ [MOVEMENT_ACTION_WALK_NORMAL_LEFT] = gMovementActionFuncs_WalkNormalLeft,
+ [MOVEMENT_ACTION_WALK_NORMAL_RIGHT] = gMovementActionFuncs_WalkNormalRight,
+ [MOVEMENT_ACTION_JUMP_2_DOWN] = gMovementActionFuncs_Jump2Down,
+ [MOVEMENT_ACTION_JUMP_2_UP] = gMovementActionFuncs_Jump2Up,
+ [MOVEMENT_ACTION_JUMP_2_LEFT] = gMovementActionFuncs_Jump2Left,
+ [MOVEMENT_ACTION_JUMP_2_RIGHT] = gMovementActionFuncs_Jump2Right,
+ [MOVEMENT_ACTION_DELAY_1] = gMovementActionFuncs_Delay1,
+ [MOVEMENT_ACTION_DELAY_2] = gMovementActionFuncs_Delay2,
+ [MOVEMENT_ACTION_DELAY_4] = gMovementActionFuncs_Delay4,
+ [MOVEMENT_ACTION_DELAY_8] = gMovementActionFuncs_Delay8,
+ [MOVEMENT_ACTION_DELAY_16] = gMovementActionFuncs_Delay16,
+ [MOVEMENT_ACTION_WALK_FAST_DOWN] = gMovementActionFuncs_WalkFastDown,
+ [MOVEMENT_ACTION_WALK_FAST_UP] = gMovementActionFuncs_WalkFastUp,
+ [MOVEMENT_ACTION_WALK_FAST_LEFT] = gMovementActionFuncs_WalkFastLeft,
+ [MOVEMENT_ACTION_WALK_FAST_RIGHT] = gMovementActionFuncs_WalkFastRight,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN] = gMovementActionFuncs_WalkInPlaceSlowDown,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP] = gMovementActionFuncs_WalkInPlaceSlowUp,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT] = gMovementActionFuncs_WalkInPlaceSlowLeft,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT] = gMovementActionFuncs_WalkInPlaceSlowRight,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN] = gMovementActionFuncs_WalkInPlaceNormalDown,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP] = gMovementActionFuncs_WalkInPlaceNormalUp,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT] = gMovementActionFuncs_WalkInPlaceNormalLeft,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT] = gMovementActionFuncs_WalkInPlaceNormalRight,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN] = gMovementActionFuncs_WalkInPlaceFastDown,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP] = gMovementActionFuncs_WalkInPlaceFastUp,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT] = gMovementActionFuncs_WalkInPlaceFastLeft,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT] = gMovementActionFuncs_WalkInPlaceFastRight,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN] = gMovementActionFuncs_WalkInPlaceFastestDown,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP] = gMovementActionFuncs_WalkInPlaceFastestUp,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT] = gMovementActionFuncs_WalkInPlaceFastestLeft,
+ [MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT] = gMovementActionFuncs_WalkInPlaceFastestRight,
+ [MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN] = gMovementActionFuncs_RideWaterCurrentDown,
+ [MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP] = gMovementActionFuncs_RideWaterCurrentUp,
+ [MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT] = gMovementActionFuncs_RideWaterCurrentLeft,
+ [MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT] = gMovementActionFuncs_RideWaterCurrentRight,
+ [MOVEMENT_ACTION_WALK_FASTEST_DOWN] = gMovementActionFuncs_WalkFastestDown,
+ [MOVEMENT_ACTION_WALK_FASTEST_UP] = gMovementActionFuncs_WalkFastestUp,
+ [MOVEMENT_ACTION_WALK_FASTEST_LEFT] = gMovementActionFuncs_WalkFastestLeft,
+ [MOVEMENT_ACTION_WALK_FASTEST_RIGHT] = gMovementActionFuncs_WalkFastestRight,
+ [MOVEMENT_ACTION_SLIDE_DOWN] = gMovementActionFuncs_SlideDown,
+ [MOVEMENT_ACTION_SLIDE_UP] = gMovementActionFuncs_SlideUp,
+ [MOVEMENT_ACTION_SLIDE_LEFT] = gMovementActionFuncs_SlideLeft,
+ [MOVEMENT_ACTION_SLIDE_RIGHT] = gMovementActionFuncs_SlideRight,
+ [MOVEMENT_ACTION_PLAYER_RUN_DOWN] = gMovementActionFuncs_PlayerRunDown,
+ [MOVEMENT_ACTION_PLAYER_RUN_UP] = gMovementActionFuncs_PlayerRunUp,
+ [MOVEMENT_ACTION_PLAYER_RUN_LEFT] = gMovementActionFuncs_PlayerRunLeft,
+ [MOVEMENT_ACTION_PLAYER_RUN_RIGHT] = gMovementActionFuncs_PlayerRunRight,
+ [MOVEMENT_ACTION_START_ANIM_IN_DIRECTION] = gMovementActionFuncs_StartAnimInDirection,
+ [MOVEMENT_ACTION_JUMP_SPECIAL_DOWN] = gMovementActionFuncs_JumpSpecialDown,
+ [MOVEMENT_ACTION_JUMP_SPECIAL_UP] = gMovementActionFuncs_JumpSpecialUp,
+ [MOVEMENT_ACTION_JUMP_SPECIAL_LEFT] = gMovementActionFuncs_JumpSpecialLeft,
+ [MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT] = gMovementActionFuncs_JumpSpecialRight,
+ [MOVEMENT_ACTION_FACE_PLAYER] = gMovementActionFuncs_FacePlayer,
+ [MOVEMENT_ACTION_FACE_AWAY_PLAYER] = gMovementActionFuncs_FaceAwayPlayer,
+ [MOVEMENT_ACTION_LOCK_FACING_DIRECTION] = gMovementActionFuncs_LockFacingDirection,
+ [MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION] = gMovementActionFuncs_UnlockFacingDirection,
+ [MOVEMENT_ACTION_JUMP_DOWN] = gMovementActionFuncs_JumpDown,
+ [MOVEMENT_ACTION_JUMP_UP] = gMovementActionFuncs_JumpUp,
+ [MOVEMENT_ACTION_JUMP_LEFT] = gMovementActionFuncs_JumpLeft,
+ [MOVEMENT_ACTION_JUMP_RIGHT] = gMovementActionFuncs_JumpRight,
+ [MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN] = gMovementActionFuncs_JumpInPlaceDown,
+ [MOVEMENT_ACTION_JUMP_IN_PLACE_UP] = gMovementActionFuncs_JumpInPlaceUp,
+ [MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT] = gMovementActionFuncs_JumpInPlaceLeft,
+ [MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT] = gMovementActionFuncs_JumpInPlaceRight,
+ [MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP] = gMovementActionFuncs_JumpInPlaceDownUp,
+ [MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN] = gMovementActionFuncs_JumpInPlaceUpDown,
+ [MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT] = gMovementActionFuncs_JumpInPlaceLeftRight,
+ [MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT] = gMovementActionFuncs_JumpInPlaceRightLeft,
+ [MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION] = gMovementActionFuncs_FaceOriginalDirection,
+ [MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN] = gMovementActionFuncs_NurseJoyBowDown,
+ [MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT] = gMovementActionFuncs_EnableJumpLandingGroundEffect,
+ [MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT] = gMovementActionFuncs_DisableJumpLandingGroundEffect,
+ [MOVEMENT_ACTION_DISABLE_ANIMATION] = gMovementActionFuncs_DisableAnimation,
+ [MOVEMENT_ACTION_RESTORE_ANIMATION] = gMovementActionFuncs_RestoreAnimation,
+ [MOVEMENT_ACTION_SET_INVISIBLE] = gMovementActionFuncs_SetInvisible,
+ [MOVEMENT_ACTION_SET_VISIBLE] = gMovementActionFuncs_SetVisible,
+ [MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK] = gMovementActionFuncs_EmoteExclamationMark,
+ [MOVEMENT_ACTION_EMOTE_QUESTION_MARK] = gMovementActionFuncs_EmoteQuestionMark,
+ [MOVEMENT_ACTION_EMOTE_HEART] = gMovementActionFuncs_EmoteHeart,
+ [MOVEMENT_ACTION_REVEAL_TRAINER] = gMovementActionFuncs_RevealTrainer,
+ [MOVEMENT_ACTION_ROCK_SMASH_BREAK] = gMovementActionFuncs_RockSmashBreak,
+ [MOVEMENT_ACTION_CUT_TREE] = gMovementActionFuncs_CutTree,
+ [MOVEMENT_ACTION_SET_FIXED_PRIORITY] = gMovementActionFuncs_SetFixedPriority,
+ [MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY] = gMovementActionFuncs_ClearFixedPriority,
+ [MOVEMENT_ACTION_INIT_AFFINE_ANIM] = gMovementActionFuncs_InitAffineAnim,
+ [MOVEMENT_ACTION_CLEAR_AFFINE_ANIM] = gMovementActionFuncs_ClearAffineAnim,
+ [MOVEMENT_ACTION_UNKNOWN1] = gMovementActionFuncs_Unknown1,
+ [MOVEMENT_ACTION_UNKNOWN2] = gMovementActionFuncs_Unknown2,
+ [MOVEMENT_ACTION_WALK_DOWN_START_AFFINE] = gMovementActionFuncs_WalkDownStartAffine,
+ [MOVEMENT_ACTION_WALK_DOWN_AFFINE] = gMovementActionFuncs_WalkDownAffine,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN] = gMovementActionFuncs_AcroWheelieFaceDown,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP] = gMovementActionFuncs_AcroWheelieFaceUp,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT] = gMovementActionFuncs_AcroWheelieFaceLeft,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT] = gMovementActionFuncs_AcroWheelieFaceRight,
+ [MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN] = gMovementActionFuncs_AcroPopWheelieDown,
+ [MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP] = gMovementActionFuncs_AcroPopWheelieUp,
+ [MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT] = gMovementActionFuncs_AcroPopWheelieLeft,
+ [MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT] = gMovementActionFuncs_AcroPopWheelieRight,
+ [MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN] = gMovementActionFuncs_AcroEndWheelieFaceDown,
+ [MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP] = gMovementActionFuncs_AcroEndWheelieFaceUp,
+ [MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT] = gMovementActionFuncs_AcroEndWheelieFaceLeft,
+ [MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT] = gMovementActionFuncs_AcroEndWheelieFaceRight,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN] = gMovementActionFuncs_AcroWheelieHopFaceDown,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP] = gMovementActionFuncs_AcroWheelieHopFaceUp,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT] = gMovementActionFuncs_AcroWheelieHopFaceLeft,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT] = gMovementActionFuncs_AcroWheelieHopFaceRight,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN] = gMovementActionFuncs_AcroWheelieHopDown,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP] = gMovementActionFuncs_AcroWheelieHopUp,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT] = gMovementActionFuncs_AcroWheelieHopLeft,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT] = gMovementActionFuncs_AcroWheelieHopRight,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN] = gMovementActionFuncs_AcroWheelieJumpDown,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP] = gMovementActionFuncs_AcroWheelieJumpUp,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT] = gMovementActionFuncs_AcroWheelieJumpLeft,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT] = gMovementActionFuncs_AcroWheelieJumpRight,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN] = gMovementActionFuncs_AcroWheelieInPlaceDown,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP] = gMovementActionFuncs_AcroWheelieInPlaceUp,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT] = gMovementActionFuncs_AcroWheelieInPlaceLeft,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT] = gMovementActionFuncs_AcroWheelieInPlaceRight,
+ [MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN] = gMovementActionFuncs_AcroPopWheelieMoveDown,
+ [MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP] = gMovementActionFuncs_AcroPopWheelieMoveUp,
+ [MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT] = gMovementActionFuncs_AcroPopWheelieMoveLeft,
+ [MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT] = gMovementActionFuncs_AcroPopWheelieMoveRight,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN] = gMovementActionFuncs_AcroWheelieMoveDown,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP] = gMovementActionFuncs_AcroWheelieMoveUp,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT] = gMovementActionFuncs_AcroWheelieMoveLeft,
+ [MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT] = gMovementActionFuncs_AcroWheelieMoveRight,
+ [MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN] = gMovementActionFuncs_AcroEndWheelieMoveDown,
+ [MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP] = gMovementActionFuncs_AcroEndWheelieMoveUp,
+ [MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT] = gMovementActionFuncs_AcroEndWheelieMoveLeft,
+ [MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT] = gMovementActionFuncs_AcroEndWheelieMoveRight,
+ [MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT] = gMovementActionFuncs_WalkNormalDiagonalUpLeft,
+ [MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT] = gMovementActionFuncs_WalkNormalDiagonalUpRight,
+ [MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT] = gMovementActionFuncs_WalkNormalDiagonalDownLeft,
+ [MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT] = gMovementActionFuncs_WalkNormalDiagonalDownRight,
+ [MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT] = gMovementActionFuncs_WalkSlowDiagonalUpLeft,
+ [MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT] = gMovementActionFuncs_WalkSlowDiagonalUpRight,
+ [MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT] = gMovementActionFuncs_WalkSlowDiagonalDownLeft,
+ [MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT] = gMovementActionFuncs_WalkSlowDiagonalDownRight,
+ [MOVEMENT_ACTION_STORE_AND_LOCK_ANIM] = gMovementActionFuncs_StoreAndLockAnim,
+ [MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM] = gMovementActionFuncs_FreeAndUnlockAnim,
+ [MOVEMENT_ACTION_WALK_LEFT_AFFINE] = gMovementActionFuncs_WalkLeftAffine,
+ [MOVEMENT_ACTION_WALK_RIGHT_AFFINE] = gMovementActionFuncs_WalkRightAffine,
+ [MOVEMENT_ACTION_LEVITATE] = gMovementActionFuncs_Levitate,
+ [MOVEMENT_ACTION_STOP_LEVITATE] = gMovementActionFuncs_StopLevitate,
+ [MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP] = gMovementActionFuncs_DestroyExtraTaskIfAtTop,
+ [MOVEMENT_ACTION_FIGURE_8] = gMovementActionFuncs_Figure8,
+ [MOVEMENT_ACTION_FLY_UP] = gMovementActionFuncs_FlyUp,
+ [MOVEMENT_ACTION_FLY_DOWN] = gMovementActionFuncs_FlyDown,
};
u8 (*const gMovementActionFuncs_FaceDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_FaceDown_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_FaceDown_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_FaceUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_FaceUp_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_FaceUp_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_FaceLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_FaceLeft_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_FaceLeft_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_FaceRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_FaceRight_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_FaceRight_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gUnknown_0850DEE8[])(u8) = {
- GetMoveDirectionAnimNum,
- GetMoveDirectionFastAnimNum,
- GetMoveDirectionFastAnimNum,
- GetMoveDirectionFasterAnimNum,
- GetMoveDirectionFastestAnimNum,
+ GetMoveDirectionAnimNum,
+ GetMoveDirectionFastAnimNum,
+ GetMoveDirectionFastAnimNum,
+ GetMoveDirectionFasterAnimNum,
+ GetMoveDirectionFastestAnimNum,
};
u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkSlowDiagonalUpLeft_Step0,
- MovementAction_WalkSlowDiagonalUpLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkSlowDiagonalUpLeft_Step0,
+ MovementAction_WalkSlowDiagonalUpLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkSlowDiagonalUpRight_Step0,
- MovementAction_WalkSlowDiagonalUpRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkSlowDiagonalUpRight_Step0,
+ MovementAction_WalkSlowDiagonalUpRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkSlowDiagonalDownLeft_Step0,
- MovementAction_WalkSlowDiagonalDownLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkSlowDiagonalDownLeft_Step0,
+ MovementAction_WalkSlowDiagonalDownLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkSlowDiagonalDownRight_Step0,
- MovementAction_WalkSlowDiagonalDownRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkSlowDiagonalDownRight_Step0,
+ MovementAction_WalkSlowDiagonalDownRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkSlowDown_Step0,
- MovementAction_WalkSlowDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkSlowDown_Step0,
+ MovementAction_WalkSlowDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkSlowUp_Step0,
- MovementAction_WalkSlowUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkSlowUp_Step0,
+ MovementAction_WalkSlowUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkSlowLeft_Step0,
- MovementAction_WalkSlowLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkSlowLeft_Step0,
+ MovementAction_WalkSlowLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkSlowRight_Step0,
- MovementAction_WalkSlowRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkSlowRight_Step0,
+ MovementAction_WalkSlowRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkNormalDiagonalUpLeft_Step0,
- MovementAction_WalkNormalDiagonalUpLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkNormalDiagonalUpLeft_Step0,
+ MovementAction_WalkNormalDiagonalUpLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkNormalDiagonalUpRight_Step0,
- MovementAction_WalkNormalDiagonalUpRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkNormalDiagonalUpRight_Step0,
+ MovementAction_WalkNormalDiagonalUpRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkNormalDiagonalDownLeft_Step0,
- MovementAction_WalkNormalDiagonalDownLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkNormalDiagonalDownLeft_Step0,
+ MovementAction_WalkNormalDiagonalDownLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkNormalDiagonalDownRight_Step0,
- MovementAction_WalkNormalDiagonalDownRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkNormalDiagonalDownRight_Step0,
+ MovementAction_WalkNormalDiagonalDownRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkNormalDown_Step0,
- MovementAction_WalkNormalDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkNormalDown_Step0,
+ MovementAction_WalkNormalDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkNormalUp_Step0,
- MovementAction_WalkNormalUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkNormalUp_Step0,
+ MovementAction_WalkNormalUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkNormalLeft_Step0,
- MovementAction_WalkNormalLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkNormalLeft_Step0,
+ MovementAction_WalkNormalLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkNormalRight_Step0,
- MovementAction_WalkNormalRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkNormalRight_Step0,
+ MovementAction_WalkNormalRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
const s16 gUnknown_0850DFBC[] = {0, 1, 1};
const s16 gUnknown_0850DFC2[] = {0, 0, 1};
u8 (*const gMovementActionFuncs_Jump2Down[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Jump2Down_Step0,
- MovementAction_Jump2Down_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_Jump2Down_Step0,
+ MovementAction_Jump2Down_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_Jump2Up[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Jump2Up_Step0,
- MovementAction_Jump2Up_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_Jump2Up_Step0,
+ MovementAction_Jump2Up_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_Jump2Left[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Jump2Left_Step0,
- MovementAction_Jump2Left_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_Jump2Left_Step0,
+ MovementAction_Jump2Left_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_Jump2Right[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Jump2Right_Step0,
- MovementAction_Jump2Right_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_Jump2Right_Step0,
+ MovementAction_Jump2Right_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_Delay1[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Delay1_Step0,
- MovementAction_Delay_Step1,
- MovementAction_Finish,
+ MovementAction_Delay1_Step0,
+ MovementAction_Delay_Step1,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_Delay2[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Delay2_Step0,
- MovementAction_Delay_Step1,
- MovementAction_Finish,
+ MovementAction_Delay2_Step0,
+ MovementAction_Delay_Step1,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_Delay4[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Delay4_Step0,
- MovementAction_Delay_Step1,
- MovementAction_Finish,
+ MovementAction_Delay4_Step0,
+ MovementAction_Delay_Step1,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_Delay8[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Delay8_Step0,
- MovementAction_Delay_Step1,
- MovementAction_Finish,
+ MovementAction_Delay8_Step0,
+ MovementAction_Delay_Step1,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_Delay16[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Delay16_Step0,
- MovementAction_Delay_Step1,
- MovementAction_Finish,
+ MovementAction_Delay16_Step0,
+ MovementAction_Delay_Step1,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_WalkFastDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkFastDown_Step0,
- MovementAction_WalkFastDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkFastDown_Step0,
+ MovementAction_WalkFastDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkFastUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkFastUp_Step0,
- MovementAction_WalkFastUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkFastUp_Step0,
+ MovementAction_WalkFastUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkFastLeft_Step0,
- MovementAction_WalkFastLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkFastLeft_Step0,
+ MovementAction_WalkFastLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkFastRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkFastRight_Step0,
- MovementAction_WalkFastRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkFastRight_Step0,
+ MovementAction_WalkFastRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceSlowDown_Step0,
- MovementAction_WalkInPlaceSlow_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceSlowDown_Step0,
+ MovementAction_WalkInPlaceSlow_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceSlowUp_Step0,
- MovementAction_WalkInPlaceSlow_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceSlowUp_Step0,
+ MovementAction_WalkInPlaceSlow_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceSlowLeft_Step0,
- MovementAction_WalkInPlaceSlow_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceSlowLeft_Step0,
+ MovementAction_WalkInPlaceSlow_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceSlowRight_Step0,
- MovementAction_WalkInPlaceSlow_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceSlowRight_Step0,
+ MovementAction_WalkInPlaceSlow_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceNormalDown_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceNormalDown_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceNormalUp_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceNormalUp_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceNormalLeft_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceNormalLeft_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceNormalRight_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceNormalRight_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceFastDown_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceFastDown_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceFastUp_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceFastUp_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceFastLeft_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceFastLeft_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceFastRight_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceFastRight_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceFastestDown_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceFastestDown_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceFastestUp_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceFastestUp_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceFastestLeft_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceFastestLeft_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkInPlaceFastestRight_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkInPlaceFastestRight_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_RideWaterCurrentDown_Step0,
- MovementAction_RideWaterCurrentDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_RideWaterCurrentDown_Step0,
+ MovementAction_RideWaterCurrentDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_RideWaterCurrentUp_Step0,
- MovementAction_RideWaterCurrentUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_RideWaterCurrentUp_Step0,
+ MovementAction_RideWaterCurrentUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_RideWaterCurrentLeft_Step0,
- MovementAction_RideWaterCurrentLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_RideWaterCurrentLeft_Step0,
+ MovementAction_RideWaterCurrentLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_RideWaterCurrentRight_Step0,
- MovementAction_RideWaterCurrentRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_RideWaterCurrentRight_Step0,
+ MovementAction_RideWaterCurrentRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkFastestDown_Step0,
- MovementAction_WalkFastestDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkFastestDown_Step0,
+ MovementAction_WalkFastestDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkFastestUp_Step0,
- MovementAction_WalkFastestUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkFastestUp_Step0,
+ MovementAction_WalkFastestUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkFastestLeft_Step0,
- MovementAction_WalkFastestLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkFastestLeft_Step0,
+ MovementAction_WalkFastestLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkFastestRight_Step0,
- MovementAction_WalkFastestRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkFastestRight_Step0,
+ MovementAction_WalkFastestRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_SlideDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_SlideDown_Step0,
- MovementAction_SlideDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_SlideDown_Step0,
+ MovementAction_SlideDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_SlideUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_SlideUp_Step0,
- MovementAction_SlideUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_SlideUp_Step0,
+ MovementAction_SlideUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_SlideLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_SlideLeft_Step0,
- MovementAction_SlideLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_SlideLeft_Step0,
+ MovementAction_SlideLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_SlideRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_SlideRight_Step0,
- MovementAction_SlideRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_SlideRight_Step0,
+ MovementAction_SlideRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_PlayerRunDown_Step0,
- MovementAction_PlayerRunDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_PlayerRunDown_Step0,
+ MovementAction_PlayerRunDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_PlayerRunUp_Step0,
- MovementAction_PlayerRunUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_PlayerRunUp_Step0,
+ MovementAction_PlayerRunUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_PlayerRunLeft_Step0,
- MovementAction_PlayerRunLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_PlayerRunLeft_Step0,
+ MovementAction_PlayerRunLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_PlayerRunRight_Step0,
- MovementAction_PlayerRunRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_PlayerRunRight_Step0,
+ MovementAction_PlayerRunRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct EventObject *, struct Sprite *) = {
- MovementAction_StartAnimInDirection_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_StartAnimInDirection_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpSpecialDown_Step0,
- MovementAction_JumpSpecialDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpSpecialDown_Step0,
+ MovementAction_JumpSpecialDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpSpecialUp_Step0,
- MovementAction_JumpSpecialUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpSpecialUp_Step0,
+ MovementAction_JumpSpecialUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpSpecialLeft_Step0,
- MovementAction_JumpSpecialLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpSpecialLeft_Step0,
+ MovementAction_JumpSpecialLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpSpecialRight_Step0,
- MovementAction_JumpSpecialRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpSpecialRight_Step0,
+ MovementAction_JumpSpecialRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_FacePlayer[])(struct EventObject *, struct Sprite *) = {
- MovementAction_FacePlayer_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_FacePlayer_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct EventObject *, struct Sprite *) = {
- MovementAction_FaceAwayPlayer_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_FaceAwayPlayer_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct EventObject *, struct Sprite *) = {
- MovementAction_LockFacingDirection_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_LockFacingDirection_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct EventObject *, struct Sprite *) = {
- MovementAction_UnlockFacingDirection_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_UnlockFacingDirection_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpDown_Step0,
- MovementAction_JumpDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpDown_Step0,
+ MovementAction_JumpDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpUp_Step0,
- MovementAction_JumpUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpUp_Step0,
+ MovementAction_JumpUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpLeft_Step0,
- MovementAction_JumpLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpLeft_Step0,
+ MovementAction_JumpLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpRight_Step0,
- MovementAction_JumpRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpRight_Step0,
+ MovementAction_JumpRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpInPlaceDown_Step0,
- MovementAction_JumpInPlaceDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpInPlaceDown_Step0,
+ MovementAction_JumpInPlaceDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpInPlaceUp_Step0,
- MovementAction_JumpInPlaceUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpInPlaceUp_Step0,
+ MovementAction_JumpInPlaceUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpInPlaceLeft_Step0,
- MovementAction_JumpInPlaceLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpInPlaceLeft_Step0,
+ MovementAction_JumpInPlaceLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpInPlaceRight_Step0,
- MovementAction_JumpInPlaceRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpInPlaceRight_Step0,
+ MovementAction_JumpInPlaceRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpInPlaceDownUp_Step0,
- MovementAction_JumpInPlaceDownUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpInPlaceDownUp_Step0,
+ MovementAction_JumpInPlaceDownUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpInPlaceUpDown_Step0,
- MovementAction_JumpInPlaceUpDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpInPlaceUpDown_Step0,
+ MovementAction_JumpInPlaceUpDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpInPlaceLeftRight_Step0,
- MovementAction_JumpInPlaceLeftRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpInPlaceLeftRight_Step0,
+ MovementAction_JumpInPlaceLeftRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_JumpInPlaceRightLeft_Step0,
- MovementAction_JumpInPlaceRightLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_JumpInPlaceRightLeft_Step0,
+ MovementAction_JumpInPlaceRightLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct EventObject *, struct Sprite *) = {
- MovementAction_FaceOriginalDirection_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_FaceOriginalDirection_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_NurseJoyBowDown_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_NurseJoyBowDown_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *) = {
- MovementAction_EnableJumpLandingGroundEffect_Step0,
- MovementAction_Finish,
+ MovementAction_EnableJumpLandingGroundEffect_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *) = {
- MovementAction_DisableJumpLandingGroundEffect_Step0,
- MovementAction_Finish,
+ MovementAction_DisableJumpLandingGroundEffect_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_DisableAnimation[])(struct EventObject *, struct Sprite *) = {
- MovementAction_DisableAnimation_Step0,
- MovementAction_Finish,
+ MovementAction_DisableAnimation_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct EventObject *, struct Sprite *) = {
- MovementAction_RestoreAnimation_Step0,
- MovementAction_Finish,
+ MovementAction_RestoreAnimation_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_SetInvisible[])(struct EventObject *, struct Sprite *) = {
- MovementAction_SetInvisible_Step0,
- MovementAction_Finish,
+ MovementAction_SetInvisible_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_SetVisible[])(struct EventObject *, struct Sprite *) = {
- MovementAction_SetVisible_Step0,
- MovementAction_Finish,
+ MovementAction_SetVisible_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct EventObject *, struct Sprite *) = {
- MovementAction_EmoteExclamationMark_Step0,
- MovementAction_Finish,
+ MovementAction_EmoteExclamationMark_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct EventObject *, struct Sprite *) = {
- MovementAction_EmoteQuestionMark_Step0,
- MovementAction_Finish,
+ MovementAction_EmoteQuestionMark_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_EmoteHeart[])(struct EventObject *, struct Sprite *) = {
- MovementAction_EmoteHeart_Step0,
- MovementAction_Finish,
+ MovementAction_EmoteHeart_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_RevealTrainer[])(struct EventObject *, struct Sprite *) = {
- MovementAction_RevealTrainer_Step0,
- MovementAction_RevealTrainer_Step1,
- MovementAction_Finish,
+ MovementAction_RevealTrainer_Step0,
+ MovementAction_RevealTrainer_Step1,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct EventObject *, struct Sprite *) = {
- MovementAction_RockSmashBreak_Step0,
- MovementAction_RockSmashBreak_Step1,
- MovementAction_RockSmashBreak_Step2,
- MovementAction_Finish,
+ MovementAction_RockSmashBreak_Step0,
+ MovementAction_RockSmashBreak_Step1,
+ MovementAction_RockSmashBreak_Step2,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_CutTree[])(struct EventObject *, struct Sprite *) = {
- MovementAction_CutTree_Step0,
- MovementAction_CutTree_Step1,
- MovementAction_CutTree_Step2,
- MovementAction_Finish,
+ MovementAction_CutTree_Step0,
+ MovementAction_CutTree_Step1,
+ MovementAction_CutTree_Step2,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct Sprite *) = {
- MovementAction_SetFixedPriority_Step0,
- MovementAction_Finish,
+ MovementAction_SetFixedPriority_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *) = {
- MovementAction_ClearFixedPriority_Step0,
- MovementAction_Finish,
+ MovementAction_ClearFixedPriority_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *) = {
- MovementAction_InitAffineAnim_Step0,
- MovementAction_Finish,
+ MovementAction_InitAffineAnim_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *) = {
- MovementAction_ClearAffineAnim_Step0,
- MovementAction_Finish,
+ MovementAction_ClearAffineAnim_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_Unknown1[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Unknown1_Step0,
- MovementAction_Finish,
+ MovementAction_Unknown1_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_Unknown2[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Unknown2_Step0,
- MovementAction_Finish,
+ MovementAction_Unknown2_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkDownStartAffine_Step0,
- MovementAction_WalkDownStartAffine_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkDownStartAffine_Step0,
+ MovementAction_WalkDownStartAffine_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkDownAffine_Step0,
- MovementAction_WalkDownAffine_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkDownAffine_Step0,
+ MovementAction_WalkDownAffine_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkLeftAffine_Step0,
- MovementAction_WalkLeftAffine_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkLeftAffine_Step0,
+ MovementAction_WalkLeftAffine_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct EventObject *, struct Sprite *) = {
- MovementAction_WalkRightAffine_Step0,
- MovementAction_WalkRightAffine_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_WalkRightAffine_Step0,
+ MovementAction_WalkRightAffine_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieFaceDown_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieFaceDown_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieFaceUp_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieFaceUp_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieFaceLeft_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieFaceLeft_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieFaceRight_Step0,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieFaceRight_Step0,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroPopWheelieDown_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroPopWheelieDown_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroPopWheelieUp_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroPopWheelieUp_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroPopWheelieLeft_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroPopWheelieLeft_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroPopWheelieRight_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroPopWheelieRight_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroEndWheelieFaceDown_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroEndWheelieFaceDown_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroEndWheelieFaceUp_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroEndWheelieFaceUp_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroEndWheelieFaceLeft_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroEndWheelieFaceLeft_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroEndWheelieFaceRight_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroEndWheelieFaceRight_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroUnusedAcroActionDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_UnusedAcroActionDown_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_UnusedAcroActionDown_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroUnusedAcroActionUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_UnusedAcroActionUp_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_UnusedAcroActionUp_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroUnusedAcroActionLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_UnusedAcroActionLeft_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_UnusedAcroActionLeft_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroUnusedAcroActionRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_UnusedAcroActionRight_Step0,
- MovementAction_WaitSpriteAnim,
- MovementAction_PauseSpriteAnim,
+ MovementAction_UnusedAcroActionRight_Step0,
+ MovementAction_WaitSpriteAnim,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_Figure8[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Figure8_Step0,
- MovementAction_Figure8_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_Figure8_Step0,
+ MovementAction_Figure8_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieHopFaceDown_Step0,
- MovementAction_AcroWheelieHopFaceDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieHopFaceDown_Step0,
+ MovementAction_AcroWheelieHopFaceDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieHopFaceUp_Step0,
- MovementAction_AcroWheelieHopFaceUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieHopFaceUp_Step0,
+ MovementAction_AcroWheelieHopFaceUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieHopFaceLeft_Step0,
- MovementAction_AcroWheelieHopFaceLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieHopFaceLeft_Step0,
+ MovementAction_AcroWheelieHopFaceLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieHopFaceRight_Step0,
- MovementAction_AcroWheelieHopFaceRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieHopFaceRight_Step0,
+ MovementAction_AcroWheelieHopFaceRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieHopDown_Step0,
- MovementAction_AcroWheelieHopDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieHopDown_Step0,
+ MovementAction_AcroWheelieHopDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieHopUp_Step0,
- MovementAction_AcroWheelieHopUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieHopUp_Step0,
+ MovementAction_AcroWheelieHopUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieHopLeft_Step0,
- MovementAction_AcroWheelieHopLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieHopLeft_Step0,
+ MovementAction_AcroWheelieHopLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieHopRight_Step0,
- MovementAction_AcroWheelieHopRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieHopRight_Step0,
+ MovementAction_AcroWheelieHopRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieJumpDown_Step0,
- MovementAction_AcroWheelieJumpDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieJumpDown_Step0,
+ MovementAction_AcroWheelieJumpDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieJumpUp_Step0,
- MovementAction_AcroWheelieJumpUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieJumpUp_Step0,
+ MovementAction_AcroWheelieJumpUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieJumpLeft_Step0,
- MovementAction_AcroWheelieJumpLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieJumpLeft_Step0,
+ MovementAction_AcroWheelieJumpLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieJumpRight_Step0,
- MovementAction_AcroWheelieJumpRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieJumpRight_Step0,
+ MovementAction_AcroWheelieJumpRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieInPlaceDown_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieInPlaceDown_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieInPlaceUp_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieInPlaceUp_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieInPlaceLeft_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieInPlaceLeft_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieInPlaceRight_Step0,
- MovementAction_WalkInPlace_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieInPlaceRight_Step0,
+ MovementAction_WalkInPlace_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroPopWheelieMoveDown_Step0,
- MovementAction_AcroPopWheelieMoveDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroPopWheelieMoveDown_Step0,
+ MovementAction_AcroPopWheelieMoveDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroPopWheelieMoveUp_Step0,
- MovementAction_AcroPopWheelieMoveUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroPopWheelieMoveUp_Step0,
+ MovementAction_AcroPopWheelieMoveUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroPopWheelieMoveLeft_Step0,
- MovementAction_AcroPopWheelieMoveLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroPopWheelieMoveLeft_Step0,
+ MovementAction_AcroPopWheelieMoveLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroPopWheelieMoveRight_Step0,
- MovementAction_AcroPopWheelieMoveRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroPopWheelieMoveRight_Step0,
+ MovementAction_AcroPopWheelieMoveRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieMoveDown_Step0,
- MovementAction_AcroWheelieMoveDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieMoveDown_Step0,
+ MovementAction_AcroWheelieMoveDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieMoveUp_Step0,
- MovementAction_AcroWheelieMoveUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieMoveUp_Step0,
+ MovementAction_AcroWheelieMoveUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieMoveLeft_Step0,
- MovementAction_AcroWheelieMoveLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieMoveLeft_Step0,
+ MovementAction_AcroWheelieMoveLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroWheelieMoveRight_Step0,
- MovementAction_AcroWheelieMoveRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroWheelieMoveRight_Step0,
+ MovementAction_AcroWheelieMoveRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroEndWheelieMoveDown_Step0,
- MovementAction_AcroEndWheelieMoveDown_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroEndWheelieMoveDown_Step0,
+ MovementAction_AcroEndWheelieMoveDown_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroEndWheelieMoveUp_Step0,
- MovementAction_AcroEndWheelieMoveUp_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroEndWheelieMoveUp_Step0,
+ MovementAction_AcroEndWheelieMoveUp_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroEndWheelieMoveLeft_Step0,
- MovementAction_AcroEndWheelieMoveLeft_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroEndWheelieMoveLeft_Step0,
+ MovementAction_AcroEndWheelieMoveLeft_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct EventObject *, struct Sprite *) = {
- MovementAction_AcroEndWheelieMoveRight_Step0,
- MovementAction_AcroEndWheelieMoveRight_Step1,
- MovementAction_PauseSpriteAnim,
+ MovementAction_AcroEndWheelieMoveRight_Step0,
+ MovementAction_AcroEndWheelieMoveRight_Step1,
+ MovementAction_PauseSpriteAnim,
};
u8 (*const gMovementActionFuncs_Levitate[])(struct EventObject *, struct Sprite *) = {
- MovementAction_Levitate_Step0,
- MovementAction_Finish,
+ MovementAction_Levitate_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_StopLevitate[])(struct EventObject *, struct Sprite *) = {
- MovementAction_StopLevitate_Step0,
- MovementAction_Finish,
+ MovementAction_StopLevitate_Step0,
+ MovementAction_Finish,
};
u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct EventObject *, struct Sprite *) = {
- MovementAction_DestroyExtraTaskIfAtTop_Step0,
- MovementAction_Finish,
+ MovementAction_DestroyExtraTaskIfAtTop_Step0,
+ MovementAction_Finish,
};
-
-#endif //GUARD_MOVEMENT_ACTION_FUNC_TABLES_H
diff --git a/src/data/field_event_obj/movement_type_func_tables.h b/src/data/field_event_obj/movement_type_func_tables.h
index 165e96220..3c490011b 100755
--- a/src/data/field_event_obj/movement_type_func_tables.h
+++ b/src/data/field_event_obj/movement_type_func_tables.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
-#define GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
-
u8 (*const gMovementTypeFuncs_WanderAround[])(struct EventObject *, struct Sprite *) = {
MovementType_WanderAround_Step0,
MovementType_WanderAround_Step1,
@@ -439,5 +436,3 @@ u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *
MovementType_Invisible_Step1,
MovementType_Invisible_Step2,
};
-
-#endif //GUARD_MOVEMENT_TYPE_FUNC_TABLES_H
diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h
index 0f91c2250..26da9061d 100644
--- a/src/data/graphics/items.h
+++ b/src/data/graphics/items.h
@@ -134,7 +134,7 @@ const u32 gItemIconPalette_GreenShard[] = INCBIN_U32("graphics/items/icon_palett
const u32 gItemIcon_HPUp[] = INCBIN_U32("graphics/items/icons/hp_up.4bpp.lz");
const u32 gItemIconPalette_HPUp[] = INCBIN_U32("graphics/items/icon_palettes/hp_up.gbapal.lz");
-const u32 gItemIcon_Vitamin[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz");
+const u32 gItemIcon_Vitamin[] = INCBIN_U32("graphics/items/icons/vitamin.4bpp.lz");
const u32 gItemIconPalette_Protein[] = INCBIN_U32("graphics/items/icon_palettes/protein.gbapal.lz");
const u32 gItemIconPalette_Iron[] = INCBIN_U32("graphics/items/icon_palettes/iron.gbapal.lz");
const u32 gItemIconPalette_Carbos[] = INCBIN_U32("graphics/items/icon_palettes/carbos.gbapal.lz");
diff --git a/src/data/graphics/trainers.h b/src/data/graphics/trainers.h
index 79ba703ba..3de77d6ec 100644
--- a/src/data/graphics/trainers.h
+++ b/src/data/graphics/trainers.h
@@ -151,11 +151,11 @@ const u32 gTrainerPalette_SchoolKidF[] = INCBIN_U32("graphics/trainers/palettes/
const u32 gTrainerFrontPic_SrAndJr[] = INCBIN_U32("graphics/trainers/front_pics/sr_and_jr_front_pic.4bpp.lz");
const u32 gTrainerPalette_SrAndJr[] = INCBIN_U32("graphics/trainers/palettes/sr_and_jr.gbapal.lz");
-const u32 gTrainerFrontPic_WinstrateM[] = INCBIN_U32("graphics/trainers/front_pics/winstrate_m_front_pic.4bpp.lz");
-const u32 gTrainerPalette_WinstrateM[] = INCBIN_U32("graphics/trainers/palettes/winstrate_m.gbapal.lz");
+const u32 gTrainerFrontPic_PokefanM[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_m_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PokefanM[] = INCBIN_U32("graphics/trainers/palettes/pokefan_m.gbapal.lz");
-const u32 gTrainerFrontPic_WinstrateF[] = INCBIN_U32("graphics/trainers/front_pics/winstrate_f_front_pic.4bpp.lz");
-const u32 gTrainerPalette_WinstrateF[] = INCBIN_U32("graphics/trainers/palettes/winstrate_f.gbapal.lz");
+const u32 gTrainerFrontPic_PokefanF[] = INCBIN_U32("graphics/trainers/front_pics/pokefan_f_front_pic.4bpp.lz");
+const u32 gTrainerPalette_PokefanF[] = INCBIN_U32("graphics/trainers/palettes/pokefan_f.gbapal.lz");
const u32 gTrainerFrontPic_Youngster[] = INCBIN_U32("graphics/trainers/front_pics/youngster_front_pic.4bpp.lz");
const u32 gTrainerPalette_Youngster[] = INCBIN_U32("graphics/trainers/palettes/youngster.gbapal.lz");
diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h
index a56f297ef..c36969ab5 100644
--- a/src/data/item_icon_table.h
+++ b/src/data/item_icon_table.h
@@ -1,414 +1,407 @@
-#ifndef GUARD_DATA_ITEM_ICON_TABLE_H
-#define GUARD_DATA_ITEM_ICON_TABLE_H
-
-#include "global.h"
-#include "graphics.h"
-
-const u32 *const gItemIconTable[][2] =
+const u32 *const gItemIconTable[][2] =
{
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Pokeballs
- gItemIcon_MasterBall, gItemIconPalette_MasterBall,
- gItemIcon_UltraBall, gItemIconPalette_UltraBall,
- gItemIcon_GreatBall, gItemIconPalette_GreatBall,
- gItemIcon_PokeBall, gItemIconPalette_PokeBall,
- gItemIcon_SafariBall, gItemIconPalette_SafariBall,
- gItemIcon_NetBall, gItemIconPalette_NetBall,
- gItemIcon_DiveBall, gItemIconPalette_DiveBall,
- gItemIcon_NestBall, gItemIconPalette_NestBall,
- gItemIcon_RepeatBall, gItemIconPalette_RepeatBall,
- gItemIcon_TimerBall, gItemIconPalette_RepeatBall,
- gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall,
- gItemIcon_PremierBall, gItemIconPalette_LuxuryBall,
-// Medicine
- gItemIcon_Potion, gItemIconPalette_Potion,
- gItemIcon_Antidote, gItemIconPalette_Antidote,
- gItemIcon_StatusHeal, gItemIconPalette_BurnHeal,
- gItemIcon_StatusHeal, gItemIconPalette_IceHeal,
- gItemIcon_StatusHeal, gItemIconPalette_Awakening,
- gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal,
- gItemIcon_LargePotion, gItemIconPalette_FullRestore,
- gItemIcon_LargePotion, gItemIconPalette_MaxPotion,
- gItemIcon_Potion, gItemIconPalette_HyperPotion,
- gItemIcon_Potion, gItemIconPalette_SuperPotion,
- gItemIcon_FullHeal, gItemIconPalette_FullHeal,
- gItemIcon_Revive, gItemIconPalette_Revive,
- gItemIcon_MaxRevive, gItemIconPalette_Revive,
- gItemIcon_FreshWater, gItemIconPalette_FreshWater,
- gItemIcon_SodaPop, gItemIconPalette_SodaPop,
- gItemIcon_Lemonade, gItemIconPalette_Lemonade,
- gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk,
- gItemIcon_Powder, gItemIconPalette_EnergyPowder,
- gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot,
- gItemIcon_Powder, gItemIconPalette_HealPowder,
- gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb,
- gItemIcon_Ether, gItemIconPalette_Ether,
- gItemIcon_Ether, gItemIconPalette_MaxEther,
- gItemIcon_Ether, gItemIconPalette_Elixir,
- gItemIcon_Ether, gItemIconPalette_MaxElixir,
- gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter,
- gItemIcon_Flute, gItemIconPalette_BlueFlute,
- gItemIcon_Flute, gItemIconPalette_YellowFlute,
- gItemIcon_Flute, gItemIconPalette_RedFlute,
- gItemIcon_Flute, gItemIconPalette_BlackFlute,
- gItemIcon_Flute, gItemIconPalette_WhiteFlute,
- gItemIcon_BerryJuice, gItemIconPalette_BerryJuice,
- gItemIcon_SacredAsh, gItemIconPalette_SacredAsh,
-// Collectibles
- gItemIcon_Powder, gItemIconPalette_ShoalSalt,
- gItemIcon_ShoalShell, gItemIconPalette_Shell,
- gItemIcon_Shard, gItemIconPalette_RedShard,
- gItemIcon_Shard, gItemIconPalette_BlueShard,
- gItemIcon_Shard, gItemIconPalette_YellowShard,
- gItemIcon_Shard, gItemIconPalette_GreenShard,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Vitamins
- gItemIcon_HPUp, gItemIconPalette_HPUp,
- gItemIcon_Vitamin, gItemIconPalette_Protein,
- gItemIcon_Vitamin, gItemIconPalette_Iron,
- gItemIcon_Vitamin, gItemIconPalette_Carbos,
- gItemIcon_Vitamin, gItemIconPalette_Calcium,
- gItemIcon_RareCandy, gItemIconPalette_RareCandy,
- gItemIcon_PPUp, gItemIconPalette_PPUp,
- gItemIcon_Vitamin, gItemIconPalette_Zinc,
- gItemIcon_PPMax, gItemIconPalette_PPMax,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Battle items
- gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec,
- gItemIcon_BattleStatItem, gItemIconPalette_DireHit,
- gItemIcon_BattleStatItem, gItemIconPalette_XAttack,
- gItemIcon_BattleStatItem, gItemIconPalette_XDefend,
- gItemIcon_BattleStatItem, gItemIconPalette_XSpeed,
- gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy,
- gItemIcon_BattleStatItem, gItemIconPalette_XSpecial,
- gItemIcon_PokeDoll, gItemIconPalette_PokeDoll,
- gItemIcon_FluffyTail, gItemIconPalette_FluffyTail,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Field items
- gItemIcon_Repel, gItemIconPalette_SuperRepel,
- gItemIcon_Repel, gItemIconPalette_MaxRepel,
- gItemIcon_EscapeRope, gItemIconPalette_EscapeRope,
- gItemIcon_Repel, gItemIconPalette_Repel,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Evolution stones
- gItemIcon_SunStone, gItemIconPalette_SunStone,
- gItemIcon_MoonStone, gItemIconPalette_MoonStone,
- gItemIcon_FireStone, gItemIconPalette_FireStone,
- gItemIcon_ThunderStone, gItemIconPalette_ThunderStone,
- gItemIcon_WaterStone, gItemIconPalette_WaterStone,
- gItemIcon_LeafStone, gItemIconPalette_LeafStone,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Valuables
- gItemIcon_TinyMushroom, gItemIconPalette_Mushroom,
- gItemIcon_BigMushroom, gItemIconPalette_Mushroom,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_Pearl, gItemIconPalette_Pearl,
- gItemIcon_BigPearl, gItemIconPalette_Pearl,
- gItemIcon_Stardust, gItemIconPalette_Star,
- gItemIcon_StarPiece, gItemIconPalette_Star,
- gItemIcon_Nugget, gItemIconPalette_Nugget,
- gItemIcon_HeartScale, gItemIconPalette_HeartScale,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Mail
- gItemIcon_OrangeMail, gItemIconPalette_OrangeMail,
- gItemIcon_HarborMail, gItemIconPalette_HarborMail,
- gItemIcon_GlitterMail, gItemIconPalette_GlitterMail,
- gItemIcon_MechMail, gItemIconPalette_MechMail,
- gItemIcon_WoodMail, gItemIconPalette_WoodMail,
- gItemIcon_WaveMail, gItemIconPalette_WaveMail,
- gItemIcon_BeadMail, gItemIconPalette_BeadMail,
- gItemIcon_ShadowMail, gItemIconPalette_ShadowMail,
- gItemIcon_TropicMail, gItemIconPalette_TropicMail,
- gItemIcon_DreamMail, gItemIconPalette_DreamMail,
- gItemIcon_FabMail, gItemIconPalette_FabMail,
- gItemIcon_RetroMail, gItemIconPalette_RetroMail,
-// Berries
- gItemIcon_CheriBerry, gItemIconPalette_CheriBerry,
- gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry,
- gItemIcon_PechaBerry, gItemIconPalette_PechaBerry,
- gItemIcon_RawstBerry, gItemIconPalette_RawstBerry,
- gItemIcon_AspearBerry, gItemIconPalette_AspearBerry,
- gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry,
- gItemIcon_OranBerry, gItemIconPalette_OranBerry,
- gItemIcon_PersimBerry, gItemIconPalette_PersimBerry,
- gItemIcon_LumBerry, gItemIconPalette_LumBerry,
- gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry,
- gItemIcon_FigyBerry, gItemIconPalette_FigyBerry,
- gItemIcon_WikiBerry, gItemIconPalette_WikiBerry,
- gItemIcon_MagoBerry, gItemIconPalette_MagoBerry,
- gItemIcon_AguavBerry, gItemIconPalette_AguavBerry,
- gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry,
- gItemIcon_RazzBerry, gItemIconPalette_RazzBerry,
- gItemIcon_BlukBerry, gItemIconPalette_BlukBerry,
- gItemIcon_NanabBerry, gItemIconPalette_NanabBerry,
- gItemIcon_WepearBerry, gItemIconPalette_WepearBerry,
- gItemIcon_PinapBerry, gItemIconPalette_PinapBerry,
- gItemIcon_PomegBerry, gItemIconPalette_PomegBerry,
- gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry,
- gItemIcon_QualotBerry, gItemIconPalette_QualotBerry,
- gItemIcon_HondewBerry, gItemIconPalette_HondewBerry,
- gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry,
- gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry,
- gItemIcon_CornnBerry, gItemIconPalette_CornnBerry,
- gItemIcon_MagostBerry, gItemIconPalette_MagostBerry,
- gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry,
- gItemIcon_NomelBerry, gItemIconPalette_NomelBerry,
- gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry,
- gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry,
- gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry,
- gItemIcon_DurinBerry, gItemIconPalette_DurinBerry,
- gItemIcon_BelueBerry, gItemIconPalette_BelueBerry,
- gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry,
- gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry,
- gItemIcon_SalacBerry, gItemIconPalette_SalacBerry,
- gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry,
- gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry,
- gItemIcon_LansatBerry, gItemIconPalette_LansatBerry,
- gItemIcon_StarfBerry, gItemIconPalette_StarfBerry,
- gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Hold items
- gItemIcon_BrightPowder, gItemIconPalette_BrightPowder,
- gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb,
- gItemIcon_MachoBrace, gItemIconPalette_MachoBrace,
- gItemIcon_ExpShare, gItemIconPalette_ExpShare,
- gItemIcon_QuickClaw, gItemIconPalette_QuickClaw,
- gItemIcon_SootheBell, gItemIconPalette_SootheBell,
- gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb,
- gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand,
- gItemIcon_KingsRock, gItemIconPalette_KingsRock,
- gItemIcon_SilverPowder, gItemIconPalette_SilverPowder,
- gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin,
- gItemIcon_CleanseTag, gItemIconPalette_CleanseTag,
- gItemIcon_SoulDew, gItemIconPalette_SoulDew,
- gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth,
- gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale,
- gItemIcon_SmokeBall, gItemIconPalette_SmokeBall,
- gItemIcon_Everstone, gItemIconPalette_Everstone,
- gItemIcon_FocusBand, gItemIconPalette_FocusBand,
- gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg,
- gItemIcon_ScopeLens, gItemIconPalette_ScopeLens,
- gItemIcon_MetalCoat, gItemIconPalette_MetalCoat,
- gItemIcon_Leftovers, gItemIconPalette_Leftovers,
- gItemIcon_DragonScale, gItemIconPalette_DragonScale,
- gItemIcon_LightBall, gItemIconPalette_LightBall,
- gItemIcon_SoftSand, gItemIconPalette_SoftSand,
- gItemIcon_HardStone, gItemIconPalette_HardStone,
- gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed,
- gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem,
- gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem,
- gItemIcon_Magnet, gItemIconPalette_Magnet,
- gItemIcon_MysticWater, gItemIconPalette_MysticWater,
- gItemIcon_SharpBeak, gItemIconPalette_SharpBeak,
- gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb,
- gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce,
- gItemIcon_SpellTag, gItemIconPalette_SpellTag,
- gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon,
- gItemIcon_Charcoal, gItemIconPalette_Charcoal,
- gItemIcon_DragonFang, gItemIconPalette_DragonFang,
- gItemIcon_SilkScarf, gItemIconPalette_SilkScarf,
- gItemIcon_UpGrade, gItemIconPalette_UpGrade,
- gItemIcon_ShellBell, gItemIconPalette_Shell,
- gItemIcon_SeaIncense, gItemIconPalette_SeaIncense,
- gItemIcon_LaxIncense, gItemIconPalette_LaxIncense,
- gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch,
- gItemIcon_MetalPowder, gItemIconPalette_MetalPowder,
- gItemIcon_ThickClub, gItemIconPalette_ThickClub,
- gItemIcon_Stick, gItemIconPalette_Stick,
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// Contest hold items
- gItemIcon_Scarf, gItemIconPalette_RedScarf,
- gItemIcon_Scarf, gItemIconPalette_BlueScarf,
- gItemIcon_Scarf, gItemIconPalette_PinkScarf,
- gItemIcon_Scarf, gItemIconPalette_GreenScarf,
- gItemIcon_Scarf, gItemIconPalette_YellowScarf,
-// Key items
- gItemIcon_MachBike, gItemIconPalette_MachBike,
- gItemIcon_CoinCase, gItemIconPalette_CoinCase,
- gItemIcon_Itemfinder, gItemIconPalette_Itemfinder,
- gItemIcon_OldRod, gItemIconPalette_OldRod,
- gItemIcon_GoodRod, gItemIconPalette_GoodRod,
- gItemIcon_SuperRod, gItemIconPalette_SuperRod,
- gItemIcon_SSTicket, gItemIconPalette_SSTicket,
- gItemIcon_ContestPass, gItemIconPalette_ContestPass,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_WailmerPail, gItemIconPalette_WailmerPail,
- gItemIcon_DevonGoods, gItemIconPalette_DevonGoods,
- gItemIcon_SootSack, gItemIconPalette_SootSack,
- gItemIcon_BasementKey, gItemIconPalette_OldKey,
- gItemIcon_AcroBike, gItemIconPalette_AcroBike,
- gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase,
- gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter,
- gItemIcon_EonTicket, gItemIconPalette_EonTicket,
- gItemIcon_Orb, gItemIconPalette_RedOrb,
- gItemIcon_Orb, gItemIconPalette_BlueOrb,
- gItemIcon_Scanner, gItemIconPalette_Scanner,
- gItemIcon_GoGoggles, gItemIconPalette_GoGoggles,
- gItemIcon_Meteorite, gItemIconPalette_Meteorite,
- gItemIcon_Room1Key, gItemIconPalette_Key,
- gItemIcon_Room2Key, gItemIconPalette_Key,
- gItemIcon_Room4Key, gItemIconPalette_Key,
- gItemIcon_Room6Key, gItemIconPalette_Key,
- gItemIcon_StorageKey, gItemIconPalette_OldKey,
- gItemIcon_RootFossil, gItemIconPalette_HoennFossil,
- gItemIcon_ClawFossil, gItemIconPalette_HoennFossil,
- gItemIcon_DevonScope, gItemIconPalette_DevonScope,
-// TMs/HMs
- gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM01
- gItemIcon_TM, gItemIconPalette_DragonTMHM, // TM02
- gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM03
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM04
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM05
- gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM06
- gItemIcon_TM, gItemIconPalette_IceTMHM, // TM07
- gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM08
- gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM09
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM10
- gItemIcon_TM, gItemIconPalette_FireTMHM, // TM11
- gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM12
- gItemIcon_TM, gItemIconPalette_IceTMHM, // TM13
- gItemIcon_TM, gItemIconPalette_IceTMHM, // TM14
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM15
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM16
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM17
- gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM18
- gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM19
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM20
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM21
- gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM22
- gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM23
- gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM24
- gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM25
- gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM26
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM27
- gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM28
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM29
- gItemIcon_TM, gItemIconPalette_GhostTMHM, // TM30
- gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM31
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM32
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM33
- gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM34
- gItemIcon_TM, gItemIconPalette_FireTMHM, // TM35
- gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM36
- gItemIcon_TM, gItemIconPalette_RockTMHM, // TM37
- gItemIcon_TM, gItemIconPalette_FireTMHM, // TM38
- gItemIcon_TM, gItemIconPalette_RockTMHM, // TM39
- gItemIcon_TM, gItemIconPalette_FlyingTMHM, // TM40
- gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM41
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM42
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM43
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM44
- gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM45
- gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM46
- gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM47
- gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM48
- gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM49
- gItemIcon_TM, gItemIconPalette_FireTMHM, // TM50
- gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM01
- gItemIcon_HM, gItemIconPalette_FlyingTMHM, // HM02
- gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM03
- gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM04
- gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM05
- gItemIcon_HM, gItemIconPalette_FightingTMHM, // HM06
- gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM07
- gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM08
-// ????????
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
- gItemIcon_QuestionMark, gItemIconPalette_QuestionMark,
-// FireRed/LeafGreen key items
- gItemIcon_OaksParcel, gItemIconPalette_OaksParcel,
- gItemIcon_PokeFlute, gItemIconPalette_PokeFlute,
- gItemIcon_SecretKey, gItemIconPalette_SecretKey,
- gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher,
- gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth,
- gItemIcon_OldAmber, gItemIconPalette_OldAmber,
- gItemIcon_CardKey, gItemIconPalette_CardKey,
- gItemIcon_LiftKey, gItemIconPalette_Key,
- gItemIcon_HelixFossil, gItemIconPalette_KantoFossil,
- gItemIcon_DomeFossil, gItemIconPalette_KantoFossil,
- gItemIcon_SilphScope, gItemIconPalette_SilphScope,
- gItemIcon_Bicycle, gItemIconPalette_Bicycle,
- gItemIcon_TownMap, gItemIconPalette_TownMap,
- gItemIcon_VSSeeker, gItemIconPalette_VSSeeker,
- gItemIcon_FameChecker, gItemIconPalette_FameChecker,
- gItemIcon_TMCase, gItemIconPalette_TMCase,
- gItemIcon_BerryPouch, gItemIconPalette_BerryPouch,
- gItemIcon_TeachyTV, gItemIconPalette_TeachyTV,
- gItemIcon_TriPass, gItemIconPalette_TriPass,
- gItemIcon_RainbowPass, gItemIconPalette_RainbowPass,
- gItemIcon_Tea, gItemIconPalette_Tea,
- gItemIcon_MysticTicket, gItemIconPalette_MysticTicket,
- gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket,
- gItemIcon_PowderJar, gItemIconPalette_PowderJar,
- gItemIcon_Gem, gItemIconPalette_Ruby,
- gItemIcon_Gem, gItemIconPalette_Sapphire,
-// Emerald-only key items
- gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem,
- gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap,
-// Return to field arrow
- gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow,
+ [ITEM_NONE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Pokeballs
+ [ITEM_MASTER_BALL] = {gItemIcon_MasterBall, gItemIconPalette_MasterBall},
+ [ITEM_ULTRA_BALL] = {gItemIcon_UltraBall, gItemIconPalette_UltraBall},
+ [ITEM_GREAT_BALL] = {gItemIcon_GreatBall, gItemIconPalette_GreatBall},
+ [ITEM_POKE_BALL] = {gItemIcon_PokeBall, gItemIconPalette_PokeBall},
+ [ITEM_SAFARI_BALL] = {gItemIcon_SafariBall, gItemIconPalette_SafariBall},
+ [ITEM_NET_BALL] = {gItemIcon_NetBall, gItemIconPalette_NetBall},
+ [ITEM_DIVE_BALL] = {gItemIcon_DiveBall, gItemIconPalette_DiveBall},
+ [ITEM_NEST_BALL] = {gItemIcon_NestBall, gItemIconPalette_NestBall},
+ [ITEM_REPEAT_BALL] = {gItemIcon_RepeatBall, gItemIconPalette_RepeatBall},
+ [ITEM_TIMER_BALL] = {gItemIcon_TimerBall, gItemIconPalette_RepeatBall},
+ [ITEM_LUXURY_BALL] = {gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall},
+ [ITEM_PREMIER_BALL] = {gItemIcon_PremierBall, gItemIconPalette_LuxuryBall},
+ // Medicine
+ [ITEM_POTION] = {gItemIcon_Potion, gItemIconPalette_Potion},
+ [ITEM_ANTIDOTE] = {gItemIcon_Antidote, gItemIconPalette_Antidote},
+ [ITEM_BURN_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_BurnHeal},
+ [ITEM_ICE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_IceHeal},
+ [ITEM_AWAKENING] = {gItemIcon_StatusHeal, gItemIconPalette_Awakening},
+ [ITEM_PARALYZE_HEAL] = {gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal},
+ [ITEM_FULL_RESTORE] = {gItemIcon_LargePotion, gItemIconPalette_FullRestore},
+ [ITEM_MAX_POTION] = {gItemIcon_LargePotion, gItemIconPalette_MaxPotion},
+ [ITEM_HYPER_POTION] = {gItemIcon_Potion, gItemIconPalette_HyperPotion},
+ [ITEM_SUPER_POTION] = {gItemIcon_Potion, gItemIconPalette_SuperPotion},
+ [ITEM_FULL_HEAL] = {gItemIcon_FullHeal, gItemIconPalette_FullHeal},
+ [ITEM_REVIVE] = {gItemIcon_Revive, gItemIconPalette_Revive},
+ [ITEM_MAX_REVIVE] = {gItemIcon_MaxRevive, gItemIconPalette_Revive},
+ [ITEM_FRESH_WATER] = {gItemIcon_FreshWater, gItemIconPalette_FreshWater},
+ [ITEM_SODA_POP] = {gItemIcon_SodaPop, gItemIconPalette_SodaPop},
+ [ITEM_LEMONADE] = {gItemIcon_Lemonade, gItemIconPalette_Lemonade},
+ [ITEM_MOOMOO_MILK] = {gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk},
+ [ITEM_ENERGY_POWDER] = {gItemIcon_Powder, gItemIconPalette_EnergyPowder},
+ [ITEM_ENERGY_ROOT] = {gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot},
+ [ITEM_HEAL_POWDER] = {gItemIcon_Powder, gItemIconPalette_HealPowder},
+ [ITEM_REVIVAL_HERB] = {gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb},
+ [ITEM_ETHER] = {gItemIcon_Ether, gItemIconPalette_Ether},
+ [ITEM_MAX_ETHER] = {gItemIcon_Ether, gItemIconPalette_MaxEther},
+ [ITEM_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_Elixir},
+ [ITEM_MAX_ELIXIR] = {gItemIcon_Ether, gItemIconPalette_MaxElixir},
+ [ITEM_LAVA_COOKIE] = {gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter},
+ [ITEM_BLUE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlueFlute},
+ [ITEM_YELLOW_FLUTE] = {gItemIcon_Flute, gItemIconPalette_YellowFlute},
+ [ITEM_RED_FLUTE] = {gItemIcon_Flute, gItemIconPalette_RedFlute},
+ [ITEM_BLACK_FLUTE] = {gItemIcon_Flute, gItemIconPalette_BlackFlute},
+ [ITEM_WHITE_FLUTE] = {gItemIcon_Flute, gItemIconPalette_WhiteFlute},
+ [ITEM_BERRY_JUICE] = {gItemIcon_BerryJuice, gItemIconPalette_BerryJuice},
+ [ITEM_SACRED_ASH] = {gItemIcon_SacredAsh, gItemIconPalette_SacredAsh},
+ // Collectibles
+ [ITEM_SHOAL_SALT] = {gItemIcon_Powder, gItemIconPalette_ShoalSalt},
+ [ITEM_SHOAL_SHELL] = {gItemIcon_ShoalShell, gItemIconPalette_Shell},
+ [ITEM_RED_SHARD] = {gItemIcon_Shard, gItemIconPalette_RedShard},
+ [ITEM_BLUE_SHARD] = {gItemIcon_Shard, gItemIconPalette_BlueShard},
+ [ITEM_YELLOW_SHARD] = {gItemIcon_Shard, gItemIconPalette_YellowShard},
+ [ITEM_GREEN_SHARD] = {gItemIcon_Shard, gItemIconPalette_GreenShard},
+ // ????????
+ [ITEM_034] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_035] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_036] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_037] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_038] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_039] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03A] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03D] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_03E] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Vitamins
+ [ITEM_HP_UP] = {gItemIcon_HPUp, gItemIconPalette_HPUp},
+ [ITEM_PROTEIN] = {gItemIcon_Vitamin, gItemIconPalette_Protein},
+ [ITEM_IRON] = {gItemIcon_Vitamin, gItemIconPalette_Iron},
+ [ITEM_CARBOS] = {gItemIcon_Vitamin, gItemIconPalette_Carbos},
+ [ITEM_CALCIUM] = {gItemIcon_Vitamin, gItemIconPalette_Calcium},
+ [ITEM_RARE_CANDY] = {gItemIcon_RareCandy, gItemIconPalette_RareCandy},
+ [ITEM_PP_UP] = {gItemIcon_PPUp, gItemIconPalette_PPUp},
+ [ITEM_ZINC] = {gItemIcon_Vitamin, gItemIconPalette_Zinc},
+ [ITEM_PP_MAX] = {gItemIcon_PPMax, gItemIconPalette_PPMax},
+ // ????????
+ [ITEM_048] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Battle items
+ [ITEM_GUARD_SPEC] = {gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec},
+ [ITEM_DIRE_HIT] = {gItemIcon_BattleStatItem, gItemIconPalette_DireHit},
+ [ITEM_X_ATTACK] = {gItemIcon_BattleStatItem, gItemIconPalette_XAttack},
+ [ITEM_X_DEFEND] = {gItemIcon_BattleStatItem, gItemIconPalette_XDefend},
+ [ITEM_X_SPEED] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpeed},
+ [ITEM_X_ACCURACY] = {gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy},
+ [ITEM_X_SPECIAL] = {gItemIcon_BattleStatItem, gItemIconPalette_XSpecial},
+ [ITEM_POKE_DOLL] = {gItemIcon_PokeDoll, gItemIconPalette_PokeDoll},
+ [ITEM_FLUFFY_TAIL] = {gItemIcon_FluffyTail, gItemIconPalette_FluffyTail},
+ // ????????
+ [ITEM_052] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Field items
+ [ITEM_SUPER_REPEL] = {gItemIcon_Repel, gItemIconPalette_SuperRepel},
+ [ITEM_MAX_REPEL] = {gItemIcon_Repel, gItemIconPalette_MaxRepel},
+ [ITEM_ESCAPE_ROPE] = {gItemIcon_EscapeRope, gItemIconPalette_EscapeRope},
+ [ITEM_REPEL] = {gItemIcon_Repel, gItemIconPalette_Repel},
+ // ????????
+ [ITEM_057] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_058] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_059] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_05A] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_05B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_05C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Evolution stones
+ [ITEM_SUN_STONE] = {gItemIcon_SunStone, gItemIconPalette_SunStone},
+ [ITEM_MOON_STONE] = {gItemIcon_MoonStone, gItemIconPalette_MoonStone},
+ [ITEM_FIRE_STONE] = {gItemIcon_FireStone, gItemIconPalette_FireStone},
+ [ITEM_THUNDER_STONE] = {gItemIcon_ThunderStone, gItemIconPalette_ThunderStone},
+ [ITEM_WATER_STONE] = {gItemIcon_WaterStone, gItemIconPalette_WaterStone},
+ [ITEM_LEAF_STONE] = {gItemIcon_LeafStone, gItemIconPalette_LeafStone},
+ // ????????
+ [ITEM_063] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_064] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_065] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_066] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Valuables
+ [ITEM_TINY_MUSHROOM] = {gItemIcon_TinyMushroom, gItemIconPalette_Mushroom},
+ [ITEM_BIG_MUSHROOM] = {gItemIcon_BigMushroom, gItemIconPalette_Mushroom},
+ [ITEM_069] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_PEARL] = {gItemIcon_Pearl, gItemIconPalette_Pearl},
+ [ITEM_BIG_PEARL] = {gItemIcon_BigPearl, gItemIconPalette_Pearl},
+ [ITEM_STARDUST] = {gItemIcon_Stardust, gItemIconPalette_Star},
+ [ITEM_STAR_PIECE] = {gItemIcon_StarPiece, gItemIconPalette_Star},
+ [ITEM_NUGGET] = {gItemIcon_Nugget, gItemIconPalette_Nugget},
+ [ITEM_HEART_SCALE] = {gItemIcon_HeartScale, gItemIconPalette_HeartScale},
+ // ????????
+ [ITEM_070] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_071] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_072] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_073] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_074] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_075] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_076] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_077] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_078] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Mail
+ [ITEM_ORANGE_MAIL] = {gItemIcon_OrangeMail, gItemIconPalette_OrangeMail},
+ [ITEM_HARBOR_MAIL] = {gItemIcon_HarborMail, gItemIconPalette_HarborMail},
+ [ITEM_GLITTER_MAIL] = {gItemIcon_GlitterMail, gItemIconPalette_GlitterMail},
+ [ITEM_MECH_MAIL] = {gItemIcon_MechMail, gItemIconPalette_MechMail},
+ [ITEM_WOOD_MAIL] = {gItemIcon_WoodMail, gItemIconPalette_WoodMail},
+ [ITEM_WAVE_MAIL] = {gItemIcon_WaveMail, gItemIconPalette_WaveMail},
+ [ITEM_BEAD_MAIL] = {gItemIcon_BeadMail, gItemIconPalette_BeadMail},
+ [ITEM_SHADOW_MAIL] = {gItemIcon_ShadowMail, gItemIconPalette_ShadowMail},
+ [ITEM_TROPIC_MAIL] = {gItemIcon_TropicMail, gItemIconPalette_TropicMail},
+ [ITEM_DREAM_MAIL] = {gItemIcon_DreamMail, gItemIconPalette_DreamMail},
+ [ITEM_FAB_MAIL] = {gItemIcon_FabMail, gItemIconPalette_FabMail},
+ [ITEM_RETRO_MAIL] = {gItemIcon_RetroMail, gItemIconPalette_RetroMail},
+ // Berries
+ [ITEM_CHERI_BERRY] = {gItemIcon_CheriBerry, gItemIconPalette_CheriBerry},
+ [ITEM_CHESTO_BERRY] = {gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry},
+ [ITEM_PECHA_BERRY] = {gItemIcon_PechaBerry, gItemIconPalette_PechaBerry},
+ [ITEM_RAWST_BERRY] = {gItemIcon_RawstBerry, gItemIconPalette_RawstBerry},
+ [ITEM_ASPEAR_BERRY] = {gItemIcon_AspearBerry, gItemIconPalette_AspearBerry},
+ [ITEM_LEPPA_BERRY] = {gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry},
+ [ITEM_ORAN_BERRY] = {gItemIcon_OranBerry, gItemIconPalette_OranBerry},
+ [ITEM_PERSIM_BERRY] = {gItemIcon_PersimBerry, gItemIconPalette_PersimBerry},
+ [ITEM_LUM_BERRY] = {gItemIcon_LumBerry, gItemIconPalette_LumBerry},
+ [ITEM_SITRUS_BERRY] = {gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry},
+ [ITEM_FIGY_BERRY] = {gItemIcon_FigyBerry, gItemIconPalette_FigyBerry},
+ [ITEM_WIKI_BERRY] = {gItemIcon_WikiBerry, gItemIconPalette_WikiBerry},
+ [ITEM_MAGO_BERRY] = {gItemIcon_MagoBerry, gItemIconPalette_MagoBerry},
+ [ITEM_AGUAV_BERRY] = {gItemIcon_AguavBerry, gItemIconPalette_AguavBerry},
+ [ITEM_IAPAPA_BERRY] = {gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry},
+ [ITEM_RAZZ_BERRY] = {gItemIcon_RazzBerry, gItemIconPalette_RazzBerry},
+ [ITEM_BLUK_BERRY] = {gItemIcon_BlukBerry, gItemIconPalette_BlukBerry},
+ [ITEM_NANAB_BERRY] = {gItemIcon_NanabBerry, gItemIconPalette_NanabBerry},
+ [ITEM_WEPEAR_BERRY] = {gItemIcon_WepearBerry, gItemIconPalette_WepearBerry},
+ [ITEM_PINAP_BERRY] = {gItemIcon_PinapBerry, gItemIconPalette_PinapBerry},
+ [ITEM_POMEG_BERRY] = {gItemIcon_PomegBerry, gItemIconPalette_PomegBerry},
+ [ITEM_KELPSY_BERRY] = {gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry},
+ [ITEM_QUALOT_BERRY] = {gItemIcon_QualotBerry, gItemIconPalette_QualotBerry},
+ [ITEM_HONDEW_BERRY] = {gItemIcon_HondewBerry, gItemIconPalette_HondewBerry},
+ [ITEM_GREPA_BERRY] = {gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry},
+ [ITEM_TAMATO_BERRY] = {gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry},
+ [ITEM_CORNN_BERRY] = {gItemIcon_CornnBerry, gItemIconPalette_CornnBerry},
+ [ITEM_MAGOST_BERRY] = {gItemIcon_MagostBerry, gItemIconPalette_MagostBerry},
+ [ITEM_RABUTA_BERRY] = {gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry},
+ [ITEM_NOMEL_BERRY] = {gItemIcon_NomelBerry, gItemIconPalette_NomelBerry},
+ [ITEM_SPELON_BERRY] = {gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry},
+ [ITEM_PAMTRE_BERRY] = {gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry},
+ [ITEM_WATMEL_BERRY] = {gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry},
+ [ITEM_DURIN_BERRY] = {gItemIcon_DurinBerry, gItemIconPalette_DurinBerry},
+ [ITEM_BELUE_BERRY] = {gItemIcon_BelueBerry, gItemIconPalette_BelueBerry},
+ [ITEM_LIECHI_BERRY] = {gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry},
+ [ITEM_GANLON_BERRY] = {gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry},
+ [ITEM_SALAC_BERRY] = {gItemIcon_SalacBerry, gItemIconPalette_SalacBerry},
+ [ITEM_PETAYA_BERRY] = {gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry},
+ [ITEM_APICOT_BERRY] = {gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry},
+ [ITEM_LANSAT_BERRY] = {gItemIcon_LansatBerry, gItemIconPalette_LansatBerry},
+ [ITEM_STARF_BERRY] = {gItemIcon_StarfBerry, gItemIconPalette_StarfBerry},
+ [ITEM_ENIGMA_BERRY] = {gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry},
+ // ????????
+ [ITEM_0B0] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0B1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0B2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Hold items
+ [ITEM_BRIGHT_POWDER] = {gItemIcon_BrightPowder, gItemIconPalette_BrightPowder},
+ [ITEM_WHITE_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb},
+ [ITEM_MACHO_BRACE] = {gItemIcon_MachoBrace, gItemIconPalette_MachoBrace},
+ [ITEM_EXP_SHARE] = {gItemIcon_ExpShare, gItemIconPalette_ExpShare},
+ [ITEM_QUICK_CLAW] = {gItemIcon_QuickClaw, gItemIconPalette_QuickClaw},
+ [ITEM_SOOTHE_BELL] = {gItemIcon_SootheBell, gItemIconPalette_SootheBell},
+ [ITEM_MENTAL_HERB] = {gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb},
+ [ITEM_CHOICE_BAND] = {gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand},
+ [ITEM_KINGS_ROCK] = {gItemIcon_KingsRock, gItemIconPalette_KingsRock},
+ [ITEM_SILVER_POWDER] = {gItemIcon_SilverPowder, gItemIconPalette_SilverPowder},
+ [ITEM_AMULET_COIN] = {gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin},
+ [ITEM_CLEANSE_TAG] = {gItemIcon_CleanseTag, gItemIconPalette_CleanseTag},
+ [ITEM_SOUL_DEW] = {gItemIcon_SoulDew, gItemIconPalette_SoulDew},
+ [ITEM_DEEP_SEA_TOOTH] = {gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth},
+ [ITEM_DEEP_SEA_SCALE] = {gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale},
+ [ITEM_SMOKE_BALL] = {gItemIcon_SmokeBall, gItemIconPalette_SmokeBall},
+ [ITEM_EVERSTONE] = {gItemIcon_Everstone, gItemIconPalette_Everstone},
+ [ITEM_FOCUS_BAND] = {gItemIcon_FocusBand, gItemIconPalette_FocusBand},
+ [ITEM_LUCKY_EGG] = {gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg},
+ [ITEM_SCOPE_LENS] = {gItemIcon_ScopeLens, gItemIconPalette_ScopeLens},
+ [ITEM_METAL_COAT] = {gItemIcon_MetalCoat, gItemIconPalette_MetalCoat},
+ [ITEM_LEFTOVERS] = {gItemIcon_Leftovers, gItemIconPalette_Leftovers},
+ [ITEM_DRAGON_SCALE] = {gItemIcon_DragonScale, gItemIconPalette_DragonScale},
+ [ITEM_LIGHT_BALL] = {gItemIcon_LightBall, gItemIconPalette_LightBall},
+ [ITEM_SOFT_SAND] = {gItemIcon_SoftSand, gItemIconPalette_SoftSand},
+ [ITEM_HARD_STONE] = {gItemIcon_HardStone, gItemIconPalette_HardStone},
+ [ITEM_MIRACLE_SEED] = {gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed},
+ [ITEM_BLACK_GLASSES] = {gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem},
+ [ITEM_BLACK_BELT] = {gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem},
+ [ITEM_MAGNET] = {gItemIcon_Magnet, gItemIconPalette_Magnet},
+ [ITEM_MYSTIC_WATER] = {gItemIcon_MysticWater, gItemIconPalette_MysticWater},
+ [ITEM_SHARP_BEAK] = {gItemIcon_SharpBeak, gItemIconPalette_SharpBeak},
+ [ITEM_POISON_BARB] = {gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb},
+ [ITEM_NEVER_MELT_ICE] = {gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce},
+ [ITEM_SPELL_TAG] = {gItemIcon_SpellTag, gItemIconPalette_SpellTag},
+ [ITEM_TWISTED_SPOON] = {gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon},
+ [ITEM_CHARCOAL] = {gItemIcon_Charcoal, gItemIconPalette_Charcoal},
+ [ITEM_DRAGON_FANG] = {gItemIcon_DragonFang, gItemIconPalette_DragonFang},
+ [ITEM_SILK_SCARF] = {gItemIcon_SilkScarf, gItemIconPalette_SilkScarf},
+ [ITEM_UP_GRADE] = {gItemIcon_UpGrade, gItemIconPalette_UpGrade},
+ [ITEM_SHELL_BELL] = {gItemIcon_ShellBell, gItemIconPalette_Shell},
+ [ITEM_SEA_INCENSE] = {gItemIcon_SeaIncense, gItemIconPalette_SeaIncense},
+ [ITEM_LAX_INCENSE] = {gItemIcon_LaxIncense, gItemIconPalette_LaxIncense},
+ [ITEM_LUCKY_PUNCH] = {gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch},
+ [ITEM_METAL_POWDER] = {gItemIcon_MetalPowder, gItemIconPalette_MetalPowder},
+ [ITEM_THICK_CLUB] = {gItemIcon_ThickClub, gItemIconPalette_ThickClub},
+ [ITEM_STICK] = {gItemIcon_Stick, gItemIconPalette_Stick},
+ // ????????
+ [ITEM_0E2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E4] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E5] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E6] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E7] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E8] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0E9] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EA] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EB] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EC] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0ED] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EE] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0EF] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F0] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F1] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F2] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F3] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F4] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F5] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F6] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F7] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F8] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0F9] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0FA] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0FB] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0FC] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_0FD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // Contest hold items
+ [ITEM_RED_SCARF] = {gItemIcon_Scarf, gItemIconPalette_RedScarf},
+ [ITEM_BLUE_SCARF] = {gItemIcon_Scarf, gItemIconPalette_BlueScarf},
+ [ITEM_PINK_SCARF] = {gItemIcon_Scarf, gItemIconPalette_PinkScarf},
+ [ITEM_GREEN_SCARF] = {gItemIcon_Scarf, gItemIconPalette_GreenScarf},
+ [ITEM_YELLOW_SCARF] = {gItemIcon_Scarf, gItemIconPalette_YellowScarf},
+ // Key items
+ [ITEM_MACH_BIKE] = {gItemIcon_MachBike, gItemIconPalette_MachBike},
+ [ITEM_COIN_CASE] = {gItemIcon_CoinCase, gItemIconPalette_CoinCase},
+ [ITEM_ITEMFINDER] = {gItemIcon_Itemfinder, gItemIconPalette_Itemfinder},
+ [ITEM_OLD_ROD] = {gItemIcon_OldRod, gItemIconPalette_OldRod},
+ [ITEM_GOOD_ROD] = {gItemIcon_GoodRod, gItemIconPalette_GoodRod},
+ [ITEM_SUPER_ROD] = {gItemIcon_SuperRod, gItemIconPalette_SuperRod},
+ [ITEM_SS_TICKET] = {gItemIcon_SSTicket, gItemIconPalette_SSTicket},
+ [ITEM_CONTEST_PASS] = {gItemIcon_ContestPass, gItemIconPalette_ContestPass},
+ [ITEM_10B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_WAILMER_PAIL] = {gItemIcon_WailmerPail, gItemIconPalette_WailmerPail},
+ [ITEM_DEVON_GOODS] = {gItemIcon_DevonGoods, gItemIconPalette_DevonGoods},
+ [ITEM_SOOT_SACK] = {gItemIcon_SootSack, gItemIconPalette_SootSack},
+ [ITEM_BASEMENT_KEY] = {gItemIcon_BasementKey, gItemIconPalette_OldKey},
+ [ITEM_ACRO_BIKE] = {gItemIcon_AcroBike, gItemIconPalette_AcroBike},
+ [ITEM_POKEBLOCK_CASE] = {gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase},
+ [ITEM_LETTER] = {gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter},
+ [ITEM_EON_TICKET] = {gItemIcon_EonTicket, gItemIconPalette_EonTicket},
+ [ITEM_RED_ORB] = {gItemIcon_Orb, gItemIconPalette_RedOrb},
+ [ITEM_BLUE_ORB] = {gItemIcon_Orb, gItemIconPalette_BlueOrb},
+ [ITEM_SCANNER] = {gItemIcon_Scanner, gItemIconPalette_Scanner},
+ [ITEM_GO_GOGGLES] = {gItemIcon_GoGoggles, gItemIconPalette_GoGoggles},
+ [ITEM_METEORITE] = {gItemIcon_Meteorite, gItemIconPalette_Meteorite},
+ [ITEM_ROOM_1_KEY] = {gItemIcon_Room1Key, gItemIconPalette_Key},
+ [ITEM_ROOM_2_KEY] = {gItemIcon_Room2Key, gItemIconPalette_Key},
+ [ITEM_ROOM_4_KEY] = {gItemIcon_Room4Key, gItemIconPalette_Key},
+ [ITEM_ROOM_6_KEY] = {gItemIcon_Room6Key, gItemIconPalette_Key},
+ [ITEM_STORAGE_KEY] = {gItemIcon_StorageKey, gItemIconPalette_OldKey},
+ [ITEM_ROOT_FOSSIL] = {gItemIcon_RootFossil, gItemIconPalette_HoennFossil},
+ [ITEM_CLAW_FOSSIL] = {gItemIcon_ClawFossil, gItemIconPalette_HoennFossil},
+ [ITEM_DEVON_SCOPE] = {gItemIcon_DevonScope, gItemIconPalette_DevonScope},
+ // TMs / HMs
+ [ITEM_TM01] = {gItemIcon_TM, gItemIconPalette_FightingTMHM},
+ [ITEM_TM02] = {gItemIcon_TM, gItemIconPalette_DragonTMHM},
+ [ITEM_TM03] = {gItemIcon_TM, gItemIconPalette_WaterTMHM},
+ [ITEM_TM04] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
+ [ITEM_TM05] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM06] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM},
+ [ITEM_TM07] = {gItemIcon_TM, gItemIconPalette_IceTMHM},
+ [ITEM_TM08] = {gItemIcon_TM, gItemIconPalette_FightingTMHM},
+ [ITEM_TM09] = {gItemIcon_TM, gItemIconPalette_GrassTMHM},
+ [ITEM_TM10] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM11] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
+ [ITEM_TM12] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
+ [ITEM_TM13] = {gItemIcon_TM, gItemIconPalette_IceTMHM},
+ [ITEM_TM14] = {gItemIcon_TM, gItemIconPalette_IceTMHM},
+ [ITEM_TM15] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM16] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
+ [ITEM_TM17] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM18] = {gItemIcon_TM, gItemIconPalette_WaterTMHM},
+ [ITEM_TM19] = {gItemIcon_TM, gItemIconPalette_GrassTMHM},
+ [ITEM_TM20] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM21] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM22] = {gItemIcon_TM, gItemIconPalette_GrassTMHM},
+ [ITEM_TM23] = {gItemIcon_TM, gItemIconPalette_SteelTMHM},
+ [ITEM_TM24] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM},
+ [ITEM_TM25] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM},
+ [ITEM_TM26] = {gItemIcon_TM, gItemIconPalette_GroundTMHM},
+ [ITEM_TM27] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM28] = {gItemIcon_TM, gItemIconPalette_GroundTMHM},
+ [ITEM_TM29] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
+ [ITEM_TM30] = {gItemIcon_TM, gItemIconPalette_GhostTMHM},
+ [ITEM_TM31] = {gItemIcon_TM, gItemIconPalette_FightingTMHM},
+ [ITEM_TM32] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM33] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
+ [ITEM_TM34] = {gItemIcon_TM, gItemIconPalette_ElectricTMHM},
+ [ITEM_TM35] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
+ [ITEM_TM36] = {gItemIcon_TM, gItemIconPalette_PoisonTMHM},
+ [ITEM_TM37] = {gItemIcon_TM, gItemIconPalette_RockTMHM},
+ [ITEM_TM38] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
+ [ITEM_TM39] = {gItemIcon_TM, gItemIconPalette_RockTMHM},
+ [ITEM_TM40] = {gItemIcon_TM, gItemIconPalette_FlyingTMHM},
+ [ITEM_TM41] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
+ [ITEM_TM42] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM43] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM44] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
+ [ITEM_TM45] = {gItemIcon_TM, gItemIconPalette_NormalTMHM},
+ [ITEM_TM46] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
+ [ITEM_TM47] = {gItemIcon_TM, gItemIconPalette_SteelTMHM},
+ [ITEM_TM48] = {gItemIcon_TM, gItemIconPalette_PsychicTMHM},
+ [ITEM_TM49] = {gItemIcon_TM, gItemIconPalette_DarkTMHM},
+ [ITEM_TM50] = {gItemIcon_TM, gItemIconPalette_FireTMHM},
+ [ITEM_HM01] = {gItemIcon_HM, gItemIconPalette_NormalTMHM},
+ [ITEM_HM02] = {gItemIcon_HM, gItemIconPalette_FlyingTMHM},
+ [ITEM_HM03] = {gItemIcon_HM, gItemIconPalette_WaterTMHM},
+ [ITEM_HM04] = {gItemIcon_HM, gItemIconPalette_NormalTMHM},
+ [ITEM_HM05] = {gItemIcon_HM, gItemIconPalette_NormalTMHM},
+ [ITEM_HM06] = {gItemIcon_HM, gItemIconPalette_FightingTMHM},
+ [ITEM_HM07] = {gItemIcon_HM, gItemIconPalette_WaterTMHM},
+ [ITEM_HM08] = {gItemIcon_HM, gItemIconPalette_WaterTMHM},
+ // ????????
+ [ITEM_15B] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ [ITEM_15C] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark},
+ // FireRed/LeafGreen key items
+ [ITEM_OAKS_PARCEL] = {gItemIcon_OaksParcel, gItemIconPalette_OaksParcel},
+ [ITEM_POKE_FLUTE] = {gItemIcon_PokeFlute, gItemIconPalette_PokeFlute},
+ [ITEM_SECRET_KEY] = {gItemIcon_SecretKey, gItemIconPalette_SecretKey},
+ [ITEM_BIKE_VOUCHER] = {gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher},
+ [ITEM_GOLD_TEETH] = {gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth},
+ [ITEM_OLD_AMBER] = {gItemIcon_OldAmber, gItemIconPalette_OldAmber},
+ [ITEM_CARD_KEY] = {gItemIcon_CardKey, gItemIconPalette_CardKey},
+ [ITEM_LIFT_KEY] = {gItemIcon_LiftKey, gItemIconPalette_Key},
+ [ITEM_HELIX_FOSSIL] = {gItemIcon_HelixFossil, gItemIconPalette_KantoFossil},
+ [ITEM_DOME_FOSSIL] = {gItemIcon_DomeFossil, gItemIconPalette_KantoFossil},
+ [ITEM_SILPH_SCOPE] = {gItemIcon_SilphScope, gItemIconPalette_SilphScope},
+ [ITEM_BICYCLE] = {gItemIcon_Bicycle, gItemIconPalette_Bicycle},
+ [ITEM_TOWN_MAP] = {gItemIcon_TownMap, gItemIconPalette_TownMap},
+ [ITEM_VS_SEEKER] = {gItemIcon_VSSeeker, gItemIconPalette_VSSeeker},
+ [ITEM_FAME_CHECKER] = {gItemIcon_FameChecker, gItemIconPalette_FameChecker},
+ [ITEM_TM_CASE] = {gItemIcon_TMCase, gItemIconPalette_TMCase},
+ [ITEM_BERRY_POUCH] = {gItemIcon_BerryPouch, gItemIconPalette_BerryPouch},
+ [ITEM_TEACHY_TV] = {gItemIcon_TeachyTV, gItemIconPalette_TeachyTV},
+ [ITEM_TRI_PASS] = {gItemIcon_TriPass, gItemIconPalette_TriPass},
+ [ITEM_RAINBOW_PASS] = {gItemIcon_RainbowPass, gItemIconPalette_RainbowPass},
+ [ITEM_TEA] = {gItemIcon_Tea, gItemIconPalette_Tea},
+ [ITEM_MYSTIC_TICKET] = {gItemIcon_MysticTicket, gItemIconPalette_MysticTicket},
+ [ITEM_AURORA_TICKET] = {gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket},
+ [ITEM_POWDER_JAR] = {gItemIcon_PowderJar, gItemIconPalette_PowderJar},
+ [ITEM_RUBY] = {gItemIcon_Gem, gItemIconPalette_Ruby},
+ [ITEM_SAPPHIRE] = {gItemIcon_Gem, gItemIconPalette_Sapphire},
+ // Emerald-only key items
+ [ITEM_MAGMA_EMBLEM] = {gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem},
+ [ITEM_OLD_SEA_MAP] = {gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap},
+ // Return to field arrow
+ [ITEM_FIELD_ARROW] = {gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow},
};
-#endif // GUARD_DATA_ITEM_ICON_TABLE_H
diff --git a/src/data/items.h b/src/data/items.h
index 49f981faf..7d7caa289 100644
--- a/src/data/items.h
+++ b/src/data/items.h
@@ -1,5 +1,6 @@
const struct Item gItems[] =
{
+ [ITEM_NONE] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -17,8 +18,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Pokeballs
+// Pokeballs
+ [ITEM_MASTER_BALL] =
{
.name = _("MASTER BALL"),
.itemId = ITEM_MASTER_BALL,
@@ -35,6 +37,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 0,
},
+
+ [ITEM_ULTRA_BALL] =
{
.name = _("ULTRA BALL"),
.itemId = ITEM_ULTRA_BALL,
@@ -51,6 +55,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 1,
},
+
+ [ITEM_GREAT_BALL] =
{
.name = _("GREAT BALL"),
.itemId = ITEM_GREAT_BALL,
@@ -67,6 +73,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 2,
},
+
+ [ITEM_POKE_BALL] =
{
.name = _("POKé BALL"),
.itemId = ITEM_POKE_BALL,
@@ -83,6 +91,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 3,
},
+
+ [ITEM_SAFARI_BALL] =
{
.name = _("SAFARI BALL"),
.itemId = ITEM_SAFARI_BALL,
@@ -99,6 +109,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 4,
},
+
+ [ITEM_NET_BALL] =
{
.name = _("NET BALL"),
.itemId = ITEM_NET_BALL,
@@ -115,6 +127,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 5,
},
+
+ [ITEM_DIVE_BALL] =
{
.name = _("DIVE BALL"),
.itemId = ITEM_DIVE_BALL,
@@ -131,6 +145,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 6,
},
+
+ [ITEM_NEST_BALL] =
{
.name = _("NEST BALL"),
.itemId = ITEM_NEST_BALL,
@@ -147,6 +163,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 7,
},
+
+ [ITEM_REPEAT_BALL] =
{
.name = _("REPEAT BALL"),
.itemId = ITEM_REPEAT_BALL,
@@ -163,6 +181,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 8,
},
+
+ [ITEM_TIMER_BALL] =
{
.name = _("TIMER BALL"),
.itemId = ITEM_TIMER_BALL,
@@ -179,6 +199,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 9,
},
+
+ [ITEM_LUXURY_BALL] =
{
.name = _("LUXURY BALL"),
.itemId = ITEM_LUXURY_BALL,
@@ -195,6 +217,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PokeBall,
.secondaryId = 10,
},
+
+ [ITEM_PREMIER_BALL] =
{
.name = _("PREMIER BALL"),
.itemId = ITEM_PREMIER_BALL,
@@ -212,8 +236,9 @@ const struct Item gItems[] =
.secondaryId = 11,
},
-//Medicine
+// Medicine
+ [ITEM_POTION] =
{
.name = _("POTION"),
.itemId = ITEM_POTION,
@@ -230,6 +255,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ANTIDOTE] =
{
.name = _("ANTIDOTE"),
.itemId = ITEM_ANTIDOTE,
@@ -246,6 +273,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_BURN_HEAL] =
{
.name = _("BURN HEAL"),
.itemId = ITEM_BURN_HEAL,
@@ -262,6 +291,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ICE_HEAL] =
{
.name = _("ICE HEAL"),
.itemId = ITEM_ICE_HEAL,
@@ -278,6 +309,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_AWAKENING] =
{
.name = _("AWAKENING"),
.itemId = ITEM_AWAKENING,
@@ -294,6 +327,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_PARALYZE_HEAL] =
{
.name = _("PARLYZ HEAL"),
.itemId = ITEM_PARALYZE_HEAL,
@@ -310,6 +345,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_FULL_RESTORE] =
{
.name = _("FULL RESTORE"),
.itemId = ITEM_FULL_RESTORE,
@@ -326,6 +363,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_MAX_POTION] =
{
.name = _("MAX POTION"),
.itemId = ITEM_MAX_POTION,
@@ -342,6 +381,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_HYPER_POTION] =
{
.name = _("HYPER POTION"),
.itemId = ITEM_HYPER_POTION,
@@ -358,6 +399,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_SUPER_POTION] =
{
.name = _("SUPER POTION"),
.itemId = ITEM_SUPER_POTION,
@@ -374,6 +417,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_FULL_HEAL] =
{
.name = _("FULL HEAL"),
.itemId = ITEM_FULL_HEAL,
@@ -390,6 +435,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_REVIVE] =
{
.name = _("REVIVE"),
.itemId = ITEM_REVIVE,
@@ -406,6 +453,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_MAX_REVIVE] =
{
.name = _("MAX REVIVE"),
.itemId = ITEM_MAX_REVIVE,
@@ -422,6 +471,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_FRESH_WATER] =
{
.name = _("FRESH WATER"),
.itemId = ITEM_FRESH_WATER,
@@ -438,6 +489,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_SODA_POP] =
{
.name = _("SODA POP"),
.itemId = ITEM_SODA_POP,
@@ -454,6 +507,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_LEMONADE] =
{
.name = _("LEMONADE"),
.itemId = ITEM_LEMONADE,
@@ -470,6 +525,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_MOOMOO_MILK] =
{
.name = _("MOOMOO MILK"),
.itemId = ITEM_MOOMOO_MILK,
@@ -486,6 +543,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ENERGY_POWDER] =
{
.name = _("ENERGYPOWDER"),
.itemId = ITEM_ENERGY_POWDER,
@@ -502,6 +561,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ENERGY_ROOT] =
{
.name = _("ENERGY ROOT"),
.itemId = ITEM_ENERGY_ROOT,
@@ -518,6 +579,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_HEAL_POWDER] =
{
.name = _("HEAL POWDER"),
.itemId = ITEM_HEAL_POWDER,
@@ -534,6 +597,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_REVIVAL_HERB] =
{
.name = _("REVIVAL HERB"),
.itemId = ITEM_REVIVAL_HERB,
@@ -550,6 +615,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ETHER] =
{
.name = _("ETHER"),
.itemId = ITEM_ETHER,
@@ -566,6 +633,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_MAX_ETHER] =
{
.name = _("MAX ETHER"),
.itemId = ITEM_MAX_ETHER,
@@ -582,6 +651,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_ELIXIR] =
{
.name = _("ELIXIR"),
.itemId = ITEM_ELIXIR,
@@ -598,6 +669,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_MAX_ELIXIR] =
{
.name = _("MAX ELIXIR"),
.itemId = ITEM_MAX_ELIXIR,
@@ -614,6 +687,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_LAVA_COOKIE] =
{
.name = _("LAVA COOKIE"),
.itemId = ITEM_LAVA_COOKIE,
@@ -630,6 +705,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_BLUE_FLUTE] =
{
.name = _("BLUE FLUTE"),
.itemId = ITEM_BLUE_FLUTE,
@@ -646,6 +723,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_YELLOW_FLUTE] =
{
.name = _("YELLOW FLUTE"),
.itemId = ITEM_YELLOW_FLUTE,
@@ -662,6 +741,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_RED_FLUTE] =
{
.name = _("RED FLUTE"),
.itemId = ITEM_RED_FLUTE,
@@ -678,6 +759,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_BLACK_FLUTE] =
{
.name = _("BLACK FLUTE"),
.itemId = ITEM_BLACK_FLUTE,
@@ -694,6 +777,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WHITE_FLUTE] =
{
.name = _("WHITE FLUTE"),
.itemId = ITEM_WHITE_FLUTE,
@@ -710,6 +795,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BERRY_JUICE] =
{
.name = _("BERRY JUICE"),
.itemId = ITEM_BERRY_JUICE,
@@ -726,6 +813,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_SACRED_ASH] =
{
.name = _("SACRED ASH"),
.itemId = ITEM_SACRED_ASH,
@@ -743,8 +832,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Collectibles
+// Collectibles
+ [ITEM_SHOAL_SALT] =
{
.name = _("SHOAL SALT"),
.itemId = ITEM_SHOAL_SALT,
@@ -761,6 +851,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SHOAL_SHELL] =
{
.name = _("SHOAL SHELL"),
.itemId = ITEM_SHOAL_SHELL,
@@ -777,6 +869,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RED_SHARD] =
{
.name = _("RED SHARD"),
.itemId = ITEM_RED_SHARD,
@@ -793,6 +887,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLUE_SHARD] =
{
.name = _("BLUE SHARD"),
.itemId = ITEM_BLUE_SHARD,
@@ -809,6 +905,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_YELLOW_SHARD] =
{
.name = _("YELLOW SHARD"),
.itemId = ITEM_YELLOW_SHARD,
@@ -825,6 +923,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GREEN_SHARD] =
{
.name = _("GREEN SHARD"),
.itemId = ITEM_GREEN_SHARD,
@@ -841,6 +941,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_034] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -857,6 +959,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_035] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -873,6 +977,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_036] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -889,6 +995,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_037] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -905,6 +1013,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_038] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -921,6 +1031,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_039] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -937,6 +1049,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03A] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -953,6 +1067,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03B] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -969,6 +1085,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03C] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -985,6 +1103,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03D] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1001,6 +1121,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_03E] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1018,8 +1140,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Vitamins
+// Vitamins
+ [ITEM_HP_UP] =
{
.name = _("HP UP"),
.itemId = ITEM_HP_UP,
@@ -1036,6 +1159,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PROTEIN] =
{
.name = _("PROTEIN"),
.itemId = ITEM_PROTEIN,
@@ -1052,6 +1177,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_IRON] =
{
.name = _("IRON"),
.itemId = ITEM_IRON,
@@ -1068,6 +1195,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CARBOS] =
{
.name = _("CARBOS"),
.itemId = ITEM_CARBOS,
@@ -1084,6 +1213,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CALCIUM] =
{
.name = _("CALCIUM"),
.itemId = ITEM_CALCIUM,
@@ -1100,6 +1231,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RARE_CANDY] =
{
.name = _("RARE CANDY"),
.itemId = ITEM_RARE_CANDY,
@@ -1116,6 +1249,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PP_UP] =
{
.name = _("PP UP"),
.itemId = ITEM_PP_UP,
@@ -1132,6 +1267,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ZINC] =
{
.name = _("ZINC"),
.itemId = ITEM_ZINC,
@@ -1148,6 +1285,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PP_MAX] =
{
.name = _("PP MAX"),
.itemId = ITEM_PP_MAX,
@@ -1164,6 +1303,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_048] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1181,8 +1322,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Battle items
+// Battle items
+ [ITEM_GUARD_SPEC] =
{
.name = _("GUARD SPEC."),
.itemId = ITEM_GUARD_SPEC,
@@ -1199,6 +1341,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_DIRE_HIT] =
{
.name = _("DIRE HIT"),
.itemId = ITEM_DIRE_HIT,
@@ -1215,6 +1359,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_ATTACK] =
{
.name = _("X ATTACK"),
.itemId = ITEM_X_ATTACK,
@@ -1231,6 +1377,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_DEFEND] =
{
.name = _("X DEFEND"),
.itemId = ITEM_X_DEFEND,
@@ -1247,6 +1395,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_SPEED] =
{
.name = _("X SPEED"),
.itemId = ITEM_X_SPEED,
@@ -1263,6 +1413,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_ACCURACY] =
{
.name = _("X ACCURACY"),
.itemId = ITEM_X_ACCURACY,
@@ -1279,6 +1431,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_X_SPECIAL] =
{
.name = _("X SPECIAL"),
.itemId = ITEM_X_SPECIAL,
@@ -1295,6 +1449,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_StatIncrease,
.secondaryId = 0,
},
+
+ [ITEM_POKE_DOLL] =
{
.name = _("POKé DOLL"),
.itemId = ITEM_POKE_DOLL,
@@ -1311,6 +1467,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Escape,
.secondaryId = 0,
},
+
+ [ITEM_FLUFFY_TAIL] =
{
.name = _("FLUFFY TAIL"),
.itemId = ITEM_FLUFFY_TAIL,
@@ -1327,6 +1485,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Escape,
.secondaryId = 0,
},
+
+ [ITEM_052] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1344,8 +1504,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Field items
+// Field items
+ [ITEM_SUPER_REPEL] =
{
.name = _("SUPER REPEL"),
.itemId = ITEM_SUPER_REPEL,
@@ -1362,6 +1523,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MAX_REPEL] =
{
.name = _("MAX REPEL"),
.itemId = ITEM_MAX_REPEL,
@@ -1378,6 +1541,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ESCAPE_ROPE] =
{
.name = _("ESCAPE ROPE"),
.itemId = ITEM_ESCAPE_ROPE,
@@ -1394,6 +1559,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_REPEL] =
{
.name = _("REPEL"),
.itemId = ITEM_REPEL,
@@ -1410,6 +1577,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_057] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1426,6 +1595,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_058] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1442,6 +1613,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_059] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1458,6 +1631,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_05A] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1474,6 +1649,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_05B] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1490,6 +1667,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_05C] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1507,8 +1686,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Evolution stones
+// Evolution stones
+ [ITEM_SUN_STONE] =
{
.name = _("SUN STONE"),
.itemId = ITEM_SUN_STONE,
@@ -1525,6 +1705,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MOON_STONE] =
{
.name = _("MOON STONE"),
.itemId = ITEM_MOON_STONE,
@@ -1541,6 +1723,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_FIRE_STONE] =
{
.name = _("FIRE STONE"),
.itemId = ITEM_FIRE_STONE,
@@ -1557,6 +1741,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_THUNDER_STONE] =
{
.name = _("THUNDERSTONE"),
.itemId = ITEM_THUNDER_STONE,
@@ -1573,6 +1759,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WATER_STONE] =
{
.name = _("WATER STONE"),
.itemId = ITEM_WATER_STONE,
@@ -1589,6 +1777,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LEAF_STONE] =
{
.name = _("LEAF STONE"),
.itemId = ITEM_LEAF_STONE,
@@ -1605,6 +1795,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_063] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1621,6 +1813,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_064] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1637,6 +1831,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_065] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1653,6 +1849,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_066] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1670,8 +1868,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Valuable items
+// Valuable items
+ [ITEM_TINY_MUSHROOM] =
{
.name = _("TINYMUSHROOM"),
.itemId = ITEM_TINY_MUSHROOM,
@@ -1688,6 +1887,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BIG_MUSHROOM] =
{
.name = _("BIG MUSHROOM"),
.itemId = ITEM_BIG_MUSHROOM,
@@ -1704,6 +1905,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_069] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1720,6 +1923,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PEARL] =
{
.name = _("PEARL"),
.itemId = ITEM_PEARL,
@@ -1736,6 +1941,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BIG_PEARL] =
{
.name = _("BIG PEARL"),
.itemId = ITEM_BIG_PEARL,
@@ -1752,6 +1959,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STARDUST] =
{
.name = _("STARDUST"),
.itemId = ITEM_STARDUST,
@@ -1768,6 +1977,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STAR_PIECE] =
{
.name = _("STAR PIECE"),
.itemId = ITEM_STAR_PIECE,
@@ -1784,6 +1995,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_NUGGET] =
{
.name = _("NUGGET"),
.itemId = ITEM_NUGGET,
@@ -1800,6 +2013,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HEART_SCALE] =
{
.name = _("HEART SCALE"),
.itemId = ITEM_HEART_SCALE,
@@ -1816,6 +2031,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_070] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1832,6 +2049,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_071] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1848,6 +2067,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_072] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1864,6 +2085,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_073] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1880,6 +2103,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_074] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1896,6 +2121,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_075] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1912,6 +2139,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_076] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1928,6 +2157,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_077] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1944,6 +2175,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_078] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -1961,7 +2194,8 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Mail
+// Mail
+ [ITEM_ORANGE_MAIL] =
{
.name = _("ORANGE MAIL"),
.itemId = ITEM_ORANGE_MAIL,
@@ -1978,6 +2212,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HARBOR_MAIL] =
{
.name = _("HARBOR MAIL"),
.itemId = ITEM_HARBOR_MAIL,
@@ -1994,6 +2230,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 1,
},
+
+ [ITEM_GLITTER_MAIL] =
{
.name = _("GLITTER MAIL"),
.itemId = ITEM_GLITTER_MAIL,
@@ -2010,6 +2248,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 2,
},
+
+ [ITEM_MECH_MAIL] =
{
.name = _("MECH MAIL"),
.itemId = ITEM_MECH_MAIL,
@@ -2026,6 +2266,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 3,
},
+
+ [ITEM_WOOD_MAIL] =
{
.name = _("WOOD MAIL"),
.itemId = ITEM_WOOD_MAIL,
@@ -2042,6 +2284,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 4,
},
+
+ [ITEM_WAVE_MAIL] =
{
.name = _("WAVE MAIL"),
.itemId = ITEM_WAVE_MAIL,
@@ -2058,6 +2302,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 5,
},
+
+ [ITEM_BEAD_MAIL] =
{
.name = _("BEAD MAIL"),
.itemId = ITEM_BEAD_MAIL,
@@ -2074,6 +2320,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 6,
},
+
+ [ITEM_SHADOW_MAIL] =
{
.name = _("SHADOW MAIL"),
.itemId = ITEM_SHADOW_MAIL,
@@ -2090,6 +2338,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 7,
},
+
+ [ITEM_TROPIC_MAIL] =
{
.name = _("TROPIC MAIL"),
.itemId = ITEM_TROPIC_MAIL,
@@ -2106,6 +2356,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 8,
},
+
+ [ITEM_DREAM_MAIL] =
{
.name = _("DREAM MAIL"),
.itemId = ITEM_DREAM_MAIL,
@@ -2122,6 +2374,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 9,
},
+
+ [ITEM_FAB_MAIL] =
{
.name = _("FAB MAIL"),
.itemId = ITEM_FAB_MAIL,
@@ -2138,6 +2392,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 10,
},
+
+ [ITEM_RETRO_MAIL] =
{
.name = _("RETRO MAIL"),
.itemId = ITEM_RETRO_MAIL,
@@ -2155,8 +2411,9 @@ const struct Item gItems[] =
.secondaryId = 11,
},
-//Berries
+// Berries
+ [ITEM_CHERI_BERRY] =
{
.name = _("CHERI BERRY"),
.itemId = ITEM_CHERI_BERRY,
@@ -2173,6 +2430,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_CHESTO_BERRY] =
{
.name = _("CHESTO BERRY"),
.itemId = ITEM_CHESTO_BERRY,
@@ -2189,6 +2448,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_PECHA_BERRY] =
{
.name = _("PECHA BERRY"),
.itemId = ITEM_PECHA_BERRY,
@@ -2205,6 +2466,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_RAWST_BERRY] =
{
.name = _("RAWST BERRY"),
.itemId = ITEM_RAWST_BERRY,
@@ -2221,6 +2484,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_ASPEAR_BERRY] =
{
.name = _("ASPEAR BERRY"),
.itemId = ITEM_ASPEAR_BERRY,
@@ -2237,6 +2502,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_LEPPA_BERRY] =
{
.name = _("LEPPA BERRY"),
.itemId = ITEM_LEPPA_BERRY,
@@ -2253,6 +2520,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_PPRecovery,
.secondaryId = 0,
},
+
+ [ITEM_ORAN_BERRY] =
{
.name = _("ORAN BERRY"),
.itemId = ITEM_ORAN_BERRY,
@@ -2269,6 +2538,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_PERSIM_BERRY] =
{
.name = _("PERSIM BERRY"),
.itemId = ITEM_PERSIM_BERRY,
@@ -2285,6 +2556,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_LUM_BERRY] =
{
.name = _("LUM BERRY"),
.itemId = ITEM_LUM_BERRY,
@@ -2301,6 +2574,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_SITRUS_BERRY] =
{
.name = _("SITRUS BERRY"),
.itemId = ITEM_SITRUS_BERRY,
@@ -2317,6 +2592,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_Medicine,
.secondaryId = 0,
},
+
+ [ITEM_FIGY_BERRY] =
{
.name = _("FIGY BERRY"),
.itemId = ITEM_FIGY_BERRY,
@@ -2333,6 +2610,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WIKI_BERRY] =
{
.name = _("WIKI BERRY"),
.itemId = ITEM_WIKI_BERRY,
@@ -2349,6 +2628,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MAGO_BERRY] =
{
.name = _("MAGO BERRY"),
.itemId = ITEM_MAGO_BERRY,
@@ -2365,6 +2646,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_AGUAV_BERRY] =
{
.name = _("AGUAV BERRY"),
.itemId = ITEM_AGUAV_BERRY,
@@ -2381,6 +2664,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_IAPAPA_BERRY] =
{
.name = _("IAPAPA BERRY"),
.itemId = ITEM_IAPAPA_BERRY,
@@ -2397,6 +2682,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RAZZ_BERRY] =
{
.name = _("RAZZ BERRY"),
.itemId = ITEM_RAZZ_BERRY,
@@ -2413,6 +2700,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLUK_BERRY] =
{
.name = _("BLUK BERRY"),
.itemId = ITEM_BLUK_BERRY,
@@ -2429,6 +2718,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_NANAB_BERRY] =
{
.name = _("NANAB BERRY"),
.itemId = ITEM_NANAB_BERRY,
@@ -2445,6 +2736,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WEPEAR_BERRY] =
{
.name = _("WEPEAR BERRY"),
.itemId = ITEM_WEPEAR_BERRY,
@@ -2461,6 +2754,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PINAP_BERRY] =
{
.name = _("PINAP BERRY"),
.itemId = ITEM_PINAP_BERRY,
@@ -2477,6 +2772,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_POMEG_BERRY] =
{
.name = _("POMEG BERRY"),
.itemId = ITEM_POMEG_BERRY,
@@ -2493,6 +2790,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_KELPSY_BERRY] =
{
.name = _("KELPSY BERRY"),
.itemId = ITEM_KELPSY_BERRY,
@@ -2509,6 +2808,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_QUALOT_BERRY] =
{
.name = _("QUALOT BERRY"),
.itemId = ITEM_QUALOT_BERRY,
@@ -2525,6 +2826,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HONDEW_BERRY] =
{
.name = _("HONDEW BERRY"),
.itemId = ITEM_HONDEW_BERRY,
@@ -2541,6 +2844,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GREPA_BERRY] =
{
.name = _("GREPA BERRY"),
.itemId = ITEM_GREPA_BERRY,
@@ -2557,6 +2862,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TAMATO_BERRY] =
{
.name = _("TAMATO BERRY"),
.itemId = ITEM_TAMATO_BERRY,
@@ -2573,6 +2880,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CORNN_BERRY] =
{
.name = _("CORNN BERRY"),
.itemId = ITEM_CORNN_BERRY,
@@ -2589,6 +2898,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MAGOST_BERRY] =
{
.name = _("MAGOST BERRY"),
.itemId = ITEM_MAGOST_BERRY,
@@ -2605,6 +2916,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RABUTA_BERRY] =
{
.name = _("RABUTA BERRY"),
.itemId = ITEM_RABUTA_BERRY,
@@ -2621,6 +2934,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_NOMEL_BERRY] =
{
.name = _("NOMEL BERRY"),
.itemId = ITEM_NOMEL_BERRY,
@@ -2637,6 +2952,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SPELON_BERRY] =
{
.name = _("SPELON BERRY"),
.itemId = ITEM_SPELON_BERRY,
@@ -2653,6 +2970,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PAMTRE_BERRY] =
{
.name = _("PAMTRE BERRY"),
.itemId = ITEM_PAMTRE_BERRY,
@@ -2669,6 +2988,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WATMEL_BERRY] =
{
.name = _("WATMEL BERRY"),
.itemId = ITEM_WATMEL_BERRY,
@@ -2685,6 +3006,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DURIN_BERRY] =
{
.name = _("DURIN BERRY"),
.itemId = ITEM_DURIN_BERRY,
@@ -2701,6 +3024,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BELUE_BERRY] =
{
.name = _("BELUE BERRY"),
.itemId = ITEM_BELUE_BERRY,
@@ -2717,6 +3042,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LIECHI_BERRY] =
{
.name = _("LIECHI BERRY"),
.itemId = ITEM_LIECHI_BERRY,
@@ -2733,6 +3060,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GANLON_BERRY] =
{
.name = _("GANLON BERRY"),
.itemId = ITEM_GANLON_BERRY,
@@ -2749,6 +3078,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SALAC_BERRY] =
{
.name = _("SALAC BERRY"),
.itemId = ITEM_SALAC_BERRY,
@@ -2765,6 +3096,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PETAYA_BERRY] =
{
.name = _("PETAYA BERRY"),
.itemId = ITEM_PETAYA_BERRY,
@@ -2781,6 +3114,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_APICOT_BERRY] =
{
.name = _("APICOT BERRY"),
.itemId = ITEM_APICOT_BERRY,
@@ -2797,6 +3132,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LANSAT_BERRY] =
{
.name = _("LANSAT BERRY"),
.itemId = ITEM_LANSAT_BERRY,
@@ -2813,6 +3150,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STARF_BERRY] =
{
.name = _("STARF BERRY"),
.itemId = ITEM_STARF_BERRY,
@@ -2829,6 +3168,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ENIGMA_BERRY] =
{
.name = _("ENIGMA BERRY"),
.itemId = ITEM_ENIGMA_BERRY,
@@ -2845,6 +3186,8 @@ const struct Item gItems[] =
.battleUseFunc = ItemUseInBattle_EnigmaBerry,
.secondaryId = 0,
},
+
+ [ITEM_0B0] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -2861,6 +3204,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0B1] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -2877,6 +3222,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0B2] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -2894,8 +3241,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Hold items
+// Hold items
+ [ITEM_BRIGHT_POWDER] =
{
.name = _("BRIGHTPOWDER"),
.itemId = ITEM_BRIGHT_POWDER,
@@ -2912,6 +3260,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WHITE_HERB] =
{
.name = _("WHITE HERB"),
.itemId = ITEM_WHITE_HERB,
@@ -2928,6 +3278,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MACHO_BRACE] =
{
.name = _("MACHO BRACE"),
.itemId = ITEM_MACHO_BRACE,
@@ -2944,6 +3296,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_EXP_SHARE] =
{
.name = _("EXP. SHARE"),
.itemId = ITEM_EXP_SHARE,
@@ -2960,6 +3314,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_QUICK_CLAW] =
{
.name = _("QUICK CLAW"),
.itemId = ITEM_QUICK_CLAW,
@@ -2976,6 +3332,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SOOTHE_BELL] =
{
.name = _("SOOTHE BELL"),
.itemId = ITEM_SOOTHE_BELL,
@@ -2992,6 +3350,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MENTAL_HERB] =
{
.name = _("MENTAL HERB"),
.itemId = ITEM_MENTAL_HERB,
@@ -3008,6 +3368,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CHOICE_BAND] =
{
.name = _("CHOICE BAND"),
.itemId = ITEM_CHOICE_BAND,
@@ -3024,8 +3386,10 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_KINGS_ROCK] =
{
- .name = _("KING’S ROCK"),
+ .name = _("KING'S ROCK"),
.itemId = ITEM_KINGS_ROCK,
.price = 100,
.holdEffect = HOLD_EFFECT_FLINCH,
@@ -3040,6 +3404,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SILVER_POWDER] =
{
.name = _("SILVERPOWDER"),
.itemId = ITEM_SILVER_POWDER,
@@ -3056,6 +3422,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_AMULET_COIN] =
{
.name = _("AMULET COIN"),
.itemId = ITEM_AMULET_COIN,
@@ -3072,6 +3440,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CLEANSE_TAG] =
{
.name = _("CLEANSE TAG"),
.itemId = ITEM_CLEANSE_TAG,
@@ -3088,6 +3458,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SOUL_DEW] =
{
.name = _("SOUL DEW"),
.itemId = ITEM_SOUL_DEW,
@@ -3104,6 +3476,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DEEP_SEA_TOOTH] =
{
.name = _("DEEPSEATOOTH"),
.itemId = ITEM_DEEP_SEA_TOOTH,
@@ -3120,6 +3494,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DEEP_SEA_SCALE] =
{
.name = _("DEEPSEASCALE"),
.itemId = ITEM_DEEP_SEA_SCALE,
@@ -3136,6 +3512,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SMOKE_BALL] =
{
.name = _("SMOKE BALL"),
.itemId = ITEM_SMOKE_BALL,
@@ -3152,6 +3530,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_EVERSTONE] =
{
.name = _("EVERSTONE"),
.itemId = ITEM_EVERSTONE,
@@ -3168,6 +3548,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_FOCUS_BAND] =
{
.name = _("FOCUS BAND"),
.itemId = ITEM_FOCUS_BAND,
@@ -3184,6 +3566,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LUCKY_EGG] =
{
.name = _("LUCKY EGG"),
.itemId = ITEM_LUCKY_EGG,
@@ -3200,6 +3584,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SCOPE_LENS] =
{
.name = _("SCOPE LENS"),
.itemId = ITEM_SCOPE_LENS,
@@ -3216,6 +3602,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_METAL_COAT] =
{
.name = _("METAL COAT"),
.itemId = ITEM_METAL_COAT,
@@ -3232,6 +3620,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LEFTOVERS] =
{
.name = _("LEFTOVERS"),
.itemId = ITEM_LEFTOVERS,
@@ -3248,6 +3638,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DRAGON_SCALE] =
{
.name = _("DRAGON SCALE"),
.itemId = ITEM_DRAGON_SCALE,
@@ -3264,6 +3656,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LIGHT_BALL] =
{
.name = _("LIGHT BALL"),
.itemId = ITEM_LIGHT_BALL,
@@ -3280,6 +3674,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SOFT_SAND] =
{
.name = _("SOFT SAND"),
.itemId = ITEM_SOFT_SAND,
@@ -3296,6 +3692,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HARD_STONE] =
{
.name = _("HARD STONE"),
.itemId = ITEM_HARD_STONE,
@@ -3312,6 +3710,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MIRACLE_SEED] =
{
.name = _("MIRACLE SEED"),
.itemId = ITEM_MIRACLE_SEED,
@@ -3328,6 +3728,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLACK_GLASSES] =
{
.name = _("BLACKGLASSES"),
.itemId = ITEM_BLACK_GLASSES,
@@ -3344,6 +3746,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLACK_BELT] =
{
.name = _("BLACK BELT"),
.itemId = ITEM_BLACK_BELT,
@@ -3360,6 +3764,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MAGNET] =
{
.name = _("MAGNET"),
.itemId = ITEM_MAGNET,
@@ -3376,6 +3782,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_MYSTIC_WATER] =
{
.name = _("MYSTIC WATER"),
.itemId = ITEM_MYSTIC_WATER,
@@ -3392,6 +3800,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SHARP_BEAK] =
{
.name = _("SHARP BEAK"),
.itemId = ITEM_SHARP_BEAK,
@@ -3408,6 +3818,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_POISON_BARB] =
{
.name = _("POISON BARB"),
.itemId = ITEM_POISON_BARB,
@@ -3424,6 +3836,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_NEVER_MELT_ICE] =
{
.name = _("NEVERMELTICE"),
.itemId = ITEM_NEVER_MELT_ICE,
@@ -3440,6 +3854,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SPELL_TAG] =
{
.name = _("SPELL TAG"),
.itemId = ITEM_SPELL_TAG,
@@ -3456,6 +3872,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TWISTED_SPOON] =
{
.name = _("TWISTEDSPOON"),
.itemId = ITEM_TWISTED_SPOON,
@@ -3472,6 +3890,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CHARCOAL] =
{
.name = _("CHARCOAL"),
.itemId = ITEM_CHARCOAL,
@@ -3488,6 +3908,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DRAGON_FANG] =
{
.name = _("DRAGON FANG"),
.itemId = ITEM_DRAGON_FANG,
@@ -3504,6 +3926,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SILK_SCARF] =
{
.name = _("SILK SCARF"),
.itemId = ITEM_SILK_SCARF,
@@ -3520,6 +3944,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_UP_GRADE] =
{
.name = _("UP-GRADE"),
.itemId = ITEM_UP_GRADE,
@@ -3536,6 +3962,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SHELL_BELL] =
{
.name = _("SHELL BELL"),
.itemId = ITEM_SHELL_BELL,
@@ -3552,6 +3980,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SEA_INCENSE] =
{
.name = _("SEA INCENSE"),
.itemId = ITEM_SEA_INCENSE,
@@ -3568,6 +3998,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LAX_INCENSE] =
{
.name = _("LAX INCENSE"),
.itemId = ITEM_LAX_INCENSE,
@@ -3584,6 +4016,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LUCKY_PUNCH] =
{
.name = _("LUCKY PUNCH"),
.itemId = ITEM_LUCKY_PUNCH,
@@ -3600,6 +4034,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_METAL_POWDER] =
{
.name = _("METAL POWDER"),
.itemId = ITEM_METAL_POWDER,
@@ -3616,6 +4052,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_THICK_CLUB] =
{
.name = _("THICK CLUB"),
.itemId = ITEM_THICK_CLUB,
@@ -3632,6 +4070,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STICK] =
{
.name = _("STICK"),
.itemId = ITEM_STICK,
@@ -3648,6 +4088,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E2] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3664,6 +4106,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E3] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3680,6 +4124,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E4] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3696,6 +4142,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E5] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3712,6 +4160,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E6] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3728,6 +4178,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E7] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3744,6 +4196,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E8] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3760,6 +4214,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0E9] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3776,6 +4232,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EA] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3792,6 +4250,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EB] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3808,6 +4268,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EC] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3824,6 +4286,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0ED] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3840,6 +4304,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EE] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3856,6 +4322,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0EF] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3872,6 +4340,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F0] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3888,6 +4358,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F1] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3904,6 +4376,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F2] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3920,6 +4394,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F3] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3936,6 +4412,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F4] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3952,6 +4430,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F5] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3968,6 +4448,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F6] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -3984,6 +4466,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F7] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4000,6 +4484,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F8] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4016,6 +4502,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0F9] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4032,6 +4520,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0FA] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4048,6 +4538,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0FB] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4064,6 +4556,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0FC] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4080,6 +4574,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_0FD] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4096,6 +4592,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RED_SCARF] =
{
.name = _("RED SCARF"),
.itemId = ITEM_RED_SCARF,
@@ -4112,6 +4610,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLUE_SCARF] =
{
.name = _("BLUE SCARF"),
.itemId = ITEM_BLUE_SCARF,
@@ -4128,6 +4628,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_PINK_SCARF] =
{
.name = _("PINK SCARF"),
.itemId = ITEM_PINK_SCARF,
@@ -4144,6 +4646,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GREEN_SCARF] =
{
.name = _("GREEN SCARF"),
.itemId = ITEM_GREEN_SCARF,
@@ -4160,6 +4664,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_YELLOW_SCARF] =
{
.name = _("YELLOW SCARF"),
.itemId = ITEM_YELLOW_SCARF,
@@ -4177,8 +4683,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Key items
+// Key items
+ [ITEM_MACH_BIKE] =
{
.name = _("MACH BIKE"),
.itemId = ITEM_MACH_BIKE,
@@ -4195,6 +4702,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_COIN_CASE] =
{
.name = _("COIN CASE"),
.itemId = ITEM_COIN_CASE,
@@ -4211,6 +4720,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ITEMFINDER] =
{
.name = _("ITEMFINDER"),
.itemId = ITEM_ITEMFINDER,
@@ -4227,6 +4738,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_OLD_ROD] =
{
.name = _("OLD ROD"),
.itemId = ITEM_OLD_ROD,
@@ -4243,6 +4756,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GOOD_ROD] =
{
.name = _("GOOD ROD"),
.itemId = ITEM_GOOD_ROD,
@@ -4259,6 +4774,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 1,
},
+
+ [ITEM_SUPER_ROD] =
{
.name = _("SUPER ROD"),
.itemId = ITEM_SUPER_ROD,
@@ -4275,6 +4792,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 2,
},
+
+ [ITEM_SS_TICKET] =
{
.name = _("S.S. TICKET"),
.itemId = ITEM_SS_TICKET,
@@ -4291,6 +4810,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CONTEST_PASS] =
{
.name = _("CONTEST PASS"),
.itemId = ITEM_CONTEST_PASS,
@@ -4307,6 +4828,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_10B] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -4323,6 +4846,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_WAILMER_PAIL] =
{
.name = _("WAILMER PAIL"),
.itemId = ITEM_WAILMER_PAIL,
@@ -4339,6 +4864,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DEVON_GOODS] =
{
.name = _("DEVON GOODS"),
.itemId = ITEM_DEVON_GOODS,
@@ -4355,6 +4882,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SOOT_SACK] =
{
.name = _("SOOT SACK"),
.itemId = ITEM_SOOT_SACK,
@@ -4371,6 +4900,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BASEMENT_KEY] =
{
.name = _("BASEMENT KEY"),
.itemId = ITEM_BASEMENT_KEY,
@@ -4387,6 +4918,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ACRO_BIKE] =
{
.name = _("ACRO BIKE"),
.itemId = ITEM_ACRO_BIKE,
@@ -4403,6 +4936,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 1,
},
+
+ [ITEM_POKEBLOCK_CASE] =
{
.name = _("{POKEBLOCK} CASE"),
.itemId = ITEM_POKEBLOCK_CASE,
@@ -4419,6 +4954,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LETTER] =
{
.name = _("LETTER"),
.itemId = ITEM_LETTER,
@@ -4435,6 +4972,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_EON_TICKET] =
{
.name = _("EON TICKET"),
.itemId = ITEM_EON_TICKET,
@@ -4451,6 +4990,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 1,
},
+
+ [ITEM_RED_ORB] =
{
.name = _("RED ORB"),
.itemId = ITEM_RED_ORB,
@@ -4467,6 +5008,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BLUE_ORB] =
{
.name = _("BLUE ORB"),
.itemId = ITEM_BLUE_ORB,
@@ -4483,6 +5026,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SCANNER] =
{
.name = _("SCANNER"),
.itemId = ITEM_SCANNER,
@@ -4499,6 +5044,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GO_GOGGLES] =
{
.name = _("GO-GOGGLES"),
.itemId = ITEM_GO_GOGGLES,
@@ -4515,6 +5062,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_METEORITE] =
{
.name = _("METEORITE"),
.itemId = ITEM_METEORITE,
@@ -4531,6 +5080,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOM_1_KEY] =
{
.name = _("RM. 1 KEY"),
.itemId = ITEM_ROOM_1_KEY,
@@ -4547,6 +5098,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOM_2_KEY] =
{
.name = _("RM. 2 KEY"),
.itemId = ITEM_ROOM_2_KEY,
@@ -4563,6 +5116,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOM_4_KEY] =
{
.name = _("RM. 4 KEY"),
.itemId = ITEM_ROOM_4_KEY,
@@ -4579,6 +5134,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOM_6_KEY] =
{
.name = _("RM. 6 KEY"),
.itemId = ITEM_ROOM_6_KEY,
@@ -4595,6 +5152,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_STORAGE_KEY] =
{
.name = _("STORAGE KEY"),
.itemId = ITEM_STORAGE_KEY,
@@ -4611,6 +5170,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_ROOT_FOSSIL] =
{
.name = _("ROOT FOSSIL"),
.itemId = ITEM_ROOT_FOSSIL,
@@ -4627,6 +5188,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CLAW_FOSSIL] =
{
.name = _("CLAW FOSSIL"),
.itemId = ITEM_CLAW_FOSSIL,
@@ -4643,6 +5206,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DEVON_SCOPE] =
{
.name = _("DEVON SCOPE"),
.itemId = ITEM_DEVON_SCOPE,
@@ -4660,8 +5225,9 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//TMs/HMs
+// TMs/HMs
+ [ITEM_TM01_FOCUS_PUNCH] =
{
.name = _("TM01"),
.itemId = ITEM_TM01_FOCUS_PUNCH,
@@ -4678,6 +5244,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM02_DRAGON_CLAW] =
{
.name = _("TM02"),
.itemId = ITEM_TM02_DRAGON_CLAW,
@@ -4694,6 +5262,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM03_WATER_PULSE] =
{
.name = _("TM03"),
.itemId = ITEM_TM03_WATER_PULSE,
@@ -4710,6 +5280,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM04_CALM_MIND] =
{
.name = _("TM04"),
.itemId = ITEM_TM04_CALM_MIND,
@@ -4726,6 +5298,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM05_ROAR] =
{
.name = _("TM05"),
.itemId = ITEM_TM05_ROAR,
@@ -4742,6 +5316,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM06_TOXIC] =
{
.name = _("TM06"),
.itemId = ITEM_TM06_TOXIC,
@@ -4758,6 +5334,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM07_HAIL] =
{
.name = _("TM07"),
.itemId = ITEM_TM07_HAIL,
@@ -4774,6 +5352,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM08_BULK_UP] =
{
.name = _("TM08"),
.itemId = ITEM_TM08_BULK_UP,
@@ -4790,6 +5370,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM09_BULLET_SEED] =
{
.name = _("TM09"),
.itemId = ITEM_TM09_BULLET_SEED,
@@ -4806,6 +5388,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM10_HIDDEN_POWER] =
{
.name = _("TM10"),
.itemId = ITEM_TM10_HIDDEN_POWER,
@@ -4822,6 +5406,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM11_SUNNY_DAY] =
{
.name = _("TM11"),
.itemId = ITEM_TM11_SUNNY_DAY,
@@ -4838,6 +5424,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM12_TAUNT] =
{
.name = _("TM12"),
.itemId = ITEM_TM12_TAUNT,
@@ -4854,6 +5442,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM13_ICE_BEAM] =
{
.name = _("TM13"),
.itemId = ITEM_TM13_ICE_BEAM,
@@ -4870,6 +5460,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM14_BLIZZARD] =
{
.name = _("TM14"),
.itemId = ITEM_TM14_BLIZZARD,
@@ -4886,6 +5478,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM15_HYPER_BEAM] =
{
.name = _("TM15"),
.itemId = ITEM_TM15_HYPER_BEAM,
@@ -4902,6 +5496,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM16_LIGHT_SCREEN] =
{
.name = _("TM16"),
.itemId = ITEM_TM16_LIGHT_SCREEN,
@@ -4918,6 +5514,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM17_PROTECT] =
{
.name = _("TM17"),
.itemId = ITEM_TM17_PROTECT,
@@ -4934,6 +5532,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM18_RAIN_DANCE] =
{
.name = _("TM18"),
.itemId = ITEM_TM18_RAIN_DANCE,
@@ -4950,6 +5550,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM19_GIGA_DRAIN] =
{
.name = _("TM19"),
.itemId = ITEM_TM19_GIGA_DRAIN,
@@ -4966,6 +5568,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM20_SAFEGUARD] =
{
.name = _("TM20"),
.itemId = ITEM_TM20_SAFEGUARD,
@@ -4982,6 +5586,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM21_FRUSTRATION] =
{
.name = _("TM21"),
.itemId = ITEM_TM21_FRUSTRATION,
@@ -4998,6 +5604,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM22_SOLARBEAM] =
{
.name = _("TM22"),
.itemId = ITEM_TM22_SOLARBEAM,
@@ -5014,6 +5622,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM23_IRON_TAIL] =
{
.name = _("TM23"),
.itemId = ITEM_TM23_IRON_TAIL,
@@ -5030,6 +5640,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM24_THUNDERBOLT] =
{
.name = _("TM24"),
.itemId = ITEM_TM24_THUNDERBOLT,
@@ -5046,6 +5658,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM25_THUNDER] =
{
.name = _("TM25"),
.itemId = ITEM_TM25_THUNDER,
@@ -5062,6 +5676,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM26_EARTHQUAKE] =
{
.name = _("TM26"),
.itemId = ITEM_TM26_EARTHQUAKE,
@@ -5078,6 +5694,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM27_RETURN] =
{
.name = _("TM27"),
.itemId = ITEM_TM27_RETURN,
@@ -5094,6 +5712,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM28_DIG] =
{
.name = _("TM28"),
.itemId = ITEM_TM28_DIG,
@@ -5110,6 +5730,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM29_PSYCHIC] =
{
.name = _("TM29"),
.itemId = ITEM_TM29_PSYCHIC,
@@ -5126,6 +5748,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM30_SHADOW_BALL] =
{
.name = _("TM30"),
.itemId = ITEM_TM30_SHADOW_BALL,
@@ -5142,6 +5766,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM31_BRICK_BREAK] =
{
.name = _("TM31"),
.itemId = ITEM_TM31_BRICK_BREAK,
@@ -5158,6 +5784,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM32_DOUBLE_TEAM] =
{
.name = _("TM32"),
.itemId = ITEM_TM32_DOUBLE_TEAM,
@@ -5174,6 +5802,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM33_REFLECT] =
{
.name = _("TM33"),
.itemId = ITEM_TM33_REFLECT,
@@ -5190,6 +5820,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM34_SHOCK_WAVE] =
{
.name = _("TM34"),
.itemId = ITEM_TM34_SHOCK_WAVE,
@@ -5206,6 +5838,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM35_FLAMETHROWER] =
{
.name = _("TM35"),
.itemId = ITEM_TM35_FLAMETHROWER,
@@ -5222,6 +5856,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM36_SLUDGE_BOMB] =
{
.name = _("TM36"),
.itemId = ITEM_TM36_SLUDGE_BOMB,
@@ -5238,6 +5874,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM37_SANDSTORM] =
{
.name = _("TM37"),
.itemId = ITEM_TM37_SANDSTORM,
@@ -5254,6 +5892,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM38_FIRE_BLAST] =
{
.name = _("TM38"),
.itemId = ITEM_TM38_FIRE_BLAST,
@@ -5270,6 +5910,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM39_ROCK_TOMB] =
{
.name = _("TM39"),
.itemId = ITEM_TM39_ROCK_TOMB,
@@ -5286,6 +5928,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM40_AERIAL_ACE] =
{
.name = _("TM40"),
.itemId = ITEM_TM40_AERIAL_ACE,
@@ -5302,6 +5946,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM41_TORMENT] =
{
.name = _("TM41"),
.itemId = ITEM_TM41_TORMENT,
@@ -5318,6 +5964,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM42_FACADE] =
{
.name = _("TM42"),
.itemId = ITEM_TM42_FACADE,
@@ -5334,6 +5982,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM43_SECRET_POWER] =
{
.name = _("TM43"),
.itemId = ITEM_TM43_SECRET_POWER,
@@ -5350,6 +6000,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM44_REST] =
{
.name = _("TM44"),
.itemId = ITEM_TM44_REST,
@@ -5366,6 +6018,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM45_ATTRACT] =
{
.name = _("TM45"),
.itemId = ITEM_TM45_ATTRACT,
@@ -5382,6 +6036,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM46_THIEF] =
{
.name = _("TM46"),
.itemId = ITEM_TM46_THIEF,
@@ -5398,6 +6054,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM47_STEEL_WING] =
{
.name = _("TM47"),
.itemId = ITEM_TM47_STEEL_WING,
@@ -5414,6 +6072,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM48_SKILL_SWAP] =
{
.name = _("TM48"),
.itemId = ITEM_TM48_SKILL_SWAP,
@@ -5430,6 +6090,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM49_SNATCH] =
{
.name = _("TM49"),
.itemId = ITEM_TM49_SNATCH,
@@ -5446,6 +6108,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM50_OVERHEAT] =
{
.name = _("TM50"),
.itemId = ITEM_TM50_OVERHEAT,
@@ -5462,6 +6126,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM01_CUT] =
{
.name = _("HM01"),
.itemId = ITEM_HM01_CUT,
@@ -5478,6 +6144,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM02_FLY] =
{
.name = _("HM02"),
.itemId = ITEM_HM02_FLY,
@@ -5494,6 +6162,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM03_SURF] =
{
.name = _("HM03"),
.itemId = ITEM_HM03_SURF,
@@ -5510,6 +6180,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM04_STRENGTH] =
{
.name = _("HM04"),
.itemId = ITEM_HM04_STRENGTH,
@@ -5526,6 +6198,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM05_FLASH] =
{
.name = _("HM05"),
.itemId = ITEM_HM05_FLASH,
@@ -5542,6 +6216,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM06_ROCK_SMASH] =
{
.name = _("HM06"),
.itemId = ITEM_HM06_ROCK_SMASH,
@@ -5558,6 +6234,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM07_WATERFALL] =
{
.name = _("HM07"),
.itemId = ITEM_HM07_WATERFALL,
@@ -5574,6 +6252,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HM08_DIVE] =
{
.name = _("HM08"),
.itemId = ITEM_HM08_DIVE,
@@ -5590,6 +6270,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_15B] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -5606,6 +6288,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_15C] =
{
.name = _("????????"),
.itemId = ITEM_NONE,
@@ -5623,10 +6307,11 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//FireRed/LeafGreen key items
+// FireRed/LeafGreen key items
+ [ITEM_OAKS_PARCEL] =
{
- .name = _("OAK’S PARCEL"),
+ .name = _("OAK'S PARCEL"),
.itemId = ITEM_OAKS_PARCEL,
.price = 0,
.holdEffect = HOLD_EFFECT_NONE,
@@ -5641,6 +6326,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_POKE_FLUTE] =
{
.name = _("POKé FLUTE"),
.itemId = ITEM_POKE_FLUTE,
@@ -5657,6 +6344,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SECRET_KEY] =
{
.name = _("SECRET KEY"),
.itemId = ITEM_SECRET_KEY,
@@ -5673,6 +6362,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BIKE_VOUCHER] =
{
.name = _("BIKE VOUCHER"),
.itemId = ITEM_BIKE_VOUCHER,
@@ -5689,6 +6380,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_GOLD_TEETH] =
{
.name = _("GOLD TEETH"),
.itemId = ITEM_GOLD_TEETH,
@@ -5705,6 +6398,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_OLD_AMBER] =
{
.name = _("OLD AMBER"),
.itemId = ITEM_OLD_AMBER,
@@ -5721,6 +6416,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_CARD_KEY] =
{
.name = _("CARD KEY"),
.itemId = ITEM_CARD_KEY,
@@ -5737,6 +6434,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_LIFT_KEY] =
{
.name = _("LIFT KEY"),
.itemId = ITEM_LIFT_KEY,
@@ -5753,6 +6452,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_HELIX_FOSSIL] =
{
.name = _("HELIX FOSSIL"),
.itemId = ITEM_HELIX_FOSSIL,
@@ -5769,6 +6470,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_DOME_FOSSIL] =
{
.name = _("DOME FOSSIL"),
.itemId = ITEM_DOME_FOSSIL,
@@ -5785,6 +6488,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_SILPH_SCOPE] =
{
.name = _("SILPH SCOPE"),
.itemId = ITEM_SILPH_SCOPE,
@@ -5801,6 +6506,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BICYCLE] =
{
.name = _("BICYCLE"),
.itemId = ITEM_BICYCLE,
@@ -5817,6 +6524,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TOWN_MAP] =
{
.name = _("TOWN MAP"),
.itemId = ITEM_TOWN_MAP,
@@ -5833,6 +6542,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_VS_SEEKER] =
{
.name = _("VS SEEKER"),
.itemId = ITEM_VS_SEEKER,
@@ -5849,6 +6560,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_FAME_CHECKER] =
{
.name = _("FAME CHECKER"),
.itemId = ITEM_FAME_CHECKER,
@@ -5865,6 +6578,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TM_CASE] =
{
.name = _("TM CASE"),
.itemId = ITEM_TM_CASE,
@@ -5881,6 +6596,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_BERRY_POUCH] =
{
.name = _("BERRY POUCH"),
.itemId = ITEM_BERRY_POUCH,
@@ -5897,6 +6614,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TEACHY_TV] =
{
.name = _("TEACHY TV"),
.itemId = ITEM_TEACHY_TV,
@@ -5913,6 +6632,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TRI_PASS] =
{
.name = _("TRI-PASS"),
.itemId = ITEM_TRI_PASS,
@@ -5929,6 +6650,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_RAINBOW_PASS] =
{
.name = _("RAINBOW PASS"),
.itemId = ITEM_RAINBOW_PASS,
@@ -5945,6 +6668,8 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
+
+ [ITEM_TEA] =
{
.name = _("TEA"),
.itemId = ITEM_TEA,
@@ -5961,7 +6686,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_MYSTIC_TICKET] =
+ {
.name = _("MYSTICTICKET"),
.itemId = ITEM_MYSTIC_TICKET,
.price = 0,
@@ -5977,7 +6704,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_AURORA_TICKET] =
+ {
.name = _("AURORATICKET"),
.itemId = ITEM_AURORA_TICKET,
.price = 0,
@@ -5993,7 +6722,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_POWDER_JAR] =
+ {
.name = _("POWDER JAR"),
.itemId = ITEM_POWDER_JAR,
.price = 0,
@@ -6009,7 +6740,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_RUBY] =
+ {
.name = _("RUBY"),
.itemId = ITEM_RUBY,
.price = 0,
@@ -6025,7 +6758,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_SAPPHIRE] =
+ {
.name = _("SAPPHIRE"),
.itemId = ITEM_SAPPHIRE,
.price = 0,
@@ -6042,9 +6777,10 @@ const struct Item gItems[] =
.secondaryId = 0,
},
-//Emerald-specific key items
+// Emerald-specific key items
- {
+ [ITEM_MAGMA_EMBLEM] =
+ {
.name = _("MAGMA EMBLEM"),
.itemId = ITEM_MAGMA_EMBLEM,
.price = 0,
@@ -6060,7 +6796,9 @@ const struct Item gItems[] =
.battleUseFunc = NULL,
.secondaryId = 0,
},
- {
+
+ [ITEM_OLD_SEA_MAP] =
+ {
.name = _("OLD SEA MAP"),
.itemId = ITEM_OLD_SEA_MAP,
.price = 0,
diff --git a/src/data/pokedex_orders.h b/src/data/pokedex_orders.h
deleted file mode 100644
index 61fbd289c..000000000
--- a/src/data/pokedex_orders.h
+++ /dev/null
@@ -1,1199 +0,0 @@
-#ifndef GUARD_DATA_POKEDEX_ORDERS
-#define GUARD_DATA_POKEDEX_ORDERS
-
-const u16 gPokedexOrder_Alphabetical[] =
-{
- 387,
- 388,
- 389,
- 390,
- 391,
- 392,
- 393,
- 394,
- 395,
- 396,
- 397,
- 398,
- 399,
- 400,
- 401,
- 402,
- 403,
- 404,
- 405,
- 406,
- 407,
- 408,
- 409,
- 410,
- 411,
- 63, // Abra
- 359, // Absol
- 142, // Aerodactyl
- 306, // Aggron
- 190, // Aipom
- 65, // Alakazam
- 334, // Altaria
- 181, // Ampharos
- 347, // Anorith
- 24, // Arbok
- 59, // Arcanine
- 168, // Ariados
- 348, // Armaldo
- 304, // Aron
- 144, // Articuno
- 184, // Azumarill
- 298, // Azurill
- 371, // Bagon
- 343, // Baltoy
- 354, // Banette
- 339, // Barboach
- 153, // Bayleef
- 267, // Beautifly
- 15, // Beedrill
- 374, // Beldum
- 182, // Bellossom
- 69, // Bellsprout
- 9, // Blastoise
- 257, // Blaziken
- 242, // Blissey
- 286, // Breloom
- 1, // Bulbasaur
- 12, // Butterfree
- 331, // Cacnea
- 332, // Cacturne
- 323, // Camerupt
- 318, // Carvanha
- 268, // Cascoon
- 351, // Castform
- 10, // Caterpie
- 251, // Celebi
- 113, // Chansey
- 6, // Charizard
- 4, // Charmander
- 5, // Charmeleon
- 152, // Chikorita
- 358, // Chimecho
- 170, // Chinchou
- 366, // Clamperl
- 344, // Claydol
- 36, // Clefable
- 35, // Clefairy
- 173, // Cleffa
- 91, // Cloyster
- 256, // Combusken
- 341, // Corphish
- 222, // Corsola
- 346, // Cradily
- 342, // Crawdaunt
- 169, // Crobat
- 159, // Croconaw
- 104, // Cubone
- 155, // Cyndaquil
- 301, // Delcatty
- 225, // Delibird
- 386, // Deoxys
- 87, // Dewgong
- 50, // Diglett
- 132, // Ditto
- 85, // Dodrio
- 84, // Doduo
- 232, // Donphan
- 148, // Dragonair
- 149, // Dragonite
- 147, // Dratini
- 96, // Drowzee
- 51, // Dugtrio
- 206, // Dunsparce
- 356, // Dusclops
- 355, // Duskull
- 269, // Dustox
- 133, // Eevee
- 23, // Ekans
- 125, // Electabuzz
- 309, // Electrike
- 101, // Electrode
- 239, // Elekid
- 244, // Entei
- 196, // Espeon
- 102, // Exeggcute
- 103, // Exeggutor
- 295, // Exploud
- 83, // Farfetch'd
- 22, // Fearow
- 349, // Feebas
- 160, // Feraligatr
- 180, // Flaaffy
- 136, // Flareon
- 330, // Flygon
- 205, // Forretress
- 162, // Furret
- 282, // Gardevoir
- 92, // Gastly
- 94, // Gengar
- 74, // Geodude
- 203, // Girafarig
- 362, // Glalie
- 207, // Gligar
- 44, // Gloom
- 42, // Golbat
- 118, // Goldeen
- 55, // Golduck
- 76, // Golem
- 368, // Gorebyss
- 210, // Granbull
- 75, // Graveler
- 88, // Grimer
- 383, // Groudon
- 253, // Grovyle
- 58, // Growlithe
- 326, // Grumpig
- 316, // Gulpin
- 130, // Gyarados
- 297, // Hariyama
- 93, // Haunter
- 214, // Heracross
- 107, // Hitmonchan
- 106, // Hitmonlee
- 237, // Hitmontop
- 250, // Ho-Oh
- 163, // Hoothoot
- 187, // Hoppip
- 116, // Horsea
- 229, // Houndoom
- 228, // Houndour
- 367, // Huntail
- 97, // Hypno
- 174, // Igglybuff
- 314, // Illumise
- 2, // Ivysaur
- 39, // Jigglypuff
- 385, // Jirachi
- 135, // Jolteon
- 189, // Jumpluff
- 124, // Jynx
- 140, // Kabuto
- 141, // Kabutops
- 64, // Kadabra
- 14, // Kakuna
- 115, // Kangaskhan
- 352, // Kecleon
- 230, // Kingdra
- 99, // Kingler
- 281, // Kirlia
- 109, // Koffing
- 98, // Krabby
- 382, // Kyogre
- 305, // Lairon
- 171, // Lanturn
- 131, // Lapras
- 246, // Larvitar
- 380, // Latias
- 381, // Latios
- 166, // Ledian
- 165, // Ledyba
- 108, // Lickitung
- 345, // Lileep
- 264, // Linoone
- 271, // Lombre
- 270, // Lotad
- 294, // Loudred
- 272, // Ludicolo
- 249, // Lugia
- 337, // Lunatone
- 370, // Luvdisc
- 68, // Machamp
- 67, // Machoke
- 66, // Machop
- 240, // Magby
- 219, // Magcargo
- 129, // Magikarp
- 126, // Magmar
- 81, // Magnemite
- 82, // Magneton
- 296, // Makuhita
- 310, // Manectric
- 56, // Mankey
- 226, // Mantine
- 179, // Mareep
- 183, // Marill
- 105, // Marowak
- 259, // Marshtomp
- 284, // Masquerain
- 303, // Mawile
- 308, // Medicham
- 307, // Meditite
- 154, // Meganium
- 52, // Meowth
- 376, // Metagross
- 375, // Metang
- 11, // Metapod
- 151, // Mew
- 150, // Mewtwo
- 262, // Mightyena
- 350, // Milotic
- 241, // Miltank
- 312, // Minun
- 200, // Misdreavus
- 146, // Moltres
- 122, // Mr. mime
- 258, // Mudkip
- 89, // Muk
- 198, // Murkrow
- 177, // Natu
- 34, // Nidoking
- 31, // Nidoqueen
- 29, // Nidoran?
- 32, // Nidoran?
- 30, // Nidorina
- 33, // Nidorino
- 290, // Nincada
- 38, // Ninetales
- 291, // Ninjask
- 164, // Noctowl
- 299, // Nosepass
- 322, // Numel
- 274, // Nuzleaf
- 224, // Octillery
- 43, // Oddish
- 138, // Omanyte
- 139, // Omastar
- 95, // Onix
- 46, // Paras
- 47, // Parasect
- 279, // Pelipper
- 53, // Persian
- 231, // Phanpy
- 172, // Pichu
- 18, // Pidgeot
- 17, // Pidgeotto
- 16, // Pidgey
- 25, // Pikachu
- 221, // Piloswine
- 204, // Pineco
- 127, // Pinsir
- 311, // Plusle
- 186, // Politoed
- 60, // Poliwag
- 61, // Poliwhirl
- 62, // Poliwrath
- 77, // Ponyta
- 261, // Poochyena
- 137, // Porygon
- 233, // Porygon2
- 57, // Primeape
- 54, // Psyduck
- 247, // Pupitar
- 195, // Quagsire
- 156, // Quilava
- 211, // Qwilfish
- 26, // Raichu
- 243, // Raikou
- 280, // Ralts
- 78, // Rapidash
- 20, // Raticate
- 19, // Rattata
- 384, // Rayquaza
- 378, // Regice
- 377, // Regirock
- 379, // Registeel
- 369, // Relicanth
- 223, // Remoraid
- 112, // Rhydon
- 111, // Rhyhorn
- 315, // Roselia
- 302, // Sableye
- 373, // Salamence
- 27, // Sandshrew
- 28, // Sandslash
- 254, // Sceptile
- 212, // Scizor
- 123, // Scyther
- 117, // Seadra
- 119, // Seaking
- 364, // Sealeo
- 273, // Seedot
- 86, // Seel
- 161, // Sentret
- 336, // Seviper
- 319, // Sharpedo
- 292, // Shedinja
- 372, // Shelgon
- 90, // Shellder
- 275, // Shiftry
- 285, // Shroomish
- 213, // Shuckle
- 353, // Shuppet
- 266, // Silcoon
- 227, // Skarmory
- 188, // Skiploom
- 300, // Skitty
- 289, // Slaking
- 287, // Slakoth
- 80, // Slowbro
- 199, // Slowking
- 79, // Slowpoke
- 218, // Slugma
- 235, // Smeargle
- 238, // Smoochum
- 215, // Sneasel
- 143, // Snorlax
- 361, // Snorunt
- 209, // Snubbull
- 338, // Solrock
- 21, // Spearow
- 363, // Spheal
- 167, // Spinarak
- 327, // Spinda
- 325, // Spoink
- 7, // Squirtle
- 234, // Stantler
- 121, // Starmie
- 120, // Staryu
- 208, // Steelix
- 185, // Sudowoodo
- 245, // Suicune
- 192, // Sunflora
- 191, // Sunkern
- 283, // Surskit
- 333, // Swablu
- 317, // Swalot
- 260, // Swampert
- 277, // Swellow
- 220, // Swinub
- 276, // Taillow
- 114, // Tangela
- 128, // Tauros
- 216, // Teddiursa
- 72, // Tentacool
- 73, // Tentacruel
- 175, // Togepi
- 176, // Togetic
- 255, // Torchic
- 324, // Torkoal
- 158, // Totodile
- 328, // Trapinch
- 252, // Treecko
- 357, // Tropius
- 157, // Typhlosion
- 248, // Tyranitar
- 236, // Tyrogue
- 197, // Umbreon
- 201, // Unown
- 217, // Ursaring
- 134, // Vaporeon
- 49, // Venomoth
- 48, // Venonat
- 3, // Venusaur
- 329, // Vibrava
- 71, // Victreebel
- 288, // Vigoroth
- 45, // Vileplume
- 313, // Volbeat
- 100, // Voltorb
- 37, // Vulpix
- 320, // Wailmer
- 321, // Wailord
- 365, // Walrein
- 8, // Wartortle
- 13, // Weedle
- 70, // Weepinbell
- 110, // Weezing
- 340, // Whiscash
- 293, // Whismur
- 40, // Wigglytuff
- 278, // Wingull
- 202, // Wobbuffet
- 194, // Wooper
- 265, // Wurmple
- 360, // Wynaut
- 178, // Xatu
- 193, // Yanma
- 335, // Zangoose
- 145, // Zapdos
- 263, // Zigzagoon
- 41, // Zubat
-};
-
-const u16 gPokedexOrder_Weight[] =
-{
- 92, // Gastly
- 93, // Haunter
- 187, // Hoppip
- 50, // Diglett
- 351, // Castform
- 109, // Koffing
- 174, // Igglybuff
- 200, // Misdreavus
- 358, // Chimecho
- 188, // Skiploom
- 385, // Jirachi
- 333, // Swablu
- 292, // Shedinja
- 175, // Togepi
- 283, // Surskit
- 16, // Pidgey
- 191, // Sunkern
- 339, // Barboach
- 172, // Pichu
- 298, // Azurill
- 315, // Roselia
- 177, // Natu
- 21, // Spearow
- 198, // Murkrow
- 353, // Shuppet
- 276, // Taillow
- 102, // Exeggcute
- 255, // Torchic
- 270, // Lotad
- 10, // Caterpie
- 189, // Jumpluff
- 173, // Cleffa
- 13, // Weedle
- 176, // Togetic
- 147, // Dratini
- 19, // Rattata
- 284, // Masquerain
- 265, // Wurmple
- 211, // Qwilfish
- 151, // Mew
- 90, // Shellder
- 273, // Seedot
- 132, // Ditto
- 69, // Bellsprout
- 311, // Plusle
- 52, // Meowth
- 312, // Minun
- 285, // Shroomish
- 251, // Celebi
- 222, // Corsola
- 252, // Treecko
- 327, // Spinda
- 201, // Unown
- 46, // Paras
- 43, // Oddish
- 39, // Jigglypuff
- 290, // Nincada
- 182, // Bellossom
- 81, // Magnemite
- 25, // Pikachu
- 238, // Smoochum
- 161, // Sentret
- 70, // Weepinbell
- 152, // Chikorita
- 220, // Swinub
- 133, // Eevee
- 98, // Krabby
- 104, // Cubone
- 280, // Ralts
- 1, // Bulbasaur
- 23, // Ekans
- 29, // Nidoran?
- 204, // Pineco
- 349, // Feebas
- 138, // Omanyte
- 41, // Zubat
- 35, // Clefairy
- 258, // Mudkip
- 209, // Snubbull
- 179, // Mareep
- 155, // Cyndaquil
- 116, // Horsea
- 4, // Charmander
- 192, // Sunflora
- 183, // Marill
- 194, // Wooper
- 167, // Spinarak
- 44, // Gloom
- 370, // Luvdisc
- 216, // Teddiursa
- 32, // Nidoran?
- 7, // Squirtle
- 278, // Wingull
- 158, // Totodile
- 110, // Weezing
- 37, // Vulpix
- 11, // Metapod
- 266, // Silcoon
- 129, // Magikarp
- 14, // Kakuna
- 316, // Gulpin
- 100, // Voltorb
- 165, // Ledyba
- 228, // Houndour
- 300, // Skitty
- 302, // Sableye
- 307, // Meditite
- 341, // Corphish
- 190, // Aipom
- 268, // Cascoon
- 303, // Mawile
- 140, // Kabuto
- 40, // Wigglytuff
- 27, // Sandshrew
- 223, // Remoraid
- 291, // Ninjask
- 170, // Chinchou
- 60, // Poliwag
- 347, // Anorith
- 49, // Venomoth
- 354, // Banette
- 2, // Ivysaur
- 180, // Flaaffy
- 261, // Poochyena
- 360, // Wynaut
- 206, // Dunsparce
- 178, // Xatu
- 355, // Duskull
- 83, // Farfetch'd
- 328, // Trapinch
- 118, // Goldeen
- 309, // Electrike
- 329, // Vibrava
- 71, // Victreebel
- 153, // Bayleef
- 225, // Delibird
- 293, // Whismur
- 148, // Dragonair
- 361, // Snorunt
- 263, // Zigzagoon
- 314, // Illumise
- 313, // Volbeat
- 20, // Raticate
- 45, // Vileplume
- 156, // Quilava
- 5, // Charmeleon
- 58, // Growlithe
- 256, // Combusken
- 66, // Machop
- 63, // Abra
- 33, // Nidorino
- 54, // Psyduck
- 277, // Swellow
- 38, // Ninetales
- 30, // Nidorina
- 61, // Poliwhirl
- 74, // Geodude
- 281, // Kirlia
- 213, // Shuckle
- 334, // Altaria
- 318, // Carvanha
- 236, // Tyrogue
- 163, // Hoothoot
- 240, // Magby
- 343, // Baltoy
- 253, // Grovyle
- 352, // Kecleon
- 171, // Lanturn
- 8, // Wartortle
- 368, // Gorebyss
- 369, // Relicanth
- 239, // Elekid
- 340, // Whiscash
- 345, // Lileep
- 322, // Numel
- 287, // Slakoth
- 135, // Jolteon
- 159, // Croconaw
- 136, // Flareon
- 117, // Seadra
- 196, // Espeon
- 367, // Huntail
- 197, // Umbreon
- 259, // Marshtomp
- 274, // Nuzleaf
- 215, // Sneasel
- 56, // Mankey
- 279, // Pelipper
- 267, // Beautifly
- 224, // Octillery
- 184, // Azumarill
- 202, // Wobbuffet
- 134, // Vaporeon
- 28, // Sandslash
- 47, // Parasect
- 15, // Beedrill
- 89, // Muk
- 17, // Pidgeotto
- 88, // Grimer
- 26, // Raichu
- 77, // Ponyta
- 125, // Electabuzz
- 48, // Venonat
- 325, // Spoink
- 356, // Dusclops
- 308, // Medicham
- 269, // Dustox
- 53, // Persian
- 12, // Butterfree
- 57, // Primeape
- 96, // Drowzee
- 162, // Furret
- 233, // Porygon2
- 271, // Lombre
- 264, // Linoone
- 301, // Delcatty
- 342, // Crawdaunt
- 51, // Dugtrio
- 168, // Ariados
- 231, // Phanpy
- 186, // Politoed
- 120, // Staryu
- 113, // Chansey
- 139, // Omastar
- 114, // Tangela
- 218, // Slugma
- 229, // Houndoom
- 166, // Ledian
- 79, // Slowpoke
- 137, // Porygon
- 262, // Mightyena
- 193, // Yanma
- 22, // Fearow
- 185, // Sudowoodo
- 119, // Seaking
- 286, // Breloom
- 84, // Doduo
- 18, // Pidgeot
- 363, // Spheal
- 36, // Clefable
- 380, // Latias
- 310, // Manectric
- 335, // Zangoose
- 141, // Kabutops
- 94, // Gengar
- 294, // Loudred
- 124, // Jynx
- 164, // Noctowl
- 203, // Girafarig
- 371, // Bagon
- 126, // Magmar
- 105, // Marowak
- 72, // Tentacool
- 288, // Vigoroth
- 242, // Blissey
- 359, // Absol
- 65, // Alakazam
- 237, // Hitmontop
- 282, // Gardevoir
- 210, // Granbull
- 106, // Hitmonlee
- 107, // Hitmonchan
- 227, // Skarmory
- 331, // Cacnea
- 257, // Blaziken
- 254, // Sceptile
- 336, // Seviper
- 366, // Clamperl
- 145, // Zapdos
- 214, // Heracross
- 62, // Poliwrath
- 122, // Mr. mime
- 127, // Pinsir
- 272, // Ludicolo
- 73, // Tentacruel
- 42, // Golbat
- 219, // Magcargo
- 144, // Articuno
- 221, // Piloswine
- 123, // Scyther
- 64, // Kadabra
- 235, // Smeargle
- 142, // Aerodactyl
- 275, // Shiftry
- 99, // Kingler
- 31, // Nidoqueen
- 82, // Magneton
- 304, // Aron
- 381, // Latios
- 146, // Moltres
- 346, // Cradily
- 386, // Deoxys
- 181, // Ampharos
- 34, // Nidoking
- 207, // Gligar
- 24, // Arbok
- 108, // Lickitung
- 101, // Electrode
- 348, // Armaldo
- 67, // Machoke
- 234, // Stantler
- 326, // Grumpig
- 246, // Larvitar
- 169, // Crobat
- 195, // Quagsire
- 241, // Miltank
- 97, // Hypno
- 55, // Golduck
- 332, // Cacturne
- 80, // Slowbro
- 157, // Typhlosion
- 199, // Slowking
- 115, // Kangaskhan
- 121, // Starmie
- 317, // Swalot
- 324, // Torkoal
- 260, // Swampert
- 330, // Flygon
- 295, // Exploud
- 85, // Dodrio
- 9, // Blastoise
- 296, // Makuhita
- 364, // Sealeo
- 128, // Tauros
- 319, // Sharpedo
- 160, // Feraligatr
- 86, // Seel
- 6, // Charizard
- 78, // Rapidash
- 374, // Beldum
- 299, // Nosepass
- 3, // Venusaur
- 357, // Tropius
- 154, // Meganium
- 373, // Salamence
- 75, // Graveler
- 344, // Claydol
- 372, // Shelgon
- 111, // Rhyhorn
- 212, // Scizor
- 87, // Dewgong
- 112, // Rhydon
- 232, // Donphan
- 103, // Exeggutor
- 305, // Lairon
- 150, // Mewtwo
- 217, // Ursaring
- 205, // Forretress
- 68, // Machamp
- 320, // Wailmer
- 289, // Slaking
- 91, // Cloyster
- 365, // Walrein
- 247, // Pupitar
- 230, // Kingdra
- 338, // Solrock
- 59, // Arcanine
- 350, // Milotic
- 337, // Lunatone
- 378, // Regice
- 243, // Raikou
- 245, // Suicune
- 244, // Entei
- 250, // Ho-Oh
- 248, // Tyranitar
- 375, // Metang
- 379, // Registeel
- 384, // Rayquaza
- 95, // Onix
- 149, // Dragonite
- 249, // Lugia
- 131, // Lapras
- 323, // Camerupt
- 226, // Mantine
- 377, // Regirock
- 130, // Gyarados
- 297, // Hariyama
- 362, // Glalie
- 76, // Golem
- 382, // Kyogre
- 306, // Aggron
- 321, // Wailord
- 208, // Steelix
- 143, // Snorlax
- 376, // Metagross
- 383, // Groudon
-};
-
-const u16 gPokedexOrder_Height[] =
-{
- 50, // Diglett
- 298, // Azurill
- 177, // Natu
- 13, // Weedle
- 172, // Pichu
- 173, // Cleffa
- 175, // Togepi
- 351, // Castform
- 174, // Igglybuff
- 10, // Caterpie
- 276, // Taillow
- 132, // Ditto
- 133, // Eevee
- 315, // Roselia
- 21, // Spearow
- 16, // Pidgey
- 191, // Sunkern
- 90, // Shellder
- 19, // Rattata
- 81, // Magnemite
- 46, // Paras
- 265, // Wurmple
- 385, // Jirachi
- 104, // Cubone
- 258, // Mudkip
- 194, // Wooper
- 116, // Horsea
- 52, // Meowth
- 29, // Nidoran?
- 220, // Swinub
- 151, // Mew
- 333, // Swablu
- 304, // Aron
- 311, // Plusle
- 312, // Minun
- 102, // Exeggcute
- 25, // Pikachu
- 182, // Bellossom
- 316, // Gulpin
- 263, // Zigzagoon
- 285, // Shroomish
- 138, // Omanyte
- 331, // Cacnea
- 98, // Krabby
- 280, // Ralts
- 187, // Hoppip
- 255, // Torchic
- 366, // Clamperl
- 74, // Geodude
- 183, // Marill
- 339, // Barboach
- 238, // Smoochum
- 100, // Voltorb
- 290, // Nincada
- 302, // Sableye
- 198, // Murkrow
- 211, // Qwilfish
- 7, // Squirtle
- 252, // Treecko
- 343, // Baltoy
- 43, // Oddish
- 270, // Lotad
- 39, // Jigglypuff
- 283, // Surskit
- 155, // Cyndaquil
- 140, // Kabuto
- 264, // Linoone
- 324, // Torkoal
- 32, // Nidoran?
- 167, // Spinarak
- 56, // Mankey
- 273, // Seedot
- 261, // Poochyena
- 231, // Phanpy
- 201, // Unown
- 170, // Chinchou
- 233, // Porygon2
- 60, // Poliwag
- 371, // Bagon
- 349, // Feebas
- 353, // Shuppet
- 158, // Totodile
- 251, // Celebi
- 360, // Wynaut
- 27, // Sandshrew
- 358, // Chimecho
- 370, // Luvdisc
- 228, // Houndour
- 266, // Silcoon
- 309, // Electrike
- 4, // Charmander
- 307, // Meditite
- 278, // Wingull
- 223, // Remoraid
- 341, // Corphish
- 222, // Corsola
- 314, // Illumise
- 209, // Snubbull
- 37, // Vulpix
- 246, // Larvitar
- 374, // Beldum
- 293, // Whismur
- 204, // Pineco
- 239, // Elekid
- 35, // Clefairy
- 213, // Shuckle
- 216, // Teddiursa
- 14, // Kakuna
- 300, // Skitty
- 176, // Togetic
- 118, // Goldeen
- 303, // Mawile
- 179, // Mareep
- 188, // Skiploom
- 109, // Koffing
- 51, // Dugtrio
- 268, // Cascoon
- 322, // Numel
- 347, // Anorith
- 313, // Volbeat
- 163, // Hoothoot
- 328, // Trapinch
- 325, // Spoink
- 11, // Metapod
- 69, // Bellsprout
- 361, // Snorunt
- 20, // Raticate
- 259, // Marshtomp
- 277, // Swellow
- 240, // Magby
- 58, // Growlithe
- 200, // Misdreavus
- 1, // Bulbasaur
- 236, // Tyrogue
- 218, // Slugma
- 287, // Slakoth
- 281, // Kirlia
- 190, // Aipom
- 135, // Jolteon
- 30, // Nidorina
- 184, // Azumarill
- 292, // Shedinja
- 66, // Machop
- 291, // Ninjask
- 284, // Masquerain
- 355, // Duskull
- 192, // Sunflora
- 189, // Jumpluff
- 120, // Staryu
- 180, // Flaaffy
- 363, // Spheal
- 54, // Psyduck
- 219, // Magcargo
- 83, // Farfetch'd
- 41, // Zubat
- 137, // Porygon
- 161, // Sentret
- 318, // Carvanha
- 44, // Gloom
- 26, // Raichu
- 129, // Magikarp
- 215, // Sneasel
- 305, // Lairon
- 256, // Combusken
- 224, // Octillery
- 33, // Nidorino
- 136, // Flareon
- 225, // Delibird
- 72, // Tentacool
- 63, // Abra
- 253, // Grovyle
- 340, // Whiscash
- 156, // Quilava
- 196, // Espeon
- 88, // Grimer
- 152, // Chikorita
- 326, // Grumpig
- 299, // Nosepass
- 53, // Persian
- 262, // Mightyena
- 48, // Venonat
- 82, // Magneton
- 77, // Ponyta
- 296, // Makuhita
- 337, // Lunatone
- 28, // Sandslash
- 96, // Drowzee
- 114, // Tangela
- 57, // Primeape
- 165, // Ledyba
- 40, // Wigglytuff
- 47, // Parasect
- 139, // Omastar
- 294, // Loudred
- 8, // Wartortle
- 75, // Graveler
- 197, // Umbreon
- 345, // Lileep
- 61, // Poliwhirl
- 134, // Vaporeon
- 15, // Beedrill
- 105, // Marowak
- 70, // Weepinbell
- 369, // Relicanth
- 111, // Rhyhorn
- 2, // Ivysaur
- 352, // Kecleon
- 274, // Nuzleaf
- 267, // Beautifly
- 17, // Pidgeotto
- 168, // Ariados
- 86, // Seel
- 186, // Politoed
- 159, // Croconaw
- 113, // Chansey
- 354, // Banette
- 232, // Donphan
- 121, // Starmie
- 5, // Charmeleon
- 221, // Piloswine
- 12, // Butterfree
- 329, // Vibrava
- 125, // Electabuzz
- 342, // Crawdaunt
- 301, // Delcatty
- 334, // Altaria
- 372, // Shelgon
- 38, // Ninetales
- 207, // Gligar
- 364, // Sealeo
- 327, // Spinda
- 247, // Pupitar
- 79, // Slowpoke
- 338, // Solrock
- 241, // Miltank
- 22, // Fearow
- 45, // Vileplume
- 89, // Muk
- 205, // Forretress
- 185, // Sudowoodo
- 359, // Absol
- 193, // Yanma
- 269, // Dustox
- 108, // Lickitung
- 235, // Smeargle
- 171, // Lanturn
- 101, // Electrode
- 271, // Lombre
- 286, // Breloom
- 153, // Bayleef
- 117, // Seadra
- 110, // Weezing
- 279, // Pelipper
- 375, // Metang
- 31, // Nidoqueen
- 332, // Cacturne
- 275, // Shiftry
- 308, // Medicham
- 335, // Zangoose
- 141, // Kabutops
- 99, // Kingler
- 64, // Kadabra
- 119, // Seaking
- 36, // Clefable
- 126, // Magmar
- 202, // Wobbuffet
- 92, // Gastly
- 122, // Mr. mime
- 62, // Poliwrath
- 128, // Tauros
- 380, // Latias
- 181, // Ampharos
- 288, // Vigoroth
- 166, // Ledian
- 76, // Golem
- 365, // Walrein
- 84, // Doduo
- 229, // Houndoom
- 34, // Nidoking
- 124, // Jynx
- 107, // Hitmonchan
- 234, // Stantler
- 210, // Granbull
- 237, // Hitmontop
- 195, // Quagsire
- 344, // Claydol
- 260, // Swampert
- 242, // Blissey
- 272, // Ludicolo
- 295, // Exploud
- 206, // Dunsparce
- 127, // Pinsir
- 91, // Cloyster
- 67, // Machoke
- 203, // Girafarig
- 18, // Pidgeot
- 178, // Xatu
- 346, // Cradily
- 106, // Hitmonlee
- 49, // Venomoth
- 94, // Gengar
- 214, // Heracross
- 362, // Glalie
- 123, // Scyther
- 373, // Salamence
- 310, // Manectric
- 348, // Armaldo
- 65, // Alakazam
- 97, // Hypno
- 164, // Noctowl
- 73, // Tentacruel
- 356, // Dusclops
- 145, // Zapdos
- 42, // Golbat
- 376, // Metagross
- 282, // Gardevoir
- 9, // Blastoise
- 80, // Slowbro
- 93, // Haunter
- 68, // Machamp
- 377, // Regirock
- 317, // Swalot
- 254, // Sceptile
- 227, // Skarmory
- 55, // Golduck
- 386, // Deoxys
- 71, // Victreebel
- 78, // Rapidash
- 6, // Charizard
- 367, // Huntail
- 87, // Dewgong
- 144, // Articuno
- 157, // Typhlosion
- 142, // Aerodactyl
- 368, // Gorebyss
- 217, // Ursaring
- 154, // Meganium
- 378, // Regice
- 212, // Scizor
- 230, // Kingdra
- 147, // Dratini
- 85, // Dodrio
- 319, // Sharpedo
- 169, // Crobat
- 162, // Furret
- 59, // Arcanine
- 243, // Raikou
- 257, // Blaziken
- 323, // Camerupt
- 112, // Rhydon
- 379, // Registeel
- 23, // Ekans
- 330, // Flygon
- 357, // Tropius
- 381, // Latios
- 245, // Suicune
- 146, // Moltres
- 3, // Venusaur
- 103, // Exeggutor
- 199, // Slowking
- 248, // Tyranitar
- 289, // Slaking
- 320, // Wailmer
- 150, // Mewtwo
- 306, // Aggron
- 143, // Snorlax
- 226, // Mantine
- 244, // Entei
- 149, // Dragonite
- 115, // Kangaskhan
- 297, // Hariyama
- 160, // Feraligatr
- 131, // Lapras
- 336, // Seviper
- 24, // Arbok
- 383, // Groudon
- 250, // Ho-Oh
- 148, // Dragonair
- 382, // Kyogre
- 249, // Lugia
- 350, // Milotic
- 130, // Gyarados
- 384, // Rayquaza
- 95, // Onix
- 208, // Steelix
- 321, // Wailord
-};
-
-#endif // GUARD_DATA_POKEDEX_ORDERS
diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h
index bc6572b46..078304888 100644
--- a/src/data/pokemon/base_stats.h
+++ b/src/data/pokemon/base_stats.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_BASE_STATS_H
-#define GUARD_BASE_STATS_H
-
// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female.
// 255 (MON_GENDERLESS) is reserved for genderless pokemon.
#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100))
@@ -13572,5 +13569,3 @@ const struct BaseStats gBaseStats[] =
.noFlip = FALSE,
}
};
-
-#endif //GUARD_BASE_STATS_H
diff --git a/src/data/pokemon/cry_ids.h b/src/data/pokemon/cry_ids.h
index 1c1c32dde..e53ffd2a8 100644
--- a/src/data/pokemon/cry_ids.h
+++ b/src/data/pokemon/cry_ids.h
@@ -1,143 +1,138 @@
-#ifndef POKEEMERALD_CRY_IDS_H
-#define POKEEMERALD_CRY_IDS_H
-
const u16 gSpeciesIdToCryId[] =
{
- 273, // TREECKO
- 274, // GROVYLE
- 275, // SCEPTILE
- 270, // TORCHIC
- 271, // COMBUSKEN
- 272, // BLAZIKEN
- 276, // MUDKIP
- 277, // MARSHTOMP
- 278, // SWAMPERT
- 359, // POOCHYENA
- 360, // MIGHTYENA
- 378, // ZIGZAGOON
- 375, // LINOONE
- 290, // WURMPLE
- 291, // SILCOON
- 292, // BEAUTIFLY
- 293, // CASCOON
- 294, // DUSTOX
- 283, // LOTAD
- 284, // LOMBRE
- 285, // LUDICOLO
- 286, // SEEDOT
- 287, // NUZLEAF
- 288, // SHIFTRY
- 301, // NINCADA
- 302, // NINJASK
- 303, // SHEDINJA
- 266, // TAILLOW
- 267, // SWELLOW
- 374, // SHROOMISH
- 373, // BRELOOM
- 269, // SPINDA
- 280, // WINGULL
- 279, // PELIPPER
- 310, // SURSKIT
- 311, // MASQUERAIN
- 377, // WAILMER
- 381, // WAILORD
- 312, // SKITTY
- 313, // DELCATTY
- 251, // KECLEON
- 329, // BALTOY
- 330, // CLAYDOL
- 306, // NOSEPASS
- 253, // TORKOAL
- 362, // SABLEYE
- 318, // BARBOACH
- 319, // WHISCASH
- 368, // LUVDISC
- 320, // CORPHISH
- 321, // CRAWDAUNT
- 333, // FEEBAS
- 334, // MILOTIC
- 289, // CARVANHA
- 260, // SHARPEDO
- 324, // TRAPINCH
- 325, // VIBRAVA
- 326, // FLYGON
- 304, // MAKUHITA
- 305, // HARIYAMA
- 254, // ELECTRIKE
- 255, // MANECTRIC
- 316, // NUMEL
- 317, // CAMERUPT
- 338, // SPHEAL
- 339, // SEALEO
- 340, // WALREIN
- 327, // CACNEA
- 328, // CACTURNE
- 383, // SNORUNT
- 307, // GLALIE
- 331, // LUNATONE
- 332, // SOLROCK
- 262, // AZURILL
- 322, // SPOINK
- 323, // GRUMPIG
- 308, // PLUSLE
- 309, // MINUN
- 363, // MAWILE
- 336, // MEDITITE
- 337, // MEDICHAM
- 263, // SWABLU
- 264, // ALTARIA
- 258, // WYNAUT
- 256, // DUSKULL
- 361, // DUSCLOPS
- 252, // ROSELIA
- 298, // SLAKOTH
- 299, // VIGOROTH
- 300, // SLAKING
- 314, // GULPIN
- 315, // SWALOT
- 376, // TROPIUS
- 382, // WHISMUR
- 380, // LOUDRED
- 379, // EXPLOUD
- 341, // CLAMPERL
- 342, // HUNTAIL
- 343, // GOREBYSS
- 335, // ABSOL
- 282, // SHUPPET
- 281, // BANETTE
- 259, // SEVIPER
- 261, // ZANGOOSE
- 367, // RELICANTH
- 364, // ARON
- 365, // LAIRON
- 366, // AGGRON
- 356, // CASTFORM
- 357, // VOLBEAT
- 358, // ILLUMISE
- 344, // LILEEP
- 345, // CRADILY
- 346, // ANORITH
- 347, // ARMALDO
- 295, // RALTS
- 296, // KIRLIA
- 297, // GARDEVOIR
- 351, // BAGON
- 352, // SHELGON
- 372, // SALAMENCE
- 348, // BELDUM
- 349, // METANG
- 350, // METAGROSS
- 353, // REGIROCK
- 354, // REGICE
- 355, // REGISTEEL
- 370, // KYOGRE
- 369, // GROUDON
- 371, // RAYQUAZA
- 257, // LATIAS
- 384, // LATIOS
- 385, // JIRACHI
- 386, // DEOXYS
- 387 // CHIMECHO
+ [SPECIES_TREECKO - 277] = 273,
+ [SPECIES_GROVYLE - 277] = 274,
+ [SPECIES_SCEPTILE - 277] = 275,
+ [SPECIES_TORCHIC - 277] = 270,
+ [SPECIES_COMBUSKEN - 277] = 271,
+ [SPECIES_BLAZIKEN - 277] = 272,
+ [SPECIES_MUDKIP - 277] = 276,
+ [SPECIES_MARSHTOMP - 277] = 277,
+ [SPECIES_SWAMPERT - 277] = 278,
+ [SPECIES_POOCHYENA - 277] = 359,
+ [SPECIES_MIGHTYENA - 277] = 360,
+ [SPECIES_ZIGZAGOON - 277] = 378,
+ [SPECIES_LINOONE - 277] = 375,
+ [SPECIES_WURMPLE - 277] = 290,
+ [SPECIES_SILCOON - 277] = 291,
+ [SPECIES_BEAUTIFLY - 277] = 292,
+ [SPECIES_CASCOON - 277] = 293,
+ [SPECIES_DUSTOX - 277] = 294,
+ [SPECIES_LOTAD - 277] = 283,
+ [SPECIES_LOMBRE - 277] = 284,
+ [SPECIES_LUDICOLO - 277] = 285,
+ [SPECIES_SEEDOT - 277] = 286,
+ [SPECIES_NUZLEAF - 277] = 287,
+ [SPECIES_SHIFTRY - 277] = 288,
+ [SPECIES_NINCADA - 277] = 301,
+ [SPECIES_NINJASK - 277] = 302,
+ [SPECIES_SHEDINJA - 277] = 303,
+ [SPECIES_TAILLOW - 277] = 266,
+ [SPECIES_SWELLOW - 277] = 267,
+ [SPECIES_SHROOMISH - 277] = 374,
+ [SPECIES_BRELOOM - 277] = 373,
+ [SPECIES_SPINDA - 277] = 269,
+ [SPECIES_WINGULL - 277] = 280,
+ [SPECIES_PELIPPER - 277] = 279,
+ [SPECIES_SURSKIT - 277] = 310,
+ [SPECIES_MASQUERAIN - 277] = 311,
+ [SPECIES_WAILMER - 277] = 377,
+ [SPECIES_WAILORD - 277] = 381,
+ [SPECIES_SKITTY - 277] = 312,
+ [SPECIES_DELCATTY - 277] = 313,
+ [SPECIES_KECLEON - 277] = 251,
+ [SPECIES_BALTOY - 277] = 329,
+ [SPECIES_CLAYDOL - 277] = 330,
+ [SPECIES_NOSEPASS - 277] = 306,
+ [SPECIES_TORKOAL - 277] = 253,
+ [SPECIES_SABLEYE - 277] = 362,
+ [SPECIES_BARBOACH - 277] = 318,
+ [SPECIES_WHISCASH - 277] = 319,
+ [SPECIES_LUVDISC - 277] = 368,
+ [SPECIES_CORPHISH - 277] = 320,
+ [SPECIES_CRAWDAUNT - 277] = 321,
+ [SPECIES_FEEBAS - 277] = 333,
+ [SPECIES_MILOTIC - 277] = 334,
+ [SPECIES_CARVANHA - 277] = 289,
+ [SPECIES_SHARPEDO - 277] = 260,
+ [SPECIES_TRAPINCH - 277] = 324,
+ [SPECIES_VIBRAVA - 277] = 325,
+ [SPECIES_FLYGON - 277] = 326,
+ [SPECIES_MAKUHITA - 277] = 304,
+ [SPECIES_HARIYAMA - 277] = 305,
+ [SPECIES_ELECTRIKE - 277] = 254,
+ [SPECIES_MANECTRIC - 277] = 255,
+ [SPECIES_NUMEL - 277] = 316,
+ [SPECIES_CAMERUPT - 277] = 317,
+ [SPECIES_SPHEAL - 277] = 338,
+ [SPECIES_SEALEO - 277] = 339,
+ [SPECIES_WALREIN - 277] = 340,
+ [SPECIES_CACNEA - 277] = 327,
+ [SPECIES_CACTURNE - 277] = 328,
+ [SPECIES_SNORUNT - 277] = 383,
+ [SPECIES_GLALIE - 277] = 307,
+ [SPECIES_LUNATONE - 277] = 331,
+ [SPECIES_SOLROCK - 277] = 332,
+ [SPECIES_AZURILL - 277] = 262,
+ [SPECIES_SPOINK - 277] = 322,
+ [SPECIES_GRUMPIG - 277] = 323,
+ [SPECIES_PLUSLE - 277] = 308,
+ [SPECIES_MINUN - 277] = 309,
+ [SPECIES_MAWILE - 277] = 363,
+ [SPECIES_MEDITITE - 277] = 336,
+ [SPECIES_MEDICHAM - 277] = 337,
+ [SPECIES_SWABLU - 277] = 263,
+ [SPECIES_ALTARIA - 277] = 264,
+ [SPECIES_WYNAUT - 277] = 258,
+ [SPECIES_DUSKULL - 277] = 256,
+ [SPECIES_DUSCLOPS - 277] = 361,
+ [SPECIES_ROSELIA - 277] = 252,
+ [SPECIES_SLAKOTH - 277] = 298,
+ [SPECIES_VIGOROTH - 277] = 299,
+ [SPECIES_SLAKING - 277] = 300,
+ [SPECIES_GULPIN - 277] = 314,
+ [SPECIES_SWALOT - 277] = 315,
+ [SPECIES_TROPIUS - 277] = 376,
+ [SPECIES_WHISMUR - 277] = 382,
+ [SPECIES_LOUDRED - 277] = 380,
+ [SPECIES_EXPLOUD - 277] = 379,
+ [SPECIES_CLAMPERL - 277] = 341,
+ [SPECIES_HUNTAIL - 277] = 342,
+ [SPECIES_GOREBYSS - 277] = 343,
+ [SPECIES_ABSOL - 277] = 335,
+ [SPECIES_SHUPPET - 277] = 282,
+ [SPECIES_BANETTE - 277] = 281,
+ [SPECIES_SEVIPER - 277] = 259,
+ [SPECIES_ZANGOOSE - 277] = 261,
+ [SPECIES_RELICANTH - 277] = 367,
+ [SPECIES_ARON - 277] = 364,
+ [SPECIES_LAIRON - 277] = 365,
+ [SPECIES_AGGRON - 277] = 366,
+ [SPECIES_CASTFORM - 277] = 356,
+ [SPECIES_VOLBEAT - 277] = 357,
+ [SPECIES_ILLUMISE - 277] = 358,
+ [SPECIES_LILEEP - 277] = 344,
+ [SPECIES_CRADILY - 277] = 345,
+ [SPECIES_ANORITH - 277] = 346,
+ [SPECIES_ARMALDO - 277] = 347,
+ [SPECIES_RALTS - 277] = 295,
+ [SPECIES_KIRLIA - 277] = 296,
+ [SPECIES_GARDEVOIR - 277] = 297,
+ [SPECIES_BAGON - 277] = 351,
+ [SPECIES_SHELGON - 277] = 352,
+ [SPECIES_SALAMENCE - 277] = 372,
+ [SPECIES_BELDUM - 277] = 348,
+ [SPECIES_METANG - 277] = 349,
+ [SPECIES_METAGROSS - 277] = 350,
+ [SPECIES_REGIROCK - 277] = 353,
+ [SPECIES_REGICE - 277] = 354,
+ [SPECIES_REGISTEEL - 277] = 355,
+ [SPECIES_KYOGRE - 277] = 370,
+ [SPECIES_GROUDON - 277] = 369,
+ [SPECIES_RAYQUAZA - 277] = 371,
+ [SPECIES_LATIAS - 277] = 257,
+ [SPECIES_LATIOS - 277] = 384,
+ [SPECIES_JIRACHI - 277] = 385,
+ [SPECIES_DEOXYS - 277] = 386,
+ [SPECIES_CHIMECHO - 277] = 387,
};
-
-#endif //POKEEMERALD_CRY_IDS_H
diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h
index 3d74868b4..f8c250c6d 100644
--- a/src/data/pokemon/egg_moves.h
+++ b/src/data/pokemon/egg_moves.h
@@ -1,12 +1,7 @@
-#ifndef POKEEMERALD_DAYCARE_H
-#define POKEEMERALD_DAYCARE_H
-
#define EGG_MOVES_SPECIES_OFFSET 20000
#define EGG_MOVES_TERMINATOR 0xFFFF
#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves
-#endif // POKEEMERALD_DAYCARE_H
-
const u16 gEggMoves[] = {
egg_moves(BULBASAUR,
MOVE_LIGHT_SCREEN,
diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h
index 8629ac9b1..c9b0cf716 100644
--- a/src/data/pokemon/evolution.h
+++ b/src/data/pokemon/evolution.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_EVOLUTION_H
-#define POKEEMERALD_EVOLUTION_H
-
const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
{
[SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}},
@@ -188,5 +185,3 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] =
[SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}},
[SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}},
};
-
-#endif //POKEEMERALD_EVOLUTION_H
diff --git a/src/data/pokemon/experience_tables.h b/src/data/pokemon/experience_tables.h
index 9fd5a2fae..15bcadeb2 100644
--- a/src/data/pokemon/experience_tables.h
+++ b/src/data/pokemon/experience_tables.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_EXPERIENCE_TABLES_H
-#define POKEEMERALD_EXPERIENCE_TABLES_H
-
#define SQUARE(n)(n * n)
#define CUBE(n)(n * n * n)
@@ -845,5 +842,3 @@ const u32 gExperienceTables[][MAX_LEVEL + 1] =
EXP_MEDIUM_FAST(100),
}
};
-
-#endif //POKEEMERALD_EXPERIENCE_TABLES_H
diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h
index 6ba0d694e..9f5720a66 100644
--- a/src/data/pokemon/item_effects.h
+++ b/src/data/pokemon/item_effects.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_ITEM_EFFECTS_H
-#define GUARD_ITEM_EFFECTS_H
-
const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20};
const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00};
const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00};
@@ -237,5 +234,3 @@ const u8 *const gItemEffectTable[] =
NULL,
NULL
};
-
-#endif //GUARD_ITEM_EFFECTS_H
diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h
index 0f648526c..5ac7b3bd7 100644
--- a/src/data/pokemon/level_up_learnset_pointers.h
+++ b/src/data/pokemon/level_up_learnset_pointers.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
-#define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
-
const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
{
[SPECIES_NONE] = sBulbasaurLevelUpLearnset,
@@ -416,5 +413,3 @@ const u16 *const gLevelUpLearnsets[NUM_SPECIES] =
[SPECIES_DEOXYS] = sDeoxysLevelUpLearnset,
[SPECIES_CHIMECHO] = sChimechoLevelUpLearnset,
};
-
-#endif //POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H
diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h
index 062873aee..727cc0959 100644
--- a/src/data/pokemon/level_up_learnsets.h
+++ b/src/data/pokemon/level_up_learnsets.h
@@ -1,6 +1,3 @@
-#ifndef POKEEMERALD_LEVEL_UP_LEARNSETS_H
-#define POKEEMERALD_LEVEL_UP_LEARNSETS_H
-
#define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move)
#define LEVEL_UP_END 0xffff
@@ -5619,5 +5616,3 @@ static const u16 sChimechoLevelUpLearnset[] = {
LEVEL_UP_MOVE(46, MOVE_PSYCHIC),
LEVEL_UP_END
};
-
-#endif //POKEEMERALD_LEVEL_UP_LEARNSETS_H
diff --git a/src/data/pokemon/pokedex_entries.h b/src/data/pokemon/pokedex_entries.h
index acf6506bd..007c73248 100644
--- a/src/data/pokemon/pokedex_entries.h
+++ b/src/data/pokemon/pokedex_entries.h
@@ -1,6 +1,7 @@
const struct PokedexEntry gPokedexEntries[] =
{
- { //Dummy
+ [NATIONAL_DEX_NONE] =
+ {
.categoryName = _("UNKNOWN"),
.height = 0,
.weight = 0,
@@ -10,7 +11,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Bulbasaur
+
+ [NATIONAL_DEX_BULBASAUR] =
+ {
.categoryName = _("SEED"),
.height = 7,
.weight = 69,
@@ -20,7 +23,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ivysaur
+
+ [NATIONAL_DEX_IVYSAUR] =
+ {
.categoryName = _("SEED"),
.height = 10,
.weight = 130,
@@ -30,7 +35,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Venusaur
+
+ [NATIONAL_DEX_VENUSAUR] =
+ {
.categoryName = _("SEED"),
.height = 20,
.weight = 1000,
@@ -40,7 +47,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 388,
.trainerOffset = 6,
},
- { //Charmander
+
+ [NATIONAL_DEX_CHARMANDER] =
+ {
.categoryName = _("LIZARD"),
.height = 6,
.weight = 85,
@@ -50,7 +59,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Charmeleon
+
+ [NATIONAL_DEX_CHARMELEON] =
+ {
.categoryName = _("FLAME"),
.height = 11,
.weight = 190,
@@ -60,7 +71,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Charizard
+
+ [NATIONAL_DEX_CHARIZARD] =
+ {
.categoryName = _("FLAME"),
.height = 17,
.weight = 905,
@@ -70,7 +83,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 302,
.trainerOffset = 3,
},
- { //Squirtle
+
+ [NATIONAL_DEX_SQUIRTLE] =
+ {
.categoryName = _("TINY TURTLE"),
.height = 5,
.weight = 90,
@@ -80,7 +95,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Wartortle
+
+ [NATIONAL_DEX_WARTORTLE] =
+ {
.categoryName = _("TURTLE"),
.height = 10,
.weight = 225,
@@ -90,7 +107,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Blastoise
+
+ [NATIONAL_DEX_BLASTOISE] =
+ {
.categoryName = _("SHELLFISH"),
.height = 16,
.weight = 855,
@@ -100,7 +119,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 293,
.trainerOffset = 2,
},
- { //Caterpie
+
+ [NATIONAL_DEX_CATERPIE] =
+ {
.categoryName = _("WORM"),
.height = 3,
.weight = 29,
@@ -110,7 +131,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Metapod
+
+ [NATIONAL_DEX_METAPOD] =
+ {
.categoryName = _("COCOON"),
.height = 7,
.weight = 99,
@@ -120,7 +143,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Butterfree
+
+ [NATIONAL_DEX_BUTTERFREE] =
+ {
.categoryName = _("BUTTERFLY"),
.height = 11,
.weight = 320,
@@ -130,7 +155,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Weedle
+
+ [NATIONAL_DEX_WEEDLE] =
+ {
.categoryName = _("HAIRY BUG"),
.height = 3,
.weight = 32,
@@ -140,7 +167,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kakuna
+
+ [NATIONAL_DEX_KAKUNA] =
+ {
.categoryName = _("COCOON"),
.height = 6,
.weight = 100,
@@ -150,7 +179,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Beedrill
+
+ [NATIONAL_DEX_BEEDRILL] =
+ {
.categoryName = _("POISON BEE"),
.height = 10,
.weight = 295,
@@ -160,7 +191,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Pidgey
+
+ [NATIONAL_DEX_PIDGEY] =
+ {
.categoryName = _("TINY BIRD"),
.height = 3,
.weight = 18,
@@ -170,7 +203,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Pidgeotto
+
+ [NATIONAL_DEX_PIDGEOTTO] =
+ {
.categoryName = _("BIRD"),
.height = 11,
.weight = 300,
@@ -180,7 +215,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Pidgeot
+
+ [NATIONAL_DEX_PIDGEOT] =
+ {
.categoryName = _("BIRD"),
.height = 15,
.weight = 395,
@@ -190,7 +227,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Rattata
+
+ [NATIONAL_DEX_RATTATA] =
+ {
.categoryName = _("MOUSE"),
.height = 3,
.weight = 35,
@@ -200,7 +239,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Raticate
+
+ [NATIONAL_DEX_RATICATE] =
+ {
.categoryName = _("MOUSE"),
.height = 7,
.weight = 185,
@@ -210,7 +251,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Spearow
+
+ [NATIONAL_DEX_SPEAROW] =
+ {
.categoryName = _("TINY BIRD"),
.height = 3,
.weight = 20,
@@ -220,7 +263,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Fearow
+
+ [NATIONAL_DEX_FEAROW] =
+ {
.categoryName = _("BEAK"),
.height = 12,
.weight = 380,
@@ -230,7 +275,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ekans
+
+ [NATIONAL_DEX_EKANS] =
+ {
.categoryName = _("SNAKE"),
.height = 20,
.weight = 69,
@@ -240,7 +287,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Arbok
+
+ [NATIONAL_DEX_ARBOK] =
+ {
.categoryName = _("COBRA"),
.height = 35,
.weight = 650,
@@ -250,7 +299,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 296,
.trainerOffset = 2,
},
- { //Pikachu
+
+ [NATIONAL_DEX_PIKACHU] =
+ {
.categoryName = _("MOUSE"),
.height = 4,
.weight = 60,
@@ -260,7 +311,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Raichu
+
+ [NATIONAL_DEX_RAICHU] =
+ {
.categoryName = _("MOUSE"),
.height = 8,
.weight = 300,
@@ -270,7 +323,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sandshrew
+
+ [NATIONAL_DEX_SANDSHREW] =
+ {
.categoryName = _("MOUSE"),
.height = 6,
.weight = 120,
@@ -280,7 +335,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sandslash
+
+ [NATIONAL_DEX_SANDSLASH] =
+ {
.categoryName = _("MOUSE"),
.height = 10,
.weight = 295,
@@ -290,7 +347,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //NidoranF
+
+ [NATIONAL_DEX_NIDORAN_F] =
+ {
.categoryName = _("POISON PIN"),
.height = 4,
.weight = 70,
@@ -300,7 +359,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Nidorina
+
+ [NATIONAL_DEX_NIDORINA] =
+ {
.categoryName = _("POISON PIN"),
.height = 8,
.weight = 200,
@@ -310,7 +371,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Nidoqueen
+
+ [NATIONAL_DEX_NIDOQUEEN] =
+ {
.categoryName = _("DRILL"),
.height = 13,
.weight = 600,
@@ -320,7 +383,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //NidoranM
+
+ [NATIONAL_DEX_NIDORAN_M] =
+ {
.categoryName = _("POISON PIN"),
.height = 5,
.weight = 90,
@@ -330,7 +395,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Nidorino
+
+ [NATIONAL_DEX_NIDORINO] =
+ {
.categoryName = _("POISON PIN"),
.height = 9,
.weight = 195,
@@ -340,7 +407,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Nidoking
+
+ [NATIONAL_DEX_NIDOKING] =
+ {
.categoryName = _("DRILL"),
.height = 14,
.weight = 620,
@@ -350,7 +419,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Clefairy
+
+ [NATIONAL_DEX_CLEFAIRY] =
+ {
.categoryName = _("FAIRY"),
.height = 6,
.weight = 75,
@@ -360,7 +431,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Clefable
+
+ [NATIONAL_DEX_CLEFABLE] =
+ {
.categoryName = _("FAIRY"),
.height = 13,
.weight = 400,
@@ -370,7 +443,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Vulpix
+
+ [NATIONAL_DEX_VULPIX] =
+ {
.categoryName = _("FOX"),
.height = 6,
.weight = 99,
@@ -380,7 +455,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ninetales
+
+ [NATIONAL_DEX_NINETALES] =
+ {
.categoryName = _("FOX"),
.height = 11,
.weight = 199,
@@ -390,7 +467,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Jigglypuff
+
+ [NATIONAL_DEX_JIGGLYPUFF] =
+ {
.categoryName = _("BALLOON"),
.height = 5,
.weight = 55,
@@ -400,7 +479,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Wigglytuff
+
+ [NATIONAL_DEX_WIGGLYTUFF] =
+ {
.categoryName = _("BALLOON"),
.height = 10,
.weight = 120,
@@ -410,7 +491,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Zubat
+
+ [NATIONAL_DEX_ZUBAT] =
+ {
.categoryName = _("BAT"),
.height = 8,
.weight = 75,
@@ -420,7 +503,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Golbat
+
+ [NATIONAL_DEX_GOLBAT] =
+ {
.categoryName = _("BAT"),
.height = 16,
.weight = 550,
@@ -430,7 +515,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Oddish
+
+ [NATIONAL_DEX_ODDISH] =
+ {
.categoryName = _("WEED"),
.height = 5,
.weight = 54,
@@ -440,7 +527,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Gloom
+
+ [NATIONAL_DEX_GLOOM] =
+ {
.categoryName = _("WEED"),
.height = 8,
.weight = 86,
@@ -450,7 +539,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Vileplume
+
+ [NATIONAL_DEX_VILEPLUME] =
+ {
.categoryName = _("FLOWER"),
.height = 12,
.weight = 186,
@@ -460,7 +551,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Paras
+
+ [NATIONAL_DEX_PARAS] =
+ {
.categoryName = _("MUSHROOM"),
.height = 3,
.weight = 54,
@@ -470,7 +563,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Parasect
+
+ [NATIONAL_DEX_PARASECT] =
+ {
.categoryName = _("MUSHROOM"),
.height = 10,
.weight = 295,
@@ -480,7 +575,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Venonat
+
+ [NATIONAL_DEX_VENONAT] =
+ {
.categoryName = _("INSECT"),
.height = 10,
.weight = 300,
@@ -490,7 +587,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = -1,
},
- { //Venomoth
+
+ [NATIONAL_DEX_VENOMOTH] =
+ {
.categoryName = _("POISON MOTH"),
.height = 15,
.weight = 125,
@@ -500,7 +599,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 1,
},
- { //Diglett
+
+ [NATIONAL_DEX_DIGLETT] =
+ {
.categoryName = _("MOLE"),
.height = 2,
.weight = 8,
@@ -510,7 +611,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Dugtrio
+
+ [NATIONAL_DEX_DUGTRIO] =
+ {
.categoryName = _("MOLE"),
.height = 7,
.weight = 333,
@@ -520,7 +623,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Meowth
+
+ [NATIONAL_DEX_MEOWTH] =
+ {
.categoryName = _("SCRATCH CAT"),
.height = 4,
.weight = 42,
@@ -530,7 +635,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Persian
+
+ [NATIONAL_DEX_PERSIAN] =
+ {
.categoryName = _("CLASSY CAT"),
.height = 10,
.weight = 320,
@@ -540,7 +647,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Psyduck
+
+ [NATIONAL_DEX_PSYDUCK] =
+ {
.categoryName = _("DUCK"),
.height = 8,
.weight = 196,
@@ -550,7 +659,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Golduck
+
+ [NATIONAL_DEX_GOLDUCK] =
+ {
.categoryName = _("DUCK"),
.height = 17,
.weight = 766,
@@ -560,7 +671,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 273,
.trainerOffset = 1,
},
- { //Mankey
+
+ [NATIONAL_DEX_MANKEY] =
+ {
.categoryName = _("PIG MONKEY"),
.height = 5,
.weight = 280,
@@ -570,7 +683,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Primeape
+
+ [NATIONAL_DEX_PRIMEAPE] =
+ {
.categoryName = _("PIG MONKEY"),
.height = 10,
.weight = 320,
@@ -580,7 +695,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Growlithe
+
+ [NATIONAL_DEX_GROWLITHE] =
+ {
.categoryName = _("PUPPY"),
.height = 7,
.weight = 190,
@@ -590,7 +707,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Arcanine
+
+ [NATIONAL_DEX_ARCANINE] =
+ {
.categoryName = _("LEGENDARY"),
.height = 19,
.weight = 1550,
@@ -600,7 +719,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 312,
.trainerOffset = 4,
},
- { //Poliwag
+
+ [NATIONAL_DEX_POLIWAG] =
+ {
.categoryName = _("TADPOLE"),
.height = 6,
.weight = 124,
@@ -610,7 +731,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Poliwhirl
+
+ [NATIONAL_DEX_POLIWHIRL] =
+ {
.categoryName = _("TADPOLE"),
.height = 10,
.weight = 200,
@@ -620,7 +743,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Poliwrath
+
+ [NATIONAL_DEX_POLIWRATH] =
+ {
.categoryName = _("TADPOLE"),
.height = 13,
.weight = 540,
@@ -630,7 +755,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Abra
+
+ [NATIONAL_DEX_ABRA] =
+ {
.categoryName = _("PSI"),
.height = 9,
.weight = 195,
@@ -640,7 +767,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kadabra
+
+ [NATIONAL_DEX_KADABRA] =
+ {
.categoryName = _("PSI"),
.height = 13,
.weight = 565,
@@ -650,7 +779,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Alakazam
+
+ [NATIONAL_DEX_ALAKAZAM] =
+ {
.categoryName = _("PSI"),
.height = 15,
.weight = 480,
@@ -660,7 +791,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Machop
+
+ [NATIONAL_DEX_MACHOP] =
+ {
.categoryName = _("SUPERPOWER"),
.height = 8,
.weight = 195,
@@ -670,7 +803,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Machoke
+
+ [NATIONAL_DEX_MACHOKE] =
+ {
.categoryName = _("SUPERPOWER"),
.height = 15,
.weight = 705,
@@ -680,7 +815,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 257,
.trainerOffset = 0,
},
- { //Machamp
+
+ [NATIONAL_DEX_MACHAMP] =
+ {
.categoryName = _("SUPERPOWER"),
.height = 16,
.weight = 1300,
@@ -690,7 +827,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 269,
.trainerOffset = -1,
},
- { //Bellsprout
+
+ [NATIONAL_DEX_BELLSPROUT] =
+ {
.categoryName = _("FLOWER"),
.height = 7,
.weight = 40,
@@ -700,7 +839,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Weepinbell
+
+ [NATIONAL_DEX_WEEPINBELL] =
+ {
.categoryName = _("FLYCATCHER"),
.height = 10,
.weight = 64,
@@ -710,7 +851,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Victreebel
+
+ [NATIONAL_DEX_VICTREEBEL] =
+ {
.categoryName = _("FLYCATCHER"),
.height = 17,
.weight = 155,
@@ -720,7 +863,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 312,
.trainerOffset = 3,
},
- { //Tentacool
+
+ [NATIONAL_DEX_TENTACOOL] =
+ {
.categoryName = _("JELLYFISH"),
.height = 9,
.weight = 455,
@@ -730,7 +875,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Tentacruel
+
+ [NATIONAL_DEX_TENTACRUEL] =
+ {
.categoryName = _("JELLYFISH"),
.height = 16,
.weight = 550,
@@ -740,7 +887,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 312,
.trainerOffset = 1,
},
- { //Geodude
+
+ [NATIONAL_DEX_GEODUDE] =
+ {
.categoryName = _("ROCK"),
.height = 4,
.weight = 200,
@@ -750,7 +899,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Graveler
+
+ [NATIONAL_DEX_GRAVELER] =
+ {
.categoryName = _("ROCK"),
.height = 10,
.weight = 1050,
@@ -760,7 +911,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Golem
+
+ [NATIONAL_DEX_GOLEM] =
+ {
.categoryName = _("MEGATON"),
.height = 14,
.weight = 3000,
@@ -770,7 +923,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 296,
.trainerOffset = 2,
},
- { //Ponyta
+
+ [NATIONAL_DEX_PONYTA] =
+ {
.categoryName = _("FIRE HORSE"),
.height = 10,
.weight = 300,
@@ -780,7 +935,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Rapidash
+
+ [NATIONAL_DEX_RAPIDASH] =
+ {
.categoryName = _("FIRE HORSE"),
.height = 17,
.weight = 950,
@@ -790,7 +947,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 289,
.trainerOffset = 1,
},
- { //Slowpoke
+
+ [NATIONAL_DEX_SLOWPOKE] =
+ {
.categoryName = _("DOPEY"),
.height = 12,
.weight = 360,
@@ -800,7 +959,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Slowbro
+
+ [NATIONAL_DEX_SLOWBRO] =
+ {
.categoryName = _("HERMIT CRAB"),
.height = 16,
.weight = 785,
@@ -810,7 +971,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 296,
.trainerOffset = 2,
},
- { //Magnemite
+
+ [NATIONAL_DEX_MAGNEMITE] =
+ {
.categoryName = _("MAGNET"),
.height = 3,
.weight = 60,
@@ -820,7 +983,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Magneton
+
+ [NATIONAL_DEX_MAGNETON] =
+ {
.categoryName = _("MAGNET"),
.height = 10,
.weight = 600,
@@ -830,7 +995,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Farfetchd
+
+ [NATIONAL_DEX_FARFETCHD] =
+ {
.categoryName = _("WILD DUCK"),
.height = 8,
.weight = 150,
@@ -840,7 +1007,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 293,
.trainerOffset = 2,
},
- { //Doduo
+
+ [NATIONAL_DEX_DODUO] =
+ {
.categoryName = _("TWIN BIRD"),
.height = 14,
.weight = 392,
@@ -850,7 +1019,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 257,
.trainerOffset = -1,
},
- { //Dodrio
+
+ [NATIONAL_DEX_DODRIO] =
+ {
.categoryName = _("TRIPLE BIRD"),
.height = 18,
.weight = 852,
@@ -860,7 +1031,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 268,
.trainerOffset = 0,
},
- { //Seel
+
+ [NATIONAL_DEX_SEEL] =
+ {
.categoryName = _("SEA LION"),
.height = 11,
.weight = 900,
@@ -870,7 +1043,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Dewgong
+
+ [NATIONAL_DEX_DEWGONG] =
+ {
.categoryName = _("SEA LION"),
.height = 17,
.weight = 1200,
@@ -880,7 +1055,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 275,
.trainerOffset = 0,
},
- { //Grimer
+
+ [NATIONAL_DEX_GRIMER] =
+ {
.categoryName = _("SLUDGE"),
.height = 9,
.weight = 300,
@@ -890,7 +1067,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Muk
+
+ [NATIONAL_DEX_MUK] =
+ {
.categoryName = _("SLUDGE"),
.height = 12,
.weight = 300,
@@ -900,7 +1079,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Shellder
+
+ [NATIONAL_DEX_SHELLDER] =
+ {
.categoryName = _("BIVALVE"),
.height = 3,
.weight = 40,
@@ -910,7 +1091,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Cloyster
+
+ [NATIONAL_DEX_CLOYSTER] =
+ {
.categoryName = _("BIVALVE"),
.height = 15,
.weight = 1325,
@@ -920,7 +1103,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 269,
.trainerOffset = 1,
},
- { //Gastly
+
+ [NATIONAL_DEX_GASTLY] =
+ {
.categoryName = _("GAS"),
.height = 13,
.weight = 1,
@@ -930,7 +1115,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Haunter
+
+ [NATIONAL_DEX_HAUNTER] =
+ {
.categoryName = _("GAS"),
.height = 16,
.weight = 1,
@@ -940,7 +1127,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 293,
.trainerOffset = 2,
},
- { //Gengar
+
+ [NATIONAL_DEX_GENGAR] =
+ {
.categoryName = _("SHADOW"),
.height = 15,
.weight = 405,
@@ -950,7 +1139,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 302,
.trainerOffset = 2,
},
- { //Onix
+
+ [NATIONAL_DEX_ONIX] =
+ {
.categoryName = _("ROCK SNAKE"),
.height = 88,
.weight = 2100,
@@ -960,7 +1151,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 515,
.trainerOffset = 14,
},
- { //Drowzee
+
+ [NATIONAL_DEX_DROWZEE] =
+ {
.categoryName = _("HYPNOSIS"),
.height = 10,
.weight = 324,
@@ -970,7 +1163,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Hypno
+
+ [NATIONAL_DEX_HYPNO] =
+ {
.categoryName = _("HYPNOSIS"),
.height = 16,
.weight = 756,
@@ -980,7 +1175,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 257,
.trainerOffset = 0,
},
- { //Krabby
+
+ [NATIONAL_DEX_KRABBY] =
+ {
.categoryName = _("RIVER CRAB"),
.height = 4,
.weight = 65,
@@ -990,7 +1187,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kingler
+
+ [NATIONAL_DEX_KINGLER] =
+ {
.categoryName = _("PINCER"),
.height = 13,
.weight = 600,
@@ -1000,7 +1199,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Voltorb
+
+ [NATIONAL_DEX_VOLTORB] =
+ {
.categoryName = _("BALL"),
.height = 5,
.weight = 104,
@@ -1010,7 +1211,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Electrode
+
+ [NATIONAL_DEX_ELECTRODE] =
+ {
.categoryName = _("BALL"),
.height = 12,
.weight = 666,
@@ -1020,7 +1223,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Exeggcute
+
+ [NATIONAL_DEX_EXEGGCUTE] =
+ {
.categoryName = _("EGG"),
.height = 4,
.weight = 25,
@@ -1030,7 +1235,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Exeggutor
+
+ [NATIONAL_DEX_EXEGGUTOR] =
+ {
.categoryName = _("COCONUT"),
.height = 20,
.weight = 1200,
@@ -1040,7 +1247,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 309,
.trainerOffset = 5,
},
- { //Cubone
+
+ [NATIONAL_DEX_CUBONE] =
+ {
.categoryName = _("LONELY"),
.height = 4,
.weight = 65,
@@ -1050,7 +1259,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Marowak
+
+ [NATIONAL_DEX_MAROWAK] =
+ {
.categoryName = _("BONE KEEPER"),
.height = 10,
.weight = 450,
@@ -1060,7 +1271,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Hitmonlee
+
+ [NATIONAL_DEX_HITMONLEE] =
+ {
.categoryName = _("KICKING"),
.height = 15,
.weight = 498,
@@ -1070,7 +1283,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 259,
.trainerOffset = 1,
},
- { //Hitmonchan
+
+ [NATIONAL_DEX_HITMONCHAN] =
+ {
.categoryName = _("PUNCHING"),
.height = 14,
.weight = 502,
@@ -1080,7 +1295,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 277,
.trainerOffset = 2,
},
- { //Lickitung
+
+ [NATIONAL_DEX_LICKITUNG] =
+ {
.categoryName = _("LICKING"),
.height = 12,
.weight = 655,
@@ -1090,7 +1307,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Koffing
+
+ [NATIONAL_DEX_KOFFING] =
+ {
.categoryName = _("POISON GAS"),
.height = 6,
.weight = 10,
@@ -1100,7 +1319,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Weezing
+
+ [NATIONAL_DEX_WEEZING] =
+ {
.categoryName = _("POISON GAS"),
.height = 12,
.weight = 95,
@@ -1110,7 +1331,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Rhyhorn
+
+ [NATIONAL_DEX_RHYHORN] =
+ {
.categoryName = _("SPIKES"),
.height = 10,
.weight = 1150,
@@ -1120,7 +1343,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Rhydon
+
+ [NATIONAL_DEX_RHYDON] =
+ {
.categoryName = _("DRILL"),
.height = 19,
.weight = 1200,
@@ -1130,7 +1355,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 299,
.trainerOffset = 2,
},
- { //Chansey
+
+ [NATIONAL_DEX_CHANSEY] =
+ {
.categoryName = _("EGG"),
.height = 11,
.weight = 346,
@@ -1140,7 +1367,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Tangela
+
+ [NATIONAL_DEX_TANGELA] =
+ {
.categoryName = _("VINE"),
.height = 10,
.weight = 350,
@@ -1150,7 +1379,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kangaskhan
+
+ [NATIONAL_DEX_KANGASKHAN] =
+ {
.categoryName = _("PARENT"),
.height = 22,
.weight = 800,
@@ -1160,7 +1391,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 387,
.trainerOffset = 8,
},
- { //Horsea
+
+ [NATIONAL_DEX_HORSEA] =
+ {
.categoryName = _("DRAGON"),
.height = 4,
.weight = 80,
@@ -1170,7 +1403,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Seadra
+
+ [NATIONAL_DEX_SEADRA] =
+ {
.categoryName = _("DRAGON"),
.height = 12,
.weight = 250,
@@ -1180,7 +1415,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Goldeen
+
+ [NATIONAL_DEX_GOLDEEN] =
+ {
.categoryName = _("GOLDFISH"),
.height = 6,
.weight = 150,
@@ -1190,7 +1427,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Seaking
+
+ [NATIONAL_DEX_SEAKING] =
+ {
.categoryName = _("GOLDFISH"),
.height = 13,
.weight = 390,
@@ -1200,7 +1439,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Staryu
+
+ [NATIONAL_DEX_STARYU] =
+ {
.categoryName = _("STAR SHAPE"),
.height = 8,
.weight = 345,
@@ -1210,7 +1451,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Starmie
+
+ [NATIONAL_DEX_STARMIE] =
+ {
.categoryName = _("MYSTERIOUS"),
.height = 11,
.weight = 800,
@@ -1220,7 +1463,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Mrmime
+
+ [NATIONAL_DEX_MR_MIME] =
+ {
.categoryName = _("BARRIER"),
.height = 13,
.weight = 545,
@@ -1230,7 +1475,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Scyther
+
+ [NATIONAL_DEX_SCYTHER] =
+ {
.categoryName = _("MANTIS"),
.height = 15,
.weight = 560,
@@ -1240,7 +1487,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 293,
.trainerOffset = 2,
},
- { //Jynx
+
+ [NATIONAL_DEX_JYNX] =
+ {
.categoryName = _("HUMAN SHAPE"),
.height = 14,
.weight = 406,
@@ -1250,7 +1499,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 300,
.trainerOffset = 1,
},
- { //Electabuzz
+
+ [NATIONAL_DEX_ELECTABUZZ] =
+ {
.categoryName = _("ELECTRIC"),
.height = 11,
.weight = 300,
@@ -1260,7 +1511,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Magmar
+
+ [NATIONAL_DEX_MAGMAR] =
+ {
.categoryName = _("SPITFIRE"),
.height = 13,
.weight = 445,
@@ -1270,7 +1523,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Pinsir
+
+ [NATIONAL_DEX_PINSIR] =
+ {
.categoryName = _("STAG BEETLE"),
.height = 15,
.weight = 550,
@@ -1280,7 +1535,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 257,
.trainerOffset = 0,
},
- { //Tauros
+
+ [NATIONAL_DEX_TAUROS] =
+ {
.categoryName = _("WILD BULL"),
.height = 14,
.weight = 884,
@@ -1290,7 +1547,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Magikarp
+
+ [NATIONAL_DEX_MAGIKARP] =
+ {
.categoryName = _("FISH"),
.height = 9,
.weight = 100,
@@ -1300,7 +1559,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Gyarados
+
+ [NATIONAL_DEX_GYARADOS] =
+ {
.categoryName = _("ATROCIOUS"),
.height = 65,
.weight = 2350,
@@ -1310,7 +1571,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 481,
.trainerOffset = 13,
},
- { //Lapras
+
+ [NATIONAL_DEX_LAPRAS] =
+ {
.categoryName = _("TRANSPORT"),
.height = 25,
.weight = 2200,
@@ -1320,7 +1583,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 423,
.trainerOffset = 8,
},
- { //Ditto
+
+ [NATIONAL_DEX_DITTO] =
+ {
.categoryName = _("TRANSFORM"),
.height = 3,
.weight = 40,
@@ -1330,7 +1595,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Eevee
+
+ [NATIONAL_DEX_EEVEE] =
+ {
.categoryName = _("EVOLUTION"),
.height = 3,
.weight = 65,
@@ -1340,7 +1607,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Vaporeon
+
+ [NATIONAL_DEX_VAPOREON] =
+ {
.categoryName = _("BUBBLE JET"),
.height = 10,
.weight = 290,
@@ -1350,7 +1619,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Jolteon
+
+ [NATIONAL_DEX_JOLTEON] =
+ {
.categoryName = _("LIGHTNING"),
.height = 8,
.weight = 245,
@@ -1360,7 +1631,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Flareon
+
+ [NATIONAL_DEX_FLAREON] =
+ {
.categoryName = _("FLAME"),
.height = 9,
.weight = 250,
@@ -1370,7 +1643,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Porygon
+
+ [NATIONAL_DEX_PORYGON] =
+ {
.categoryName = _("VIRTUAL"),
.height = 8,
.weight = 365,
@@ -1380,7 +1655,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Omanyte
+
+ [NATIONAL_DEX_OMANYTE] =
+ {
.categoryName = _("SPIRAL"),
.height = 4,
.weight = 75,
@@ -1390,7 +1667,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Omastar
+
+ [NATIONAL_DEX_OMASTAR] =
+ {
.categoryName = _("SPIRAL"),
.height = 10,
.weight = 350,
@@ -1400,7 +1679,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kabuto
+
+ [NATIONAL_DEX_KABUTO] =
+ {
.categoryName = _("SHELLFISH"),
.height = 5,
.weight = 115,
@@ -1410,7 +1691,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kabutops
+
+ [NATIONAL_DEX_KABUTOPS] =
+ {
.categoryName = _("SHELLFISH"),
.height = 13,
.weight = 405,
@@ -1420,7 +1703,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Aerodactyl
+
+ [NATIONAL_DEX_AERODACTYL] =
+ {
.categoryName = _("FOSSIL"),
.height = 18,
.weight = 590,
@@ -1430,7 +1715,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 302,
.trainerOffset = 4,
},
- { //Snorlax
+
+ [NATIONAL_DEX_SNORLAX] =
+ {
.categoryName = _("SLEEPING"),
.height = 21,
.weight = 4600,
@@ -1440,7 +1727,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 423,
.trainerOffset = 11,
},
- { //Articuno
+
+ [NATIONAL_DEX_ARTICUNO] =
+ {
.categoryName = _("FREEZE"),
.height = 17,
.weight = 554,
@@ -1450,7 +1739,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 309,
.trainerOffset = 2,
},
- { //Zapdos
+
+ [NATIONAL_DEX_ZAPDOS] =
+ {
.categoryName = _("ELECTRIC"),
.height = 16,
.weight = 526,
@@ -1460,7 +1751,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 318,
.trainerOffset = 3,
},
- { //Moltres
+
+ [NATIONAL_DEX_MOLTRES] =
+ {
.categoryName = _("FLAME"),
.height = 20,
.weight = 600,
@@ -1470,7 +1763,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 387,
.trainerOffset = 8,
},
- { //Dratini
+
+ [NATIONAL_DEX_DRATINI] =
+ {
.categoryName = _("DRAGON"),
.height = 18,
.weight = 33,
@@ -1480,7 +1775,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 386,
.trainerOffset = 6,
},
- { //Dragonair
+
+ [NATIONAL_DEX_DRAGONAIR] =
+ {
.categoryName = _("DRAGON"),
.height = 40,
.weight = 165,
@@ -1490,7 +1787,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 411,
.trainerOffset = 5,
},
- { //Dragonite
+
+ [NATIONAL_DEX_DRAGONITE] =
+ {
.categoryName = _("DRAGON"),
.height = 22,
.weight = 2100,
@@ -1500,7 +1799,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 309,
.trainerOffset = 4,
},
- { //Mewtwo
+
+ [NATIONAL_DEX_MEWTWO] =
+ {
.categoryName = _("GENETIC"),
.height = 20,
.weight = 1220,
@@ -1510,7 +1811,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 309,
.trainerOffset = 4,
},
- { //Mew
+
+ [NATIONAL_DEX_MEW] =
+ {
.categoryName = _("NEW SPECIES"),
.height = 4,
.weight = 40,
@@ -1520,7 +1823,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Chikorita
+
+ [NATIONAL_DEX_CHIKORITA] =
+ {
.categoryName = _("LEAF"),
.height = 9,
.weight = 64,
@@ -1530,7 +1835,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Bayleef
+
+ [NATIONAL_DEX_BAYLEEF] =
+ {
.categoryName = _("LEAF"),
.height = 12,
.weight = 158,
@@ -1540,7 +1847,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Meganium
+
+ [NATIONAL_DEX_MEGANIUM] =
+ {
.categoryName = _("HERB"),
.height = 18,
.weight = 1005,
@@ -1550,7 +1859,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 277,
.trainerOffset = 1,
},
- { //Cyndaquil
+
+ [NATIONAL_DEX_CYNDAQUIL] =
+ {
.categoryName = _("FIRE MOUSE"),
.height = 5,
.weight = 79,
@@ -1560,7 +1871,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Quilava
+
+ [NATIONAL_DEX_QUILAVA] =
+ {
.categoryName = _("VOLCANO"),
.height = 9,
.weight = 190,
@@ -1570,7 +1883,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Typhlosion
+
+ [NATIONAL_DEX_TYPHLOSION] =
+ {
.categoryName = _("VOLCANO"),
.height = 17,
.weight = 795,
@@ -1580,7 +1895,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 268,
.trainerOffset = 1,
},
- { //Totodile
+
+ [NATIONAL_DEX_TOTODILE] =
+ {
.categoryName = _("BIG JAW"),
.height = 6,
.weight = 95,
@@ -1590,7 +1907,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Croconaw
+
+ [NATIONAL_DEX_CROCONAW] =
+ {
.categoryName = _("BIG JAW"),
.height = 11,
.weight = 250,
@@ -1600,7 +1919,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Feraligatr
+
+ [NATIONAL_DEX_FERALIGATR] =
+ {
.categoryName = _("BIG JAW"),
.height = 23,
.weight = 888,
@@ -1610,7 +1931,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 342,
.trainerOffset = 7,
},
- { //Sentret
+
+ [NATIONAL_DEX_SENTRET] =
+ {
.categoryName = _("SCOUT"),
.height = 8,
.weight = 60,
@@ -1620,7 +1943,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Furret
+
+ [NATIONAL_DEX_FURRET] =
+ {
.categoryName = _("LONG BODY"),
.height = 18,
.weight = 325,
@@ -1630,7 +1955,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Hoothoot
+
+ [NATIONAL_DEX_HOOTHOOT] =
+ {
.categoryName = _("OWL"),
.height = 7,
.weight = 212,
@@ -1640,7 +1967,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Noctowl
+
+ [NATIONAL_DEX_NOCTOWL] =
+ {
.categoryName = _("OWL"),
.height = 16,
.weight = 408,
@@ -1650,7 +1979,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ledyba
+
+ [NATIONAL_DEX_LEDYBA] =
+ {
.categoryName = _("FIVE STAR"),
.height = 10,
.weight = 108,
@@ -1660,7 +1991,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ledian
+
+ [NATIONAL_DEX_LEDIAN] =
+ {
.categoryName = _("FIVE STAR"),
.height = 14,
.weight = 356,
@@ -1670,7 +2003,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Spinarak
+
+ [NATIONAL_DEX_SPINARAK] =
+ {
.categoryName = _("STRING SPIT"),
.height = 5,
.weight = 85,
@@ -1680,7 +2015,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ariados
+
+ [NATIONAL_DEX_ARIADOS] =
+ {
.categoryName = _("LONG LEG"),
.height = 11,
.weight = 335,
@@ -1690,7 +2027,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Crobat
+
+ [NATIONAL_DEX_CROBAT] =
+ {
.categoryName = _("BAT"),
.height = 18,
.weight = 750,
@@ -1700,7 +2039,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 281,
.trainerOffset = 1,
},
- { //Chinchou
+
+ [NATIONAL_DEX_CHINCHOU] =
+ {
.categoryName = _("ANGLER"),
.height = 5,
.weight = 120,
@@ -1710,7 +2051,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Lanturn
+
+ [NATIONAL_DEX_LANTURN] =
+ {
.categoryName = _("LIGHT"),
.height = 12,
.weight = 225,
@@ -1720,7 +2063,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Pichu
+
+ [NATIONAL_DEX_PICHU] =
+ {
.categoryName = _("TINY MOUSE"),
.height = 3,
.weight = 20,
@@ -1730,7 +2075,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Cleffa
+
+ [NATIONAL_DEX_CLEFFA] =
+ {
.categoryName = _("STAR SHAPE"),
.height = 3,
.weight = 30,
@@ -1740,7 +2087,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Igglybuff
+
+ [NATIONAL_DEX_IGGLYBUFF] =
+ {
.categoryName = _("BALLOON"),
.height = 3,
.weight = 10,
@@ -1750,7 +2099,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Togepi
+
+ [NATIONAL_DEX_TOGEPI] =
+ {
.categoryName = _("SPIKE BALL"),
.height = 3,
.weight = 15,
@@ -1760,7 +2111,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Togetic
+
+ [NATIONAL_DEX_TOGETIC] =
+ {
.categoryName = _("HAPPINESS"),
.height = 6,
.weight = 32,
@@ -1770,7 +2123,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Natu
+
+ [NATIONAL_DEX_NATU] =
+ {
.categoryName = _("TINY BIRD"),
.height = 2,
.weight = 20,
@@ -1780,7 +2135,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Xatu
+
+ [NATIONAL_DEX_XATU] =
+ {
.categoryName = _("MYSTIC"),
.height = 15,
.weight = 150,
@@ -1790,7 +2147,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 318,
.trainerOffset = 4,
},
- { //Mareep
+
+ [NATIONAL_DEX_MAREEP] =
+ {
.categoryName = _("WOOL"),
.height = 6,
.weight = 78,
@@ -1800,7 +2159,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Flaaffy
+
+ [NATIONAL_DEX_FLAAFFY] =
+ {
.categoryName = _("WOOL"),
.height = 8,
.weight = 133,
@@ -1810,7 +2171,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ampharos
+
+ [NATIONAL_DEX_AMPHAROS] =
+ {
.categoryName = _("LIGHT"),
.height = 14,
.weight = 615,
@@ -1820,7 +2183,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Bellossom
+
+ [NATIONAL_DEX_BELLOSSOM] =
+ {
.categoryName = _("FLOWER"),
.height = 4,
.weight = 58,
@@ -1830,7 +2195,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Marill
+
+ [NATIONAL_DEX_MARILL] =
+ {
.categoryName = _("AQUA MOUSE"),
.height = 4,
.weight = 85,
@@ -1840,7 +2207,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Azumarill
+
+ [NATIONAL_DEX_AZUMARILL] =
+ {
.categoryName = _("AQUA RABBIT"),
.height = 8,
.weight = 285,
@@ -1850,7 +2219,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sudowoodo
+
+ [NATIONAL_DEX_SUDOWOODO] =
+ {
.categoryName = _("IMITATION"),
.height = 12,
.weight = 380,
@@ -1860,7 +2231,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Politoed
+
+ [NATIONAL_DEX_POLITOED] =
+ {
.categoryName = _("FROG"),
.height = 11,
.weight = 339,
@@ -1870,7 +2243,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Hoppip
+
+ [NATIONAL_DEX_HOPPIP] =
+ {
.categoryName = _("COTTONWEED"),
.height = 4,
.weight = 5,
@@ -1880,7 +2255,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Skiploom
+
+ [NATIONAL_DEX_SKIPLOOM] =
+ {
.categoryName = _("COTTONWEED"),
.height = 6,
.weight = 10,
@@ -1890,7 +2267,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Jumpluff
+
+ [NATIONAL_DEX_JUMPLUFF] =
+ {
.categoryName = _("COTTONWEED"),
.height = 8,
.weight = 30,
@@ -1900,7 +2279,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Aipom
+
+ [NATIONAL_DEX_AIPOM] =
+ {
.categoryName = _("LONG TAIL"),
.height = 8,
.weight = 115,
@@ -1910,7 +2291,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sunkern
+
+ [NATIONAL_DEX_SUNKERN] =
+ {
.categoryName = _("SEED"),
.height = 3,
.weight = 18,
@@ -1920,7 +2303,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sunflora
+
+ [NATIONAL_DEX_SUNFLORA] =
+ {
.categoryName = _("SUN"),
.height = 8,
.weight = 85,
@@ -1930,7 +2315,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Yanma
+
+ [NATIONAL_DEX_YANMA] =
+ {
.categoryName = _("CLEAR WING"),
.height = 12,
.weight = 380,
@@ -1940,7 +2327,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Wooper
+
+ [NATIONAL_DEX_WOOPER] =
+ {
.categoryName = _("WATER FISH"),
.height = 4,
.weight = 85,
@@ -1950,7 +2339,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Quagsire
+
+ [NATIONAL_DEX_QUAGSIRE] =
+ {
.categoryName = _("WATER FISH"),
.height = 14,
.weight = 750,
@@ -1960,7 +2351,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Espeon
+
+ [NATIONAL_DEX_ESPEON] =
+ {
.categoryName = _("SUN"),
.height = 9,
.weight = 265,
@@ -1970,7 +2363,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Umbreon
+
+ [NATIONAL_DEX_UMBREON] =
+ {
.categoryName = _("MOONLIGHT"),
.height = 10,
.weight = 270,
@@ -1980,7 +2375,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Murkrow
+
+ [NATIONAL_DEX_MURKROW] =
+ {
.categoryName = _("DARKNESS"),
.height = 5,
.weight = 21,
@@ -1990,7 +2387,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 1,
},
- { //Slowking
+
+ [NATIONAL_DEX_SLOWKING] =
+ {
.categoryName = _("ROYAL"),
.height = 20,
.weight = 795,
@@ -2000,7 +2399,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 309,
.trainerOffset = 5,
},
- { //Misdreavus
+
+ [NATIONAL_DEX_MISDREAVUS] =
+ {
.categoryName = _("SCREECH"),
.height = 7,
.weight = 10,
@@ -2010,7 +2411,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Unown
+
+ [NATIONAL_DEX_UNOWN] =
+ {
.categoryName = _("SYMBOL"),
.height = 5,
.weight = 50,
@@ -2020,7 +2423,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Wobbuffet
+
+ [NATIONAL_DEX_WOBBUFFET] =
+ {
.categoryName = _("PATIENT"),
.height = 13,
.weight = 285,
@@ -2030,7 +2435,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Girafarig
+
+ [NATIONAL_DEX_GIRAFARIG] =
+ {
.categoryName = _("LONG NECK"),
.height = 15,
.weight = 415,
@@ -2040,7 +2447,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Pineco
+
+ [NATIONAL_DEX_PINECO] =
+ {
.categoryName = _("BAGWORM"),
.height = 6,
.weight = 72,
@@ -2050,7 +2459,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Forretress
+
+ [NATIONAL_DEX_FORRETRESS] =
+ {
.categoryName = _("BAGWORM"),
.height = 12,
.weight = 1258,
@@ -2060,7 +2471,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Dunsparce
+
+ [NATIONAL_DEX_DUNSPARCE] =
+ {
.categoryName = _("LAND SNAKE"),
.height = 15,
.weight = 140,
@@ -2070,7 +2483,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Gligar
+
+ [NATIONAL_DEX_GLIGAR] =
+ {
.categoryName = _("FLYSCORPION"),
.height = 11,
.weight = 648,
@@ -2080,7 +2495,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Steelix
+
+ [NATIONAL_DEX_STEELIX] =
+ {
.categoryName = _("IRON SNAKE"),
.height = 92,
.weight = 4000,
@@ -2090,7 +2507,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 516,
.trainerOffset = 13,
},
- { //Snubbull
+
+ [NATIONAL_DEX_SNUBBULL] =
+ {
.categoryName = _("FAIRY"),
.height = 6,
.weight = 78,
@@ -2100,7 +2519,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Granbull
+
+ [NATIONAL_DEX_GRANBULL] =
+ {
.categoryName = _("FAIRY"),
.height = 14,
.weight = 487,
@@ -2110,7 +2531,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Qwilfish
+
+ [NATIONAL_DEX_QWILFISH] =
+ {
.categoryName = _("BALLOON"),
.height = 5,
.weight = 39,
@@ -2120,7 +2543,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Scizor
+
+ [NATIONAL_DEX_SCIZOR] =
+ {
.categoryName = _("PINCER"),
.height = 18,
.weight = 1180,
@@ -2130,7 +2555,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Shuckle
+
+ [NATIONAL_DEX_SHUCKLE] =
+ {
.categoryName = _("MOLD"),
.height = 6,
.weight = 205,
@@ -2140,7 +2567,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Heracross
+
+ [NATIONAL_DEX_HERACROSS] =
+ {
.categoryName = _("SINGLE HORN"),
.height = 15,
.weight = 540,
@@ -2150,7 +2579,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sneasel
+
+ [NATIONAL_DEX_SNEASEL] =
+ {
.categoryName = _("SHARP CLAW"),
.height = 9,
.weight = 280,
@@ -2160,7 +2591,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Teddiursa
+
+ [NATIONAL_DEX_TEDDIURSA] =
+ {
.categoryName = _("LITTLE BEAR"),
.height = 6,
.weight = 88,
@@ -2170,7 +2603,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ursaring
+
+ [NATIONAL_DEX_URSARING] =
+ {
.categoryName = _("HIBERNATOR"),
.height = 18,
.weight = 1258,
@@ -2180,7 +2615,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Slugma
+
+ [NATIONAL_DEX_SLUGMA] =
+ {
.categoryName = _("LAVA"),
.height = 7,
.weight = 350,
@@ -2190,7 +2627,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Magcargo
+
+ [NATIONAL_DEX_MAGCARGO] =
+ {
.categoryName = _("LAVA"),
.height = 8,
.weight = 550,
@@ -2200,7 +2639,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Swinub
+
+ [NATIONAL_DEX_SWINUB] =
+ {
.categoryName = _("PIG"),
.height = 4,
.weight = 65,
@@ -2210,7 +2651,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Piloswine
+
+ [NATIONAL_DEX_PILOSWINE] =
+ {
.categoryName = _("SWINE"),
.height = 11,
.weight = 558,
@@ -2220,7 +2663,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Corsola
+
+ [NATIONAL_DEX_CORSOLA] =
+ {
.categoryName = _("CORAL"),
.height = 6,
.weight = 50,
@@ -2230,7 +2675,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Remoraid
+
+ [NATIONAL_DEX_REMORAID] =
+ {
.categoryName = _("JET"),
.height = 6,
.weight = 120,
@@ -2240,7 +2687,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Octillery
+
+ [NATIONAL_DEX_OCTILLERY] =
+ {
.categoryName = _("JET"),
.height = 9,
.weight = 285,
@@ -2250,7 +2699,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Delibird
+
+ [NATIONAL_DEX_DELIBIRD] =
+ {
.categoryName = _("DELIVERY"),
.height = 9,
.weight = 160,
@@ -2260,7 +2711,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Mantine
+
+ [NATIONAL_DEX_MANTINE] =
+ {
.categoryName = _("KITE"),
.height = 21,
.weight = 2200,
@@ -2270,7 +2723,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 342,
.trainerOffset = 7,
},
- { //Skarmory
+
+ [NATIONAL_DEX_SKARMORY] =
+ {
.categoryName = _("ARMOR BIRD"),
.height = 17,
.weight = 505,
@@ -2280,7 +2735,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 271,
.trainerOffset = 1,
},
- { //Houndour
+
+ [NATIONAL_DEX_HOUNDOUR] =
+ {
.categoryName = _("DARK"),
.height = 6,
.weight = 108,
@@ -2290,7 +2747,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Houndoom
+
+ [NATIONAL_DEX_HOUNDOOM] =
+ {
.categoryName = _("DARK"),
.height = 14,
.weight = 350,
@@ -2300,7 +2759,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kingdra
+
+ [NATIONAL_DEX_KINGDRA] =
+ {
.categoryName = _("DRAGON"),
.height = 18,
.weight = 1520,
@@ -2310,7 +2771,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 287,
.trainerOffset = 0,
},
- { //Phanpy
+
+ [NATIONAL_DEX_PHANPY] =
+ {
.categoryName = _("LONG NOSE"),
.height = 5,
.weight = 335,
@@ -2320,7 +2783,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Donphan
+
+ [NATIONAL_DEX_DONPHAN] =
+ {
.categoryName = _("ARMOR"),
.height = 11,
.weight = 1200,
@@ -2330,7 +2795,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Porygon2
+
+ [NATIONAL_DEX_PORYGON2] =
+ {
.categoryName = _("VIRTUAL"),
.height = 6,
.weight = 325,
@@ -2340,7 +2807,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Stantler
+
+ [NATIONAL_DEX_STANTLER] =
+ {
.categoryName = _("BIG HORN"),
.height = 14,
.weight = 712,
@@ -2350,7 +2819,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Smeargle
+
+ [NATIONAL_DEX_SMEARGLE] =
+ {
.categoryName = _("PAINTER"),
.height = 12,
.weight = 580,
@@ -2360,7 +2831,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Tyrogue
+
+ [NATIONAL_DEX_TYROGUE] =
+ {
.categoryName = _("SCUFFLE"),
.height = 7,
.weight = 210,
@@ -2370,7 +2843,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Hitmontop
+
+ [NATIONAL_DEX_HITMONTOP] =
+ {
.categoryName = _("HANDSTAND"),
.height = 14,
.weight = 480,
@@ -2380,7 +2855,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 257,
.trainerOffset = 0,
},
- { //Smoochum
+
+ [NATIONAL_DEX_SMOOCHUM] =
+ {
.categoryName = _("KISS"),
.height = 4,
.weight = 60,
@@ -2390,7 +2867,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Elekid
+
+ [NATIONAL_DEX_ELEKID] =
+ {
.categoryName = _("ELECTRIC"),
.height = 6,
.weight = 235,
@@ -2400,7 +2879,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Magby
+
+ [NATIONAL_DEX_MAGBY] =
+ {
.categoryName = _("LIVE COAL"),
.height = 7,
.weight = 214,
@@ -2410,7 +2891,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Miltank
+
+ [NATIONAL_DEX_MILTANK] =
+ {
.categoryName = _("MILK COW"),
.height = 12,
.weight = 755,
@@ -2420,7 +2903,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Blissey
+
+ [NATIONAL_DEX_BLISSEY] =
+ {
.categoryName = _("HAPPINESS"),
.height = 15,
.weight = 468,
@@ -2430,7 +2915,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 310,
.trainerOffset = 3,
},
- { //Raikou
+
+ [NATIONAL_DEX_RAIKOU] =
+ {
.categoryName = _("THUNDER"),
.height = 19,
.weight = 1780,
@@ -2440,7 +2927,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 345,
.trainerOffset = 7,
},
- { //Entei
+
+ [NATIONAL_DEX_ENTEI] =
+ {
.categoryName = _("VOLCANO"),
.height = 21,
.weight = 1980,
@@ -2450,7 +2939,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 345,
.trainerOffset = 7,
},
- { //Suicune
+
+ [NATIONAL_DEX_SUICUNE] =
+ {
.categoryName = _("AURORA"),
.height = 20,
.weight = 1870,
@@ -2460,7 +2951,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 345,
.trainerOffset = 7,
},
- { //Larvitar
+
+ [NATIONAL_DEX_LARVITAR] =
+ {
.categoryName = _("ROCK SKIN"),
.height = 6,
.weight = 720,
@@ -2470,7 +2963,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Pupitar
+
+ [NATIONAL_DEX_PUPITAR] =
+ {
.categoryName = _("HARD SHELL"),
.height = 12,
.weight = 1520,
@@ -2480,7 +2975,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Tyranitar
+
+ [NATIONAL_DEX_TYRANITAR] =
+ {
.categoryName = _("ARMOR"),
.height = 20,
.weight = 2020,
@@ -2490,7 +2987,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 345,
.trainerOffset = 7,
},
- { //Lugia
+
+ [NATIONAL_DEX_LUGIA] =
+ {
.categoryName = _("DIVING"),
.height = 52,
.weight = 2160,
@@ -2500,7 +2999,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 721,
.trainerOffset = 19,
},
- { //HoOh
+
+ [NATIONAL_DEX_HO_OH] =
+ {
.categoryName = _("RAINBOW"),
.height = 38,
.weight = 1990,
@@ -2510,7 +3011,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 610,
.trainerOffset = 17,
},
- { //Celebi
+
+ [NATIONAL_DEX_CELEBI] =
+ {
.categoryName = _("TIME TRAVEL"),
.height = 6,
.weight = 50,
@@ -2520,7 +3023,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Treecko
+
+ [NATIONAL_DEX_TREECKO] =
+ {
.categoryName = _("WOOD GECKO"),
.height = 5,
.weight = 50,
@@ -2530,7 +3035,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Grovyle
+
+ [NATIONAL_DEX_GROVYLE] =
+ {
.categoryName = _("WOOD GECKO"),
.height = 9,
.weight = 216,
@@ -2540,7 +3047,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sceptile
+
+ [NATIONAL_DEX_SCEPTILE] =
+ {
.categoryName = _("FOREST"),
.height = 17,
.weight = 522,
@@ -2550,7 +3059,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 275,
.trainerOffset = 2,
},
- { //Torchic
+
+ [NATIONAL_DEX_TORCHIC] =
+ {
.categoryName = _("CHICK"),
.height = 4,
.weight = 25,
@@ -2560,7 +3071,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Combusken
+
+ [NATIONAL_DEX_COMBUSKEN] =
+ {
.categoryName = _("YOUNG FOWL"),
.height = 9,
.weight = 195,
@@ -2570,7 +3083,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Blaziken
+
+ [NATIONAL_DEX_BLAZIKEN] =
+ {
.categoryName = _("BLAZE"),
.height = 19,
.weight = 520,
@@ -2580,7 +3095,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 301,
.trainerOffset = 4,
},
- { //Mudkip
+
+ [NATIONAL_DEX_MUDKIP] =
+ {
.categoryName = _("MUD FISH"),
.height = 4,
.weight = 76,
@@ -2590,7 +3107,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Marshtomp
+
+ [NATIONAL_DEX_MARSHTOMP] =
+ {
.categoryName = _("MUD FISH"),
.height = 7,
.weight = 280,
@@ -2600,7 +3119,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Swampert
+
+ [NATIONAL_DEX_SWAMPERT] =
+ {
.categoryName = _("MUD FISH"),
.height = 15,
.weight = 819,
@@ -2610,7 +3131,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Poochyena
+
+ [NATIONAL_DEX_POOCHYENA] =
+ {
.categoryName = _("BITE"),
.height = 5,
.weight = 136,
@@ -2620,7 +3143,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Mightyena
+
+ [NATIONAL_DEX_MIGHTYENA] =
+ {
.categoryName = _("BITE"),
.height = 10,
.weight = 370,
@@ -2630,7 +3155,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Zigzagoon
+
+ [NATIONAL_DEX_ZIGZAGOON] =
+ {
.categoryName = _("TINYRACCOON"),
.height = 4,
.weight = 175,
@@ -2640,7 +3167,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Linoone
+
+ [NATIONAL_DEX_LINOONE] =
+ {
.categoryName = _("RUSHING"),
.height = 5,
.weight = 325,
@@ -2650,7 +3179,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Wurmple
+
+ [NATIONAL_DEX_WURMPLE] =
+ {
.categoryName = _("WORM"),
.height = 3,
.weight = 36,
@@ -2660,7 +3191,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Silcoon
+
+ [NATIONAL_DEX_SILCOON] =
+ {
.categoryName = _("COCOON"),
.height = 6,
.weight = 100,
@@ -2670,7 +3203,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Beautifly
+
+ [NATIONAL_DEX_BEAUTIFLY] =
+ {
.categoryName = _("BUTTERFLY"),
.height = 10,
.weight = 284,
@@ -2680,7 +3215,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Cascoon
+
+ [NATIONAL_DEX_CASCOON] =
+ {
.categoryName = _("COCOON"),
.height = 7,
.weight = 115,
@@ -2690,7 +3227,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Dustox
+
+ [NATIONAL_DEX_DUSTOX] =
+ {
.categoryName = _("POISON MOTH"),
.height = 12,
.weight = 316,
@@ -2700,7 +3239,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Lotad
+
+ [NATIONAL_DEX_LOTAD] =
+ {
.categoryName = _("WATER WEED"),
.height = 5,
.weight = 26,
@@ -2710,7 +3251,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Lombre
+
+ [NATIONAL_DEX_LOMBRE] =
+ {
.categoryName = _("JOLLY"),
.height = 12,
.weight = 325,
@@ -2720,7 +3263,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ludicolo
+
+ [NATIONAL_DEX_LUDICOLO] =
+ {
.categoryName = _("CAREFREE"),
.height = 15,
.weight = 550,
@@ -2730,7 +3275,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 268,
.trainerOffset = -1,
},
- { //Seedot
+
+ [NATIONAL_DEX_SEEDOT] =
+ {
.categoryName = _("ACORN"),
.height = 5,
.weight = 40,
@@ -2740,7 +3287,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Nuzleaf
+
+ [NATIONAL_DEX_NUZLEAF] =
+ {
.categoryName = _("WILY"),
.height = 10,
.weight = 280,
@@ -2750,7 +3299,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Shiftry
+
+ [NATIONAL_DEX_SHIFTRY] =
+ {
.categoryName = _("WICKED"),
.height = 13,
.weight = 596,
@@ -2760,7 +3311,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Taillow
+
+ [NATIONAL_DEX_TAILLOW] =
+ {
.categoryName = _("TINYSWALLOW"),
.height = 3,
.weight = 23,
@@ -2770,7 +3323,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Swellow
+
+ [NATIONAL_DEX_SWELLOW] =
+ {
.categoryName = _("SWALLOW"),
.height = 7,
.weight = 198,
@@ -2780,7 +3335,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Wingull
+
+ [NATIONAL_DEX_WINGULL] =
+ {
.categoryName = _("SEAGULL"),
.height = 6,
.weight = 95,
@@ -2790,7 +3347,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Pelipper
+
+ [NATIONAL_DEX_PELIPPER] =
+ {
.categoryName = _("WATER BIRD"),
.height = 12,
.weight = 280,
@@ -2800,7 +3359,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ralts
+
+ [NATIONAL_DEX_RALTS] =
+ {
.categoryName = _("FEELING"),
.height = 4,
.weight = 66,
@@ -2810,7 +3371,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kirlia
+
+ [NATIONAL_DEX_KIRLIA] =
+ {
.categoryName = _("EMOTION"),
.height = 8,
.weight = 202,
@@ -2820,7 +3383,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Gardevoir
+
+ [NATIONAL_DEX_GARDEVOIR] =
+ {
.categoryName = _("EMBRACE"),
.height = 16,
.weight = 484,
@@ -2830,7 +3395,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Surskit
+
+ [NATIONAL_DEX_SURSKIT] =
+ {
.categoryName = _("POND SKATER"),
.height = 5,
.weight = 17,
@@ -2840,7 +3407,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Masquerain
+
+ [NATIONAL_DEX_MASQUERAIN] =
+ {
.categoryName = _("EYEBALL"),
.height = 8,
.weight = 36,
@@ -2850,7 +3419,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Shroomish
+
+ [NATIONAL_DEX_SHROOMISH] =
+ {
.categoryName = _("MUSHROOM"),
.height = 4,
.weight = 45,
@@ -2860,7 +3431,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Breloom
+
+ [NATIONAL_DEX_BRELOOM] =
+ {
.categoryName = _("MUSHROOM"),
.height = 12,
.weight = 392,
@@ -2870,7 +3443,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Slakoth
+
+ [NATIONAL_DEX_SLAKOTH] =
+ {
.categoryName = _("SLACKER"),
.height = 8,
.weight = 240,
@@ -2880,7 +3455,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Vigoroth
+
+ [NATIONAL_DEX_VIGOROTH] =
+ {
.categoryName = _("WILD MONKEY"),
.height = 14,
.weight = 465,
@@ -2890,7 +3467,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Slaking
+
+ [NATIONAL_DEX_SLAKING] =
+ {
.categoryName = _("LAZY"),
.height = 20,
.weight = 1305,
@@ -2900,7 +3479,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 300,
.trainerOffset = 1,
},
- { //Nincada
+
+ [NATIONAL_DEX_NINCADA] =
+ {
.categoryName = _("TRAINEE"),
.height = 5,
.weight = 55,
@@ -2910,7 +3491,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Ninjask
+
+ [NATIONAL_DEX_NINJASK] =
+ {
.categoryName = _("NINJA"),
.height = 8,
.weight = 120,
@@ -2920,7 +3503,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Shedinja
+
+ [NATIONAL_DEX_SHEDINJA] =
+ {
.categoryName = _("SHED"),
.height = 8,
.weight = 12,
@@ -2930,7 +3515,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Whismur
+
+ [NATIONAL_DEX_WHISMUR] =
+ {
.categoryName = _("WHISPER"),
.height = 6,
.weight = 163,
@@ -2940,7 +3527,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Loudred
+
+ [NATIONAL_DEX_LOUDRED] =
+ {
.categoryName = _("BIG VOICE"),
.height = 10,
.weight = 405,
@@ -2950,7 +3539,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Exploud
+
+ [NATIONAL_DEX_EXPLOUD] =
+ {
.categoryName = _("LOUD NOISE"),
.height = 15,
.weight = 840,
@@ -2960,7 +3551,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Makuhita
+
+ [NATIONAL_DEX_MAKUHITA] =
+ {
.categoryName = _("GUTS"),
.height = 10,
.weight = 864,
@@ -2970,7 +3563,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Hariyama
+
+ [NATIONAL_DEX_HARIYAMA] =
+ {
.categoryName = _("ARM THRUST"),
.height = 23,
.weight = 2538,
@@ -2980,7 +3575,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 343,
.trainerOffset = 7,
},
- { //Azurill
+
+ [NATIONAL_DEX_AZURILL] =
+ {
.categoryName = _("POLKA DOT"),
.height = 2,
.weight = 20,
@@ -2990,7 +3587,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Nosepass
+
+ [NATIONAL_DEX_NOSEPASS] =
+ {
.categoryName = _("COMPASS"),
.height = 10,
.weight = 970,
@@ -3000,7 +3599,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 289,
.trainerOffset = 3,
},
- { //Skitty
+
+ [NATIONAL_DEX_SKITTY] =
+ {
.categoryName = _("KITTEN"),
.height = 6,
.weight = 110,
@@ -3010,7 +3611,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Delcatty
+
+ [NATIONAL_DEX_DELCATTY] =
+ {
.categoryName = _("PRIM"),
.height = 11,
.weight = 326,
@@ -3020,7 +3623,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sableye
+
+ [NATIONAL_DEX_SABLEYE] =
+ {
.categoryName = _("DARKNESS"),
.height = 5,
.weight = 110,
@@ -3030,7 +3635,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Mawile
+
+ [NATIONAL_DEX_MAWILE] =
+ {
.categoryName = _("DECEIVER"),
.height = 6,
.weight = 115,
@@ -3040,7 +3647,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Aron
+
+ [NATIONAL_DEX_ARON] =
+ {
.categoryName = _("IRON ARMOR"),
.height = 4,
.weight = 600,
@@ -3050,7 +3659,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Lairon
+
+ [NATIONAL_DEX_LAIRON] =
+ {
.categoryName = _("IRON ARMOR"),
.height = 9,
.weight = 1200,
@@ -3060,7 +3671,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Aggron
+
+ [NATIONAL_DEX_AGGRON] =
+ {
.categoryName = _("IRON ARMOR"),
.height = 21,
.weight = 3600,
@@ -3070,7 +3683,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 350,
.trainerOffset = 6,
},
- { //Meditite
+
+ [NATIONAL_DEX_MEDITITE] =
+ {
.categoryName = _("MEDITATE"),
.height = 6,
.weight = 112,
@@ -3080,7 +3695,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Medicham
+
+ [NATIONAL_DEX_MEDICHAM] =
+ {
.categoryName = _("MEDITATE"),
.height = 13,
.weight = 315,
@@ -3090,7 +3707,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Electrike
+
+ [NATIONAL_DEX_ELECTRIKE] =
+ {
.categoryName = _("LIGHTNING"),
.height = 6,
.weight = 152,
@@ -3100,7 +3719,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Manectric
+
+ [NATIONAL_DEX_MANECTRIC] =
+ {
.categoryName = _("DISCHARGE"),
.height = 15,
.weight = 402,
@@ -3110,7 +3731,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 257,
.trainerOffset = 0,
},
- { //Plusle
+
+ [NATIONAL_DEX_PLUSLE] =
+ {
.categoryName = _("CHEERING"),
.height = 4,
.weight = 42,
@@ -3120,7 +3743,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Minun
+
+ [NATIONAL_DEX_MINUN] =
+ {
.categoryName = _("CHEERING"),
.height = 4,
.weight = 42,
@@ -3130,7 +3755,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Volbeat
+
+ [NATIONAL_DEX_VOLBEAT] =
+ {
.categoryName = _("FIREFLY"),
.height = 7,
.weight = 177,
@@ -3140,7 +3767,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Illumise
+
+ [NATIONAL_DEX_ILLUMISE] =
+ {
.categoryName = _("FIREFLY"),
.height = 6,
.weight = 177,
@@ -3150,7 +3779,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Roselia
+
+ [NATIONAL_DEX_ROSELIA] =
+ {
.categoryName = _("THORN"),
.height = 3,
.weight = 20,
@@ -3160,7 +3791,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Gulpin
+
+ [NATIONAL_DEX_GULPIN] =
+ {
.categoryName = _("STOMACH"),
.height = 4,
.weight = 103,
@@ -3170,7 +3803,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Swalot
+
+ [NATIONAL_DEX_SWALOT] =
+ {
.categoryName = _("POISON BAG"),
.height = 17,
.weight = 800,
@@ -3180,7 +3815,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 345,
.trainerOffset = 3,
},
- { //Carvanha
+
+ [NATIONAL_DEX_CARVANHA] =
+ {
.categoryName = _("SAVAGE"),
.height = 8,
.weight = 208,
@@ -3190,7 +3827,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sharpedo
+
+ [NATIONAL_DEX_SHARPEDO] =
+ {
.categoryName = _("BRUTAL"),
.height = 18,
.weight = 888,
@@ -3200,7 +3839,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 317,
.trainerOffset = 3,
},
- { //Wailmer
+
+ [NATIONAL_DEX_WAILMER] =
+ {
.categoryName = _("BALL WHALE"),
.height = 20,
.weight = 1300,
@@ -3210,7 +3851,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 493,
.trainerOffset = 0,
},
- { //Wailord
+
+ [NATIONAL_DEX_WAILORD] =
+ {
.categoryName = _("FLOAT WHALE"),
.height = 145,
.weight = 3980,
@@ -3220,7 +3863,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 1352,
.trainerOffset = 18,
},
- { //Numel
+
+ [NATIONAL_DEX_NUMEL] =
+ {
.categoryName = _("NUMB"),
.height = 7,
.weight = 240,
@@ -3230,7 +3875,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Camerupt
+
+ [NATIONAL_DEX_CAMERUPT] =
+ {
.categoryName = _("ERUPTION"),
.height = 19,
.weight = 2200,
@@ -3240,7 +3887,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 345,
.trainerOffset = 6,
},
- { //Torkoal
+
+ [NATIONAL_DEX_TORKOAL] =
+ {
.categoryName = _("COAL"),
.height = 5,
.weight = 804,
@@ -3250,7 +3899,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Spoink
+
+ [NATIONAL_DEX_SPOINK] =
+ {
.categoryName = _("BOUNCE"),
.height = 7,
.weight = 306,
@@ -3260,7 +3911,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Grumpig
+
+ [NATIONAL_DEX_GRUMPIG] =
+ {
.categoryName = _("MANIPULATE"),
.height = 9,
.weight = 715,
@@ -3270,7 +3923,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Spinda
+
+ [NATIONAL_DEX_SPINDA] =
+ {
.categoryName = _("SPOT PANDA"),
.height = 11,
.weight = 50,
@@ -3280,7 +3935,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Trapinch
+
+ [NATIONAL_DEX_TRAPINCH] =
+ {
.categoryName = _("ANT PIT"),
.height = 7,
.weight = 150,
@@ -3290,7 +3947,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Vibrava
+
+ [NATIONAL_DEX_VIBRAVA] =
+ {
.categoryName = _("VIBRATION"),
.height = 11,
.weight = 153,
@@ -3300,7 +3959,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Flygon
+
+ [NATIONAL_DEX_FLYGON] =
+ {
.categoryName = _("MYSTIC"),
.height = 20,
.weight = 820,
@@ -3310,7 +3971,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 268,
.trainerOffset = 1,
},
- { //Cacnea
+
+ [NATIONAL_DEX_CACNEA] =
+ {
.categoryName = _("CACTUS"),
.height = 4,
.weight = 513,
@@ -3320,7 +3983,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Cacturne
+
+ [NATIONAL_DEX_CACTURNE] =
+ {
.categoryName = _("SCARECROW"),
.height = 13,
.weight = 774,
@@ -3330,7 +3995,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Swablu
+
+ [NATIONAL_DEX_SWABLU] =
+ {
.categoryName = _("COTTON BIRD"),
.height = 4,
.weight = 12,
@@ -3340,7 +4007,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Altaria
+
+ [NATIONAL_DEX_ALTARIA] =
+ {
.categoryName = _("HUMMING"),
.height = 11,
.weight = 206,
@@ -3350,7 +4019,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Zangoose
+
+ [NATIONAL_DEX_ZANGOOSE] =
+ {
.categoryName = _("CAT FERRET"),
.height = 13,
.weight = 403,
@@ -3360,7 +4031,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Seviper
+
+ [NATIONAL_DEX_SEVIPER] =
+ {
.categoryName = _("FANG SNAKE"),
.height = 27,
.weight = 525,
@@ -3370,7 +4043,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Lunatone
+
+ [NATIONAL_DEX_LUNATONE] =
+ {
.categoryName = _("METEORITE"),
.height = 10,
.weight = 1680,
@@ -3380,7 +4055,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Solrock
+
+ [NATIONAL_DEX_SOLROCK] =
+ {
.categoryName = _("METEORITE"),
.height = 12,
.weight = 1540,
@@ -3390,7 +4067,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Barboach
+
+ [NATIONAL_DEX_BARBOACH] =
+ {
.categoryName = _("WHISKERS"),
.height = 4,
.weight = 19,
@@ -3400,7 +4079,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Whiscash
+
+ [NATIONAL_DEX_WHISCASH] =
+ {
.categoryName = _("WHISKERS"),
.height = 9,
.weight = 236,
@@ -3410,7 +4091,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Corphish
+
+ [NATIONAL_DEX_CORPHISH] =
+ {
.categoryName = _("RUFFIAN"),
.height = 6,
.weight = 115,
@@ -3420,7 +4103,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Crawdaunt
+
+ [NATIONAL_DEX_CRAWDAUNT] =
+ {
.categoryName = _("ROGUE"),
.height = 11,
.weight = 328,
@@ -3430,7 +4115,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Baltoy
+
+ [NATIONAL_DEX_BALTOY] =
+ {
.categoryName = _("CLAY DOLL"),
.height = 5,
.weight = 215,
@@ -3440,7 +4127,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Claydol
+
+ [NATIONAL_DEX_CLAYDOL] =
+ {
.categoryName = _("CLAY DOLL"),
.height = 15,
.weight = 1080,
@@ -3450,7 +4139,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 280,
.trainerOffset = 1,
},
- { //Lileep
+
+ [NATIONAL_DEX_LILEEP] =
+ {
.categoryName = _("SEA LILY"),
.height = 10,
.weight = 238,
@@ -3460,7 +4151,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Cradily
+
+ [NATIONAL_DEX_CRADILY] =
+ {
.categoryName = _("BARNACLE"),
.height = 15,
.weight = 604,
@@ -3470,7 +4163,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Anorith
+
+ [NATIONAL_DEX_ANORITH] =
+ {
.categoryName = _("OLD SHRIMP"),
.height = 7,
.weight = 125,
@@ -3480,7 +4175,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Armaldo
+
+ [NATIONAL_DEX_ARMALDO] =
+ {
.categoryName = _("PLATE"),
.height = 15,
.weight = 682,
@@ -3490,7 +4187,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 271,
.trainerOffset = 0,
},
- { //Feebas
+
+ [NATIONAL_DEX_FEEBAS] =
+ {
.categoryName = _("FISH"),
.height = 6,
.weight = 74,
@@ -3500,7 +4199,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Milotic
+
+ [NATIONAL_DEX_MILOTIC] =
+ {
.categoryName = _("TENDER"),
.height = 62,
.weight = 1620,
@@ -3510,7 +4211,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 360,
.trainerOffset = 7,
},
- { //Castform
+
+ [NATIONAL_DEX_CASTFORM] =
+ {
.categoryName = _("WEATHER"),
.height = 3,
.weight = 8,
@@ -3520,7 +4223,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Kecleon
+
+ [NATIONAL_DEX_KECLEON] =
+ {
.categoryName = _("COLOR SWAP"),
.height = 10,
.weight = 220,
@@ -3530,7 +4235,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Shuppet
+
+ [NATIONAL_DEX_SHUPPET] =
+ {
.categoryName = _("PUPPET"),
.height = 6,
.weight = 23,
@@ -3540,7 +4247,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Banette
+
+ [NATIONAL_DEX_BANETTE] =
+ {
.categoryName = _("MARIONETTE"),
.height = 11,
.weight = 125,
@@ -3550,7 +4259,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Duskull
+
+ [NATIONAL_DEX_DUSKULL] =
+ {
.categoryName = _("REQUIEM"),
.height = 8,
.weight = 150,
@@ -3560,7 +4271,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Dusclops
+
+ [NATIONAL_DEX_DUSCLOPS] =
+ {
.categoryName = _("BECKON"),
.height = 16,
.weight = 306,
@@ -3570,7 +4283,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 299,
.trainerOffset = 1,
},
- { //Tropius
+
+ [NATIONAL_DEX_TROPIUS] =
+ {
.categoryName = _("FRUIT"),
.height = 20,
.weight = 1000,
@@ -3580,7 +4295,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 344,
.trainerOffset = 7,
},
- { //Chimecho
+
+ [NATIONAL_DEX_CHIMECHO] =
+ {
.categoryName = _("WIND CHIME"),
.height = 6,
.weight = 10,
@@ -3590,7 +4307,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Absol
+
+ [NATIONAL_DEX_ABSOL] =
+ {
.categoryName = _("DISASTER"),
.height = 12,
.weight = 470,
@@ -3600,7 +4319,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Wynaut
+
+ [NATIONAL_DEX_WYNAUT] =
+ {
.categoryName = _("BRIGHT"),
.height = 6,
.weight = 140,
@@ -3610,7 +4331,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Snorunt
+
+ [NATIONAL_DEX_SNORUNT] =
+ {
.categoryName = _("SNOW HAT"),
.height = 7,
.weight = 168,
@@ -3620,7 +4343,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Glalie
+
+ [NATIONAL_DEX_GLALIE] =
+ {
.categoryName = _("FACE"),
.height = 15,
.weight = 2565,
@@ -3630,7 +4355,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 344,
.trainerOffset = 0,
},
- { //Spheal
+
+ [NATIONAL_DEX_SPHEAL] =
+ {
.categoryName = _("CLAP"),
.height = 8,
.weight = 395,
@@ -3640,7 +4367,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Sealeo
+
+ [NATIONAL_DEX_SEALEO] =
+ {
.categoryName = _("BALL ROLL"),
.height = 11,
.weight = 876,
@@ -3650,7 +4379,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Walrein
+
+ [NATIONAL_DEX_WALREIN] =
+ {
.categoryName = _("ICE BREAK"),
.height = 14,
.weight = 1506,
@@ -3660,7 +4391,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Clamperl
+
+ [NATIONAL_DEX_CLAMPERL] =
+ {
.categoryName = _("BIVALVE"),
.height = 4,
.weight = 525,
@@ -3670,7 +4403,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Huntail
+
+ [NATIONAL_DEX_HUNTAIL] =
+ {
.categoryName = _("DEEP SEA"),
.height = 17,
.weight = 270,
@@ -3680,7 +4415,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Gorebyss
+
+ [NATIONAL_DEX_GOREBYSS] =
+ {
.categoryName = _("SOUTH SEA"),
.height = 18,
.weight = 226,
@@ -3690,7 +4427,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Relicanth
+
+ [NATIONAL_DEX_RELICANTH] =
+ {
.categoryName = _("LONGEVITY"),
.height = 10,
.weight = 234,
@@ -3700,7 +4439,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Luvdisc
+
+ [NATIONAL_DEX_LUVDISC] =
+ {
.categoryName = _("RENDEZVOUS"),
.height = 6,
.weight = 87,
@@ -3710,7 +4451,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Bagon
+
+ [NATIONAL_DEX_BAGON] =
+ {
.categoryName = _("ROCK HEAD"),
.height = 6,
.weight = 421,
@@ -3720,7 +4463,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Shelgon
+
+ [NATIONAL_DEX_SHELGON] =
+ {
.categoryName = _("ENDURANCE"),
.height = 11,
.weight = 1105,
@@ -3730,7 +4475,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Salamence
+
+ [NATIONAL_DEX_SALAMENCE] =
+ {
.categoryName = _("DRAGON"),
.height = 15,
.weight = 1026,
@@ -3740,7 +4487,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Beldum
+
+ [NATIONAL_DEX_BELDUM] =
+ {
.categoryName = _("IRON BALL"),
.height = 6,
.weight = 952,
@@ -3750,7 +4499,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Metang
+
+ [NATIONAL_DEX_METANG] =
+ {
.categoryName = _("IRON CLAW"),
.height = 12,
.weight = 2025,
@@ -3760,7 +4511,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Metagross
+
+ [NATIONAL_DEX_METAGROSS] =
+ {
.categoryName = _("IRON LEG"),
.height = 16,
.weight = 5500,
@@ -3770,7 +4523,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 447,
.trainerOffset = 9,
},
- { //Regirock
+
+ [NATIONAL_DEX_REGIROCK] =
+ {
.categoryName = _("ROCK PEAK"),
.height = 17,
.weight = 2300,
@@ -3780,7 +4535,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 309,
.trainerOffset = 1,
},
- { //Regice
+
+ [NATIONAL_DEX_REGICE] =
+ {
.categoryName = _("ICEBERG"),
.height = 18,
.weight = 1750,
@@ -3790,7 +4547,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 301,
.trainerOffset = 2,
},
- { //Registeel
+
+ [NATIONAL_DEX_REGISTEEL] =
+ {
.categoryName = _("IRON"),
.height = 19,
.weight = 2050,
@@ -3800,7 +4559,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 359,
.trainerOffset = 6,
},
- { //Latias
+
+ [NATIONAL_DEX_LATIAS] =
+ {
.categoryName = _("EON"),
.height = 14,
.weight = 400,
@@ -3810,7 +4571,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Latios
+
+ [NATIONAL_DEX_LATIOS] =
+ {
.categoryName = _("EON"),
.height = 20,
.weight = 600,
@@ -3820,7 +4583,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 294,
.trainerOffset = 3,
},
- { //Kyogre
+
+ [NATIONAL_DEX_KYOGRE] =
+ {
.categoryName = _("SEA BASIN"),
.height = 45,
.weight = 3520,
@@ -3830,7 +4595,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 614,
.trainerOffset = 13,
},
- { //Groudon
+
+ [NATIONAL_DEX_GROUDON] =
+ {
.categoryName = _("CONTINENT"),
.height = 35,
.weight = 9500,
@@ -3840,7 +4607,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 515,
.trainerOffset = 14,
},
- { //Rayquaza
+
+ [NATIONAL_DEX_RAYQUAZA] =
+ {
.categoryName = _("SKY HIGH"),
.height = 70,
.weight = 2065,
@@ -3850,7 +4619,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 448,
.trainerOffset = 12,
},
- { //Jirachi
+
+ [NATIONAL_DEX_JIRACHI] =
+ {
.categoryName = _("WISH"),
.height = 3,
.weight = 11,
@@ -3860,7 +4631,9 @@ const struct PokedexEntry gPokedexEntries[] =
.trainerScale = 256,
.trainerOffset = 0,
},
- { //Deoxys
+
+ [NATIONAL_DEX_DEOXYS] =
+ {
.categoryName = _("DNA"),
.height = 17,
.weight = 608,
diff --git a/src/data/pokemon/pokedex_orders.h b/src/data/pokemon/pokedex_orders.h
new file mode 100644
index 000000000..55b0abcea
--- /dev/null
+++ b/src/data/pokemon/pokedex_orders.h
@@ -0,0 +1,1195 @@
+const u16 gPokedexOrder_Alphabetical[] =
+{
+ NATIONAL_DEX_OLD_UNOWN_B,
+ NATIONAL_DEX_OLD_UNOWN_C,
+ NATIONAL_DEX_OLD_UNOWN_D,
+ NATIONAL_DEX_OLD_UNOWN_E,
+ NATIONAL_DEX_OLD_UNOWN_F,
+ NATIONAL_DEX_OLD_UNOWN_G,
+ NATIONAL_DEX_OLD_UNOWN_H,
+ NATIONAL_DEX_OLD_UNOWN_I,
+ NATIONAL_DEX_OLD_UNOWN_J,
+ NATIONAL_DEX_OLD_UNOWN_K,
+ NATIONAL_DEX_OLD_UNOWN_L,
+ NATIONAL_DEX_OLD_UNOWN_M,
+ NATIONAL_DEX_OLD_UNOWN_N,
+ NATIONAL_DEX_OLD_UNOWN_O,
+ NATIONAL_DEX_OLD_UNOWN_P,
+ NATIONAL_DEX_OLD_UNOWN_Q,
+ NATIONAL_DEX_OLD_UNOWN_R,
+ NATIONAL_DEX_OLD_UNOWN_S,
+ NATIONAL_DEX_OLD_UNOWN_T,
+ NATIONAL_DEX_OLD_UNOWN_U,
+ NATIONAL_DEX_OLD_UNOWN_V,
+ NATIONAL_DEX_OLD_UNOWN_W,
+ NATIONAL_DEX_OLD_UNOWN_X,
+ NATIONAL_DEX_OLD_UNOWN_Y,
+ NATIONAL_DEX_OLD_UNOWN_Z,
+ // Actual pokemon start here.
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_GROUDON,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_WAILORD,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_ZUBAT,
+};
+
+const u16 gPokedexOrder_Weight[] =
+{
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_ZUBAT,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_WAILORD,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_GROUDON,
+};
+
+const u16 gPokedexOrder_Height[] =
+{
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_ZUBAT,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_GROUDON,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_WAILORD,
+};
diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h
index 565c1acaf..0daf7fc86 100644
--- a/src/data/pokemon/pokedex_text.h
+++ b/src/data/pokemon/pokedex_text.h
@@ -7,19 +7,19 @@ const u8 gDummyPokedexText[] = _(
const u8 gBulbasaurPokedexText[] = _(
"BULBASAUR can be seen napping in bright\n"
"sunlight. There is a seed on its back.\n"
- "By soaking up the sun’s rays, the seed\n"
+ "By soaking up the sun's rays, the seed\n"
"grows progressively larger.");
const u8 gIvysaurPokedexText[] = _(
- "To support its bulb, IVYSAUR’s legs\n"
+ "To support its bulb, IVYSAUR's legs\n"
"grow sturdy. If it spends more time lying in\n"
"the sunlight, the bud will soon bloom into\n"
"a large flower.");
const u8 gVenusaurPokedexText[] = _(
- "VENUSAUR’s flower is said to take on vivid\n"
+ "VENUSAUR's flower is said to take on vivid\n"
"colors if it gets plenty of nutrition and\n"
- "sunlight. The flower’s aroma soothes the\n"
+ "sunlight. The flower's aroma soothes the\n"
"emotions of people.");
const u8 gCharmanderPokedexText[] = _(
@@ -50,7 +50,7 @@ const u8 gWartortlePokedexText[] = _(
"Its large tail is covered with rich, thick\n"
"fur that deepens in color with age.\n"
"The scratches on its shell are evidence\n"
- "of this POKéMON’s toughness in battle.");
+ "of this POKéMON's toughness in battle.");
const u8 gBlastoisePokedexText[] = _(
"The waterspouts that protrude from its\n"
@@ -119,7 +119,7 @@ const u8 gRattataPokedexText[] = _(
"It will make its nest anywhere.");
const u8 gRaticatePokedexText[] = _(
- "A RATICATE’s sturdy fangs grow steadily.\n"
+ "A RATICATE's sturdy fangs grow steadily.\n"
"To keep them ground down, it gnaws on\n"
"rocks and logs. It may even chew on the\n"
"walls of houses.");
@@ -194,7 +194,7 @@ const u8 gNidoranMPokedexText[] = _(
"The male NIDORAN has developed muscles\n"
"that freely move its ears in any direction.\n"
"Even the slightest sound does not escape\n"
- "this POKéMON’s notice.");
+ "this POKéMON's notice.");
const u8 gNidorinoPokedexText[] = _(
"Its horn is harder than a diamond.\n"
@@ -203,7 +203,7 @@ const u8 gNidorinoPokedexText[] = _(
"challenges the foe with all its might.");
const u8 gNidokingPokedexText[] = _(
- "A NIDOKING’s thick tail packs enormously\n"
+ "A NIDOKING's thick tail packs enormously\n"
"destructive power capable of toppling\n"
"a metal transmission tower. Once it goes\n"
"on a rampage, there is no stopping it.");
@@ -222,7 +222,7 @@ const u8 gClefablePokedexText[] = _(
const u8 gVulpixPokedexText[] = _(
"It can freely control fire, making fiery\n"
- "orbs fly like will-o’-the-wisps. Just\n"
+ "orbs fly like will-o'-the-wisps. Just\n"
"before evolution, its six tails grow hot \n"
"as if on fire.");
@@ -234,7 +234,7 @@ const u8 gNinetalesPokedexText[] = _(
const u8 gJigglypuffPokedexText[] = _(
"Nothing can avoid falling asleep hearing a\n"
- "JIGGLYPUFF’s song. The sound waves of its\n"
+ "JIGGLYPUFF's song. The sound waves of its\n"
"singing voice match the brain waves of\n"
"someone in a deep sleep.");
@@ -317,7 +317,7 @@ const u8 gMeowthPokedexText[] = _(
"shiny coins that glitter with light.");
const u8 gPersianPokedexText[] = _(
- "A PERSIAN’s six bold whiskers sense air\n"
+ "A PERSIAN's six bold whiskers sense air\n"
"movements to determine what is in its\n"
"vicinity. It becomes docile if grabbed\n"
"by the whiskers.");
@@ -336,7 +336,7 @@ const u8 gGolduckPokedexText[] = _(
const u8 gMankeyPokedexText[] = _(
"When it starts shaking and its nasal\n"
- "breathing turns rough, it’s a sure sign\n"
+ "breathing turns rough, it's a sure sign\n"
"of anger. However, since this happens\n"
"instantly, there is no time to flee.");
@@ -348,7 +348,7 @@ const u8 gPrimeapePokedexText[] = _(
const u8 gGrowlithePokedexText[] = _(
"Its superb sense of smell ensures that\n"
- "this POKéMON won’t forget any scent,\n"
+ "this POKéMON won't forget any scent,\n"
"no matter what. It uses its sense of smell\n"
"to detect the emotions of others.");
@@ -359,7 +359,7 @@ const u8 gArcaninePokedexText[] = _(
"is its source of power.");
const u8 gPoliwagPokedexText[] = _(
- "It is possible to see this POKéMON’s spiral\n"
+ "It is possible to see this POKéMON's spiral\n"
"innards right through its thin skin.\n"
"However, the skin is also very flexible.\n"
"Even sharp fangs bounce right off it.");
@@ -390,7 +390,7 @@ const u8 gKadabraPokedexText[] = _(
const u8 gAlakazamPokedexText[] = _(
"While it has strong psychic abilities and\n"
- "high intelligence, an ALAKAZAM’s muscles\n"
+ "high intelligence, an ALAKAZAM's muscles\n"
"are very weak. It uses psychic power to\n"
"move its body.");
@@ -413,7 +413,7 @@ const u8 gMachampPokedexText[] = _(
"a tough opponent.");
const u8 gBellsproutPokedexText[] = _(
- "A BELLSPROUT’s thin and flexible body lets\n"
+ "A BELLSPROUT's thin and flexible body lets\n"
"it bend and sway to avoid any attack,\n"
"however strong it may be. From its mouth,\n"
"it leaks a fluid that melts even iron.");
@@ -476,11 +476,11 @@ const u8 gSlowpokePokedexText[] = _(
"It catches prey by dipping its tail in\n"
"water at the side of a river. But it often\n"
"forgets what it is doing and spends entire\n"
- "days just loafing at water’s edge.");
+ "days just loafing at water's edge.");
const u8 gSlowbroPokedexText[] = _(
"Its tail has a SHELLDER firmly attached\n"
- "with a bite. As a result, the tail can’t be\n"
+ "with a bite. As a result, the tail can't be\n"
"used for fishing anymore. This forces it\n"
"to reluctantly swim and catch prey.");
@@ -528,7 +528,7 @@ const u8 gDewgongPokedexText[] = _(
const u8 gGrimerPokedexText[] = _(
"Born from polluted sludge in the sea,\n"
- "GRIMER’s favorite food is anything filthy.\n"
+ "GRIMER's favorite food is anything filthy.\n"
"They feed on wastewater pumped out from\n"
"factories.");
@@ -551,14 +551,14 @@ const u8 gCloysterPokedexText[] = _(
"shell using the same system.");
const u8 gGastlyPokedexText[] = _(
- "When exposed to a strong wind, a GASTLY’s\n"
+ "When exposed to a strong wind, a GASTLY's\n"
"gaseous body quickly dwindles away.\n"
"They cluster under the eaves of houses\n"
"to escape the ravages of wind.");
const u8 gHaunterPokedexText[] = _(
"If a HAUNTER beckons you while it is\n"
- "floating in darkness, don’t approach it.\n"
+ "floating in darkness, don't approach it.\n"
"This POKéMON will try to lick you with its\n"
"tongue and steal your life away.");
@@ -576,13 +576,13 @@ const u8 gOnixPokedexText[] = _(
const u8 gDrowzeePokedexText[] = _(
"If your nose becomes itchy while you are\n"
- "sleeping, it’s a sure sign that a DROWZEE is\n"
+ "sleeping, it's a sure sign that a DROWZEE is\n"
"standing above your pillow and trying to\n"
"eat your dream through your nostrils.");
const u8 gHypnoPokedexText[] = _(
"The arcing movement and glitter of the\n"
- "pendulum in a HYPNO’s hand lull the foe\n"
+ "pendulum in a HYPNO's hand lull the foe\n"
"into deep hypnosis. While searching for\n"
"prey, it polishes the pendulum.");
@@ -617,7 +617,7 @@ const u8 gExeggcutePokedexText[] = _(
"appear, it is close to evolution.");
const u8 gExeggutorPokedexText[] = _(
- "Originally from the tropics, EXEGGUTOR’s\n"
+ "Originally from the tropics, EXEGGUTOR's\n"
"heads grow larger from exposure to strong\n"
"sunlight. It is said that when the heads\n"
"fall, they group to form an EXEGGCUTE.");
@@ -665,9 +665,9 @@ const u8 gWeezingPokedexText[] = _(
"from garbage are the ultimate feast.");
const u8 gRhyhornPokedexText[] = _(
- "Once it starts running, it doesn’t stop.\n"
+ "Once it starts running, it doesn't stop.\n"
"Its tiny brain makes it so stupid that it\n"
- "can’t remember why it started running in\n"
+ "can't remember why it started running in\n"
"the first place.");
const u8 gRhydonPokedexText[] = _(
@@ -691,7 +691,7 @@ const u8 gTangelaPokedexText[] = _(
const u8 gKangaskhanPokedexText[] = _(
"If you come across a young KANGASKHAN\n"
"playing by itself, never try to catch it.\n"
- "The baby’s parent is sure to be in the area,\n"
+ "The baby's parent is sure to be in the area,\n"
"and it will become violently enraged.");
const u8 gHorseaPokedexText[] = _(
@@ -810,12 +810,12 @@ const u8 gVaporeonPokedexText[] = _(
const u8 gJolteonPokedexText[] = _(
"Its cells generate weak power that is\n"
- "amplified by its fur’s static electricity\n"
+ "amplified by its fur's static electricity\n"
"to drop thunderbolts. The bristling fur is\n"
"made of electrically charged needles.");
const u8 gFlareonPokedexText[] = _(
- "FLAREON’s fluffy fur releases heat into\n"
+ "FLAREON's fluffy fur releases heat into\n"
"the air so that its body does not get\n"
"excessively hot. Its body temperature can\n"
"rise to a maximum of 1,650 degrees F.");
@@ -857,7 +857,7 @@ const u8 gAerodactylPokedexText[] = _(
"have been the king of the skies.");
const u8 gSnorlaxPokedexText[] = _(
- "SNORLAX’s typical day consists of nothing\n"
+ "SNORLAX's typical day consists of nothing\n"
"more than eating and sleeping. It is such\n"
"a docile POKéMON that there are children\n"
"who use its big belly as a place to play.");
@@ -917,16 +917,16 @@ const u8 gChikoritaPokedexText[] = _(
"atmosphere that becalms the battlers.");
const u8 gBayleefPokedexText[] = _(
- "A BAYLEEF’s neck is ringed by curled-up\n"
+ "A BAYLEEF's neck is ringed by curled-up\n"
"leaves. Inside each leaf is a small tree\n"
"shoot. The fragrance of this shoot\n"
"makes people peppy.");
const u8 gMeganiumPokedexText[] = _(
- "The fragrance of a MEGANIUM’s flower\n"
+ "The fragrance of a MEGANIUM's flower\n"
"soothes and calms emotions. In battle,\n"
"it gives off more of its becalming scent\n"
- "to blunt the foe’s fighting spirit.");
+ "to blunt the foe's fighting spirit.");
const u8 gCyndaquilPokedexText[] = _(
"It flares flames from its back to protect\n"
@@ -947,7 +947,7 @@ const u8 gTyphlosionPokedexText[] = _(
"blasts that burn everything to cinders.");
const u8 gTotodilePokedexText[] = _(
- "Despite its small body, TOTODILE’s jaws\n"
+ "Despite its small body, TOTODILE's jaws\n"
"are very powerful. While it may think it is\n"
"just playfully nipping, its bite has enough\n"
"strength to cause serious injury.");
@@ -978,7 +978,7 @@ const u8 gFurretPokedexText[] = _(
const u8 gHoothootPokedexText[] = _(
"It has an internal organ that senses\n"
- "the earth’s rotation. Using this special\n"
+ "the earth's rotation. Using this special\n"
"organ, a HOOTHOOT begins hooting at\n"
"precisely the same time every day.");
@@ -992,7 +992,7 @@ const u8 gLedybaPokedexText[] = _(
"LEDYBA communicate using a fluid that\n"
"they secrete from where the legs join the\n"
"body. They are said to convey feelings to\n"
- "others by altering the fluid’s scent.");
+ "others by altering the fluid's scent.");
const u8 gLedianPokedexText[] = _(
"It is said that in lands with clean air,\n"
@@ -1022,7 +1022,7 @@ const u8 gChinchouPokedexText[] = _(
"When it senses danger, it discharges\n"
"positive and negative electricity from its\n"
"two antennae. It lives in depths beyond\n"
- "sunlight’s reach.");
+ "sunlight's reach.");
const u8 gLanturnPokedexText[] = _(
"The light-emitting orbs on its back are\n"
@@ -1063,7 +1063,7 @@ const u8 gTogeticPokedexText[] = _(
const u8 gNatuPokedexText[] = _(
"It runs up short trees that grow on the\n"
"savanna to peck at new shoots.\n"
- "A NATU’s eyes look as if they are\n"
+ "A NATU's eyes look as if they are\n"
"always observing something.");
const u8 gXatuPokedexText[] = _(
@@ -1100,7 +1100,7 @@ const u8 gMarillPokedexText[] = _(
"Its body is covered with water-repellent\n"
"fur. Because of the fur, it can swim\n"
"through water at high speed without being\n"
- "slowed by the water’s resistance.");
+ "slowed by the water's resistance.");
const u8 gAzumarillPokedexText[] = _(
"It lives in water virtually all day long.\n"
@@ -1128,7 +1128,7 @@ const u8 gHoppipPokedexText[] = _(
const u8 gSkiploomPokedexText[] = _(
"It blossoms when the temperature rises\n"
- "above 64 degrees F. Because its flower’s\n"
+ "above 64 degrees F. Because its flower's\n"
"blooming changes with the temperature,\n"
"it is sometimes used as a thermometer.");
@@ -1141,7 +1141,7 @@ const u8 gJumpluffPokedexText[] = _(
const u8 gAipomPokedexText[] = _(
"Its tail ends with a dexterous, handlike\n"
"appendage. However, because it uses the\n"
- "tail so much, AIPOM’s real hands have\n"
+ "tail so much, AIPOM's real hands have\n"
"become rather clumsy.");
const u8 gSunkernPokedexText[] = _(
@@ -1171,7 +1171,7 @@ const u8 gWooperPokedexText[] = _(
const u8 gQuagsirePokedexText[] = _(
"A QUAGSIRE hunts by leaving its mouth wide\n"
"open in water and waiting for its prey to\n"
- "blunder in. Because it doesn’t move, it\n"
+ "blunder in. Because it doesn't move, it\n"
"does not get very hungry.");
const u8 gEspeonPokedexText[] = _(
@@ -1182,7 +1182,7 @@ const u8 gEspeonPokedexText[] = _(
const u8 gUmbreonPokedexText[] = _(
"UMBREON evolved from exposure to the\n"
- "moon’s energy pulses. It lurks in darkness\n"
+ "moon's energy pulses. It lurks in darkness\n"
"and waits for its foes to move. The rings\n"
"on its body glow when it leaps to attack.");
@@ -1231,7 +1231,7 @@ const u8 gPinecoPokedexText[] = _(
const u8 gForretressPokedexText[] = _(
"It keeps itself inside its steel shell.\n"
"The shell is opened when it is catching\n"
- "prey, but it is so quick that the shell’s\n"
+ "prey, but it is so quick that the shell's\n"
"inside cannot be seen.");
const u8 gDunsparcePokedexText[] = _(
@@ -1249,7 +1249,7 @@ const u8 gGligarPokedexText[] = _(
const u8 gSteelixPokedexText[] = _(
"STEELIX live even further underground\n"
"than ONIX. This POKéMON is known to dig\n"
- "toward the earth’s core, reaching a depth\n"
+ "toward the earth's core, reaching a depth\n"
"of over six-tenths of a mile underground.");
const u8 gSnubbullPokedexText[] = _(
@@ -1316,7 +1316,7 @@ const u8 gMagcargoPokedexText[] = _(
"The shell on its back is made of hardened\n"
"magma. Tens of thousands of years spent\n"
"living in volcanic craters have turned\n"
- "MAGCARGO’s bodies into magma.");
+ "MAGCARGO's bodies into magma.");
const u8 gSwinubPokedexText[] = _(
"It roots for food by rubbing its snout\n"
@@ -1369,7 +1369,7 @@ const u8 gSkarmoryPokedexText[] = _(
const u8 gHoundourPokedexText[] = _(
"HOUNDOUR communicate with each other\n"
"using a variety of cries to corner their\n"
- "prey. This POKéMON’s remarkable teamwork\n"
+ "prey. This POKéMON's remarkable teamwork\n"
"is simply unparalleled.");
const u8 gHoundoomPokedexText[] = _(
@@ -1385,7 +1385,7 @@ const u8 gKingdraPokedexText[] = _(
"even ships.");
const u8 gPhanpyPokedexText[] = _(
- "PHANPY’s big ears serve as broad fans.\n"
+ "PHANPY's big ears serve as broad fans.\n"
"When it becomes hot, it flaps the ears\n"
"busily to cool down. Even the young are\n"
"very strong.");
@@ -1394,7 +1394,7 @@ const u8 gDonphanPokedexText[] = _(
"A DONPHAN is so strong it can easily haul\n"
"a dump truck. Its hide has toughened to a\n"
"rock-hard state. An ordinary sort of\n"
- "attack won’t even leave a scratch.");
+ "attack won't even leave a scratch.");
const u8 gPorygon2PokedexText[] = _(
"It was created by humans using the power\n"
@@ -1403,7 +1403,7 @@ const u8 gPorygon2PokedexText[] = _(
"gestures and emotions on its own.");
const u8 gStantlerPokedexText[] = _(
- "STANTLER’s magnificent antlers were\n"
+ "STANTLER's magnificent antlers were\n"
"once traded at high prices as works of art.\n"
"As a result, this POKéMON was hunted\n"
"close to extinction.");
@@ -1429,8 +1429,8 @@ const u8 gHitmontopPokedexText[] = _(
const u8 gSmoochumPokedexText[] = _(
"It actively runs about, but also falls\n"
"often. Whenever it falls, it will check its\n"
- "reflection on a lake’s surface to make\n"
- "sure its face hasn’t become dirty.");
+ "reflection on a lake's surface to make\n"
+ "sure its face hasn't become dirty.");
const u8 gElekidPokedexText[] = _(
"If it touches metal and discharges the\n"
@@ -1447,7 +1447,7 @@ const u8 gMagbyPokedexText[] = _(
const u8 gMiltankPokedexText[] = _(
"It gives over five gallons of milk daily.\n"
"Its sweet milk is enjoyed by children and\n"
- "grown-ups alike. People who can’t drink\n"
+ "grown-ups alike. People who can't drink\n"
"milk turn it into yogurt and eat it instead.");
const u8 gBlisseyPokedexText[] = _(
@@ -1478,7 +1478,7 @@ const u8 gLarvitarPokedexText[] = _(
"A LARVITAR is born deep under the ground.\n"
"It must eat its way through the soil above\n"
"and reach the surface for it to see its\n"
- "parents’ faces.");
+ "parents' faces.");
const u8 gPupitarPokedexText[] = _(
"A PUPITAR creates a gas inside its body\n"
@@ -1514,10 +1514,10 @@ const u8 gTreeckoPokedexText[] = _(
"It makes its nest in a giant tree in the\n"
"forest. It ferociously guards against\n"
"anything nearing its territory. It is said\n"
- "to be the protector of the forest’s trees.");
+ "to be the protector of the forest's trees.");
const u8 gGrovylePokedexText[] = _(
- "Leaves grow out of this POKéMON’s body.\n"
+ "Leaves grow out of this POKéMON's body.\n"
"They help obscure a GROVYLE from the eyes\n"
"of its enemies while it is in a thickly\n"
"overgrown forest.");
@@ -1532,7 +1532,7 @@ const u8 gTorchicPokedexText[] = _(
"If attacked, it strikes back by spitting\n"
"balls of fire it forms in its stomach.\n"
"A TORCHIC dislikes darkness because it\n"
- "can’t see its surroundings.");
+ "can't see its surroundings.");
const u8 gCombuskenPokedexText[] = _(
"It lashes out with 10 kicks per second.\n"
@@ -1550,7 +1550,7 @@ const u8 gMudkipPokedexText[] = _(
"On land, it can powerfully lift large\n"
"boulders by planting its four feet and\n"
"heaving. It sleeps by burying itself in soil\n"
- "at the water’s edge.");
+ "at the water's edge.");
const u8 gMarshtompPokedexText[] = _(
"Its toughened hind legs enable it to stand\n"
@@ -1572,7 +1572,7 @@ const u8 gPoochyenaPokedexText[] = _(
const u8 gMightyenaPokedexText[] = _(
"In the wild, MIGHTYENA live in a pack.\n"
- "They never defy their leader’s orders.\n"
+ "They never defy their leader's orders.\n"
"They defeat foes with perfectly\n"
"coordinated teamwork.");
@@ -1704,7 +1704,7 @@ const u8 gSurskitPokedexText[] = _(
const u8 gMasquerainPokedexText[] = _(
"It intimidates foes with the large eyelike\n"
- "patterns on its antennae. Because it can’t\n"
+ "patterns on its antennae. Because it can't\n"
"fly if its wings get wet, it shelters itself\n"
"from rain under large trees and eaves.");
@@ -1722,15 +1722,15 @@ const u8 gBreloomPokedexText[] = _(
const u8 gSlakothPokedexText[] = _(
"It sleeps virtually all day and night long.\n"
- "It doesn’t change its nest its entire life,\n"
+ "It doesn't change its nest its entire life,\n"
"but it sometimes travels great distances\n"
"by swimming in rivers.");
const u8 gVigorothPokedexText[] = _(
- "It can’t keep still because its blood boils\n"
+ "It can't keep still because its blood boils\n"
"with energy. It runs through the fields\n"
"and mountains all day to calm itself. If it\n"
- "doesn’t, it can’t sleep at night.");
+ "doesn't, it can't sleep at night.");
const u8 gSlakingPokedexText[] = _(
"Hordes of SLAKING gather around trees\n"
@@ -1783,7 +1783,7 @@ const u8 gMakuhitaPokedexText[] = _(
const u8 gHariyamaPokedexText[] = _(
"It has the habit of challenging others\n"
"without hesitation to tests of strength.\n"
- "It’s been known to stand on train tracks\n"
+ "It's been known to stand on train tracks\n"
"and stop trains using forearm thrusts.");
const u8 gAzurillPokedexText[] = _(
@@ -1799,7 +1799,7 @@ const u8 gNosepassPokedexText[] = _(
"seasons.");
const u8 gSkittyPokedexText[] = _(
- "A SKITTY’s adorably cute behavior makes it\n"
+ "A SKITTY's adorably cute behavior makes it\n"
"highly popular. In battle, it makes its tail\n"
"puff out. It threatens foes with a sharp\n"
"growl.");
@@ -1837,7 +1837,7 @@ const u8 gLaironPokedexText[] = _(
const u8 gAggronPokedexText[] = _(
"Its iron horns grow longer a little at\n"
"a time. They are used to determine the\n"
- "AGGRON’s age. The gouges in its armor are\n"
+ "AGGRON's age. The gouges in its armor are\n"
"worn with pride as mementos from battles.");
const u8 gMedititePokedexText[] = _(
@@ -1848,7 +1848,7 @@ const u8 gMedititePokedexText[] = _(
const u8 gMedichamPokedexText[] = _(
"Through crushingly harsh yoga training, it\n"
- "gained the power to foretell its foe’s\n"
+ "gained the power to foretell its foe's\n"
"actions. It battles with elegant, dance-\n"
"like movement.");
@@ -1895,7 +1895,7 @@ const u8 gRoseliaPokedexText[] = _(
"effect of making its foes careless.");
const u8 gGulpinPokedexText[] = _(
- "This POKéMON’s stomach fluid can even\n"
+ "This POKéMON's stomach fluid can even\n"
"digest scrap iron. In one gulp, it can\n"
"swallow something that is as large as\n"
"itself.");
@@ -1903,7 +1903,7 @@ const u8 gGulpinPokedexText[] = _(
const u8 gSwalotPokedexText[] = _(
"Its powerful stomach acid is capable of\n"
"digesting almost anything. The one thing\n"
- "in the whole world a SWALOT can’t digest is\n"
+ "in the whole world a SWALOT can't digest is\n"
"its own stomach.");
const u8 gCarvanhaPokedexText[] = _(
@@ -1946,11 +1946,11 @@ const u8 gTorkoalPokedexText[] = _(
"It battles using energy it gets from\n"
"burning coal. When loosing smoke from its\n"
"nostrils, it lets off a sound that is\n"
- "similar to a locomotive’s horn.");
+ "similar to a locomotive's horn.");
const u8 gSpoinkPokedexText[] = _(
"A POKéMON that manipulates psychic power\n"
- "at will. It doesn’t stop bouncing even when\n"
+ "at will. It doesn't stop bouncing even when\n"
"it is asleep. It loves eating mushrooms\n"
"that grow underground.");
@@ -1964,7 +1964,7 @@ const u8 gSpindaPokedexText[] = _(
"It is distinguished by a pattern of\n"
"spots that is always different. Its\n"
"unsteady, tottering walk has the\n"
- "effect of fouling its foe’s aim.");
+ "effect of fouling its foe's aim.");
const u8 gTrapinchPokedexText[] = _(
"Its big jaws crunch through boulders.\n"
@@ -1974,7 +1974,7 @@ const u8 gTrapinchPokedexText[] = _(
const u8 gVibravaPokedexText[] = _(
"It looses ultrasonic waves by rubbing its\n"
- "wings together. Since a VIBRAVA’s wings\n"
+ "wings together. Since a VIBRAVA's wings\n"
"are still in the process of growing, it can\n"
"only fly short distances.");
@@ -2016,7 +2016,7 @@ const u8 gZangoosePokedexText[] = _(
const u8 gSeviperPokedexText[] = _(
"SEVIPER and ZANGOOSE are eternal rivals.\n"
- "It counters a ZANGOOSE’s dazzling agility\n"
+ "It counters a ZANGOOSE's dazzling agility\n"
"with its swordlike tail, which also oozes\n"
"a horrible poison.");
@@ -2028,7 +2028,7 @@ const u8 gLunatonePokedexText[] = _(
const u8 gSolrockPokedexText[] = _(
"Solar energy is the source of this \n"
- "POKéMON’s power. On sunny days, groups of\n"
+ "POKéMON's power. On sunny days, groups of\n"
"SOLROCK line up facing the sun and absorb\n"
"its light.");
@@ -2036,7 +2036,7 @@ const u8 gBarboachPokedexText[] = _(
"Its body is covered with a slimy film.\n"
"The film acts as a barrier to prevent germs\n"
"in muddy water from entering the\n"
- "BARBOACH’s body.");
+ "BARBOACH's body.");
const u8 gWhiscashPokedexText[] = _(
"Mysteriously, it can foretell earthquakes.\n"
@@ -2065,7 +2065,7 @@ const u8 gBaltoyPokedexText[] = _(
const u8 gClaydolPokedexText[] = _(
"A CLAYDOL sleeps while hovering in midair.\n"
"Its arms are separate from its body.\n"
- "They are kept floating by the POKéMON’s\n"
+ "They are kept floating by the POKéMON's\n"
"manipulation of psychic power.");
const u8 gLileepPokedexText[] = _(
@@ -2222,7 +2222,7 @@ const u8 gLuvdiscPokedexText[] = _(
"LUVDISC make the branches of CORSOLA\n"
"their nests. There is a custom from long\n"
"ago of giving a LUVDISC as a gift to\n"
- "express one’s feelings of love.");
+ "express one's feelings of love.");
const u8 gBagonPokedexText[] = _(
"Although it is small, this POKéMON is very\n"
diff --git a/src/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h
index f14478863..3ad9a97c6 100644
--- a/src/data/pokemon/tmhm_learnsets.h
+++ b/src/data/pokemon/tmhm_learnsets.h
@@ -1,6 +1,3 @@
-#ifndef GUARD_TMHM_LEARNSETS_H
-#define GUARD_TMHM_LEARNSETS_H
-
#define TMHM_LEARNSET(moves) {(u32)(moves), ((u64)(moves) >> 32)}
#define TMHM(tmhm) ((u64)1 << (ITEM_##tmhm - ITEM_TM01_FOCUS_PUNCH))
@@ -9389,5 +9386,3 @@ const u32 gTMHMLearnsets[][2] =
| TMHM(HM05_FLASH)),
};
-
-#endif // GUARD_TMHM_LEARNSETS_H
diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h
index 02b2016c1..6e8474c12 100644
--- a/src/data/pokemon/trainer_class_lookups.h
+++ b/src/data/pokemon/trainer_class_lookups.h
@@ -1,176 +1,172 @@
-#ifndef POKEEMERALD_TRAINER_CLASS_LOOKUPS_H
-#define POKEEMERALD_TRAINER_CLASS_LOOKUPS_H
-
const u8 gFacilityClassToPicIndex[] =
{
- TRAINER_PIC_HIKER, // FACILITY_CLASS_HIKER
- TRAINER_PIC_AQUA_GRUNT_M, // FACILITY_CLASS_TEAM_AQUA_1
- TRAINER_PIC_POKEMON_BREEDER_F, // FACILITY_CLASS_PKMN_BREEDER_1
- TRAINER_PIC_COOL_TRAINER_M, // FACILITY_CLASS_COOLTRAINER_M
- TRAINER_PIC_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER
- TRAINER_PIC_COLLECTOR, // FACILITY_CLASS_COLLECTOR
- TRAINER_PIC_AQUA_GRUNT_F, // FACILITY_CLASS_TEAM_AQUA_2
- TRAINER_PIC_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M
- TRAINER_PIC_MAGMA_GRUNT_M, // FACILITY_CLASS_TEAM_MAGMA_1
- TRAINER_PIC_EXPERT_M, // FACILITY_CLASS_EXPERT_M
- TRAINER_PIC_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT
- TRAINER_PIC_AQUA_LEADER_ARCHIE, // FACILITY_CLASS_AQUA_LEADER
- TRAINER_PIC_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC
- TRAINER_PIC_AROMA_LADY, // FACILITY_CLASS_AROMA_LADY
- TRAINER_PIC_RUIN_MANIAC, // FACILITY_CLASS_RUIN_MANIAC
- TRAINER_PIC_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER
- TRAINER_PIC_TUBER_F, // FACILITY_CLASS_TUBER_1
- TRAINER_PIC_TUBER_M, // FACILITY_CLASS_TUBER_2
- TRAINER_PIC_COOL_TRAINER_F, // FACILITY_CLASS_COOLTRAINER_F
- TRAINER_PIC_LADY, // FACILITY_CLASS_LADY
- TRAINER_PIC_BEAUTY, // FACILITY_CLASS_BEAUTY
- TRAINER_PIC_RICH_BOY, // FACILITY_CLASS_RICH_BOY
- TRAINER_PIC_EXPERT_F, // FACILITY_CLASS_EXPERT_2
- TRAINER_PIC_POKEMANIAC, // FACILITY_CLASS_POKEMANIAC
- TRAINER_PIC_MAGMA_GRUNT_F, // FACILITY_CLASS_TEAM_MAGMA_2
- TRAINER_PIC_GUITARIST, // FACILITY_CLASS_GUITARIST
- TRAINER_PIC_KINDLER, // FACILITY_CLASS_KINDLER
- TRAINER_PIC_CAMPER, // FACILITY_CLASS_CAMPER
- TRAINER_PIC_PICNICKER, // FACILITY_CLASS_PICNICKER
- TRAINER_PIC_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC
- TRAINER_PIC_PSYCHIC_M, // FACILITY_CLASS_PSYCHIC_M
- TRAINER_PIC_PSYCHIC_F, // FACILITY_CLASS_PSYCHIC_F
- TRAINER_PIC_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN
- TRAINER_PIC_ELITE_FOUR_SIDNEY, // FACILITY_CLASS_ELITE_FOUR_1
- TRAINER_PIC_ELITE_FOUR_PHOEBE, // FACILITY_CLASS_ELITE_FOUR_2
- TRAINER_PIC_LEADER_ROXANNE, // FACILITY_CLASS_LEADER_1
- TRAINER_PIC_LEADER_BRAWLY, // FACILITY_CLASS_LEADER_2
- TRAINER_PIC_LEADER_TATE_AND_LIZA, // FACILITY_CLASS_LEADER_3
- TRAINER_PIC_SCHOOL_KID_M, // FACILITY_CLASS_SCHOOL_KID_M
- TRAINER_PIC_SCHOOL_KID_F, // FACILITY_CLASS_SCHOOL_KID_F
- TRAINER_PIC_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR
- TRAINER_PIC_WINSTRATE_M, // FACILITY_CLASS_POKEFAN_1
- TRAINER_PIC_WINSTRATE_F, // FACILITY_CLASS_POKEFAN_2
- TRAINER_PIC_YOUNGSTER, // FACILITY_CLASS_YOUNGSTER
- TRAINER_PIC_CHAMPION_WALLACE, // FACILITY_CLASS_CHAMPION
- TRAINER_PIC_FISHERMAN, // FACILITY_CLASS_FISHERMAN
- TRAINER_PIC_CYCLING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_1
- TRAINER_PIC_CYCLING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_2
- TRAINER_PIC_RUNNING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_3
- TRAINER_PIC_RUNNING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_4
- TRAINER_PIC_SWIMMING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_5
- TRAINER_PIC_SWIMMING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_6
- TRAINER_PIC_DRAGON_TAMER, // FACILITY_CLASS_DRAGON_TAMER
- TRAINER_PIC_NINJA_BOY, // FACILITY_CLASS_NINJA_BOY
- TRAINER_PIC_BATTLE_GIRL, // FACILITY_CLASS_BATTLE_GIRL
- TRAINER_PIC_PARASOL_LADY, // FACILITY_CLASS_PARASOL_LADY
- TRAINER_PIC_SWIMMER_F, // FACILITY_CLASS_SWIMMER_F
- TRAINER_PIC_TWINS, // FACILITY_CLASS_TWINS
- TRAINER_PIC_SAILOR, // FACILITY_CLASS_SAILOR
- TRAINER_PIC_WALLY, // FACILITY_CLASS_PKMN_TRAINER_1
- TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN
- TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_3
- TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_4
- TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_MAY
- TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_6
- TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_7
- TRAINER_PIC_POKEMON_BREEDER_M, // FACILITY_CLASS_PKMN_BREEDER_2
- TRAINER_PIC_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER
- TRAINER_PIC_POKEMON_RANGER_M, // FACILITY_CLASS_PKMN_RANGER_M
- TRAINER_PIC_POKEMON_RANGER_F, // FACILITY_CLASS_PKMN_RANGER_F
- TRAINER_PIC_MAGMA_LEADER_MAXIE, // FACILITY_CLASS_MAGMA_LEADER
- TRAINER_PIC_LASS, // FACILITY_CLASS_LASS
- TRAINER_PIC_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE
- TRAINER_PIC_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE
- TRAINER_PIC_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO
- TRAINER_PIC_STEVEN, // FACILITY_CLASS_PKMN_TRAINER_STEVEN
- TRAINER_PIC_SALON_MAIDEN_ANABEL, // FACILITY_CLASS_SALON_MAIDEN
- TRAINER_PIC_DOME_ACE_TUCKER, // FACILITY_CLASS_DOME_ACE
- TRAINER_PIC_RED, // FACILITY_CLASS_PKMN_TRAINER_RED
- TRAINER_PIC_LEAF, // FACILITY_CLASS_PKMN_TRAINER_LEAF
- TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN
- TRAINER_PIC_RUBY_SAPPHIRE_MAY, // FACILITY_CLASS_PKMN_TRAINER_RS_MAY
+ [FACILITY_CLASS_HIKER] = TRAINER_PIC_HIKER,
+ [FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_PIC_AQUA_GRUNT_M,
+ [FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_PIC_POKEMON_BREEDER_F,
+ [FACILITY_CLASS_COOLTRAINER_M] = TRAINER_PIC_COOLTRAINER_M,
+ [FACILITY_CLASS_BIRD_KEEPER] = TRAINER_PIC_BIRD_KEEPER,
+ [FACILITY_CLASS_COLLECTOR] = TRAINER_PIC_COLLECTOR,
+ [FACILITY_CLASS_AQUA_GRUNT_F] = TRAINER_PIC_AQUA_GRUNT_F,
+ [FACILITY_CLASS_SWIMMER_M] = TRAINER_PIC_SWIMMER_M,
+ [FACILITY_CLASS_MAGMA_GRUNT_M] = TRAINER_PIC_MAGMA_GRUNT_M,
+ [FACILITY_CLASS_EXPERT_M] = TRAINER_PIC_EXPERT_M,
+ [FACILITY_CLASS_BLACK_BELT] = TRAINER_PIC_BLACK_BELT,
+ [FACILITY_CLASS_AQUA_LEADER_ARCHIE] = TRAINER_PIC_AQUA_LEADER_ARCHIE,
+ [FACILITY_CLASS_HEX_MANIAC] = TRAINER_PIC_HEX_MANIAC,
+ [FACILITY_CLASS_AROMA_LADY] = TRAINER_PIC_AROMA_LADY,
+ [FACILITY_CLASS_RUIN_MANIAC] = TRAINER_PIC_RUIN_MANIAC,
+ [FACILITY_CLASS_INTERVIEWER] = TRAINER_PIC_INTERVIEWER,
+ [FACILITY_CLASS_TUBER_F] = TRAINER_PIC_TUBER_F,
+ [FACILITY_CLASS_TUBER_M] = TRAINER_PIC_TUBER_M,
+ [FACILITY_CLASS_COOLTRAINER_F] = TRAINER_PIC_COOLTRAINER_F,
+ [FACILITY_CLASS_LADY] = TRAINER_PIC_LADY,
+ [FACILITY_CLASS_BEAUTY] = TRAINER_PIC_BEAUTY,
+ [FACILITY_CLASS_RICH_BOY] = TRAINER_PIC_RICH_BOY,
+ [FACILITY_CLASS_EXPERT_F] = TRAINER_PIC_EXPERT_F,
+ [FACILITY_CLASS_POKEMANIAC] = TRAINER_PIC_POKEMANIAC,
+ [FACILITY_CLASS_MAGMA_GRUNT_F] = TRAINER_PIC_MAGMA_GRUNT_F,
+ [FACILITY_CLASS_GUITARIST] = TRAINER_PIC_GUITARIST,
+ [FACILITY_CLASS_KINDLER] = TRAINER_PIC_KINDLER,
+ [FACILITY_CLASS_CAMPER] = TRAINER_PIC_CAMPER,
+ [FACILITY_CLASS_PICNICKER] = TRAINER_PIC_PICNICKER,
+ [FACILITY_CLASS_BUG_MANIAC] = TRAINER_PIC_BUG_MANIAC,
+ [FACILITY_CLASS_PSYCHIC_M] = TRAINER_PIC_PSYCHIC_M,
+ [FACILITY_CLASS_PSYCHIC_F] = TRAINER_PIC_PSYCHIC_F,
+ [FACILITY_CLASS_GENTLEMAN] = TRAINER_PIC_GENTLEMAN,
+ [FACILITY_CLASS_ELITE_FOUR_SIDNEY] = TRAINER_PIC_ELITE_FOUR_SIDNEY,
+ [FACILITY_CLASS_ELITE_FOUR_PHOEBE] = TRAINER_PIC_ELITE_FOUR_PHOEBE,
+ [FACILITY_CLASS_LEADER_ROXANNE] = TRAINER_PIC_LEADER_ROXANNE,
+ [FACILITY_CLASS_LEADER_BRAWLY] = TRAINER_PIC_LEADER_BRAWLY,
+ [FACILITY_CLASS_LEADER_TATE_AND_LIZA] = TRAINER_PIC_LEADER_TATE_AND_LIZA,
+ [FACILITY_CLASS_SCHOOL_KID_M] = TRAINER_PIC_SCHOOL_KID_M,
+ [FACILITY_CLASS_SCHOOL_KID_F] = TRAINER_PIC_SCHOOL_KID_F,
+ [FACILITY_CLASS_SR_AND_JR] = TRAINER_PIC_SR_AND_JR,
+ [FACILITY_CLASS_POKEFAN_M] = TRAINER_PIC_POKEFAN_M,
+ [FACILITY_CLASS_POKEFAN_F] = TRAINER_PIC_POKEFAN_F,
+ [FACILITY_CLASS_YOUNGSTER] = TRAINER_PIC_YOUNGSTER,
+ [FACILITY_CLASS_CHAMPION_WALLACE] = TRAINER_PIC_CHAMPION_WALLACE,
+ [FACILITY_CLASS_FISHERMAN] = TRAINER_PIC_FISHERMAN,
+ [FACILITY_CLASS_CYCLING_TRIATHLETE_M] = TRAINER_PIC_CYCLING_TRIATHLETE_M,
+ [FACILITY_CLASS_CYCLING_TRIATHLETE_F] = TRAINER_PIC_CYCLING_TRIATHLETE_F,
+ [FACILITY_CLASS_RUNNING_TRIATHLETE_M] = TRAINER_PIC_RUNNING_TRIATHLETE_M,
+ [FACILITY_CLASS_RUNNING_TRIATHLETE_F] = TRAINER_PIC_RUNNING_TRIATHLETE_F,
+ [FACILITY_CLASS_SWIMMING_TRIATHLETE_M] = TRAINER_PIC_SWIMMING_TRIATHLETE_M,
+ [FACILITY_CLASS_SWIMMING_TRIATHLETE_F] = TRAINER_PIC_SWIMMING_TRIATHLETE_F,
+ [FACILITY_CLASS_DRAGON_TAMER] = TRAINER_PIC_DRAGON_TAMER,
+ [FACILITY_CLASS_NINJA_BOY] = TRAINER_PIC_NINJA_BOY,
+ [FACILITY_CLASS_BATTLE_GIRL] = TRAINER_PIC_BATTLE_GIRL,
+ [FACILITY_CLASS_PARASOL_LADY] = TRAINER_PIC_PARASOL_LADY,
+ [FACILITY_CLASS_SWIMMER_F] = TRAINER_PIC_SWIMMER_F,
+ [FACILITY_CLASS_TWINS] = TRAINER_PIC_TWINS,
+ [FACILITY_CLASS_SAILOR] = TRAINER_PIC_SAILOR,
+ [FACILITY_CLASS_WALLY] = TRAINER_PIC_WALLY,
+ [FACILITY_CLASS_BRENDAN] = TRAINER_PIC_BRENDAN,
+ [FACILITY_CLASS_BRENDAN_2] = TRAINER_PIC_BRENDAN,
+ [FACILITY_CLASS_BRENDAN_3] = TRAINER_PIC_BRENDAN,
+ [FACILITY_CLASS_MAY] = TRAINER_PIC_MAY,
+ [FACILITY_CLASS_MAY_2] = TRAINER_PIC_MAY,
+ [FACILITY_CLASS_MAY_3] = TRAINER_PIC_MAY,
+ [FACILITY_CLASS_PKMN_BREEDER_M] = TRAINER_PIC_POKEMON_BREEDER_M,
+ [FACILITY_CLASS_BUG_CATCHER] = TRAINER_PIC_BUG_CATCHER,
+ [FACILITY_CLASS_PKMN_RANGER_M] = TRAINER_PIC_POKEMON_RANGER_M,
+ [FACILITY_CLASS_PKMN_RANGER_F] = TRAINER_PIC_POKEMON_RANGER_F,
+ [FACILITY_CLASS_MAGMA_LEADER_MAXIE] = TRAINER_PIC_MAGMA_LEADER_MAXIE,
+ [FACILITY_CLASS_LASS] = TRAINER_PIC_LASS,
+ [FACILITY_CLASS_YOUNG_COUPLE] = TRAINER_PIC_YOUNG_COUPLE,
+ [FACILITY_CLASS_OLD_COUPLE] = TRAINER_PIC_OLD_COUPLE,
+ [FACILITY_CLASS_SIS_AND_BRO] = TRAINER_PIC_SIS_AND_BRO,
+ [FACILITY_CLASS_STEVEN] = TRAINER_PIC_STEVEN,
+ [FACILITY_CLASS_SALON_MAIDEN_ANABEL] = TRAINER_PIC_SALON_MAIDEN_ANABEL,
+ [FACILITY_CLASS_DOME_ACE_TUCKER] = TRAINER_PIC_DOME_ACE_TUCKER,
+ [FACILITY_CLASS_RED] = TRAINER_PIC_RED,
+ [FACILITY_CLASS_LEAF] = TRAINER_PIC_LEAF,
+ [FACILITY_CLASS_RS_BRENDAN] = TRAINER_PIC_RS_BRENDAN,
+ [FACILITY_CLASS_RS_MAY] = TRAINER_PIC_RS_MAY,
};
const u8 gFacilityClassToTrainerClass[] =
{
- TRAINER_CLASS_HIKER, // FACILITY_CLASS_HIKER
- TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_1
- TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_1
- TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_M
- TRAINER_CLASS_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER
- TRAINER_CLASS_COLLECTOR, // FACILITY_CLASS_COLLECTOR
- TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_2
- TRAINER_CLASS_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M
- TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_1
- TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_M
- TRAINER_CLASS_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT
- TRAINER_CLASS_AQUA_LEADER, // FACILITY_CLASS_AQUA_LEADER
- TRAINER_CLASS_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC
- TRAINER_CLASS_AROMA_LADY, // FACILITY_CLASS_AROMA_LADY
- TRAINER_CLASS_RUIN_MANIAC, // FACILITY_CLASS_RUIN_MANIAC
- TRAINER_CLASS_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER
- TRAINER_CLASS_TUBER_1, // FACILITY_CLASS_TUBER_1
- TRAINER_CLASS_TUBER_2, // FACILITY_CLASS_TUBER_2
- TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_F
- TRAINER_CLASS_LADY, // FACILITY_CLASS_LADY
- TRAINER_CLASS_BEAUTY, // FACILITY_CLASS_BEAUTY
- TRAINER_CLASS_RICH_BOY, // FACILITY_CLASS_RICH_BOY
- TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_2
- TRAINER_CLASS_POKEMANIAC, // FACILITY_CLASS_POKEMANIAC
- TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_2
- TRAINER_CLASS_GUITARIST, // FACILITY_CLASS_GUITARIST
- TRAINER_CLASS_KINDLER, // FACILITY_CLASS_KINDLER
- TRAINER_CLASS_CAMPER, // FACILITY_CLASS_CAMPER
- TRAINER_CLASS_PICNICKER, // FACILITY_CLASS_PICNICKER
- TRAINER_CLASS_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC
- TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_M
- TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_F
- TRAINER_CLASS_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN
- TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_1
- TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_2
- TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_1
- TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_2
- TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_3
- TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_M
- TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_F
- TRAINER_CLASS_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR
- TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_1
- TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_2
- TRAINER_CLASS_YOUNGSTER, // FACILITY_CLASS_YOUNGSTER
- TRAINER_CLASS_CHAMPION, // FACILITY_CLASS_CHAMPION
- TRAINER_CLASS_FISHERMAN, // FACILITY_CLASS_FISHERMAN
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_1
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_2
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_3
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_4
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_5
- TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_6
- TRAINER_CLASS_DRAGON_TAMER, // FACILITY_CLASS_DRAGON_TAMER
- TRAINER_CLASS_NINJA_BOY, // FACILITY_CLASS_NINJA_BOY
- TRAINER_CLASS_BATTLE_GIRL, // FACILITY_CLASS_BATTLE_GIRL
- TRAINER_CLASS_PARASOL_LADY, // FACILITY_CLASS_PARASOL_LADY
- TRAINER_CLASS_SWIMMER_F, // FACILITY_CLASS_SWIMMER_F
- TRAINER_CLASS_TWINS, // FACILITY_CLASS_TWINS
- TRAINER_CLASS_SAILOR, // FACILITY_CLASS_SAILOR
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_1
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_MAY
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_3
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_4
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_6
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_7
- TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_2
- TRAINER_CLASS_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER
- TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_M
- TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_F
- TRAINER_CLASS_MAGMA_LEADER, // FACILITY_CLASS_MAGMA_LEADER
- TRAINER_CLASS_LASS, // FACILITY_CLASS_LASS
- TRAINER_CLASS_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE
- TRAINER_CLASS_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE
- TRAINER_CLASS_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_STEVEN
- TRAINER_CLASS_SALON_MAIDEN, // FACILITY_CLASS_SALON_MAIDEN
- TRAINER_CLASS_DOME_ACE, // FACILITY_CLASS_DOME_ACE
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_RED
- TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_LEAF
- TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN
- TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_RS_MAY
+ [FACILITY_CLASS_HIKER] = TRAINER_CLASS_HIKER,
+ [FACILITY_CLASS_AQUA_GRUNT_M] = TRAINER_CLASS_TEAM_AQUA,
+ [FACILITY_CLASS_POKEMON_BREEDER_F] = TRAINER_CLASS_PKMN_BREEDER,
+ [FACILITY_CLASS_COOLTRAINER_M] = TRAINER_CLASS_COOLTRAINER,
+ [FACILITY_CLASS_BIRD_KEEPER] = TRAINER_CLASS_BIRD_KEEPER,
+ [FACILITY_CLASS_COLLECTOR] = TRAINER_CLASS_COLLECTOR,
+ [FACILITY_CLASS_AQUA_GRUNT_F] = TRAINER_CLASS_TEAM_AQUA,
+ [FACILITY_CLASS_SWIMMER_M] = TRAINER_CLASS_SWIMMER_M,
+ [FACILITY_CLASS_MAGMA_GRUNT_M] = TRAINER_CLASS_TEAM_MAGMA,
+ [FACILITY_CLASS_EXPERT_M] = TRAINER_CLASS_EXPERT,
+ [FACILITY_CLASS_BLACK_BELT] = TRAINER_CLASS_BLACK_BELT,
+ [FACILITY_CLASS_AQUA_LEADER_ARCHIE] = TRAINER_CLASS_AQUA_LEADER,
+ [FACILITY_CLASS_HEX_MANIAC] = TRAINER_CLASS_HEX_MANIAC,
+ [FACILITY_CLASS_AROMA_LADY] = TRAINER_CLASS_AROMA_LADY,
+ [FACILITY_CLASS_RUIN_MANIAC] = TRAINER_CLASS_RUIN_MANIAC,
+ [FACILITY_CLASS_INTERVIEWER] = TRAINER_CLASS_INTERVIEWER,
+ [FACILITY_CLASS_TUBER_F] = TRAINER_CLASS_TUBER_F,
+ [FACILITY_CLASS_TUBER_M] = TRAINER_CLASS_TUBER_M,
+ [FACILITY_CLASS_COOLTRAINER_F] = TRAINER_CLASS_COOLTRAINER,
+ [FACILITY_CLASS_LADY] = TRAINER_CLASS_LADY,
+ [FACILITY_CLASS_BEAUTY] = TRAINER_CLASS_BEAUTY,
+ [FACILITY_CLASS_RICH_BOY] = TRAINER_CLASS_RICH_BOY,
+ [FACILITY_CLASS_EXPERT_F] = TRAINER_CLASS_EXPERT,
+ [FACILITY_CLASS_POKEMANIAC] = TRAINER_CLASS_POKEMANIAC,
+ [FACILITY_CLASS_MAGMA_GRUNT_F] = TRAINER_CLASS_TEAM_MAGMA,
+ [FACILITY_CLASS_GUITARIST] = TRAINER_CLASS_GUITARIST,
+ [FACILITY_CLASS_KINDLER] = TRAINER_CLASS_KINDLER,
+ [FACILITY_CLASS_CAMPER] = TRAINER_CLASS_CAMPER,
+ [FACILITY_CLASS_PICNICKER] = TRAINER_CLASS_PICNICKER,
+ [FACILITY_CLASS_BUG_MANIAC] = TRAINER_CLASS_BUG_MANIAC,
+ [FACILITY_CLASS_PSYCHIC_M] = TRAINER_CLASS_PSYCHIC,
+ [FACILITY_CLASS_PSYCHIC_F] = TRAINER_CLASS_PSYCHIC,
+ [FACILITY_CLASS_GENTLEMAN] = TRAINER_CLASS_GENTLEMAN,
+ [FACILITY_CLASS_ELITE_FOUR_SIDNEY] = TRAINER_CLASS_ELITE_FOUR,
+ [FACILITY_CLASS_ELITE_FOUR_PHOEBE] = TRAINER_CLASS_ELITE_FOUR,
+ [FACILITY_CLASS_LEADER_ROXANNE] = TRAINER_CLASS_LEADER,
+ [FACILITY_CLASS_LEADER_BRAWLY] = TRAINER_CLASS_LEADER,
+ [FACILITY_CLASS_LEADER_TATE_AND_LIZA] = TRAINER_CLASS_LEADER,
+ [FACILITY_CLASS_SCHOOL_KID_M] = TRAINER_CLASS_SCHOOL_KID,
+ [FACILITY_CLASS_SCHOOL_KID_F] = TRAINER_CLASS_SCHOOL_KID,
+ [FACILITY_CLASS_SR_AND_JR] = TRAINER_CLASS_SR_AND_JR,
+ [FACILITY_CLASS_POKEFAN_M] = TRAINER_CLASS_POKEFAN,
+ [FACILITY_CLASS_POKEFAN_F] = TRAINER_CLASS_POKEFAN,
+ [FACILITY_CLASS_YOUNGSTER] = TRAINER_CLASS_YOUNGSTER,
+ [FACILITY_CLASS_CHAMPION_WALLACE] = TRAINER_CLASS_CHAMPION,
+ [FACILITY_CLASS_FISHERMAN] = TRAINER_CLASS_FISHERMAN,
+ [FACILITY_CLASS_CYCLING_TRIATHLETE_M] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_CYCLING_TRIATHLETE_F] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_RUNNING_TRIATHLETE_M] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_RUNNING_TRIATHLETE_F] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_SWIMMING_TRIATHLETE_M] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_SWIMMING_TRIATHLETE_F] = TRAINER_CLASS_TRIATHLETE,
+ [FACILITY_CLASS_DRAGON_TAMER] = TRAINER_CLASS_DRAGON_TAMER,
+ [FACILITY_CLASS_NINJA_BOY] = TRAINER_CLASS_NINJA_BOY,
+ [FACILITY_CLASS_BATTLE_GIRL] = TRAINER_CLASS_BATTLE_GIRL,
+ [FACILITY_CLASS_PARASOL_LADY] = TRAINER_CLASS_PARASOL_LADY,
+ [FACILITY_CLASS_SWIMMER_F] = TRAINER_CLASS_SWIMMER_F,
+ [FACILITY_CLASS_TWINS] = TRAINER_CLASS_TWINS,
+ [FACILITY_CLASS_SAILOR] = TRAINER_CLASS_SAILOR,
+ [FACILITY_CLASS_WALLY] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_MAY] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_BRENDAN_2] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_BRENDAN_3] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_BRENDAN] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_MAY_2] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_MAY_3] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_PKMN_BREEDER_M] = TRAINER_CLASS_PKMN_BREEDER,
+ [FACILITY_CLASS_BUG_CATCHER] = TRAINER_CLASS_BUG_CATCHER,
+ [FACILITY_CLASS_PKMN_RANGER_M] = TRAINER_CLASS_PKMN_RANGER,
+ [FACILITY_CLASS_PKMN_RANGER_F] = TRAINER_CLASS_PKMN_RANGER,
+ [FACILITY_CLASS_MAGMA_LEADER_MAXIE] = TRAINER_CLASS_MAGMA_LEADER,
+ [FACILITY_CLASS_LASS] = TRAINER_CLASS_LASS,
+ [FACILITY_CLASS_YOUNG_COUPLE] = TRAINER_CLASS_YOUNG_COUPLE,
+ [FACILITY_CLASS_OLD_COUPLE] = TRAINER_CLASS_OLD_COUPLE,
+ [FACILITY_CLASS_SIS_AND_BRO] = TRAINER_CLASS_SIS_AND_BRO,
+ [FACILITY_CLASS_STEVEN] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_SALON_MAIDEN_ANABEL] = TRAINER_CLASS_SALON_MAIDEN,
+ [FACILITY_CLASS_DOME_ACE_TUCKER] = TRAINER_CLASS_DOME_ACE,
+ [FACILITY_CLASS_RED] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_LEAF] = TRAINER_CLASS_PKMN_TRAINER_3,
+ [FACILITY_CLASS_RS_BRENDAN] = TRAINER_CLASS_PKMN_TRAINER_4,
+ [FACILITY_CLASS_RS_MAY] = TRAINER_CLASS_PKMN_TRAINER_4,
};
-#endif //POKEEMERALD_TRAINER_CLASS_LOOKUPS_H
diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h
index 29d0ff32e..cdb28f8c3 100644
--- a/src/data/pokemon_graphics/back_pic_coordinates.h
+++ b/src/data/pokemon_graphics/back_pic_coordinates.h
@@ -1,443 +1,2206 @@
+#include "constants/species.h"
+
const struct MonCoords gMonBackPicCoords[] =
{
- {0x88, 0x00}, // SPECIES_NONE
- {0x64, 0x10}, // SPECIES_BULBASAUR
- {0x66, 0x09}, // SPECIES_IVYSAUR
- {0x87, 0x07}, // SPECIES_VENUSAUR
- {0x65, 0x0e}, // SPECIES_CHARMANDER
- {0x66, 0x09}, // SPECIES_CHARMELEON
- {0x87, 0x04}, // SPECIES_CHARIZARD
- {0x65, 0x0e}, // SPECIES_SQUIRTLE
- {0x76, 0x0a}, // SPECIES_WARTORTLE
- {0x86, 0x08}, // SPECIES_BLASTOISE
- {0x55, 0x0f}, // SPECIES_CATERPIE
- {0x65, 0x0c}, // SPECIES_METAPOD
- {0x87, 0x06}, // SPECIES_BUTTERFREE
- {0x56, 0x0b}, // SPECIES_WEEDLE
- {0x46, 0x0a}, // SPECIES_KAKUNA
- {0x86, 0x09}, // SPECIES_BEEDRILL
- {0x66, 0x08}, // SPECIES_PIDGEY
- {0x85, 0x0c}, // SPECIES_PIDGEOTTO
- {0x78, 0x02}, // SPECIES_PIDGEOT
- {0x65, 0x0d}, // SPECIES_RATTATA
- {0x75, 0x0d}, // SPECIES_RATICATE
- {0x65, 0x0c}, // SPECIES_SPEAROW
- {0x87, 0x05}, // SPECIES_FEAROW
- {0x66, 0x09}, // SPECIES_EKANS
- {0x77, 0x04}, // SPECIES_ARBOK
- {0x77, 0x07}, // SPECIES_PIKACHU
- {0x66, 0x08}, // SPECIES_RAICHU
- {0x65, 0x0d}, // SPECIES_SANDSHREW
- {0x86, 0x09}, // SPECIES_SANDSLASH
- {0x55, 0x0c}, // SPECIES_NIDORAN_F
- {0x86, 0x0a}, // SPECIES_NIDORINA
- {0x77, 0x06}, // SPECIES_NIDOQUEEN
- {0x56, 0x08}, // SPECIES_NIDORAN_M
- {0x86, 0x09}, // SPECIES_NIDORINO
- {0x88, 0x03}, // SPECIES_NIDOKING
- {0x65, 0x0d}, // SPECIES_CLEFAIRY
- {0x76, 0x0a}, // SPECIES_CLEFABLE
- {0x76, 0x09}, // SPECIES_VULPIX
- {0x77, 0x05}, // SPECIES_NINETALES
- {0x65, 0x0d}, // SPECIES_JIGGLYPUFF
- {0x66, 0x08}, // SPECIES_WIGGLYTUFF
- {0x76, 0x0b}, // SPECIES_ZUBAT
- {0x87, 0x06}, // SPECIES_GOLBAT
- {0x56, 0x0b}, // SPECIES_ODDISH
- {0x66, 0x0a}, // SPECIES_GLOOM
- {0x87, 0x07}, // SPECIES_VILEPLUME
- {0x63, 0x14}, // SPECIES_PARAS
- {0x87, 0x07}, // SPECIES_PARASECT
- {0x77, 0x06}, // SPECIES_VENONAT
- {0x77, 0x04}, // SPECIES_VENOMOTH
- {0x54, 0x10}, // SPECIES_DIGLETT
- {0x66, 0x0b}, // SPECIES_DUGTRIO
- {0x65, 0x0c}, // SPECIES_MEOWTH
- {0x87, 0x07}, // SPECIES_PERSIAN
- {0x67, 0x07}, // SPECIES_PSYDUCK
- {0x77, 0x05}, // SPECIES_GOLDUCK
- {0x76, 0x0b}, // SPECIES_MANKEY
- {0x77, 0x07}, // SPECIES_PRIMEAPE
- {0x66, 0x08}, // SPECIES_GROWLITHE
- {0x87, 0x06}, // SPECIES_ARCANINE
- {0x74, 0x10}, // SPECIES_POLIWAG
- {0x65, 0x0c}, // SPECIES_POLIWHIRL
- {0x86, 0x0b}, // SPECIES_POLIWRATH
- {0x66, 0x0b}, // SPECIES_ABRA
- {0x76, 0x08}, // SPECIES_KADABRA
- {0x67, 0x05}, // SPECIES_ALAKAZAM
- {0x65, 0x0c}, // SPECIES_MACHOP
- {0x76, 0x09}, // SPECIES_MACHOKE
- {0x67, 0x04}, // SPECIES_MACHAMP
- {0x66, 0x0a}, // SPECIES_BELLSPROUT
- {0x66, 0x09}, // SPECIES_WEEPINBELL
- {0x87, 0x06}, // SPECIES_VICTREEBEL
- {0x56, 0x0a}, // SPECIES_TENTACOOL
- {0x86, 0x0b}, // SPECIES_TENTACRUEL
- {0x66, 0x0b}, // SPECIES_GEODUDE
- {0x75, 0x0c}, // SPECIES_GRAVELER
- {0x84, 0x10}, // SPECIES_GOLEM
- {0x66, 0x09}, // SPECIES_PONYTA
- {0x87, 0x05}, // SPECIES_RAPIDASH
- {0x85, 0x0e}, // SPECIES_SLOWPOKE
- {0x86, 0x0a}, // SPECIES_SLOWBRO
- {0x43, 0x14}, // SPECIES_MAGNEMITE
- {0x66, 0x0a}, // SPECIES_MAGNETON
- {0x66, 0x0a}, // SPECIES_FARFETCHD
- {0x66, 0x08}, // SPECIES_DODUO
- {0x88, 0x01}, // SPECIES_DODRIO
- {0x66, 0x0a}, // SPECIES_SEEL
- {0x77, 0x05}, // SPECIES_DEWGONG
- {0x75, 0x0c}, // SPECIES_GRIMER
- {0x87, 0x05}, // SPECIES_MUK
- {0x76, 0x0b}, // SPECIES_SHELLDER
- {0x87, 0x06}, // SPECIES_CLOYSTER
- {0x85, 0x0e}, // SPECIES_GASTLY
- {0x76, 0x08}, // SPECIES_HAUNTER
- {0x76, 0x09}, // SPECIES_GENGAR
- {0x78, 0x00}, // SPECIES_ONIX
- {0x65, 0x0d}, // SPECIES_DROWZEE
- {0x66, 0x09}, // SPECIES_HYPNO
- {0x66, 0x0a}, // SPECIES_KRABBY
- {0x77, 0x04}, // SPECIES_KINGLER
- {0x55, 0x0e}, // SPECIES_VOLTORB
- {0x65, 0x0d}, // SPECIES_ELECTRODE
- {0x65, 0x0d}, // SPECIES_EXEGGCUTE
- {0x87, 0x04}, // SPECIES_EXEGGUTOR
- {0x66, 0x0a}, // SPECIES_CUBONE
- {0x66, 0x08}, // SPECIES_MAROWAK
- {0x65, 0x0c}, // SPECIES_HITMONLEE
- {0x65, 0x0c}, // SPECIES_HITMONCHAN
- {0x65, 0x0e}, // SPECIES_LICKITUNG
- {0x66, 0x09}, // SPECIES_KOFFING
- {0x77, 0x06}, // SPECIES_WEEZING
- {0x85, 0x0c}, // SPECIES_RHYHORN
- {0x88, 0x03}, // SPECIES_RHYDON
- {0x86, 0x0b}, // SPECIES_CHANSEY
- {0x85, 0x0e}, // SPECIES_TANGELA
- {0x77, 0x05}, // SPECIES_KANGASKHAN
- {0x66, 0x09}, // SPECIES_HORSEA
- {0x66, 0x08}, // SPECIES_SEADRA
- {0x66, 0x08}, // SPECIES_GOLDEEN
- {0x76, 0x0b}, // SPECIES_SEAKING
- {0x65, 0x0d}, // SPECIES_STARYU
- {0x85, 0x0e}, // SPECIES_STARMIE
- {0x85, 0x0d}, // SPECIES_MR_MIME
- {0x77, 0x07}, // SPECIES_SCYTHER
- {0x86, 0x0a}, // SPECIES_JYNX
- {0x66, 0x08}, // SPECIES_ELECTABUZZ
- {0x66, 0x08}, // SPECIES_MAGMAR
- {0x66, 0x09}, // SPECIES_PINSIR
- {0x85, 0x0d}, // SPECIES_TAUROS
- {0x76, 0x09}, // SPECIES_MAGIKARP
- {0x78, 0x00}, // SPECIES_GYARADOS
- {0x77, 0x04}, // SPECIES_LAPRAS
- {0x54, 0x11}, // SPECIES_DITTO
- {0x66, 0x0a}, // SPECIES_EEVEE
- {0x66, 0x0a}, // SPECIES_VAPOREON
- {0x87, 0x06}, // SPECIES_JOLTEON
- {0x67, 0x05}, // SPECIES_FLAREON
- {0x65, 0x0d}, // SPECIES_PORYGON
- {0x66, 0x0a}, // SPECIES_OMANYTE
- {0x66, 0x08}, // SPECIES_OMASTAR
- {0x65, 0x0d}, // SPECIES_KABUTO
- {0x77, 0x05}, // SPECIES_KABUTOPS
- {0x86, 0x08}, // SPECIES_AERODACTYL
- {0x86, 0x0b}, // SPECIES_SNORLAX
- {0x65, 0x0c}, // SPECIES_ARTICUNO
- {0x76, 0x0b}, // SPECIES_ZAPDOS
- {0x87, 0x04}, // SPECIES_MOLTRES
- {0x66, 0x09}, // SPECIES_DRATINI
- {0x78, 0x00}, // SPECIES_DRAGONAIR
- {0x87, 0x06}, // SPECIES_DRAGONITE
- {0x78, 0x01}, // SPECIES_MEWTWO
- {0x66, 0x08}, // SPECIES_MEW
- {0x56, 0x0a}, // SPECIES_CHIKORITA
- {0x66, 0x08}, // SPECIES_BAYLEEF
- {0x78, 0x00}, // SPECIES_MEGANIUM
- {0x76, 0x09}, // SPECIES_CYNDAQUIL
- {0x87, 0x04}, // SPECIES_QUILAVA
- {0x87, 0x04}, // SPECIES_TYPHLOSION
- {0x66, 0x0b}, // SPECIES_TOTODILE
- {0x67, 0x07}, // SPECIES_CROCONAW
- {0x88, 0x01}, // SPECIES_FERALIGATR
- {0x67, 0x05}, // SPECIES_SENTRET
- {0x66, 0x08}, // SPECIES_FURRET
- {0x66, 0x08}, // SPECIES_HOOTHOOT
- {0x68, 0x03}, // SPECIES_NOCTOWL
- {0x76, 0x0b}, // SPECIES_LEDYBA
- {0x77, 0x07}, // SPECIES_LEDIAN
- {0x73, 0x15}, // SPECIES_SPINARAK
- {0x86, 0x0b}, // SPECIES_ARIADOS
- {0x87, 0x05}, // SPECIES_CROBAT
- {0x86, 0x08}, // SPECIES_CHINCHOU
- {0x86, 0x08}, // SPECIES_LANTURN
- {0x66, 0x0b}, // SPECIES_PICHU
- {0x65, 0x0f}, // SPECIES_CLEFFA
- {0x66, 0x0b}, // SPECIES_IGGLYBUFF
- {0x54, 0x10}, // SPECIES_TOGEPI
- {0x66, 0x08}, // SPECIES_TOGETIC
- {0x54, 0x11}, // SPECIES_NATU
- {0x76, 0x08}, // SPECIES_XATU
- {0x66, 0x09}, // SPECIES_MAREEP
- {0x66, 0x09}, // SPECIES_FLAAFFY
- {0x88, 0x01}, // SPECIES_AMPHAROS
- {0x66, 0x0b}, // SPECIES_BELLOSSOM
- {0x75, 0x0c}, // SPECIES_MARILL
- {0x86, 0x08}, // SPECIES_AZUMARILL
- {0x66, 0x08}, // SPECIES_SUDOWOODO
- {0x66, 0x09}, // SPECIES_POLITOED
- {0x66, 0x0b}, // SPECIES_HOPPIP
- {0x65, 0x0d}, // SPECIES_SKIPLOOM
- {0x87, 0x04}, // SPECIES_JUMPLUFF
- {0x66, 0x09}, // SPECIES_AIPOM
- {0x56, 0x0a}, // SPECIES_SUNKERN
- {0x66, 0x08}, // SPECIES_SUNFLORA
- {0x77, 0x04}, // SPECIES_YANMA
- {0x85, 0x0f}, // SPECIES_WOOPER
- {0x76, 0x08}, // SPECIES_QUAGSIRE
- {0x76, 0x0b}, // SPECIES_ESPEON
- {0x87, 0x04}, // SPECIES_UMBREON
- {0x66, 0x09}, // SPECIES_MURKROW
- {0x66, 0x08}, // SPECIES_SLOWKING
- {0x66, 0x0a}, // SPECIES_MISDREAVUS
- {0x36, 0x08}, // SPECIES_UNOWN
- {0x75, 0x0c}, // SPECIES_WOBBUFFET
- {0x87, 0x05}, // SPECIES_GIRAFARIG
- {0x65, 0x0f}, // SPECIES_PINECO
- {0x84, 0x10}, // SPECIES_FORRETRESS
- {0x85, 0x0f}, // SPECIES_DUNSPARCE
- {0x87, 0x05}, // SPECIES_GLIGAR
- {0x88, 0x00}, // SPECIES_STEELIX
- {0x76, 0x0a}, // SPECIES_SNUBBULL
- {0x87, 0x05}, // SPECIES_GRANBULL
- {0x77, 0x07}, // SPECIES_QWILFISH
- {0x77, 0x04}, // SPECIES_SCIZOR
- {0x56, 0x0b}, // SPECIES_SHUCKLE
- {0x77, 0x04}, // SPECIES_HERACROSS
- {0x66, 0x08}, // SPECIES_SNEASEL
- {0x66, 0x08}, // SPECIES_TEDDIURSA
- {0x88, 0x03}, // SPECIES_URSARING
- {0x66, 0x08}, // SPECIES_SLUGMA
- {0x76, 0x09}, // SPECIES_MAGCARGO
- {0x63, 0x15}, // SPECIES_SWINUB
- {0x75, 0x0d}, // SPECIES_PILOSWINE
- {0x65, 0x0c}, // SPECIES_CORSOLA
- {0x75, 0x0d}, // SPECIES_REMORAID
- {0x66, 0x0a}, // SPECIES_OCTILLERY
- {0x67, 0x06}, // SPECIES_DELIBIRD
- {0x87, 0x07}, // SPECIES_MANTINE
- {0x87, 0x04}, // SPECIES_SKARMORY
- {0x55, 0x0c}, // SPECIES_HOUNDOUR
- {0x87, 0x07}, // SPECIES_HOUNDOOM
- {0x87, 0x06}, // SPECIES_KINGDRA
- {0x65, 0x0e}, // SPECIES_PHANPY
- {0x85, 0x0d}, // SPECIES_DONPHAN
- {0x76, 0x0a}, // SPECIES_PORYGON2
- {0x78, 0x03}, // SPECIES_STANTLER
- {0x76, 0x0a}, // SPECIES_SMEARGLE
- {0x66, 0x08}, // SPECIES_TYROGUE
- {0x87, 0x05}, // SPECIES_HITMONTOP
- {0x56, 0x09}, // SPECIES_SMOOCHUM
- {0x66, 0x08}, // SPECIES_ELEKID
- {0x66, 0x0b}, // SPECIES_MAGBY
- {0x87, 0x07}, // SPECIES_MILTANK
- {0x85, 0x0d}, // SPECIES_BLISSEY
- {0x86, 0x0a}, // SPECIES_RAIKOU
- {0x87, 0x06}, // SPECIES_ENTEI
- {0x88, 0x03}, // SPECIES_SUICUNE
- {0x66, 0x08}, // SPECIES_LARVITAR
- {0x67, 0x05}, // SPECIES_PUPITAR
- {0x88, 0x00}, // SPECIES_TYRANITAR
- {0x88, 0x01}, // SPECIES_LUGIA
- {0x88, 0x01}, // SPECIES_HO_OH
- {0x66, 0x08}, // SPECIES_CELEBI
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_B
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_C
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_D
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_E
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_F
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_G
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_H
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_I
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_J
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_K
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_L
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_M
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_N
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_O
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_P
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_Q
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_R
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_S
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_T
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_U
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_V
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_W
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_X
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_Y
- {0x88, 0x02}, // SPECIES_OLD_UNOWN_Z
- {0x87, 0x06}, // SPECIES_TREECKO
- {0x86, 0x08}, // SPECIES_GROVYLE
- {0x88, 0x01}, // SPECIES_SCEPTILE
- {0x67, 0x05}, // SPECIES_TORCHIC
- {0x88, 0x00}, // SPECIES_COMBUSKEN
- {0x88, 0x00}, // SPECIES_BLAZIKEN
- {0x77, 0x05}, // SPECIES_MUDKIP
- {0x87, 0x04}, // SPECIES_MARSHTOMP
- {0x87, 0x05}, // SPECIES_SWAMPERT
- {0x76, 0x09}, // SPECIES_POOCHYENA
- {0x87, 0x04}, // SPECIES_MIGHTYENA
- {0x76, 0x0b}, // SPECIES_ZIGZAGOON
- {0x85, 0x0f}, // SPECIES_LINOONE
- {0x76, 0x0b}, // SPECIES_WURMPLE
- {0x83, 0x15}, // SPECIES_SILCOON
- {0x88, 0x00}, // SPECIES_BEAUTIFLY
- {0x73, 0x14}, // SPECIES_CASCOON
- {0x83, 0x14}, // SPECIES_DUSTOX
- {0x75, 0x0f}, // SPECIES_LOTAD
- {0x86, 0x08}, // SPECIES_LOMBRE
- {0x86, 0x0a}, // SPECIES_LUDICOLO
- {0x86, 0x09}, // SPECIES_SEEDOT
- {0x76, 0x0a}, // SPECIES_NUZLEAF
- {0x86, 0x08}, // SPECIES_SHIFTRY
- {0x83, 0x14}, // SPECIES_NINCADA
- {0x86, 0x08}, // SPECIES_NINJASK
- {0x77, 0x06}, // SPECIES_SHEDINJA
- {0x64, 0x11}, // SPECIES_TAILLOW
- {0x86, 0x08}, // SPECIES_SWELLOW
- {0x85, 0x0d}, // SPECIES_SHROOMISH
- {0x87, 0x04}, // SPECIES_BRELOOM
- {0x77, 0x04}, // SPECIES_SPINDA
- {0x85, 0x0e}, // SPECIES_WINGULL
- {0x87, 0x06}, // SPECIES_PELIPPER
- {0x86, 0x0b}, // SPECIES_SURSKIT
- {0x88, 0x00}, // SPECIES_MASQUERAIN
- {0x83, 0x15}, // SPECIES_WAILMER
- {0x83, 0x16}, // SPECIES_WAILORD
- {0x86, 0x0a}, // SPECIES_SKITTY
- {0x86, 0x08}, // SPECIES_DELCATTY
- {0x87, 0x06}, // SPECIES_KECLEON
- {0x86, 0x08}, // SPECIES_BALTOY
- {0x87, 0x07}, // SPECIES_CLAYDOL
- {0x85, 0x0c}, // SPECIES_NOSEPASS
- {0x86, 0x0a}, // SPECIES_TORKOAL
- {0x76, 0x08}, // SPECIES_SABLEYE
- {0x66, 0x0a}, // SPECIES_BARBOACH
- {0x86, 0x0a}, // SPECIES_WHISCASH
- {0x46, 0x0a}, // SPECIES_LUVDISC
- {0x77, 0x07}, // SPECIES_CORPHISH
- {0x87, 0x05}, // SPECIES_CRAWDAUNT
- {0x67, 0x07}, // SPECIES_FEEBAS
- {0x68, 0x02}, // SPECIES_MILOTIC
- {0x87, 0x07}, // SPECIES_CARVANHA
- {0x88, 0x02}, // SPECIES_SHARPEDO
- {0x75, 0x0e}, // SPECIES_TRAPINCH
- {0x74, 0x11}, // SPECIES_VIBRAVA
- {0x88, 0x02}, // SPECIES_FLYGON
- {0x76, 0x0b}, // SPECIES_MAKUHITA
- {0x87, 0x07}, // SPECIES_HARIYAMA
- {0x84, 0x10}, // SPECIES_ELECTRIKE
- {0x87, 0x04}, // SPECIES_MANECTRIC
- {0x86, 0x0b}, // SPECIES_NUMEL
- {0x84, 0x13}, // SPECIES_CAMERUPT
- {0x64, 0x12}, // SPECIES_SPHEAL
- {0x86, 0x0a}, // SPECIES_SEALEO
- {0x87, 0x06}, // SPECIES_WALREIN
- {0x85, 0x0f}, // SPECIES_CACNEA
- {0x87, 0x07}, // SPECIES_CACTURNE
- {0x76, 0x0a}, // SPECIES_SNORUNT
- {0x85, 0x0c}, // SPECIES_GLALIE
- {0x87, 0x05}, // SPECIES_LUNATONE
- {0x87, 0x05}, // SPECIES_SOLROCK
- {0x86, 0x0a}, // SPECIES_AZURILL
- {0x56, 0x0b}, // SPECIES_SPOINK
- {0x87, 0x04}, // SPECIES_GRUMPIG
- {0x76, 0x08}, // SPECIES_PLUSLE
- {0x76, 0x08}, // SPECIES_MINUN
- {0x87, 0x04}, // SPECIES_MAWILE
- {0x76, 0x0b}, // SPECIES_MEDITITE
- {0x68, 0x03}, // SPECIES_MEDICHAM
- {0x86, 0x09}, // SPECIES_SWABLU
- {0x87, 0x06}, // SPECIES_ALTARIA
- {0x77, 0x07}, // SPECIES_WYNAUT
- {0x66, 0x0b}, // SPECIES_DUSKULL
- {0x86, 0x08}, // SPECIES_DUSCLOPS
- {0x86, 0x08}, // SPECIES_ROSELIA
- {0x85, 0x0f}, // SPECIES_SLAKOTH
- {0x86, 0x0a}, // SPECIES_VIGOROTH
- {0x86, 0x08}, // SPECIES_SLAKING
- {0x66, 0x0b}, // SPECIES_GULPIN
- {0x77, 0x06}, // SPECIES_SWALOT
- {0x87, 0x07}, // SPECIES_TROPIUS
- {0x85, 0x0d}, // SPECIES_WHISMUR
- {0x86, 0x09}, // SPECIES_LOUDRED
- {0x88, 0x03}, // SPECIES_EXPLOUD
- {0x85, 0x0d}, // SPECIES_CLAMPERL
- {0x68, 0x02}, // SPECIES_HUNTAIL
- {0x77, 0x05}, // SPECIES_GOREBYSS
- {0x78, 0x03}, // SPECIES_ABSOL
- {0x77, 0x06}, // SPECIES_SHUPPET
- {0x65, 0x0c}, // SPECIES_BANETTE
- {0x88, 0x03}, // SPECIES_SEVIPER
- {0x88, 0x01}, // SPECIES_ZANGOOSE
- {0x86, 0x0a}, // SPECIES_RELICANTH
- {0x54, 0x11}, // SPECIES_ARON
- {0x84, 0x11}, // SPECIES_LAIRON
- {0x87, 0x07}, // SPECIES_AGGRON
- {0x45, 0x0d}, // SPECIES_CASTFORM
- {0x76, 0x08}, // SPECIES_VOLBEAT
- {0x67, 0x06}, // SPECIES_ILLUMISE
- {0x86, 0x09}, // SPECIES_LILEEP
- {0x77, 0x04}, // SPECIES_CRADILY
- {0x83, 0x17}, // SPECIES_ANORITH
- {0x77, 0x05}, // SPECIES_ARMALDO
- {0x45, 0x0d}, // SPECIES_RALTS
- {0x57, 0x06}, // SPECIES_KIRLIA
- {0x77, 0x04}, // SPECIES_GARDEVOIR
- {0x66, 0x08}, // SPECIES_BAGON
- {0x85, 0x0d}, // SPECIES_SHELGON
- {0x77, 0x06}, // SPECIES_SALAMENCE
- {0x66, 0x0a}, // SPECIES_BELDUM
- {0x84, 0x10}, // SPECIES_METANG
- {0x83, 0x14}, // SPECIES_METAGROSS
- {0x86, 0x0a}, // SPECIES_REGIROCK
- {0x85, 0x0e}, // SPECIES_REGICE
- {0x85, 0x0e}, // SPECIES_REGISTEEL
- {0x84, 0x13}, // SPECIES_KYOGRE
- {0x87, 0x07}, // SPECIES_GROUDON
- {0x78, 0x00}, // SPECIES_RAYQUAZA
- {0x88, 0x02}, // SPECIES_LATIAS
- {0x88, 0x03}, // SPECIES_LATIOS
- {0x87, 0x05}, // SPECIES_JIRACHI
- {0x86, 0x09}, // SPECIES_DEOXYS
- {0x47, 0x07}, // SPECIES_CHIMECHO
- {0x36, 0x0a}, // SPECIES_EGG
- {0x56, 0x09}, // SPECIES_UNOWN_B
- {0x67, 0x06}, // SPECIES_UNOWN_C
- {0x56, 0x08}, // SPECIES_UNOWN_D
- {0x56, 0x0a}, // SPECIES_UNOWN_E
- {0x66, 0x0a}, // SPECIES_UNOWN_F
- {0x57, 0x05}, // SPECIES_UNOWN_G
- {0x66, 0x08}, // SPECIES_UNOWN_H
- {0x37, 0x07}, // SPECIES_UNOWN_I
- {0x46, 0x09}, // SPECIES_UNOWN_J
- {0x57, 0x07}, // SPECIES_UNOWN_K
- {0x46, 0x0a}, // SPECIES_UNOWN_L
- {0x65, 0x0d}, // SPECIES_UNOWN_M
- {0x65, 0x0d}, // SPECIES_UNOWN_N
- {0x66, 0x08}, // SPECIES_UNOWN_O
- {0x46, 0x0a}, // SPECIES_UNOWN_P
- {0x55, 0x0f}, // SPECIES_UNOWN_Q
- {0x45, 0x0c}, // SPECIES_UNOWN_R
- {0x57, 0x04}, // SPECIES_UNOWN_S
- {0x45, 0x0d}, // SPECIES_UNOWN_T
- {0x65, 0x0d}, // SPECIES_UNOWN_U
- {0x56, 0x0b}, // SPECIES_UNOWN_V
- {0x55, 0x0d}, // SPECIES_UNOWN_W
- {0x55, 0x0f}, // SPECIES_UNOWN_X
- {0x46, 0x0a}, // SPECIES_UNOWN_Y
- {0x46, 0x0a}, // SPECIES_UNOWN_Z
- {0x37, 0x06}, // SPECIES_UNOWN_EMARK
- {0x47, 0x06}, // SPECIES_UNOWN_QMARK
+ [SPECIES_NONE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_BULBASAUR] =
+ {
+ .coords = 0x64,
+ .y_offset = 0x10,
+ },
+ [SPECIES_IVYSAUR] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_VENUSAUR] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CHARMANDER] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_CHARMELEON] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_CHARIZARD] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SQUIRTLE] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_WARTORTLE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_BLASTOISE] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_CATERPIE] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_METAPOD] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_BUTTERFREE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_WEEDLE] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_KAKUNA] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_BEEDRILL] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_PIDGEY] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_PIDGEOTTO] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_PIDGEOT] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x02,
+ },
+ [SPECIES_RATTATA] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_RATICATE] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SPEAROW] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_FEAROW] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_EKANS] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_ARBOK] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_PIKACHU] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_RAICHU] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SANDSHREW] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SANDSLASH] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NIDORAN_F] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_NIDORINA] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_NIDOQUEEN] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_NIDORAN_M] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_NIDORINO] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NIDOKING] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_CLEFAIRY] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_CLEFABLE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_VULPIX] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NINETALES] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_JIGGLYPUFF] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_WIGGLYTUFF] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ZUBAT] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GOLBAT] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_ODDISH] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GLOOM] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_VILEPLUME] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_PARAS] =
+ {
+ .coords = 0x63,
+ .y_offset = 0x14,
+ },
+ [SPECIES_PARASECT] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_VENONAT] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_VENOMOTH] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_DIGLETT] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x10,
+ },
+ [SPECIES_DUGTRIO] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MEOWTH] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_PERSIAN] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_PSYDUCK] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_GOLDUCK] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_MANKEY] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_PRIMEAPE] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_GROWLITHE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ARCANINE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_POLIWAG] =
+ {
+ .coords = 0x74,
+ .y_offset = 0x10,
+ },
+ [SPECIES_POLIWHIRL] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_POLIWRATH] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_ABRA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_KADABRA] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ALAKAZAM] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_MACHOP] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_MACHOKE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_MACHAMP] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x04,
+ },
+ [SPECIES_BELLSPROUT] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_WEEPINBELL] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_VICTREEBEL] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_TENTACOOL] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_TENTACRUEL] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GEODUDE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GRAVELER] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_GOLEM] =
+ {
+ .coords = 0x84,
+ .y_offset = 0x10,
+ },
+ [SPECIES_PONYTA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_RAPIDASH] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_SLOWPOKE] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_SLOWBRO] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_MAGNEMITE] =
+ {
+ .coords = 0x43,
+ .y_offset = 0x14,
+ },
+ [SPECIES_MAGNETON] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_FARFETCHD] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DODUO] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_DODRIO] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SEEL] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DEWGONG] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_GRIMER] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_MUK] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_SHELLDER] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CLOYSTER] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GASTLY] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_HAUNTER] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_GENGAR] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_ONIX] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_DROWZEE] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_HYPNO] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_KRABBY] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_KINGLER] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_VOLTORB] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_ELECTRODE] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_EXEGGCUTE] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_EXEGGUTOR] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_CUBONE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_MAROWAK] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_HITMONLEE] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_HITMONCHAN] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_LICKITUNG] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_KOFFING] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_WEEZING] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_RHYHORN] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_RHYDON] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_CHANSEY] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_TANGELA] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_KANGASKHAN] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_HORSEA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SEADRA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_GOLDEEN] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SEAKING] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_STARYU] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_STARMIE] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_MR_MIME] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SCYTHER] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_JYNX] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_ELECTABUZZ] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAGMAR] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_PINSIR] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_TAUROS] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_MAGIKARP] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_GYARADOS] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LAPRAS] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_DITTO] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x11,
+ },
+ [SPECIES_EEVEE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_VAPOREON] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_JOLTEON] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_FLAREON] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_PORYGON] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_OMANYTE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_OMASTAR] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_KABUTO] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_KABUTOPS] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_AERODACTYL] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SNORLAX] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_ARTICUNO] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_ZAPDOS] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MOLTRES] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_DRATINI] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_DRAGONAIR] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_DRAGONITE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_MEWTWO] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x01,
+ },
+ [SPECIES_MEW] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_CHIKORITA] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_BAYLEEF] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MEGANIUM] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CYNDAQUIL] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_QUILAVA] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_TYPHLOSION] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_TOTODILE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CROCONAW] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_FERALIGATR] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SENTRET] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_FURRET] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_HOOTHOOT] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_NOCTOWL] =
+ {
+ .coords = 0x68,
+ .y_offset = 0x03,
+ },
+ [SPECIES_LEDYBA] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_LEDIAN] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SPINARAK] =
+ {
+ .coords = 0x73,
+ .y_offset = 0x15,
+ },
+ [SPECIES_ARIADOS] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CROBAT] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_CHINCHOU] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_LANTURN] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_PICHU] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CLEFFA] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_IGGLYBUFF] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_TOGEPI] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x10,
+ },
+ [SPECIES_TOGETIC] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_NATU] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x11,
+ },
+ [SPECIES_XATU] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAREEP] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_FLAAFFY] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_AMPHAROS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_BELLOSSOM] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MARILL] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_AZUMARILL] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SUDOWOODO] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_POLITOED] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_HOPPIP] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SKIPLOOM] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_JUMPLUFF] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_AIPOM] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SUNKERN] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SUNFLORA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_YANMA] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_WOOPER] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_QUAGSIRE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ESPEON] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_UMBREON] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_MURKROW] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SLOWKING] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MISDREAVUS] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN] =
+ {
+ .coords = 0x36,
+ .y_offset = 0x08,
+ },
+ [SPECIES_WOBBUFFET] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_GIRAFARIG] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_PINECO] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_FORRETRESS] =
+ {
+ .coords = 0x84,
+ .y_offset = 0x10,
+ },
+ [SPECIES_DUNSPARCE] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_GLIGAR] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_STEELIX] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SNUBBULL] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_GRANBULL] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_QWILFISH] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SCIZOR] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SHUCKLE] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_HERACROSS] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SNEASEL] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_TEDDIURSA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_URSARING] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SLUGMA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAGCARGO] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SWINUB] =
+ {
+ .coords = 0x63,
+ .y_offset = 0x15,
+ },
+ [SPECIES_PILOSWINE] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_CORSOLA] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_REMORAID] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_OCTILLERY] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DELIBIRD] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_MANTINE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SKARMORY] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_HOUNDOUR] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_HOUNDOOM] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_KINGDRA] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_PHANPY] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_DONPHAN] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_PORYGON2] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_STANTLER] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SMEARGLE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_TYROGUE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_HITMONTOP] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_SMOOCHUM] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x09,
+ },
+ [SPECIES_ELEKID] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAGBY] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MILTANK] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_BLISSEY] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_RAIKOU] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_ENTEI] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_SUICUNE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_LARVITAR] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_PUPITAR] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_TYRANITAR] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LUGIA] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_HO_OH] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_CELEBI] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_OLD_UNOWN_B] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_C] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_D] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_E] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_F] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_G] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_H] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_I] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_J] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_K] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_L] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_M] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_N] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_O] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_P] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_Q] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_R] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_S] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_T] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_U] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_V] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_W] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_X] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_Y] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_OLD_UNOWN_Z] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_TREECKO] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GROVYLE] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SCEPTILE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_TORCHIC] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_COMBUSKEN] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_BLAZIKEN] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_MUDKIP] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_MARSHTOMP] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SWAMPERT] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_POOCHYENA] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_MIGHTYENA] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_ZIGZAGOON] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_LINOONE] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_WURMPLE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SILCOON] =
+ {
+ .coords = 0x83,
+ .y_offset = 0x15,
+ },
+ [SPECIES_BEAUTIFLY] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CASCOON] =
+ {
+ .coords = 0x73,
+ .y_offset = 0x14,
+ },
+ [SPECIES_DUSTOX] =
+ {
+ .coords = 0x83,
+ .y_offset = 0x14,
+ },
+ [SPECIES_LOTAD] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_LOMBRE] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_LUDICOLO] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SEEDOT] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NUZLEAF] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SHIFTRY] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_NINCADA] =
+ {
+ .coords = 0x83,
+ .y_offset = 0x14,
+ },
+ [SPECIES_NINJASK] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SHEDINJA] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_TAILLOW] =
+ {
+ .coords = 0x64,
+ .y_offset = 0x11,
+ },
+ [SPECIES_SWELLOW] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SHROOMISH] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_BRELOOM] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SPINDA] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_WINGULL] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_PELIPPER] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_SURSKIT] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MASQUERAIN] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_WAILMER] =
+ {
+ .coords = 0x83,
+ .y_offset = 0x15,
+ },
+ [SPECIES_WAILORD] =
+ {
+ .coords = 0x83,
+ .y_offset = 0x16,
+ },
+ [SPECIES_SKITTY] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DELCATTY] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_KECLEON] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_BALTOY] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_CLAYDOL] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_NOSEPASS] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_TORKOAL] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SABLEYE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_BARBOACH] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_WHISCASH] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_LUVDISC] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_CORPHISH] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CRAWDAUNT] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_FEEBAS] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_MILOTIC] =
+ {
+ .coords = 0x68,
+ .y_offset = 0x02,
+ },
+ [SPECIES_CARVANHA] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SHARPEDO] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_TRAPINCH] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_VIBRAVA] =
+ {
+ .coords = 0x74,
+ .y_offset = 0x11,
+ },
+ [SPECIES_FLYGON] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_MAKUHITA] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_HARIYAMA] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_ELECTRIKE] =
+ {
+ .coords = 0x84,
+ .y_offset = 0x10,
+ },
+ [SPECIES_MANECTRIC] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_NUMEL] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_CAMERUPT] =
+ {
+ .coords = 0x84,
+ .y_offset = 0x13,
+ },
+ [SPECIES_SPHEAL] =
+ {
+ .coords = 0x64,
+ .y_offset = 0x12,
+ },
+ [SPECIES_SEALEO] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_WALREIN] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_CACNEA] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_CACTURNE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_SNORUNT] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_GLALIE] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_LUNATONE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_SOLROCK] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_AZURILL] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SPOINK] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GRUMPIG] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_PLUSLE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MINUN] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAWILE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_MEDITITE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MEDICHAM] =
+ {
+ .coords = 0x68,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SWABLU] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_ALTARIA] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_WYNAUT] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_DUSKULL] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_DUSCLOPS] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ROSELIA] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SLAKOTH] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_VIGOROTH] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SLAKING] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_GULPIN] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SWALOT] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_TROPIUS] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_WHISMUR] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_LOUDRED] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_EXPLOUD] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_CLAMPERL] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_HUNTAIL] =
+ {
+ .coords = 0x68,
+ .y_offset = 0x02,
+ },
+ [SPECIES_GOREBYSS] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_ABSOL] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SHUPPET] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_BANETTE] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_SEVIPER] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_ZANGOOSE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_RELICANTH] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_ARON] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x11,
+ },
+ [SPECIES_LAIRON] =
+ {
+ .coords = 0x84,
+ .y_offset = 0x11,
+ },
+ [SPECIES_AGGRON] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CASTFORM] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_VOLBEAT] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ILLUMISE] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_LILEEP] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_CRADILY] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_ANORITH] =
+ {
+ .coords = 0x83,
+ .y_offset = 0x17,
+ },
+ [SPECIES_ARMALDO] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_RALTS] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_KIRLIA] =
+ {
+ .coords = 0x57,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GARDEVOIR] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_BAGON] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SHELGON] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SALAMENCE] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_BELDUM] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_METANG] =
+ {
+ .coords = 0x84,
+ .y_offset = 0x10,
+ },
+ [SPECIES_METAGROSS] =
+ {
+ .coords = 0x83,
+ .y_offset = 0x14,
+ },
+ [SPECIES_REGIROCK] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_REGICE] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_REGISTEEL] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_KYOGRE] =
+ {
+ .coords = 0x84,
+ .y_offset = 0x13,
+ },
+ [SPECIES_GROUDON] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_RAYQUAZA] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LATIAS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_LATIOS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_JIRACHI] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_DEOXYS] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_CHIMECHO] =
+ {
+ .coords = 0x47,
+ .y_offset = 0x07,
+ },
+ [SPECIES_EGG] =
+ {
+ .coords = 0x36,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_B] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x09,
+ },
+ [SPECIES_UNOWN_C] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_UNOWN_D] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_UNOWN_E] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_F] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_G] =
+ {
+ .coords = 0x57,
+ .y_offset = 0x05,
+ },
+ [SPECIES_UNOWN_H] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_UNOWN_I] =
+ {
+ .coords = 0x37,
+ .y_offset = 0x07,
+ },
+ [SPECIES_UNOWN_J] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x09,
+ },
+ [SPECIES_UNOWN_K] =
+ {
+ .coords = 0x57,
+ .y_offset = 0x07,
+ },
+ [SPECIES_UNOWN_L] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_M] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_N] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_O] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_UNOWN_P] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_Q] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_UNOWN_R] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_UNOWN_S] =
+ {
+ .coords = 0x57,
+ .y_offset = 0x04,
+ },
+ [SPECIES_UNOWN_T] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_U] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_V] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_UNOWN_W] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_UNOWN_X] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_UNOWN_Y] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_Z] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_UNOWN_EMARK] =
+ {
+ .coords = 0x37,
+ .y_offset = 0x06,
+ },
+ [SPECIES_UNOWN_QMARK] =
+ {
+ .coords = 0x47,
+ .y_offset = 0x06,
+ },
};
+
diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h
index 7426a8dc4..c6fd1300b 100644
--- a/src/data/pokemon_graphics/back_pic_table.h
+++ b/src/data/pokemon_graphics/back_pic_table.h
@@ -1,443 +1,444 @@
const struct CompressedSpriteSheet gMonBackPicTable[] =
{
- gMonBackPic_CircledQuestionMark, 0x800, 0,
- gMonBackPic_Bulbasaur, 0x800, 1,
- gMonBackPic_Ivysaur, 0x800, 2,
- gMonBackPic_Venusaur, 0x800, 3,
- gMonBackPic_Charmander, 0x800, 4,
- gMonBackPic_Charmeleon, 0x800, 5,
- gMonBackPic_Charizard, 0x800, 6,
- gMonBackPic_Squirtle, 0x800, 7,
- gMonBackPic_Wartortle, 0x800, 8,
- gMonBackPic_Blastoise, 0x800, 9,
- gMonBackPic_Caterpie, 0x800, 10,
- gMonBackPic_Metapod, 0x800, 11,
- gMonBackPic_Butterfree, 0x800, 12,
- gMonBackPic_Weedle, 0x800, 13,
- gMonBackPic_Kakuna, 0x800, 14,
- gMonBackPic_Beedrill, 0x800, 15,
- gMonBackPic_Pidgey, 0x800, 16,
- gMonBackPic_Pidgeotto, 0x800, 17,
- gMonBackPic_Pidgeot, 0x800, 18,
- gMonBackPic_Rattata, 0x800, 19,
- gMonBackPic_Raticate, 0x800, 20,
- gMonBackPic_Spearow, 0x800, 21,
- gMonBackPic_Fearow, 0x800, 22,
- gMonBackPic_Ekans, 0x800, 23,
- gMonBackPic_Arbok, 0x800, 24,
- gMonBackPic_Pikachu, 0x800, 25,
- gMonBackPic_Raichu, 0x800, 26,
- gMonBackPic_Sandshrew, 0x800, 27,
- gMonBackPic_Sandslash, 0x800, 28,
- gMonBackPic_NidoranF, 0x800, 29,
- gMonBackPic_Nidorina, 0x800, 30,
- gMonBackPic_Nidoqueen, 0x800, 31,
- gMonBackPic_NidoranM, 0x800, 32,
- gMonBackPic_Nidorino, 0x800, 33,
- gMonBackPic_Nidoking, 0x800, 34,
- gMonBackPic_Clefairy, 0x800, 35,
- gMonBackPic_Clefable, 0x800, 36,
- gMonBackPic_Vulpix, 0x800, 37,
- gMonBackPic_Ninetales, 0x800, 38,
- gMonBackPic_Jigglypuff, 0x800, 39,
- gMonBackPic_Wigglytuff, 0x800, 40,
- gMonBackPic_Zubat, 0x800, 41,
- gMonBackPic_Golbat, 0x800, 42,
- gMonBackPic_Oddish, 0x800, 43,
- gMonBackPic_Gloom, 0x800, 44,
- gMonBackPic_Vileplume, 0x800, 45,
- gMonBackPic_Paras, 0x800, 46,
- gMonBackPic_Parasect, 0x800, 47,
- gMonBackPic_Venonat, 0x800, 48,
- gMonBackPic_Venomoth, 0x800, 49,
- gMonBackPic_Diglett, 0x800, 50,
- gMonBackPic_Dugtrio, 0x800, 51,
- gMonBackPic_Meowth, 0x800, 52,
- gMonBackPic_Persian, 0x800, 53,
- gMonBackPic_Psyduck, 0x800, 54,
- gMonBackPic_Golduck, 0x800, 55,
- gMonBackPic_Mankey, 0x800, 56,
- gMonBackPic_Primeape, 0x800, 57,
- gMonBackPic_Growlithe, 0x800, 58,
- gMonBackPic_Arcanine, 0x800, 59,
- gMonBackPic_Poliwag, 0x800, 60,
- gMonBackPic_Poliwhirl, 0x800, 61,
- gMonBackPic_Poliwrath, 0x800, 62,
- gMonBackPic_Abra, 0x800, 63,
- gMonBackPic_Kadabra, 0x800, 64,
- gMonBackPic_Alakazam, 0x800, 65,
- gMonBackPic_Machop, 0x800, 66,
- gMonBackPic_Machoke, 0x800, 67,
- gMonBackPic_Machamp, 0x800, 68,
- gMonBackPic_Bellsprout, 0x800, 69,
- gMonBackPic_Weepinbell, 0x800, 70,
- gMonBackPic_Victreebel, 0x800, 71,
- gMonBackPic_Tentacool, 0x800, 72,
- gMonBackPic_Tentacruel, 0x800, 73,
- gMonBackPic_Geodude, 0x800, 74,
- gMonBackPic_Graveler, 0x800, 75,
- gMonBackPic_Golem, 0x800, 76,
- gMonBackPic_Ponyta, 0x800, 77,
- gMonBackPic_Rapidash, 0x800, 78,
- gMonBackPic_Slowpoke, 0x800, 79,
- gMonBackPic_Slowbro, 0x800, 80,
- gMonBackPic_Magnemite, 0x800, 81,
- gMonBackPic_Magneton, 0x800, 82,
- gMonBackPic_Farfetchd, 0x800, 83,
- gMonBackPic_Doduo, 0x800, 84,
- gMonBackPic_Dodrio, 0x800, 85,
- gMonBackPic_Seel, 0x800, 86,
- gMonBackPic_Dewgong, 0x800, 87,
- gMonBackPic_Grimer, 0x800, 88,
- gMonBackPic_Muk, 0x800, 89,
- gMonBackPic_Shellder, 0x800, 90,
- gMonBackPic_Cloyster, 0x800, 91,
- gMonBackPic_Gastly, 0x800, 92,
- gMonBackPic_Haunter, 0x800, 93,
- gMonBackPic_Gengar, 0x800, 94,
- gMonBackPic_Onix, 0x800, 95,
- gMonBackPic_Drowzee, 0x800, 96,
- gMonBackPic_Hypno, 0x800, 97,
- gMonBackPic_Krabby, 0x800, 98,
- gMonBackPic_Kingler, 0x800, 99,
- gMonBackPic_Voltorb, 0x800, 100,
- gMonBackPic_Electrode, 0x800, 101,
- gMonBackPic_Exeggcute, 0x800, 102,
- gMonBackPic_Exeggutor, 0x800, 103,
- gMonBackPic_Cubone, 0x800, 104,
- gMonBackPic_Marowak, 0x800, 105,
- gMonBackPic_Hitmonlee, 0x800, 106,
- gMonBackPic_Hitmonchan, 0x800, 107,
- gMonBackPic_Lickitung, 0x800, 108,
- gMonBackPic_Koffing, 0x800, 109,
- gMonBackPic_Weezing, 0x800, 110,
- gMonBackPic_Rhyhorn, 0x800, 111,
- gMonBackPic_Rhydon, 0x800, 112,
- gMonBackPic_Chansey, 0x800, 113,
- gMonBackPic_Tangela, 0x800, 114,
- gMonBackPic_Kangaskhan, 0x800, 115,
- gMonBackPic_Horsea, 0x800, 116,
- gMonBackPic_Seadra, 0x800, 117,
- gMonBackPic_Goldeen, 0x800, 118,
- gMonBackPic_Seaking, 0x800, 119,
- gMonBackPic_Staryu, 0x800, 120,
- gMonBackPic_Starmie, 0x800, 121,
- gMonBackPic_Mrmime, 0x800, 122,
- gMonBackPic_Scyther, 0x800, 123,
- gMonBackPic_Jynx, 0x800, 124,
- gMonBackPic_Electabuzz, 0x800, 125,
- gMonBackPic_Magmar, 0x800, 126,
- gMonBackPic_Pinsir, 0x800, 127,
- gMonBackPic_Tauros, 0x800, 128,
- gMonBackPic_Magikarp, 0x800, 129,
- gMonBackPic_Gyarados, 0x800, 130,
- gMonBackPic_Lapras, 0x800, 131,
- gMonBackPic_Ditto, 0x800, 132,
- gMonBackPic_Eevee, 0x800, 133,
- gMonBackPic_Vaporeon, 0x800, 134,
- gMonBackPic_Jolteon, 0x800, 135,
- gMonBackPic_Flareon, 0x800, 136,
- gMonBackPic_Porygon, 0x800, 137,
- gMonBackPic_Omanyte, 0x800, 138,
- gMonBackPic_Omastar, 0x800, 139,
- gMonBackPic_Kabuto, 0x800, 140,
- gMonBackPic_Kabutops, 0x800, 141,
- gMonBackPic_Aerodactyl, 0x800, 142,
- gMonBackPic_Snorlax, 0x800, 143,
- gMonBackPic_Articuno, 0x800, 144,
- gMonBackPic_Zapdos, 0x800, 145,
- gMonBackPic_Moltres, 0x800, 146,
- gMonBackPic_Dratini, 0x800, 147,
- gMonBackPic_Dragonair, 0x800, 148,
- gMonBackPic_Dragonite, 0x800, 149,
- gMonBackPic_Mewtwo, 0x800, 150,
- gMonBackPic_Mew, 0x800, 151,
- gMonBackPic_Chikorita, 0x800, 152,
- gMonBackPic_Bayleef, 0x800, 153,
- gMonBackPic_Meganium, 0x800, 154,
- gMonBackPic_Cyndaquil, 0x800, 155,
- gMonBackPic_Quilava, 0x800, 156,
- gMonBackPic_Typhlosion, 0x800, 157,
- gMonBackPic_Totodile, 0x800, 158,
- gMonBackPic_Croconaw, 0x800, 159,
- gMonBackPic_Feraligatr, 0x800, 160,
- gMonBackPic_Sentret, 0x800, 161,
- gMonBackPic_Furret, 0x800, 162,
- gMonBackPic_Hoothoot, 0x800, 163,
- gMonBackPic_Noctowl, 0x800, 164,
- gMonBackPic_Ledyba, 0x800, 165,
- gMonBackPic_Ledian, 0x800, 166,
- gMonBackPic_Spinarak, 0x800, 167,
- gMonBackPic_Ariados, 0x800, 168,
- gMonBackPic_Crobat, 0x800, 169,
- gMonBackPic_Chinchou, 0x800, 170,
- gMonBackPic_Lanturn, 0x800, 171,
- gMonBackPic_Pichu, 0x800, 172,
- gMonBackPic_Cleffa, 0x800, 173,
- gMonBackPic_Igglybuff, 0x800, 174,
- gMonBackPic_Togepi, 0x800, 175,
- gMonBackPic_Togetic, 0x800, 176,
- gMonBackPic_Natu, 0x800, 177,
- gMonBackPic_Xatu, 0x800, 178,
- gMonBackPic_Mareep, 0x800, 179,
- gMonBackPic_Flaaffy, 0x800, 180,
- gMonBackPic_Ampharos, 0x800, 181,
- gMonBackPic_Bellossom, 0x800, 182,
- gMonBackPic_Marill, 0x800, 183,
- gMonBackPic_Azumarill, 0x800, 184,
- gMonBackPic_Sudowoodo, 0x800, 185,
- gMonBackPic_Politoed, 0x800, 186,
- gMonBackPic_Hoppip, 0x800, 187,
- gMonBackPic_Skiploom, 0x800, 188,
- gMonBackPic_Jumpluff, 0x800, 189,
- gMonBackPic_Aipom, 0x800, 190,
- gMonBackPic_Sunkern, 0x800, 191,
- gMonBackPic_Sunflora, 0x800, 192,
- gMonBackPic_Yanma, 0x800, 193,
- gMonBackPic_Wooper, 0x800, 194,
- gMonBackPic_Quagsire, 0x800, 195,
- gMonBackPic_Espeon, 0x800, 196,
- gMonBackPic_Umbreon, 0x800, 197,
- gMonBackPic_Murkrow, 0x800, 198,
- gMonBackPic_Slowking, 0x800, 199,
- gMonBackPic_Misdreavus, 0x800, 200,
- gMonBackPic_UnownA, 0x800, 201,
- gMonBackPic_Wobbuffet, 0x800, 202,
- gMonBackPic_Girafarig, 0x800, 203,
- gMonBackPic_Pineco, 0x800, 204,
- gMonBackPic_Forretress, 0x800, 205,
- gMonBackPic_Dunsparce, 0x800, 206,
- gMonBackPic_Gligar, 0x800, 207,
- gMonBackPic_Steelix, 0x800, 208,
- gMonBackPic_Snubbull, 0x800, 209,
- gMonBackPic_Granbull, 0x800, 210,
- gMonBackPic_Qwilfish, 0x800, 211,
- gMonBackPic_Scizor, 0x800, 212,
- gMonBackPic_Shuckle, 0x800, 213,
- gMonBackPic_Heracross, 0x800, 214,
- gMonBackPic_Sneasel, 0x800, 215,
- gMonBackPic_Teddiursa, 0x800, 216,
- gMonBackPic_Ursaring, 0x800, 217,
- gMonBackPic_Slugma, 0x800, 218,
- gMonBackPic_Magcargo, 0x800, 219,
- gMonBackPic_Swinub, 0x800, 220,
- gMonBackPic_Piloswine, 0x800, 221,
- gMonBackPic_Corsola, 0x800, 222,
- gMonBackPic_Remoraid, 0x800, 223,
- gMonBackPic_Octillery, 0x800, 224,
- gMonBackPic_Delibird, 0x800, 225,
- gMonBackPic_Mantine, 0x800, 226,
- gMonBackPic_Skarmory, 0x800, 227,
- gMonBackPic_Houndour, 0x800, 228,
- gMonBackPic_Houndoom, 0x800, 229,
- gMonBackPic_Kingdra, 0x800, 230,
- gMonBackPic_Phanpy, 0x800, 231,
- gMonBackPic_Donphan, 0x800, 232,
- gMonBackPic_Porygon2, 0x800, 233,
- gMonBackPic_Stantler, 0x800, 234,
- gMonBackPic_Smeargle, 0x800, 235,
- gMonBackPic_Tyrogue, 0x800, 236,
- gMonBackPic_Hitmontop, 0x800, 237,
- gMonBackPic_Smoochum, 0x800, 238,
- gMonBackPic_Elekid, 0x800, 239,
- gMonBackPic_Magby, 0x800, 240,
- gMonBackPic_Miltank, 0x800, 241,
- gMonBackPic_Blissey, 0x800, 242,
- gMonBackPic_Raikou, 0x800, 243,
- gMonBackPic_Entei, 0x800, 244,
- gMonBackPic_Suicune, 0x800, 245,
- gMonBackPic_Larvitar, 0x800, 246,
- gMonBackPic_Pupitar, 0x800, 247,
- gMonBackPic_Tyranitar, 0x800, 248,
- gMonBackPic_Lugia, 0x800, 249,
- gMonBackPic_HoOh, 0x800, 250,
- gMonBackPic_Celebi, 0x800, 251,
- gMonBackPic_DoubleQuestionMark, 0x800, 252,
- gMonBackPic_DoubleQuestionMark, 0x800, 253,
- gMonBackPic_DoubleQuestionMark, 0x800, 254,
- gMonBackPic_DoubleQuestionMark, 0x800, 255,
- gMonBackPic_DoubleQuestionMark, 0x800, 256,
- gMonBackPic_DoubleQuestionMark, 0x800, 257,
- gMonBackPic_DoubleQuestionMark, 0x800, 258,
- gMonBackPic_DoubleQuestionMark, 0x800, 259,
- gMonBackPic_DoubleQuestionMark, 0x800, 260,
- gMonBackPic_DoubleQuestionMark, 0x800, 261,
- gMonBackPic_DoubleQuestionMark, 0x800, 262,
- gMonBackPic_DoubleQuestionMark, 0x800, 263,
- gMonBackPic_DoubleQuestionMark, 0x800, 264,
- gMonBackPic_DoubleQuestionMark, 0x800, 265,
- gMonBackPic_DoubleQuestionMark, 0x800, 266,
- gMonBackPic_DoubleQuestionMark, 0x800, 267,
- gMonBackPic_DoubleQuestionMark, 0x800, 268,
- gMonBackPic_DoubleQuestionMark, 0x800, 269,
- gMonBackPic_DoubleQuestionMark, 0x800, 270,
- gMonBackPic_DoubleQuestionMark, 0x800, 271,
- gMonBackPic_DoubleQuestionMark, 0x800, 272,
- gMonBackPic_DoubleQuestionMark, 0x800, 273,
- gMonBackPic_DoubleQuestionMark, 0x800, 274,
- gMonBackPic_DoubleQuestionMark, 0x800, 275,
- gMonBackPic_DoubleQuestionMark, 0x800, 276,
- gMonBackPic_Treecko, 0x800, 277,
- gMonBackPic_Grovyle, 0x800, 278,
- gMonBackPic_Sceptile, 0x800, 279,
- gMonBackPic_Torchic, 0x800, 280,
- gMonBackPic_Combusken, 0x800, 281,
- gMonBackPic_Blaziken, 0x800, 282,
- gMonBackPic_Mudkip, 0x800, 283,
- gMonBackPic_Marshtomp, 0x800, 284,
- gMonBackPic_Swampert, 0x800, 285,
- gMonBackPic_Poochyena, 0x800, 286,
- gMonBackPic_Mightyena, 0x800, 287,
- gMonBackPic_Zigzagoon, 0x800, 288,
- gMonBackPic_Linoone, 0x800, 289,
- gMonBackPic_Wurmple, 0x800, 290,
- gMonBackPic_Silcoon, 0x800, 291,
- gMonBackPic_Beautifly, 0x800, 292,
- gMonBackPic_Cascoon, 0x800, 293,
- gMonBackPic_Dustox, 0x800, 294,
- gMonBackPic_Lotad, 0x800, 295,
- gMonBackPic_Lombre, 0x800, 296,
- gMonBackPic_Ludicolo, 0x800, 297,
- gMonBackPic_Seedot, 0x800, 298,
- gMonBackPic_Nuzleaf, 0x800, 299,
- gMonBackPic_Shiftry, 0x800, 300,
- gMonBackPic_Nincada, 0x800, 301,
- gMonBackPic_Ninjask, 0x800, 302,
- gMonBackPic_Shedinja, 0x800, 303,
- gMonBackPic_Taillow, 0x800, 304,
- gMonBackPic_Swellow, 0x800, 305,
- gMonBackPic_Shroomish, 0x800, 306,
- gMonBackPic_Breloom, 0x800, 307,
- gMonBackPic_Spinda, 0x800, 308,
- gMonBackPic_Wingull, 0x800, 309,
- gMonBackPic_Pelipper, 0x800, 310,
- gMonBackPic_Surskit, 0x800, 311,
- gMonBackPic_Masquerain, 0x800, 312,
- gMonBackPic_Wailmer, 0x800, 313,
- gMonBackPic_Wailord, 0x800, 314,
- gMonBackPic_Skitty, 0x800, 315,
- gMonBackPic_Delcatty, 0x800, 316,
- gMonBackPic_Kecleon, 0x800, 317,
- gMonBackPic_Baltoy, 0x800, 318,
- gMonBackPic_Claydol, 0x800, 319,
- gMonBackPic_Nosepass, 0x800, 320,
- gMonBackPic_Torkoal, 0x800, 321,
- gMonBackPic_Sableye, 0x800, 322,
- gMonBackPic_Barboach, 0x800, 323,
- gMonBackPic_Whiscash, 0x800, 324,
- gMonBackPic_Luvdisc, 0x800, 325,
- gMonBackPic_Corphish, 0x800, 326,
- gMonBackPic_Crawdaunt, 0x800, 327,
- gMonBackPic_Feebas, 0x800, 328,
- gMonBackPic_Milotic, 0x800, 329,
- gMonBackPic_Carvanha, 0x800, 330,
- gMonBackPic_Sharpedo, 0x800, 331,
- gMonBackPic_Trapinch, 0x800, 332,
- gMonBackPic_Vibrava, 0x800, 333,
- gMonBackPic_Flygon, 0x800, 334,
- gMonBackPic_Makuhita, 0x800, 335,
- gMonBackPic_Hariyama, 0x800, 336,
- gMonBackPic_Electrike, 0x800, 337,
- gMonBackPic_Manectric, 0x800, 338,
- gMonBackPic_Numel, 0x800, 339,
- gMonBackPic_Camerupt, 0x800, 340,
- gMonBackPic_Spheal, 0x800, 341,
- gMonBackPic_Sealeo, 0x800, 342,
- gMonBackPic_Walrein, 0x800, 343,
- gMonBackPic_Cacnea, 0x800, 344,
- gMonBackPic_Cacturne, 0x800, 345,
- gMonBackPic_Snorunt, 0x800, 346,
- gMonBackPic_Glalie, 0x800, 347,
- gMonBackPic_Lunatone, 0x800, 348,
- gMonBackPic_Solrock, 0x800, 349,
- gMonBackPic_Azurill, 0x800, 350,
- gMonBackPic_Spoink, 0x800, 351,
- gMonBackPic_Grumpig, 0x800, 352,
- gMonBackPic_Plusle, 0x800, 353,
- gMonBackPic_Minun, 0x800, 354,
- gMonBackPic_Mawile, 0x800, 355,
- gMonBackPic_Meditite, 0x800, 356,
- gMonBackPic_Medicham, 0x800, 357,
- gMonBackPic_Swablu, 0x800, 358,
- gMonBackPic_Altaria, 0x800, 359,
- gMonBackPic_Wynaut, 0x800, 360,
- gMonBackPic_Duskull, 0x800, 361,
- gMonBackPic_Dusclops, 0x800, 362,
- gMonBackPic_Roselia, 0x800, 363,
- gMonBackPic_Slakoth, 0x800, 364,
- gMonBackPic_Vigoroth, 0x800, 365,
- gMonBackPic_Slaking, 0x800, 366,
- gMonBackPic_Gulpin, 0x800, 367,
- gMonBackPic_Swalot, 0x800, 368,
- gMonBackPic_Tropius, 0x800, 369,
- gMonBackPic_Whismur, 0x800, 370,
- gMonBackPic_Loudred, 0x800, 371,
- gMonBackPic_Exploud, 0x800, 372,
- gMonBackPic_Clamperl, 0x800, 373,
- gMonBackPic_Huntail, 0x800, 374,
- gMonBackPic_Gorebyss, 0x800, 375,
- gMonBackPic_Absol, 0x800, 376,
- gMonBackPic_Shuppet, 0x800, 377,
- gMonBackPic_Banette, 0x800, 378,
- gMonBackPic_Seviper, 0x800, 379,
- gMonBackPic_Zangoose, 0x800, 380,
- gMonBackPic_Relicanth, 0x800, 381,
- gMonBackPic_Aron, 0x800, 382,
- gMonBackPic_Lairon, 0x800, 383,
- gMonBackPic_Aggron, 0x800, 384,
- gMonBackPic_Castform, 0x800, 385,
- gMonBackPic_Volbeat, 0x800, 386,
- gMonBackPic_Illumise, 0x800, 387,
- gMonBackPic_Lileep, 0x800, 388,
- gMonBackPic_Cradily, 0x800, 389,
- gMonBackPic_Anorith, 0x800, 390,
- gMonBackPic_Armaldo, 0x800, 391,
- gMonBackPic_Ralts, 0x800, 392,
- gMonBackPic_Kirlia, 0x800, 393,
- gMonBackPic_Gardevoir, 0x800, 394,
- gMonBackPic_Bagon, 0x800, 395,
- gMonBackPic_Shelgon, 0x800, 396,
- gMonBackPic_Salamence, 0x800, 397,
- gMonBackPic_Beldum, 0x800, 398,
- gMonBackPic_Metang, 0x800, 399,
- gMonBackPic_Metagross, 0x800, 400,
- gMonBackPic_Regirock, 0x800, 401,
- gMonBackPic_Regice, 0x800, 402,
- gMonBackPic_Registeel, 0x800, 403,
- gMonBackPic_Kyogre, 0x800, 404,
- gMonBackPic_Groudon, 0x800, 405,
- gMonBackPic_Rayquaza, 0x800, 406,
- gMonBackPic_Latias, 0x800, 407,
- gMonBackPic_Latios, 0x800, 408,
- gMonBackPic_Jirachi, 0x800, 409,
- gMonBackPic_Deoxys, 0x800, 410,
- gMonBackPic_Chimecho, 0x800, 411,
- gMonStillFrontPic_Egg, 0x800, 412,
- gMonBackPic_UnownB, 0x800, 413,
- gMonBackPic_UnownC, 0x800, 414,
- gMonBackPic_UnownD, 0x800, 415,
- gMonBackPic_UnownE, 0x800, 416,
- gMonBackPic_UnownF, 0x800, 417,
- gMonBackPic_UnownG, 0x800, 418,
- gMonBackPic_UnownH, 0x800, 419,
- gMonBackPic_UnownI, 0x800, 420,
- gMonBackPic_UnownJ, 0x800, 421,
- gMonBackPic_UnownK, 0x800, 422,
- gMonBackPic_UnownL, 0x800, 423,
- gMonBackPic_UnownM, 0x800, 424,
- gMonBackPic_UnownN, 0x800, 425,
- gMonBackPic_UnownO, 0x800, 426,
- gMonBackPic_UnownP, 0x800, 427,
- gMonBackPic_UnownQ, 0x800, 428,
- gMonBackPic_UnownR, 0x800, 429,
- gMonBackPic_UnownS, 0x800, 430,
- gMonBackPic_UnownT, 0x800, 431,
- gMonBackPic_UnownU, 0x800, 432,
- gMonBackPic_UnownV, 0x800, 433,
- gMonBackPic_UnownW, 0x800, 434,
- gMonBackPic_UnownX, 0x800, 435,
- gMonBackPic_UnownY, 0x800, 436,
- gMonBackPic_UnownZ, 0x800, 437,
- gMonBackPic_UnownExclamationMark, 0x800, 438,
- gMonBackPic_UnownQuestionMark, 0x800, 439,
+ [SPECIES_NONE] = {gMonBackPic_CircledQuestionMark, 0x800, SPECIES_NONE},
+ [SPECIES_BULBASAUR] = {gMonBackPic_Bulbasaur, 0x800, SPECIES_BULBASAUR},
+ [SPECIES_IVYSAUR] = {gMonBackPic_Ivysaur, 0x800, SPECIES_IVYSAUR},
+ [SPECIES_VENUSAUR] = {gMonBackPic_Venusaur, 0x800, SPECIES_VENUSAUR},
+ [SPECIES_CHARMANDER] = {gMonBackPic_Charmander, 0x800, SPECIES_CHARMANDER},
+ [SPECIES_CHARMELEON] = {gMonBackPic_Charmeleon, 0x800, SPECIES_CHARMELEON},
+ [SPECIES_CHARIZARD] = {gMonBackPic_Charizard, 0x800, SPECIES_CHARIZARD},
+ [SPECIES_SQUIRTLE] = {gMonBackPic_Squirtle, 0x800, SPECIES_SQUIRTLE},
+ [SPECIES_WARTORTLE] = {gMonBackPic_Wartortle, 0x800, SPECIES_WARTORTLE},
+ [SPECIES_BLASTOISE] = {gMonBackPic_Blastoise, 0x800, SPECIES_BLASTOISE},
+ [SPECIES_CATERPIE] = {gMonBackPic_Caterpie, 0x800, SPECIES_CATERPIE},
+ [SPECIES_METAPOD] = {gMonBackPic_Metapod, 0x800, SPECIES_METAPOD},
+ [SPECIES_BUTTERFREE] = {gMonBackPic_Butterfree, 0x800, SPECIES_BUTTERFREE},
+ [SPECIES_WEEDLE] = {gMonBackPic_Weedle, 0x800, SPECIES_WEEDLE},
+ [SPECIES_KAKUNA] = {gMonBackPic_Kakuna, 0x800, SPECIES_KAKUNA},
+ [SPECIES_BEEDRILL] = {gMonBackPic_Beedrill, 0x800, SPECIES_BEEDRILL},
+ [SPECIES_PIDGEY] = {gMonBackPic_Pidgey, 0x800, SPECIES_PIDGEY},
+ [SPECIES_PIDGEOTTO] = {gMonBackPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO},
+ [SPECIES_PIDGEOT] = {gMonBackPic_Pidgeot, 0x800, SPECIES_PIDGEOT},
+ [SPECIES_RATTATA] = {gMonBackPic_Rattata, 0x800, SPECIES_RATTATA},
+ [SPECIES_RATICATE] = {gMonBackPic_Raticate, 0x800, SPECIES_RATICATE},
+ [SPECIES_SPEAROW] = {gMonBackPic_Spearow, 0x800, SPECIES_SPEAROW},
+ [SPECIES_FEAROW] = {gMonBackPic_Fearow, 0x800, SPECIES_FEAROW},
+ [SPECIES_EKANS] = {gMonBackPic_Ekans, 0x800, SPECIES_EKANS},
+ [SPECIES_ARBOK] = {gMonBackPic_Arbok, 0x800, SPECIES_ARBOK},
+ [SPECIES_PIKACHU] = {gMonBackPic_Pikachu, 0x800, SPECIES_PIKACHU},
+ [SPECIES_RAICHU] = {gMonBackPic_Raichu, 0x800, SPECIES_RAICHU},
+ [SPECIES_SANDSHREW] = {gMonBackPic_Sandshrew, 0x800, SPECIES_SANDSHREW},
+ [SPECIES_SANDSLASH] = {gMonBackPic_Sandslash, 0x800, SPECIES_SANDSLASH},
+ [SPECIES_NIDORAN_F] = {gMonBackPic_NidoranF, 0x800, SPECIES_NIDORAN_F},
+ [SPECIES_NIDORINA] = {gMonBackPic_Nidorina, 0x800, SPECIES_NIDORINA},
+ [SPECIES_NIDOQUEEN] = {gMonBackPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN},
+ [SPECIES_NIDORAN_M] = {gMonBackPic_NidoranM, 0x800, SPECIES_NIDORAN_M},
+ [SPECIES_NIDORINO] = {gMonBackPic_Nidorino, 0x800, SPECIES_NIDORINO},
+ [SPECIES_NIDOKING] = {gMonBackPic_Nidoking, 0x800, SPECIES_NIDOKING},
+ [SPECIES_CLEFAIRY] = {gMonBackPic_Clefairy, 0x800, SPECIES_CLEFAIRY},
+ [SPECIES_CLEFABLE] = {gMonBackPic_Clefable, 0x800, SPECIES_CLEFABLE},
+ [SPECIES_VULPIX] = {gMonBackPic_Vulpix, 0x800, SPECIES_VULPIX},
+ [SPECIES_NINETALES] = {gMonBackPic_Ninetales, 0x800, SPECIES_NINETALES},
+ [SPECIES_JIGGLYPUFF] = {gMonBackPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF},
+ [SPECIES_WIGGLYTUFF] = {gMonBackPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF},
+ [SPECIES_ZUBAT] = {gMonBackPic_Zubat, 0x800, SPECIES_ZUBAT},
+ [SPECIES_GOLBAT] = {gMonBackPic_Golbat, 0x800, SPECIES_GOLBAT},
+ [SPECIES_ODDISH] = {gMonBackPic_Oddish, 0x800, SPECIES_ODDISH},
+ [SPECIES_GLOOM] = {gMonBackPic_Gloom, 0x800, SPECIES_GLOOM},
+ [SPECIES_VILEPLUME] = {gMonBackPic_Vileplume, 0x800, SPECIES_VILEPLUME},
+ [SPECIES_PARAS] = {gMonBackPic_Paras, 0x800, SPECIES_PARAS},
+ [SPECIES_PARASECT] = {gMonBackPic_Parasect, 0x800, SPECIES_PARASECT},
+ [SPECIES_VENONAT] = {gMonBackPic_Venonat, 0x800, SPECIES_VENONAT},
+ [SPECIES_VENOMOTH] = {gMonBackPic_Venomoth, 0x800, SPECIES_VENOMOTH},
+ [SPECIES_DIGLETT] = {gMonBackPic_Diglett, 0x800, SPECIES_DIGLETT},
+ [SPECIES_DUGTRIO] = {gMonBackPic_Dugtrio, 0x800, SPECIES_DUGTRIO},
+ [SPECIES_MEOWTH] = {gMonBackPic_Meowth, 0x800, SPECIES_MEOWTH},
+ [SPECIES_PERSIAN] = {gMonBackPic_Persian, 0x800, SPECIES_PERSIAN},
+ [SPECIES_PSYDUCK] = {gMonBackPic_Psyduck, 0x800, SPECIES_PSYDUCK},
+ [SPECIES_GOLDUCK] = {gMonBackPic_Golduck, 0x800, SPECIES_GOLDUCK},
+ [SPECIES_MANKEY] = {gMonBackPic_Mankey, 0x800, SPECIES_MANKEY},
+ [SPECIES_PRIMEAPE] = {gMonBackPic_Primeape, 0x800, SPECIES_PRIMEAPE},
+ [SPECIES_GROWLITHE] = {gMonBackPic_Growlithe, 0x800, SPECIES_GROWLITHE},
+ [SPECIES_ARCANINE] = {gMonBackPic_Arcanine, 0x800, SPECIES_ARCANINE},
+ [SPECIES_POLIWAG] = {gMonBackPic_Poliwag, 0x800, SPECIES_POLIWAG},
+ [SPECIES_POLIWHIRL] = {gMonBackPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL},
+ [SPECIES_POLIWRATH] = {gMonBackPic_Poliwrath, 0x800, SPECIES_POLIWRATH},
+ [SPECIES_ABRA] = {gMonBackPic_Abra, 0x800, SPECIES_ABRA},
+ [SPECIES_KADABRA] = {gMonBackPic_Kadabra, 0x800, SPECIES_KADABRA},
+ [SPECIES_ALAKAZAM] = {gMonBackPic_Alakazam, 0x800, SPECIES_ALAKAZAM},
+ [SPECIES_MACHOP] = {gMonBackPic_Machop, 0x800, SPECIES_MACHOP},
+ [SPECIES_MACHOKE] = {gMonBackPic_Machoke, 0x800, SPECIES_MACHOKE},
+ [SPECIES_MACHAMP] = {gMonBackPic_Machamp, 0x800, SPECIES_MACHAMP},
+ [SPECIES_BELLSPROUT] = {gMonBackPic_Bellsprout, 0x800, SPECIES_BELLSPROUT},
+ [SPECIES_WEEPINBELL] = {gMonBackPic_Weepinbell, 0x800, SPECIES_WEEPINBELL},
+ [SPECIES_VICTREEBEL] = {gMonBackPic_Victreebel, 0x800, SPECIES_VICTREEBEL},
+ [SPECIES_TENTACOOL] = {gMonBackPic_Tentacool, 0x800, SPECIES_TENTACOOL},
+ [SPECIES_TENTACRUEL] = {gMonBackPic_Tentacruel, 0x800, SPECIES_TENTACRUEL},
+ [SPECIES_GEODUDE] = {gMonBackPic_Geodude, 0x800, SPECIES_GEODUDE},
+ [SPECIES_GRAVELER] = {gMonBackPic_Graveler, 0x800, SPECIES_GRAVELER},
+ [SPECIES_GOLEM] = {gMonBackPic_Golem, 0x800, SPECIES_GOLEM},
+ [SPECIES_PONYTA] = {gMonBackPic_Ponyta, 0x800, SPECIES_PONYTA},
+ [SPECIES_RAPIDASH] = {gMonBackPic_Rapidash, 0x800, SPECIES_RAPIDASH},
+ [SPECIES_SLOWPOKE] = {gMonBackPic_Slowpoke, 0x800, SPECIES_SLOWPOKE},
+ [SPECIES_SLOWBRO] = {gMonBackPic_Slowbro, 0x800, SPECIES_SLOWBRO},
+ [SPECIES_MAGNEMITE] = {gMonBackPic_Magnemite, 0x800, SPECIES_MAGNEMITE},
+ [SPECIES_MAGNETON] = {gMonBackPic_Magneton, 0x800, SPECIES_MAGNETON},
+ [SPECIES_FARFETCHD] = {gMonBackPic_Farfetchd, 0x800, SPECIES_FARFETCHD},
+ [SPECIES_DODUO] = {gMonBackPic_Doduo, 0x800, SPECIES_DODUO},
+ [SPECIES_DODRIO] = {gMonBackPic_Dodrio, 0x800, SPECIES_DODRIO},
+ [SPECIES_SEEL] = {gMonBackPic_Seel, 0x800, SPECIES_SEEL},
+ [SPECIES_DEWGONG] = {gMonBackPic_Dewgong, 0x800, SPECIES_DEWGONG},
+ [SPECIES_GRIMER] = {gMonBackPic_Grimer, 0x800, SPECIES_GRIMER},
+ [SPECIES_MUK] = {gMonBackPic_Muk, 0x800, SPECIES_MUK},
+ [SPECIES_SHELLDER] = {gMonBackPic_Shellder, 0x800, SPECIES_SHELLDER},
+ [SPECIES_CLOYSTER] = {gMonBackPic_Cloyster, 0x800, SPECIES_CLOYSTER},
+ [SPECIES_GASTLY] = {gMonBackPic_Gastly, 0x800, SPECIES_GASTLY},
+ [SPECIES_HAUNTER] = {gMonBackPic_Haunter, 0x800, SPECIES_HAUNTER},
+ [SPECIES_GENGAR] = {gMonBackPic_Gengar, 0x800, SPECIES_GENGAR},
+ [SPECIES_ONIX] = {gMonBackPic_Onix, 0x800, SPECIES_ONIX},
+ [SPECIES_DROWZEE] = {gMonBackPic_Drowzee, 0x800, SPECIES_DROWZEE},
+ [SPECIES_HYPNO] = {gMonBackPic_Hypno, 0x800, SPECIES_HYPNO},
+ [SPECIES_KRABBY] = {gMonBackPic_Krabby, 0x800, SPECIES_KRABBY},
+ [SPECIES_KINGLER] = {gMonBackPic_Kingler, 0x800, SPECIES_KINGLER},
+ [SPECIES_VOLTORB] = {gMonBackPic_Voltorb, 0x800, SPECIES_VOLTORB},
+ [SPECIES_ELECTRODE] = {gMonBackPic_Electrode, 0x800, SPECIES_ELECTRODE},
+ [SPECIES_EXEGGCUTE] = {gMonBackPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE},
+ [SPECIES_EXEGGUTOR] = {gMonBackPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR},
+ [SPECIES_CUBONE] = {gMonBackPic_Cubone, 0x800, SPECIES_CUBONE},
+ [SPECIES_MAROWAK] = {gMonBackPic_Marowak, 0x800, SPECIES_MAROWAK},
+ [SPECIES_HITMONLEE] = {gMonBackPic_Hitmonlee, 0x800, SPECIES_HITMONLEE},
+ [SPECIES_HITMONCHAN] = {gMonBackPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN},
+ [SPECIES_LICKITUNG] = {gMonBackPic_Lickitung, 0x800, SPECIES_LICKITUNG},
+ [SPECIES_KOFFING] = {gMonBackPic_Koffing, 0x800, SPECIES_KOFFING},
+ [SPECIES_WEEZING] = {gMonBackPic_Weezing, 0x800, SPECIES_WEEZING},
+ [SPECIES_RHYHORN] = {gMonBackPic_Rhyhorn, 0x800, SPECIES_RHYHORN},
+ [SPECIES_RHYDON] = {gMonBackPic_Rhydon, 0x800, SPECIES_RHYDON},
+ [SPECIES_CHANSEY] = {gMonBackPic_Chansey, 0x800, SPECIES_CHANSEY},
+ [SPECIES_TANGELA] = {gMonBackPic_Tangela, 0x800, SPECIES_TANGELA},
+ [SPECIES_KANGASKHAN] = {gMonBackPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN},
+ [SPECIES_HORSEA] = {gMonBackPic_Horsea, 0x800, SPECIES_HORSEA},
+ [SPECIES_SEADRA] = {gMonBackPic_Seadra, 0x800, SPECIES_SEADRA},
+ [SPECIES_GOLDEEN] = {gMonBackPic_Goldeen, 0x800, SPECIES_GOLDEEN},
+ [SPECIES_SEAKING] = {gMonBackPic_Seaking, 0x800, SPECIES_SEAKING},
+ [SPECIES_STARYU] = {gMonBackPic_Staryu, 0x800, SPECIES_STARYU},
+ [SPECIES_STARMIE] = {gMonBackPic_Starmie, 0x800, SPECIES_STARMIE},
+ [SPECIES_MR_MIME] = {gMonBackPic_Mrmime, 0x800, SPECIES_MR_MIME},
+ [SPECIES_SCYTHER] = {gMonBackPic_Scyther, 0x800, SPECIES_SCYTHER},
+ [SPECIES_JYNX] = {gMonBackPic_Jynx, 0x800, SPECIES_JYNX},
+ [SPECIES_ELECTABUZZ] = {gMonBackPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ},
+ [SPECIES_MAGMAR] = {gMonBackPic_Magmar, 0x800, SPECIES_MAGMAR},
+ [SPECIES_PINSIR] = {gMonBackPic_Pinsir, 0x800, SPECIES_PINSIR},
+ [SPECIES_TAUROS] = {gMonBackPic_Tauros, 0x800, SPECIES_TAUROS},
+ [SPECIES_MAGIKARP] = {gMonBackPic_Magikarp, 0x800, SPECIES_MAGIKARP},
+ [SPECIES_GYARADOS] = {gMonBackPic_Gyarados, 0x800, SPECIES_GYARADOS},
+ [SPECIES_LAPRAS] = {gMonBackPic_Lapras, 0x800, SPECIES_LAPRAS},
+ [SPECIES_DITTO] = {gMonBackPic_Ditto, 0x800, SPECIES_DITTO},
+ [SPECIES_EEVEE] = {gMonBackPic_Eevee, 0x800, SPECIES_EEVEE},
+ [SPECIES_VAPOREON] = {gMonBackPic_Vaporeon, 0x800, SPECIES_VAPOREON},
+ [SPECIES_JOLTEON] = {gMonBackPic_Jolteon, 0x800, SPECIES_JOLTEON},
+ [SPECIES_FLAREON] = {gMonBackPic_Flareon, 0x800, SPECIES_FLAREON},
+ [SPECIES_PORYGON] = {gMonBackPic_Porygon, 0x800, SPECIES_PORYGON},
+ [SPECIES_OMANYTE] = {gMonBackPic_Omanyte, 0x800, SPECIES_OMANYTE},
+ [SPECIES_OMASTAR] = {gMonBackPic_Omastar, 0x800, SPECIES_OMASTAR},
+ [SPECIES_KABUTO] = {gMonBackPic_Kabuto, 0x800, SPECIES_KABUTO},
+ [SPECIES_KABUTOPS] = {gMonBackPic_Kabutops, 0x800, SPECIES_KABUTOPS},
+ [SPECIES_AERODACTYL] = {gMonBackPic_Aerodactyl, 0x800, SPECIES_AERODACTYL},
+ [SPECIES_SNORLAX] = {gMonBackPic_Snorlax, 0x800, SPECIES_SNORLAX},
+ [SPECIES_ARTICUNO] = {gMonBackPic_Articuno, 0x800, SPECIES_ARTICUNO},
+ [SPECIES_ZAPDOS] = {gMonBackPic_Zapdos, 0x800, SPECIES_ZAPDOS},
+ [SPECIES_MOLTRES] = {gMonBackPic_Moltres, 0x800, SPECIES_MOLTRES},
+ [SPECIES_DRATINI] = {gMonBackPic_Dratini, 0x800, SPECIES_DRATINI},
+ [SPECIES_DRAGONAIR] = {gMonBackPic_Dragonair, 0x800, SPECIES_DRAGONAIR},
+ [SPECIES_DRAGONITE] = {gMonBackPic_Dragonite, 0x800, SPECIES_DRAGONITE},
+ [SPECIES_MEWTWO] = {gMonBackPic_Mewtwo, 0x800, SPECIES_MEWTWO},
+ [SPECIES_MEW] = {gMonBackPic_Mew, 0x800, SPECIES_MEW},
+ [SPECIES_CHIKORITA] = {gMonBackPic_Chikorita, 0x800, SPECIES_CHIKORITA},
+ [SPECIES_BAYLEEF] = {gMonBackPic_Bayleef, 0x800, SPECIES_BAYLEEF},
+ [SPECIES_MEGANIUM] = {gMonBackPic_Meganium, 0x800, SPECIES_MEGANIUM},
+ [SPECIES_CYNDAQUIL] = {gMonBackPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL},
+ [SPECIES_QUILAVA] = {gMonBackPic_Quilava, 0x800, SPECIES_QUILAVA},
+ [SPECIES_TYPHLOSION] = {gMonBackPic_Typhlosion, 0x800, SPECIES_TYPHLOSION},
+ [SPECIES_TOTODILE] = {gMonBackPic_Totodile, 0x800, SPECIES_TOTODILE},
+ [SPECIES_CROCONAW] = {gMonBackPic_Croconaw, 0x800, SPECIES_CROCONAW},
+ [SPECIES_FERALIGATR] = {gMonBackPic_Feraligatr, 0x800, SPECIES_FERALIGATR},
+ [SPECIES_SENTRET] = {gMonBackPic_Sentret, 0x800, SPECIES_SENTRET},
+ [SPECIES_FURRET] = {gMonBackPic_Furret, 0x800, SPECIES_FURRET},
+ [SPECIES_HOOTHOOT] = {gMonBackPic_Hoothoot, 0x800, SPECIES_HOOTHOOT},
+ [SPECIES_NOCTOWL] = {gMonBackPic_Noctowl, 0x800, SPECIES_NOCTOWL},
+ [SPECIES_LEDYBA] = {gMonBackPic_Ledyba, 0x800, SPECIES_LEDYBA},
+ [SPECIES_LEDIAN] = {gMonBackPic_Ledian, 0x800, SPECIES_LEDIAN},
+ [SPECIES_SPINARAK] = {gMonBackPic_Spinarak, 0x800, SPECIES_SPINARAK},
+ [SPECIES_ARIADOS] = {gMonBackPic_Ariados, 0x800, SPECIES_ARIADOS},
+ [SPECIES_CROBAT] = {gMonBackPic_Crobat, 0x800, SPECIES_CROBAT},
+ [SPECIES_CHINCHOU] = {gMonBackPic_Chinchou, 0x800, SPECIES_CHINCHOU},
+ [SPECIES_LANTURN] = {gMonBackPic_Lanturn, 0x800, SPECIES_LANTURN},
+ [SPECIES_PICHU] = {gMonBackPic_Pichu, 0x800, SPECIES_PICHU},
+ [SPECIES_CLEFFA] = {gMonBackPic_Cleffa, 0x800, SPECIES_CLEFFA},
+ [SPECIES_IGGLYBUFF] = {gMonBackPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF},
+ [SPECIES_TOGEPI] = {gMonBackPic_Togepi, 0x800, SPECIES_TOGEPI},
+ [SPECIES_TOGETIC] = {gMonBackPic_Togetic, 0x800, SPECIES_TOGETIC},
+ [SPECIES_NATU] = {gMonBackPic_Natu, 0x800, SPECIES_NATU},
+ [SPECIES_XATU] = {gMonBackPic_Xatu, 0x800, SPECIES_XATU},
+ [SPECIES_MAREEP] = {gMonBackPic_Mareep, 0x800, SPECIES_MAREEP},
+ [SPECIES_FLAAFFY] = {gMonBackPic_Flaaffy, 0x800, SPECIES_FLAAFFY},
+ [SPECIES_AMPHAROS] = {gMonBackPic_Ampharos, 0x800, SPECIES_AMPHAROS},
+ [SPECIES_BELLOSSOM] = {gMonBackPic_Bellossom, 0x800, SPECIES_BELLOSSOM},
+ [SPECIES_MARILL] = {gMonBackPic_Marill, 0x800, SPECIES_MARILL},
+ [SPECIES_AZUMARILL] = {gMonBackPic_Azumarill, 0x800, SPECIES_AZUMARILL},
+ [SPECIES_SUDOWOODO] = {gMonBackPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO},
+ [SPECIES_POLITOED] = {gMonBackPic_Politoed, 0x800, SPECIES_POLITOED},
+ [SPECIES_HOPPIP] = {gMonBackPic_Hoppip, 0x800, SPECIES_HOPPIP},
+ [SPECIES_SKIPLOOM] = {gMonBackPic_Skiploom, 0x800, SPECIES_SKIPLOOM},
+ [SPECIES_JUMPLUFF] = {gMonBackPic_Jumpluff, 0x800, SPECIES_JUMPLUFF},
+ [SPECIES_AIPOM] = {gMonBackPic_Aipom, 0x800, SPECIES_AIPOM},
+ [SPECIES_SUNKERN] = {gMonBackPic_Sunkern, 0x800, SPECIES_SUNKERN},
+ [SPECIES_SUNFLORA] = {gMonBackPic_Sunflora, 0x800, SPECIES_SUNFLORA},
+ [SPECIES_YANMA] = {gMonBackPic_Yanma, 0x800, SPECIES_YANMA},
+ [SPECIES_WOOPER] = {gMonBackPic_Wooper, 0x800, SPECIES_WOOPER},
+ [SPECIES_QUAGSIRE] = {gMonBackPic_Quagsire, 0x800, SPECIES_QUAGSIRE},
+ [SPECIES_ESPEON] = {gMonBackPic_Espeon, 0x800, SPECIES_ESPEON},
+ [SPECIES_UMBREON] = {gMonBackPic_Umbreon, 0x800, SPECIES_UMBREON},
+ [SPECIES_MURKROW] = {gMonBackPic_Murkrow, 0x800, SPECIES_MURKROW},
+ [SPECIES_SLOWKING] = {gMonBackPic_Slowking, 0x800, SPECIES_SLOWKING},
+ [SPECIES_MISDREAVUS] = {gMonBackPic_Misdreavus, 0x800, SPECIES_MISDREAVUS},
+ [SPECIES_UNOWN] = {gMonBackPic_UnownA, 0x800, SPECIES_UNOWN},
+ [SPECIES_WOBBUFFET] = {gMonBackPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET},
+ [SPECIES_GIRAFARIG] = {gMonBackPic_Girafarig, 0x800, SPECIES_GIRAFARIG},
+ [SPECIES_PINECO] = {gMonBackPic_Pineco, 0x800, SPECIES_PINECO},
+ [SPECIES_FORRETRESS] = {gMonBackPic_Forretress, 0x800, SPECIES_FORRETRESS},
+ [SPECIES_DUNSPARCE] = {gMonBackPic_Dunsparce, 0x800, SPECIES_DUNSPARCE},
+ [SPECIES_GLIGAR] = {gMonBackPic_Gligar, 0x800, SPECIES_GLIGAR},
+ [SPECIES_STEELIX] = {gMonBackPic_Steelix, 0x800, SPECIES_STEELIX},
+ [SPECIES_SNUBBULL] = {gMonBackPic_Snubbull, 0x800, SPECIES_SNUBBULL},
+ [SPECIES_GRANBULL] = {gMonBackPic_Granbull, 0x800, SPECIES_GRANBULL},
+ [SPECIES_QWILFISH] = {gMonBackPic_Qwilfish, 0x800, SPECIES_QWILFISH},
+ [SPECIES_SCIZOR] = {gMonBackPic_Scizor, 0x800, SPECIES_SCIZOR},
+ [SPECIES_SHUCKLE] = {gMonBackPic_Shuckle, 0x800, SPECIES_SHUCKLE},
+ [SPECIES_HERACROSS] = {gMonBackPic_Heracross, 0x800, SPECIES_HERACROSS},
+ [SPECIES_SNEASEL] = {gMonBackPic_Sneasel, 0x800, SPECIES_SNEASEL},
+ [SPECIES_TEDDIURSA] = {gMonBackPic_Teddiursa, 0x800, SPECIES_TEDDIURSA},
+ [SPECIES_URSARING] = {gMonBackPic_Ursaring, 0x800, SPECIES_URSARING},
+ [SPECIES_SLUGMA] = {gMonBackPic_Slugma, 0x800, SPECIES_SLUGMA},
+ [SPECIES_MAGCARGO] = {gMonBackPic_Magcargo, 0x800, SPECIES_MAGCARGO},
+ [SPECIES_SWINUB] = {gMonBackPic_Swinub, 0x800, SPECIES_SWINUB},
+ [SPECIES_PILOSWINE] = {gMonBackPic_Piloswine, 0x800, SPECIES_PILOSWINE},
+ [SPECIES_CORSOLA] = {gMonBackPic_Corsola, 0x800, SPECIES_CORSOLA},
+ [SPECIES_REMORAID] = {gMonBackPic_Remoraid, 0x800, SPECIES_REMORAID},
+ [SPECIES_OCTILLERY] = {gMonBackPic_Octillery, 0x800, SPECIES_OCTILLERY},
+ [SPECIES_DELIBIRD] = {gMonBackPic_Delibird, 0x800, SPECIES_DELIBIRD},
+ [SPECIES_MANTINE] = {gMonBackPic_Mantine, 0x800, SPECIES_MANTINE},
+ [SPECIES_SKARMORY] = {gMonBackPic_Skarmory, 0x800, SPECIES_SKARMORY},
+ [SPECIES_HOUNDOUR] = {gMonBackPic_Houndour, 0x800, SPECIES_HOUNDOUR},
+ [SPECIES_HOUNDOOM] = {gMonBackPic_Houndoom, 0x800, SPECIES_HOUNDOOM},
+ [SPECIES_KINGDRA] = {gMonBackPic_Kingdra, 0x800, SPECIES_KINGDRA},
+ [SPECIES_PHANPY] = {gMonBackPic_Phanpy, 0x800, SPECIES_PHANPY},
+ [SPECIES_DONPHAN] = {gMonBackPic_Donphan, 0x800, SPECIES_DONPHAN},
+ [SPECIES_PORYGON2] = {gMonBackPic_Porygon2, 0x800, SPECIES_PORYGON2},
+ [SPECIES_STANTLER] = {gMonBackPic_Stantler, 0x800, SPECIES_STANTLER},
+ [SPECIES_SMEARGLE] = {gMonBackPic_Smeargle, 0x800, SPECIES_SMEARGLE},
+ [SPECIES_TYROGUE] = {gMonBackPic_Tyrogue, 0x800, SPECIES_TYROGUE},
+ [SPECIES_HITMONTOP] = {gMonBackPic_Hitmontop, 0x800, SPECIES_HITMONTOP},
+ [SPECIES_SMOOCHUM] = {gMonBackPic_Smoochum, 0x800, SPECIES_SMOOCHUM},
+ [SPECIES_ELEKID] = {gMonBackPic_Elekid, 0x800, SPECIES_ELEKID},
+ [SPECIES_MAGBY] = {gMonBackPic_Magby, 0x800, SPECIES_MAGBY},
+ [SPECIES_MILTANK] = {gMonBackPic_Miltank, 0x800, SPECIES_MILTANK},
+ [SPECIES_BLISSEY] = {gMonBackPic_Blissey, 0x800, SPECIES_BLISSEY},
+ [SPECIES_RAIKOU] = {gMonBackPic_Raikou, 0x800, SPECIES_RAIKOU},
+ [SPECIES_ENTEI] = {gMonBackPic_Entei, 0x800, SPECIES_ENTEI},
+ [SPECIES_SUICUNE] = {gMonBackPic_Suicune, 0x800, SPECIES_SUICUNE},
+ [SPECIES_LARVITAR] = {gMonBackPic_Larvitar, 0x800, SPECIES_LARVITAR},
+ [SPECIES_PUPITAR] = {gMonBackPic_Pupitar, 0x800, SPECIES_PUPITAR},
+ [SPECIES_TYRANITAR] = {gMonBackPic_Tyranitar, 0x800, SPECIES_TYRANITAR},
+ [SPECIES_LUGIA] = {gMonBackPic_Lugia, 0x800, SPECIES_LUGIA},
+ [SPECIES_HO_OH] = {gMonBackPic_HoOh, 0x800, SPECIES_HO_OH},
+ [SPECIES_CELEBI] = {gMonBackPic_Celebi, 0x800, SPECIES_CELEBI},
+ [SPECIES_OLD_UNOWN_B] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B},
+ [SPECIES_OLD_UNOWN_C] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C},
+ [SPECIES_OLD_UNOWN_D] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D},
+ [SPECIES_OLD_UNOWN_E] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E},
+ [SPECIES_OLD_UNOWN_F] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F},
+ [SPECIES_OLD_UNOWN_G] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G},
+ [SPECIES_OLD_UNOWN_H] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H},
+ [SPECIES_OLD_UNOWN_I] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I},
+ [SPECIES_OLD_UNOWN_J] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J},
+ [SPECIES_OLD_UNOWN_K] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K},
+ [SPECIES_OLD_UNOWN_L] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L},
+ [SPECIES_OLD_UNOWN_M] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M},
+ [SPECIES_OLD_UNOWN_N] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N},
+ [SPECIES_OLD_UNOWN_O] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O},
+ [SPECIES_OLD_UNOWN_P] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P},
+ [SPECIES_OLD_UNOWN_Q] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q},
+ [SPECIES_OLD_UNOWN_R] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R},
+ [SPECIES_OLD_UNOWN_S] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S},
+ [SPECIES_OLD_UNOWN_T] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T},
+ [SPECIES_OLD_UNOWN_U] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U},
+ [SPECIES_OLD_UNOWN_V] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V},
+ [SPECIES_OLD_UNOWN_W] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W},
+ [SPECIES_OLD_UNOWN_X] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X},
+ [SPECIES_OLD_UNOWN_Y] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y},
+ [SPECIES_OLD_UNOWN_Z] = {gMonBackPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z},
+ [SPECIES_TREECKO] = {gMonBackPic_Treecko, 0x800, SPECIES_TREECKO},
+ [SPECIES_GROVYLE] = {gMonBackPic_Grovyle, 0x800, SPECIES_GROVYLE},
+ [SPECIES_SCEPTILE] = {gMonBackPic_Sceptile, 0x800, SPECIES_SCEPTILE},
+ [SPECIES_TORCHIC] = {gMonBackPic_Torchic, 0x800, SPECIES_TORCHIC},
+ [SPECIES_COMBUSKEN] = {gMonBackPic_Combusken, 0x800, SPECIES_COMBUSKEN},
+ [SPECIES_BLAZIKEN] = {gMonBackPic_Blaziken, 0x800, SPECIES_BLAZIKEN},
+ [SPECIES_MUDKIP] = {gMonBackPic_Mudkip, 0x800, SPECIES_MUDKIP},
+ [SPECIES_MARSHTOMP] = {gMonBackPic_Marshtomp, 0x800, SPECIES_MARSHTOMP},
+ [SPECIES_SWAMPERT] = {gMonBackPic_Swampert, 0x800, SPECIES_SWAMPERT},
+ [SPECIES_POOCHYENA] = {gMonBackPic_Poochyena, 0x800, SPECIES_POOCHYENA},
+ [SPECIES_MIGHTYENA] = {gMonBackPic_Mightyena, 0x800, SPECIES_MIGHTYENA},
+ [SPECIES_ZIGZAGOON] = {gMonBackPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON},
+ [SPECIES_LINOONE] = {gMonBackPic_Linoone, 0x800, SPECIES_LINOONE},
+ [SPECIES_WURMPLE] = {gMonBackPic_Wurmple, 0x800, SPECIES_WURMPLE},
+ [SPECIES_SILCOON] = {gMonBackPic_Silcoon, 0x800, SPECIES_SILCOON},
+ [SPECIES_BEAUTIFLY] = {gMonBackPic_Beautifly, 0x800, SPECIES_BEAUTIFLY},
+ [SPECIES_CASCOON] = {gMonBackPic_Cascoon, 0x800, SPECIES_CASCOON},
+ [SPECIES_DUSTOX] = {gMonBackPic_Dustox, 0x800, SPECIES_DUSTOX},
+ [SPECIES_LOTAD] = {gMonBackPic_Lotad, 0x800, SPECIES_LOTAD},
+ [SPECIES_LOMBRE] = {gMonBackPic_Lombre, 0x800, SPECIES_LOMBRE},
+ [SPECIES_LUDICOLO] = {gMonBackPic_Ludicolo, 0x800, SPECIES_LUDICOLO},
+ [SPECIES_SEEDOT] = {gMonBackPic_Seedot, 0x800, SPECIES_SEEDOT},
+ [SPECIES_NUZLEAF] = {gMonBackPic_Nuzleaf, 0x800, SPECIES_NUZLEAF},
+ [SPECIES_SHIFTRY] = {gMonBackPic_Shiftry, 0x800, SPECIES_SHIFTRY},
+ [SPECIES_NINCADA] = {gMonBackPic_Nincada, 0x800, SPECIES_NINCADA},
+ [SPECIES_NINJASK] = {gMonBackPic_Ninjask, 0x800, SPECIES_NINJASK},
+ [SPECIES_SHEDINJA] = {gMonBackPic_Shedinja, 0x800, SPECIES_SHEDINJA},
+ [SPECIES_TAILLOW] = {gMonBackPic_Taillow, 0x800, SPECIES_TAILLOW},
+ [SPECIES_SWELLOW] = {gMonBackPic_Swellow, 0x800, SPECIES_SWELLOW},
+ [SPECIES_SHROOMISH] = {gMonBackPic_Shroomish, 0x800, SPECIES_SHROOMISH},
+ [SPECIES_BRELOOM] = {gMonBackPic_Breloom, 0x800, SPECIES_BRELOOM},
+ [SPECIES_SPINDA] = {gMonBackPic_Spinda, 0x800, SPECIES_SPINDA},
+ [SPECIES_WINGULL] = {gMonBackPic_Wingull, 0x800, SPECIES_WINGULL},
+ [SPECIES_PELIPPER] = {gMonBackPic_Pelipper, 0x800, SPECIES_PELIPPER},
+ [SPECIES_SURSKIT] = {gMonBackPic_Surskit, 0x800, SPECIES_SURSKIT},
+ [SPECIES_MASQUERAIN] = {gMonBackPic_Masquerain, 0x800, SPECIES_MASQUERAIN},
+ [SPECIES_WAILMER] = {gMonBackPic_Wailmer, 0x800, SPECIES_WAILMER},
+ [SPECIES_WAILORD] = {gMonBackPic_Wailord, 0x800, SPECIES_WAILORD},
+ [SPECIES_SKITTY] = {gMonBackPic_Skitty, 0x800, SPECIES_SKITTY},
+ [SPECIES_DELCATTY] = {gMonBackPic_Delcatty, 0x800, SPECIES_DELCATTY},
+ [SPECIES_KECLEON] = {gMonBackPic_Kecleon, 0x800, SPECIES_KECLEON},
+ [SPECIES_BALTOY] = {gMonBackPic_Baltoy, 0x800, SPECIES_BALTOY},
+ [SPECIES_CLAYDOL] = {gMonBackPic_Claydol, 0x800, SPECIES_CLAYDOL},
+ [SPECIES_NOSEPASS] = {gMonBackPic_Nosepass, 0x800, SPECIES_NOSEPASS},
+ [SPECIES_TORKOAL] = {gMonBackPic_Torkoal, 0x800, SPECIES_TORKOAL},
+ [SPECIES_SABLEYE] = {gMonBackPic_Sableye, 0x800, SPECIES_SABLEYE},
+ [SPECIES_BARBOACH] = {gMonBackPic_Barboach, 0x800, SPECIES_BARBOACH},
+ [SPECIES_WHISCASH] = {gMonBackPic_Whiscash, 0x800, SPECIES_WHISCASH},
+ [SPECIES_LUVDISC] = {gMonBackPic_Luvdisc, 0x800, SPECIES_LUVDISC},
+ [SPECIES_CORPHISH] = {gMonBackPic_Corphish, 0x800, SPECIES_CORPHISH},
+ [SPECIES_CRAWDAUNT] = {gMonBackPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT},
+ [SPECIES_FEEBAS] = {gMonBackPic_Feebas, 0x800, SPECIES_FEEBAS},
+ [SPECIES_MILOTIC] = {gMonBackPic_Milotic, 0x800, SPECIES_MILOTIC},
+ [SPECIES_CARVANHA] = {gMonBackPic_Carvanha, 0x800, SPECIES_CARVANHA},
+ [SPECIES_SHARPEDO] = {gMonBackPic_Sharpedo, 0x800, SPECIES_SHARPEDO},
+ [SPECIES_TRAPINCH] = {gMonBackPic_Trapinch, 0x800, SPECIES_TRAPINCH},
+ [SPECIES_VIBRAVA] = {gMonBackPic_Vibrava, 0x800, SPECIES_VIBRAVA},
+ [SPECIES_FLYGON] = {gMonBackPic_Flygon, 0x800, SPECIES_FLYGON},
+ [SPECIES_MAKUHITA] = {gMonBackPic_Makuhita, 0x800, SPECIES_MAKUHITA},
+ [SPECIES_HARIYAMA] = {gMonBackPic_Hariyama, 0x800, SPECIES_HARIYAMA},
+ [SPECIES_ELECTRIKE] = {gMonBackPic_Electrike, 0x800, SPECIES_ELECTRIKE},
+ [SPECIES_MANECTRIC] = {gMonBackPic_Manectric, 0x800, SPECIES_MANECTRIC},
+ [SPECIES_NUMEL] = {gMonBackPic_Numel, 0x800, SPECIES_NUMEL},
+ [SPECIES_CAMERUPT] = {gMonBackPic_Camerupt, 0x800, SPECIES_CAMERUPT},
+ [SPECIES_SPHEAL] = {gMonBackPic_Spheal, 0x800, SPECIES_SPHEAL},
+ [SPECIES_SEALEO] = {gMonBackPic_Sealeo, 0x800, SPECIES_SEALEO},
+ [SPECIES_WALREIN] = {gMonBackPic_Walrein, 0x800, SPECIES_WALREIN},
+ [SPECIES_CACNEA] = {gMonBackPic_Cacnea, 0x800, SPECIES_CACNEA},
+ [SPECIES_CACTURNE] = {gMonBackPic_Cacturne, 0x800, SPECIES_CACTURNE},
+ [SPECIES_SNORUNT] = {gMonBackPic_Snorunt, 0x800, SPECIES_SNORUNT},
+ [SPECIES_GLALIE] = {gMonBackPic_Glalie, 0x800, SPECIES_GLALIE},
+ [SPECIES_LUNATONE] = {gMonBackPic_Lunatone, 0x800, SPECIES_LUNATONE},
+ [SPECIES_SOLROCK] = {gMonBackPic_Solrock, 0x800, SPECIES_SOLROCK},
+ [SPECIES_AZURILL] = {gMonBackPic_Azurill, 0x800, SPECIES_AZURILL},
+ [SPECIES_SPOINK] = {gMonBackPic_Spoink, 0x800, SPECIES_SPOINK},
+ [SPECIES_GRUMPIG] = {gMonBackPic_Grumpig, 0x800, SPECIES_GRUMPIG},
+ [SPECIES_PLUSLE] = {gMonBackPic_Plusle, 0x800, SPECIES_PLUSLE},
+ [SPECIES_MINUN] = {gMonBackPic_Minun, 0x800, SPECIES_MINUN},
+ [SPECIES_MAWILE] = {gMonBackPic_Mawile, 0x800, SPECIES_MAWILE},
+ [SPECIES_MEDITITE] = {gMonBackPic_Meditite, 0x800, SPECIES_MEDITITE},
+ [SPECIES_MEDICHAM] = {gMonBackPic_Medicham, 0x800, SPECIES_MEDICHAM},
+ [SPECIES_SWABLU] = {gMonBackPic_Swablu, 0x800, SPECIES_SWABLU},
+ [SPECIES_ALTARIA] = {gMonBackPic_Altaria, 0x800, SPECIES_ALTARIA},
+ [SPECIES_WYNAUT] = {gMonBackPic_Wynaut, 0x800, SPECIES_WYNAUT},
+ [SPECIES_DUSKULL] = {gMonBackPic_Duskull, 0x800, SPECIES_DUSKULL},
+ [SPECIES_DUSCLOPS] = {gMonBackPic_Dusclops, 0x800, SPECIES_DUSCLOPS},
+ [SPECIES_ROSELIA] = {gMonBackPic_Roselia, 0x800, SPECIES_ROSELIA},
+ [SPECIES_SLAKOTH] = {gMonBackPic_Slakoth, 0x800, SPECIES_SLAKOTH},
+ [SPECIES_VIGOROTH] = {gMonBackPic_Vigoroth, 0x800, SPECIES_VIGOROTH},
+ [SPECIES_SLAKING] = {gMonBackPic_Slaking, 0x800, SPECIES_SLAKING},
+ [SPECIES_GULPIN] = {gMonBackPic_Gulpin, 0x800, SPECIES_GULPIN},
+ [SPECIES_SWALOT] = {gMonBackPic_Swalot, 0x800, SPECIES_SWALOT},
+ [SPECIES_TROPIUS] = {gMonBackPic_Tropius, 0x800, SPECIES_TROPIUS},
+ [SPECIES_WHISMUR] = {gMonBackPic_Whismur, 0x800, SPECIES_WHISMUR},
+ [SPECIES_LOUDRED] = {gMonBackPic_Loudred, 0x800, SPECIES_LOUDRED},
+ [SPECIES_EXPLOUD] = {gMonBackPic_Exploud, 0x800, SPECIES_EXPLOUD},
+ [SPECIES_CLAMPERL] = {gMonBackPic_Clamperl, 0x800, SPECIES_CLAMPERL},
+ [SPECIES_HUNTAIL] = {gMonBackPic_Huntail, 0x800, SPECIES_HUNTAIL},
+ [SPECIES_GOREBYSS] = {gMonBackPic_Gorebyss, 0x800, SPECIES_GOREBYSS},
+ [SPECIES_ABSOL] = {gMonBackPic_Absol, 0x800, SPECIES_ABSOL},
+ [SPECIES_SHUPPET] = {gMonBackPic_Shuppet, 0x800, SPECIES_SHUPPET},
+ [SPECIES_BANETTE] = {gMonBackPic_Banette, 0x800, SPECIES_BANETTE},
+ [SPECIES_SEVIPER] = {gMonBackPic_Seviper, 0x800, SPECIES_SEVIPER},
+ [SPECIES_ZANGOOSE] = {gMonBackPic_Zangoose, 0x800, SPECIES_ZANGOOSE},
+ [SPECIES_RELICANTH] = {gMonBackPic_Relicanth, 0x800, SPECIES_RELICANTH},
+ [SPECIES_ARON] = {gMonBackPic_Aron, 0x800, SPECIES_ARON},
+ [SPECIES_LAIRON] = {gMonBackPic_Lairon, 0x800, SPECIES_LAIRON},
+ [SPECIES_AGGRON] = {gMonBackPic_Aggron, 0x800, SPECIES_AGGRON},
+ [SPECIES_CASTFORM] = {gMonBackPic_Castform, 0x800, SPECIES_CASTFORM},
+ [SPECIES_VOLBEAT] = {gMonBackPic_Volbeat, 0x800, SPECIES_VOLBEAT},
+ [SPECIES_ILLUMISE] = {gMonBackPic_Illumise, 0x800, SPECIES_ILLUMISE},
+ [SPECIES_LILEEP] = {gMonBackPic_Lileep, 0x800, SPECIES_LILEEP},
+ [SPECIES_CRADILY] = {gMonBackPic_Cradily, 0x800, SPECIES_CRADILY},
+ [SPECIES_ANORITH] = {gMonBackPic_Anorith, 0x800, SPECIES_ANORITH},
+ [SPECIES_ARMALDO] = {gMonBackPic_Armaldo, 0x800, SPECIES_ARMALDO},
+ [SPECIES_RALTS] = {gMonBackPic_Ralts, 0x800, SPECIES_RALTS},
+ [SPECIES_KIRLIA] = {gMonBackPic_Kirlia, 0x800, SPECIES_KIRLIA},
+ [SPECIES_GARDEVOIR] = {gMonBackPic_Gardevoir, 0x800, SPECIES_GARDEVOIR},
+ [SPECIES_BAGON] = {gMonBackPic_Bagon, 0x800, SPECIES_BAGON},
+ [SPECIES_SHELGON] = {gMonBackPic_Shelgon, 0x800, SPECIES_SHELGON},
+ [SPECIES_SALAMENCE] = {gMonBackPic_Salamence, 0x800, SPECIES_SALAMENCE},
+ [SPECIES_BELDUM] = {gMonBackPic_Beldum, 0x800, SPECIES_BELDUM},
+ [SPECIES_METANG] = {gMonBackPic_Metang, 0x800, SPECIES_METANG},
+ [SPECIES_METAGROSS] = {gMonBackPic_Metagross, 0x800, SPECIES_METAGROSS},
+ [SPECIES_REGIROCK] = {gMonBackPic_Regirock, 0x800, SPECIES_REGIROCK},
+ [SPECIES_REGICE] = {gMonBackPic_Regice, 0x800, SPECIES_REGICE},
+ [SPECIES_REGISTEEL] = {gMonBackPic_Registeel, 0x800, SPECIES_REGISTEEL},
+ [SPECIES_KYOGRE] = {gMonBackPic_Kyogre, 0x800, SPECIES_KYOGRE},
+ [SPECIES_GROUDON] = {gMonBackPic_Groudon, 0x800, SPECIES_GROUDON},
+ [SPECIES_RAYQUAZA] = {gMonBackPic_Rayquaza, 0x800, SPECIES_RAYQUAZA},
+ [SPECIES_LATIAS] = {gMonBackPic_Latias, 0x800, SPECIES_LATIAS},
+ [SPECIES_LATIOS] = {gMonBackPic_Latios, 0x800, SPECIES_LATIOS},
+ [SPECIES_JIRACHI] = {gMonBackPic_Jirachi, 0x800, SPECIES_JIRACHI},
+ [SPECIES_DEOXYS] = {gMonBackPic_Deoxys, 0x800, SPECIES_DEOXYS},
+ [SPECIES_CHIMECHO] = {gMonBackPic_Chimecho, 0x800, SPECIES_CHIMECHO},
+ [SPECIES_EGG] = {gMonStillFrontPic_Egg, 0x800, SPECIES_EGG},
+ [SPECIES_UNOWN_B] = {gMonBackPic_UnownB, 0x800, SPECIES_UNOWN_B},
+ [SPECIES_UNOWN_C] = {gMonBackPic_UnownC, 0x800, SPECIES_UNOWN_C},
+ [SPECIES_UNOWN_D] = {gMonBackPic_UnownD, 0x800, SPECIES_UNOWN_D},
+ [SPECIES_UNOWN_E] = {gMonBackPic_UnownE, 0x800, SPECIES_UNOWN_E},
+ [SPECIES_UNOWN_F] = {gMonBackPic_UnownF, 0x800, SPECIES_UNOWN_F},
+ [SPECIES_UNOWN_G] = {gMonBackPic_UnownG, 0x800, SPECIES_UNOWN_G},
+ [SPECIES_UNOWN_H] = {gMonBackPic_UnownH, 0x800, SPECIES_UNOWN_H},
+ [SPECIES_UNOWN_I] = {gMonBackPic_UnownI, 0x800, SPECIES_UNOWN_I},
+ [SPECIES_UNOWN_J] = {gMonBackPic_UnownJ, 0x800, SPECIES_UNOWN_J},
+ [SPECIES_UNOWN_K] = {gMonBackPic_UnownK, 0x800, SPECIES_UNOWN_K},
+ [SPECIES_UNOWN_L] = {gMonBackPic_UnownL, 0x800, SPECIES_UNOWN_L},
+ [SPECIES_UNOWN_M] = {gMonBackPic_UnownM, 0x800, SPECIES_UNOWN_M},
+ [SPECIES_UNOWN_N] = {gMonBackPic_UnownN, 0x800, SPECIES_UNOWN_N},
+ [SPECIES_UNOWN_O] = {gMonBackPic_UnownO, 0x800, SPECIES_UNOWN_O},
+ [SPECIES_UNOWN_P] = {gMonBackPic_UnownP, 0x800, SPECIES_UNOWN_P},
+ [SPECIES_UNOWN_Q] = {gMonBackPic_UnownQ, 0x800, SPECIES_UNOWN_Q},
+ [SPECIES_UNOWN_R] = {gMonBackPic_UnownR, 0x800, SPECIES_UNOWN_R},
+ [SPECIES_UNOWN_S] = {gMonBackPic_UnownS, 0x800, SPECIES_UNOWN_S},
+ [SPECIES_UNOWN_T] = {gMonBackPic_UnownT, 0x800, SPECIES_UNOWN_T},
+ [SPECIES_UNOWN_U] = {gMonBackPic_UnownU, 0x800, SPECIES_UNOWN_U},
+ [SPECIES_UNOWN_V] = {gMonBackPic_UnownV, 0x800, SPECIES_UNOWN_V},
+ [SPECIES_UNOWN_W] = {gMonBackPic_UnownW, 0x800, SPECIES_UNOWN_W},
+ [SPECIES_UNOWN_X] = {gMonBackPic_UnownX, 0x800, SPECIES_UNOWN_X},
+ [SPECIES_UNOWN_Y] = {gMonBackPic_UnownY, 0x800, SPECIES_UNOWN_Y},
+ [SPECIES_UNOWN_Z] = {gMonBackPic_UnownZ, 0x800, SPECIES_UNOWN_Z},
+ [SPECIES_UNOWN_EMARK] = {gMonBackPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK},
+ [SPECIES_UNOWN_QMARK] = {gMonBackPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK},
};
+
diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h
index 80e2a415a..c8f079a5c 100644
--- a/src/data/pokemon_graphics/enemy_mon_elevation.h
+++ b/src/data/pokemon_graphics/enemy_mon_elevation.h
@@ -1,417 +1,419 @@
+#include "constants/species.h"
+
// This determines how much higher above the usual position the enemy Pokémon
// is during battle. Species that float or fly have nonzero values.
const u8 gEnemyMonElevation[] =
{
- 0, // 0
- 0, // SPECIES_BULBASAUR
- 0, // SPECIES_IVYSAUR
- 0, // SPECIES_VENUSAUR
- 0, // SPECIES_CHARMANDER
- 0, // SPECIES_CHARMELEON
- 0, // SPECIES_CHARIZARD
- 0, // SPECIES_SQUIRTLE
- 0, // SPECIES_WARTORTLE
- 0, // SPECIES_BLASTOISE
- 0, // SPECIES_CATERPIE
- 0, // SPECIES_METAPOD
- 8, // SPECIES_BUTTERFREE
- 0, // SPECIES_WEEDLE
- 0, // SPECIES_KAKUNA
- 8, // SPECIES_BEEDRILL
- 16, // SPECIES_PIDGEY
- 0, // SPECIES_PIDGEOTTO
- 4, // SPECIES_PIDGEOT
- 0, // SPECIES_RATTATA
- 0, // SPECIES_RATICATE
- 0, // SPECIES_SPEAROW
- 6, // SPECIES_FEAROW
- 0, // SPECIES_EKANS
- 0, // SPECIES_ARBOK
- 0, // SPECIES_PIKACHU
- 0, // SPECIES_RAICHU
- 0, // SPECIES_SANDSHREW
- 0, // SPECIES_SANDSLASH
- 0, // SPECIES_NIDORAN_F
- 0, // SPECIES_NIDORINA
- 0, // SPECIES_NIDOQUEEN
- 0, // SPECIES_NIDORAN_M
- 0, // SPECIES_NIDORINO
- 0, // SPECIES_NIDOKING
- 0, // SPECIES_CLEFAIRY
- 0, // SPECIES_CLEFABLE
- 0, // SPECIES_VULPIX
- 0, // SPECIES_NINETALES
- 0, // SPECIES_JIGGLYPUFF
- 0, // SPECIES_WIGGLYTUFF
- 8, // SPECIES_ZUBAT
- 8, // SPECIES_GOLBAT
- 0, // SPECIES_ODDISH
- 0, // SPECIES_GLOOM
- 0, // SPECIES_VILEPLUME
- 0, // SPECIES_PARAS
- 0, // SPECIES_PARASECT
- 0, // SPECIES_VENONAT
- 8, // SPECIES_VENOMOTH
- 0, // SPECIES_DIGLETT
- 0, // SPECIES_DUGTRIO
- 0, // SPECIES_MEOWTH
- 0, // SPECIES_PERSIAN
- 0, // SPECIES_PSYDUCK
- 0, // SPECIES_GOLDUCK
- 0, // SPECIES_MANKEY
- 0, // SPECIES_PRIMEAPE
- 0, // SPECIES_GROWLITHE
- 0, // SPECIES_ARCANINE
- 0, // SPECIES_POLIWAG
- 0, // SPECIES_POLIWHIRL
- 0, // SPECIES_POLIWRATH
- 0, // SPECIES_ABRA
- 0, // SPECIES_KADABRA
- 0, // SPECIES_ALAKAZAM
- 0, // SPECIES_MACHOP
- 0, // SPECIES_MACHOKE
- 0, // SPECIES_MACHAMP
- 0, // SPECIES_BELLSPROUT
- 0, // SPECIES_WEEPINBELL
- 0, // SPECIES_VICTREEBEL
- 0, // SPECIES_TENTACOOL
- 0, // SPECIES_TENTACRUEL
- 16, // SPECIES_GEODUDE
- 0, // SPECIES_GRAVELER
- 0, // SPECIES_GOLEM
- 0, // SPECIES_PONYTA
- 0, // SPECIES_RAPIDASH
- 0, // SPECIES_SLOWPOKE
- 0, // SPECIES_SLOWBRO
- 16, // SPECIES_MAGNEMITE
- 8, // SPECIES_MAGNETON
- 0, // SPECIES_FARFETCHD
- 0, // SPECIES_DODUO
- 0, // SPECIES_DODRIO
- 0, // SPECIES_SEEL
- 0, // SPECIES_DEWGONG
- 0, // SPECIES_GRIMER
- 0, // SPECIES_MUK
- 0, // SPECIES_SHELLDER
- 0, // SPECIES_CLOYSTER
- 4, // SPECIES_GASTLY
- 4, // SPECIES_HAUNTER
- 0, // SPECIES_GENGAR
- 0, // SPECIES_ONIX
- 0, // SPECIES_DROWZEE
- 0, // SPECIES_HYPNO
- 0, // SPECIES_KRABBY
- 0, // SPECIES_KINGLER
- 10, // SPECIES_VOLTORB
- 12, // SPECIES_ELECTRODE
- 0, // SPECIES_EXEGGCUTE
- 0, // SPECIES_EXEGGUTOR
- 0, // SPECIES_CUBONE
- 0, // SPECIES_MAROWAK
- 0, // SPECIES_HITMONLEE
- 0, // SPECIES_HITMONCHAN
- 0, // SPECIES_LICKITUNG
- 8, // SPECIES_KOFFING
- 6, // SPECIES_WEEZING
- 0, // SPECIES_RHYHORN
- 0, // SPECIES_RHYDON
- 0, // SPECIES_CHANSEY
- 0, // SPECIES_TANGELA
- 0, // SPECIES_KANGASKHAN
- 0, // SPECIES_HORSEA
- 0, // SPECIES_SEADRA
- 0, // SPECIES_GOLDEEN
- 0, // SPECIES_SEAKING
- 0, // SPECIES_STARYU
- 0, // SPECIES_STARMIE
- 0, // SPECIES_MR_MIME
- 0, // SPECIES_SCYTHER
- 0, // SPECIES_JYNX
- 0, // SPECIES_ELECTABUZZ
- 0, // SPECIES_MAGMAR
- 0, // SPECIES_PINSIR
- 0, // SPECIES_TAUROS
- 0, // SPECIES_MAGIKARP
- 0, // SPECIES_GYARADOS
- 0, // SPECIES_LAPRAS
- 0, // SPECIES_DITTO
- 0, // SPECIES_EEVEE
- 0, // SPECIES_VAPOREON
- 0, // SPECIES_JOLTEON
- 0, // SPECIES_FLAREON
- 0, // SPECIES_PORYGON
- 0, // SPECIES_OMANYTE
- 0, // SPECIES_OMASTAR
- 0, // SPECIES_KABUTO
- 0, // SPECIES_KABUTOPS
- 7, // SPECIES_AERODACTYL
- 0, // SPECIES_SNORLAX
- 6, // SPECIES_ARTICUNO
- 8, // SPECIES_ZAPDOS
- 5, // SPECIES_MOLTRES
- 0, // SPECIES_DRATINI
- 0, // SPECIES_DRAGONAIR
- 6, // SPECIES_DRAGONITE
- 0, // SPECIES_MEWTWO
- 8, // SPECIES_MEW
- 0, // SPECIES_CHIKORITA
- 0, // SPECIES_BAYLEEF
- 0, // SPECIES_MEGANIUM
- 0, // SPECIES_CYNDAQUIL
- 0, // SPECIES_QUILAVA
- 0, // SPECIES_TYPHLOSION
- 0, // SPECIES_TOTODILE
- 0, // SPECIES_CROCONAW
- 0, // SPECIES_FERALIGATR
- 0, // SPECIES_SENTRET
- 0, // SPECIES_FURRET
- 0, // SPECIES_HOOTHOOT
- 0, // SPECIES_NOCTOWL
- 0, // SPECIES_LEDYBA
- 8, // SPECIES_LEDIAN
- 0, // SPECIES_SPINARAK
- 0, // SPECIES_ARIADOS
- 6, // SPECIES_CROBAT
- 0, // SPECIES_CHINCHOU
- 0, // SPECIES_LANTURN
- 0, // SPECIES_PICHU
- 0, // SPECIES_CLEFFA
- 0, // SPECIES_IGGLYBUFF
- 0, // SPECIES_TOGEPI
- 0, // SPECIES_TOGETIC
- 0, // SPECIES_NATU
- 0, // SPECIES_XATU
- 0, // SPECIES_MAREEP
- 0, // SPECIES_FLAAFFY
- 0, // SPECIES_AMPHAROS
- 0, // SPECIES_BELLOSSOM
- 0, // SPECIES_MARILL
- 0, // SPECIES_AZUMARILL
- 0, // SPECIES_SUDOWOODO
- 0, // SPECIES_POLITOED
- 11, // SPECIES_HOPPIP
- 12, // SPECIES_SKIPLOOM
- 9, // SPECIES_JUMPLUFF
- 0, // SPECIES_AIPOM
- 0, // SPECIES_SUNKERN
- 0, // SPECIES_SUNFLORA
- 8, // SPECIES_YANMA
- 0, // SPECIES_WOOPER
- 0, // SPECIES_QUAGSIRE
- 0, // SPECIES_ESPEON
- 0, // SPECIES_UMBREON
- 0, // SPECIES_MURKROW
- 0, // SPECIES_SLOWKING
- 8, // SPECIES_MISDREAVUS
- 8, // SPECIES_UNOWN
- 0, // SPECIES_WOBBUFFET
- 0, // SPECIES_GIRAFARIG
- 0, // SPECIES_PINECO
- 0, // SPECIES_FORRETRESS
- 0, // SPECIES_DUNSPARCE
- 6, // SPECIES_GLIGAR
- 0, // SPECIES_STEELIX
- 0, // SPECIES_SNUBBULL
- 0, // SPECIES_GRANBULL
- 0, // SPECIES_QWILFISH
- 0, // SPECIES_SCIZOR
- 0, // SPECIES_SHUCKLE
- 0, // SPECIES_HERACROSS
- 0, // SPECIES_SNEASEL
- 0, // SPECIES_TEDDIURSA
- 0, // SPECIES_URSARING
- 0, // SPECIES_SLUGMA
- 0, // SPECIES_MAGCARGO
- 0, // SPECIES_SWINUB
- 0, // SPECIES_PILOSWINE
- 0, // SPECIES_CORSOLA
- 0, // SPECIES_REMORAID
- 0, // SPECIES_OCTILLERY
- 0, // SPECIES_DELIBIRD
- 0, // SPECIES_MANTINE
- 0, // SPECIES_SKARMORY
- 0, // SPECIES_HOUNDOUR
- 0, // SPECIES_HOUNDOOM
- 0, // SPECIES_KINGDRA
- 0, // SPECIES_PHANPY
- 0, // SPECIES_DONPHAN
- 0, // SPECIES_PORYGON2
- 0, // SPECIES_STANTLER
- 0, // SPECIES_SMEARGLE
- 0, // SPECIES_TYROGUE
- 0, // SPECIES_HITMONTOP
- 0, // SPECIES_SMOOCHUM
- 0, // SPECIES_ELEKID
- 0, // SPECIES_MAGBY
- 0, // SPECIES_MILTANK
- 0, // SPECIES_BLISSEY
- 0, // SPECIES_RAIKOU
- 0, // SPECIES_ENTEI
- 0, // SPECIES_SUICUNE
- 0, // SPECIES_LARVITAR
- 0, // SPECIES_PUPITAR
- 0, // SPECIES_TYRANITAR
- 6, // SPECIES_LUGIA
- 6, // SPECIES_HO_OH
- 15, // SPECIES_CELEBI
- 0, // 252
- 0, // 253
- 0, // 254
- 0, // 255
- 0, // 256
- 0, // 257
- 0, // 258
- 0, // 259
- 0, // 260
- 0, // 261
- 0, // 262
- 0, // 263
- 0, // 264
- 0, // 265
- 0, // 266
- 0, // 267
- 0, // 268
- 0, // 269
- 0, // 270
- 0, // 271
- 0, // 272
- 0, // 273
- 0, // 274
- 0, // 275
- 0, // 276
- 0, // SPECIES_TREECKO
- 0, // SPECIES_GROVYLE
- 0, // SPECIES_SCEPTILE
- 0, // SPECIES_TORCHIC
- 0, // SPECIES_COMBUSKEN
- 0, // SPECIES_BLAZIKEN
- 0, // SPECIES_MUDKIP
- 0, // SPECIES_MARSHTOMP
- 0, // SPECIES_SWAMPERT
- 0, // SPECIES_POOCHYENA
- 0, // SPECIES_MIGHTYENA
- 0, // SPECIES_ZIGZAGOON
- 0, // SPECIES_LINOONE
- 0, // SPECIES_WURMPLE
- 0, // SPECIES_SILCOON
- 8, // SPECIES_BEAUTIFLY
- 0, // SPECIES_CASCOON
- 10, // SPECIES_DUSTOX
- 0, // SPECIES_LOTAD
- 0, // SPECIES_LOMBRE
- 0, // SPECIES_LUDICOLO
- 0, // SPECIES_SEEDOT
- 0, // SPECIES_NUZLEAF
- 0, // SPECIES_SHIFTRY
- 0, // SPECIES_NINCADA
- 10, // SPECIES_NINJASK
- 8, // SPECIES_SHEDINJA
- 0, // SPECIES_TAILLOW
- 0, // SPECIES_SWELLOW
- 0, // SPECIES_SHROOMISH
- 0, // SPECIES_BRELOOM
- 0, // SPECIES_SPINDA
- 16, // SPECIES_WINGULL
- 8, // SPECIES_PELIPPER
- 0, // SPECIES_SURSKIT
- 10, // SPECIES_MASQUERAIN
- 0, // SPECIES_WAILMER
- 0, // SPECIES_WAILORD
- 0, // SPECIES_SKITTY
- 0, // SPECIES_DELCATTY
- 0, // SPECIES_KECLEON
- 4, // SPECIES_BALTOY
- 10, // SPECIES_CLAYDOL
- 0, // SPECIES_NOSEPASS
- 0, // SPECIES_TORKOAL
- 0, // SPECIES_SABLEYE
- 0, // SPECIES_BARBOACH
- 0, // SPECIES_WHISCASH
- 0, // SPECIES_LUVDISC
- 0, // SPECIES_CORPHISH
- 0, // SPECIES_CRAWDAUNT
- 0, // SPECIES_FEEBAS
- 0, // SPECIES_MILOTIC
- 0, // SPECIES_CARVANHA
- 0, // SPECIES_SHARPEDO
- 0, // SPECIES_TRAPINCH
- 0, // SPECIES_VIBRAVA
- 7, // SPECIES_FLYGON
- 0, // SPECIES_MAKUHITA
- 0, // SPECIES_HARIYAMA
- 0, // SPECIES_ELECTRIKE
- 0, // SPECIES_MANECTRIC
- 0, // SPECIES_NUMEL
- 0, // SPECIES_CAMERUPT
- 0, // SPECIES_SPHEAL
- 0, // SPECIES_SEALEO
- 0, // SPECIES_WALREIN
- 0, // SPECIES_CACNEA
- 0, // SPECIES_CACTURNE
- 0, // SPECIES_SNORUNT
- 12, // SPECIES_GLALIE
- 13, // SPECIES_LUNATONE
- 4, // SPECIES_SOLROCK
- 0, // SPECIES_AZURILL
- 0, // SPECIES_SPOINK
- 0, // SPECIES_GRUMPIG
- 0, // SPECIES_PLUSLE
- 0, // SPECIES_MINUN
- 0, // SPECIES_MAWILE
- 0, // SPECIES_MEDITITE
- 0, // SPECIES_MEDICHAM
- 12, // SPECIES_SWABLU
- 8, // SPECIES_ALTARIA
- 0, // SPECIES_WYNAUT
- 9, // SPECIES_DUSKULL
- 0, // SPECIES_DUSCLOPS
- 0, // SPECIES_ROSELIA
- 0, // SPECIES_SLAKOTH
- 0, // SPECIES_VIGOROTH
- 0, // SPECIES_SLAKING
- 0, // SPECIES_GULPIN
- 0, // SPECIES_SWALOT
- 0, // SPECIES_TROPIUS
- 0, // SPECIES_WHISMUR
- 0, // SPECIES_LOUDRED
- 0, // SPECIES_EXPLOUD
- 0, // SPECIES_CLAMPERL
- 0, // SPECIES_HUNTAIL
- 0, // SPECIES_GOREBYSS
- 0, // SPECIES_ABSOL
- 12, // SPECIES_SHUPPET
- 8, // SPECIES_BANETTE
- 0, // SPECIES_SEVIPER
- 0, // SPECIES_ZANGOOSE
- 0, // SPECIES_RELICANTH
- 0, // SPECIES_ARON
- 0, // SPECIES_LAIRON
- 0, // SPECIES_AGGRON
- 16, // SPECIES_CASTFORM
- 0, // SPECIES_VOLBEAT
- 0, // SPECIES_ILLUMISE
- 0, // SPECIES_LILEEP
- 0, // SPECIES_CRADILY
- 0, // SPECIES_ANORITH
- 0, // SPECIES_ARMALDO
- 0, // SPECIES_RALTS
- 0, // SPECIES_KIRLIA
- 0, // SPECIES_GARDEVOIR
- 0, // SPECIES_BAGON
- 0, // SPECIES_SHELGON
- 0, // SPECIES_SALAMENCE
- 8, // SPECIES_BELDUM
- 0, // SPECIES_METANG
- 0, // SPECIES_METAGROSS
- 0, // SPECIES_REGIROCK
- 0, // SPECIES_REGICE
- 0, // SPECIES_REGISTEEL
- 0, // SPECIES_KYOGRE
- 0, // SPECIES_GROUDON
- 6, // SPECIES_RAYQUAZA
- 6, // SPECIES_LATIAS
- 6, // SPECIES_LATIOS
- 12, // SPECIES_JIRACHI
- 8, // SPECIES_DEOXYS
- 12, // SPECIES_CHIMECHO
+ [SPECIES_NONE] = 0,
+ [SPECIES_BULBASAUR] = 0,
+ [SPECIES_IVYSAUR] = 0,
+ [SPECIES_VENUSAUR] = 0,
+ [SPECIES_CHARMANDER] = 0,
+ [SPECIES_CHARMELEON] = 0,
+ [SPECIES_CHARIZARD] = 0,
+ [SPECIES_SQUIRTLE] = 0,
+ [SPECIES_WARTORTLE] = 0,
+ [SPECIES_BLASTOISE] = 0,
+ [SPECIES_CATERPIE] = 0,
+ [SPECIES_METAPOD] = 0,
+ [SPECIES_BUTTERFREE] = 8,
+ [SPECIES_WEEDLE] = 0,
+ [SPECIES_KAKUNA] = 0,
+ [SPECIES_BEEDRILL] = 8,
+ [SPECIES_PIDGEY] = 16,
+ [SPECIES_PIDGEOTTO] = 0,
+ [SPECIES_PIDGEOT] = 4,
+ [SPECIES_RATTATA] = 0,
+ [SPECIES_RATICATE] = 0,
+ [SPECIES_SPEAROW] = 0,
+ [SPECIES_FEAROW] = 6,
+ [SPECIES_EKANS] = 0,
+ [SPECIES_ARBOK] = 0,
+ [SPECIES_PIKACHU] = 0,
+ [SPECIES_RAICHU] = 0,
+ [SPECIES_SANDSHREW] = 0,
+ [SPECIES_SANDSLASH] = 0,
+ [SPECIES_NIDORAN_F] = 0,
+ [SPECIES_NIDORINA] = 0,
+ [SPECIES_NIDOQUEEN] = 0,
+ [SPECIES_NIDORAN_M] = 0,
+ [SPECIES_NIDORINO] = 0,
+ [SPECIES_NIDOKING] = 0,
+ [SPECIES_CLEFAIRY] = 0,
+ [SPECIES_CLEFABLE] = 0,
+ [SPECIES_VULPIX] = 0,
+ [SPECIES_NINETALES] = 0,
+ [SPECIES_JIGGLYPUFF] = 0,
+ [SPECIES_WIGGLYTUFF] = 0,
+ [SPECIES_ZUBAT] = 8,
+ [SPECIES_GOLBAT] = 8,
+ [SPECIES_ODDISH] = 0,
+ [SPECIES_GLOOM] = 0,
+ [SPECIES_VILEPLUME] = 0,
+ [SPECIES_PARAS] = 0,
+ [SPECIES_PARASECT] = 0,
+ [SPECIES_VENONAT] = 0,
+ [SPECIES_VENOMOTH] = 8,
+ [SPECIES_DIGLETT] = 0,
+ [SPECIES_DUGTRIO] = 0,
+ [SPECIES_MEOWTH] = 0,
+ [SPECIES_PERSIAN] = 0,
+ [SPECIES_PSYDUCK] = 0,
+ [SPECIES_GOLDUCK] = 0,
+ [SPECIES_MANKEY] = 0,
+ [SPECIES_PRIMEAPE] = 0,
+ [SPECIES_GROWLITHE] = 0,
+ [SPECIES_ARCANINE] = 0,
+ [SPECIES_POLIWAG] = 0,
+ [SPECIES_POLIWHIRL] = 0,
+ [SPECIES_POLIWRATH] = 0,
+ [SPECIES_ABRA] = 0,
+ [SPECIES_KADABRA] = 0,
+ [SPECIES_ALAKAZAM] = 0,
+ [SPECIES_MACHOP] = 0,
+ [SPECIES_MACHOKE] = 0,
+ [SPECIES_MACHAMP] = 0,
+ [SPECIES_BELLSPROUT] = 0,
+ [SPECIES_WEEPINBELL] = 0,
+ [SPECIES_VICTREEBEL] = 0,
+ [SPECIES_TENTACOOL] = 0,
+ [SPECIES_TENTACRUEL] = 0,
+ [SPECIES_GEODUDE] = 16,
+ [SPECIES_GRAVELER] = 0,
+ [SPECIES_GOLEM] = 0,
+ [SPECIES_PONYTA] = 0,
+ [SPECIES_RAPIDASH] = 0,
+ [SPECIES_SLOWPOKE] = 0,
+ [SPECIES_SLOWBRO] = 0,
+ [SPECIES_MAGNEMITE] = 16,
+ [SPECIES_MAGNETON] = 8,
+ [SPECIES_FARFETCHD] = 0,
+ [SPECIES_DODUO] = 0,
+ [SPECIES_DODRIO] = 0,
+ [SPECIES_SEEL] = 0,
+ [SPECIES_DEWGONG] = 0,
+ [SPECIES_GRIMER] = 0,
+ [SPECIES_MUK] = 0,
+ [SPECIES_SHELLDER] = 0,
+ [SPECIES_CLOYSTER] = 0,
+ [SPECIES_GASTLY] = 4,
+ [SPECIES_HAUNTER] = 4,
+ [SPECIES_GENGAR] = 0,
+ [SPECIES_ONIX] = 0,
+ [SPECIES_DROWZEE] = 0,
+ [SPECIES_HYPNO] = 0,
+ [SPECIES_KRABBY] = 0,
+ [SPECIES_KINGLER] = 0,
+ [SPECIES_VOLTORB] = 10,
+ [SPECIES_ELECTRODE] = 12,
+ [SPECIES_EXEGGCUTE] = 0,
+ [SPECIES_EXEGGUTOR] = 0,
+ [SPECIES_CUBONE] = 0,
+ [SPECIES_MAROWAK] = 0,
+ [SPECIES_HITMONLEE] = 0,
+ [SPECIES_HITMONCHAN] = 0,
+ [SPECIES_LICKITUNG] = 0,
+ [SPECIES_KOFFING] = 8,
+ [SPECIES_WEEZING] = 6,
+ [SPECIES_RHYHORN] = 0,
+ [SPECIES_RHYDON] = 0,
+ [SPECIES_CHANSEY] = 0,
+ [SPECIES_TANGELA] = 0,
+ [SPECIES_KANGASKHAN] = 0,
+ [SPECIES_HORSEA] = 0,
+ [SPECIES_SEADRA] = 0,
+ [SPECIES_GOLDEEN] = 0,
+ [SPECIES_SEAKING] = 0,
+ [SPECIES_STARYU] = 0,
+ [SPECIES_STARMIE] = 0,
+ [SPECIES_MR_MIME] = 0,
+ [SPECIES_SCYTHER] = 0,
+ [SPECIES_JYNX] = 0,
+ [SPECIES_ELECTABUZZ] = 0,
+ [SPECIES_MAGMAR] = 0,
+ [SPECIES_PINSIR] = 0,
+ [SPECIES_TAUROS] = 0,
+ [SPECIES_MAGIKARP] = 0,
+ [SPECIES_GYARADOS] = 0,
+ [SPECIES_LAPRAS] = 0,
+ [SPECIES_DITTO] = 0,
+ [SPECIES_EEVEE] = 0,
+ [SPECIES_VAPOREON] = 0,
+ [SPECIES_JOLTEON] = 0,
+ [SPECIES_FLAREON] = 0,
+ [SPECIES_PORYGON] = 0,
+ [SPECIES_OMANYTE] = 0,
+ [SPECIES_OMASTAR] = 0,
+ [SPECIES_KABUTO] = 0,
+ [SPECIES_KABUTOPS] = 0,
+ [SPECIES_AERODACTYL] = 7,
+ [SPECIES_SNORLAX] = 0,
+ [SPECIES_ARTICUNO] = 6,
+ [SPECIES_ZAPDOS] = 8,
+ [SPECIES_MOLTRES] = 5,
+ [SPECIES_DRATINI] = 0,
+ [SPECIES_DRAGONAIR] = 0,
+ [SPECIES_DRAGONITE] = 6,
+ [SPECIES_MEWTWO] = 0,
+ [SPECIES_MEW] = 8,
+ [SPECIES_CHIKORITA] = 0,
+ [SPECIES_BAYLEEF] = 0,
+ [SPECIES_MEGANIUM] = 0,
+ [SPECIES_CYNDAQUIL] = 0,
+ [SPECIES_QUILAVA] = 0,
+ [SPECIES_TYPHLOSION] = 0,
+ [SPECIES_TOTODILE] = 0,
+ [SPECIES_CROCONAW] = 0,
+ [SPECIES_FERALIGATR] = 0,
+ [SPECIES_SENTRET] = 0,
+ [SPECIES_FURRET] = 0,
+ [SPECIES_HOOTHOOT] = 0,
+ [SPECIES_NOCTOWL] = 0,
+ [SPECIES_LEDYBA] = 0,
+ [SPECIES_LEDIAN] = 8,
+ [SPECIES_SPINARAK] = 0,
+ [SPECIES_ARIADOS] = 0,
+ [SPECIES_CROBAT] = 6,
+ [SPECIES_CHINCHOU] = 0,
+ [SPECIES_LANTURN] = 0,
+ [SPECIES_PICHU] = 0,
+ [SPECIES_CLEFFA] = 0,
+ [SPECIES_IGGLYBUFF] = 0,
+ [SPECIES_TOGEPI] = 0,
+ [SPECIES_TOGETIC] = 0,
+ [SPECIES_NATU] = 0,
+ [SPECIES_XATU] = 0,
+ [SPECIES_MAREEP] = 0,
+ [SPECIES_FLAAFFY] = 0,
+ [SPECIES_AMPHAROS] = 0,
+ [SPECIES_BELLOSSOM] = 0,
+ [SPECIES_MARILL] = 0,
+ [SPECIES_AZUMARILL] = 0,
+ [SPECIES_SUDOWOODO] = 0,
+ [SPECIES_POLITOED] = 0,
+ [SPECIES_HOPPIP] = 11,
+ [SPECIES_SKIPLOOM] = 12,
+ [SPECIES_JUMPLUFF] = 9,
+ [SPECIES_AIPOM] = 0,
+ [SPECIES_SUNKERN] = 0,
+ [SPECIES_SUNFLORA] = 0,
+ [SPECIES_YANMA] = 8,
+ [SPECIES_WOOPER] = 0,
+ [SPECIES_QUAGSIRE] = 0,
+ [SPECIES_ESPEON] = 0,
+ [SPECIES_UMBREON] = 0,
+ [SPECIES_MURKROW] = 0,
+ [SPECIES_SLOWKING] = 0,
+ [SPECIES_MISDREAVUS] = 8,
+ [SPECIES_UNOWN] = 8,
+ [SPECIES_WOBBUFFET] = 0,
+ [SPECIES_GIRAFARIG] = 0,
+ [SPECIES_PINECO] = 0,
+ [SPECIES_FORRETRESS] = 0,
+ [SPECIES_DUNSPARCE] = 0,
+ [SPECIES_GLIGAR] = 6,
+ [SPECIES_STEELIX] = 0,
+ [SPECIES_SNUBBULL] = 0,
+ [SPECIES_GRANBULL] = 0,
+ [SPECIES_QWILFISH] = 0,
+ [SPECIES_SCIZOR] = 0,
+ [SPECIES_SHUCKLE] = 0,
+ [SPECIES_HERACROSS] = 0,
+ [SPECIES_SNEASEL] = 0,
+ [SPECIES_TEDDIURSA] = 0,
+ [SPECIES_URSARING] = 0,
+ [SPECIES_SLUGMA] = 0,
+ [SPECIES_MAGCARGO] = 0,
+ [SPECIES_SWINUB] = 0,
+ [SPECIES_PILOSWINE] = 0,
+ [SPECIES_CORSOLA] = 0,
+ [SPECIES_REMORAID] = 0,
+ [SPECIES_OCTILLERY] = 0,
+ [SPECIES_DELIBIRD] = 0,
+ [SPECIES_MANTINE] = 0,
+ [SPECIES_SKARMORY] = 0,
+ [SPECIES_HOUNDOUR] = 0,
+ [SPECIES_HOUNDOOM] = 0,
+ [SPECIES_KINGDRA] = 0,
+ [SPECIES_PHANPY] = 0,
+ [SPECIES_DONPHAN] = 0,
+ [SPECIES_PORYGON2] = 0,
+ [SPECIES_STANTLER] = 0,
+ [SPECIES_SMEARGLE] = 0,
+ [SPECIES_TYROGUE] = 0,
+ [SPECIES_HITMONTOP] = 0,
+ [SPECIES_SMOOCHUM] = 0,
+ [SPECIES_ELEKID] = 0,
+ [SPECIES_MAGBY] = 0,
+ [SPECIES_MILTANK] = 0,
+ [SPECIES_BLISSEY] = 0,
+ [SPECIES_RAIKOU] = 0,
+ [SPECIES_ENTEI] = 0,
+ [SPECIES_SUICUNE] = 0,
+ [SPECIES_LARVITAR] = 0,
+ [SPECIES_PUPITAR] = 0,
+ [SPECIES_TYRANITAR] = 0,
+ [SPECIES_LUGIA] = 6,
+ [SPECIES_HO_OH] = 6,
+ [SPECIES_CELEBI] = 15,
+ [SPECIES_OLD_UNOWN_B] = 0,
+ [SPECIES_OLD_UNOWN_C] = 0,
+ [SPECIES_OLD_UNOWN_D] = 0,
+ [SPECIES_OLD_UNOWN_E] = 0,
+ [SPECIES_OLD_UNOWN_F] = 0,
+ [SPECIES_OLD_UNOWN_G] = 0,
+ [SPECIES_OLD_UNOWN_H] = 0,
+ [SPECIES_OLD_UNOWN_I] = 0,
+ [SPECIES_OLD_UNOWN_J] = 0,
+ [SPECIES_OLD_UNOWN_K] = 0,
+ [SPECIES_OLD_UNOWN_L] = 0,
+ [SPECIES_OLD_UNOWN_M] = 0,
+ [SPECIES_OLD_UNOWN_N] = 0,
+ [SPECIES_OLD_UNOWN_O] = 0,
+ [SPECIES_OLD_UNOWN_P] = 0,
+ [SPECIES_OLD_UNOWN_Q] = 0,
+ [SPECIES_OLD_UNOWN_R] = 0,
+ [SPECIES_OLD_UNOWN_S] = 0,
+ [SPECIES_OLD_UNOWN_T] = 0,
+ [SPECIES_OLD_UNOWN_U] = 0,
+ [SPECIES_OLD_UNOWN_V] = 0,
+ [SPECIES_OLD_UNOWN_W] = 0,
+ [SPECIES_OLD_UNOWN_X] = 0,
+ [SPECIES_OLD_UNOWN_Y] = 0,
+ [SPECIES_OLD_UNOWN_Z] = 0,
+ [SPECIES_TREECKO] = 0,
+ [SPECIES_GROVYLE] = 0,
+ [SPECIES_SCEPTILE] = 0,
+ [SPECIES_TORCHIC] = 0,
+ [SPECIES_COMBUSKEN] = 0,
+ [SPECIES_BLAZIKEN] = 0,
+ [SPECIES_MUDKIP] = 0,
+ [SPECIES_MARSHTOMP] = 0,
+ [SPECIES_SWAMPERT] = 0,
+ [SPECIES_POOCHYENA] = 0,
+ [SPECIES_MIGHTYENA] = 0,
+ [SPECIES_ZIGZAGOON] = 0,
+ [SPECIES_LINOONE] = 0,
+ [SPECIES_WURMPLE] = 0,
+ [SPECIES_SILCOON] = 0,
+ [SPECIES_BEAUTIFLY] = 8,
+ [SPECIES_CASCOON] = 0,
+ [SPECIES_DUSTOX] = 10,
+ [SPECIES_LOTAD] = 0,
+ [SPECIES_LOMBRE] = 0,
+ [SPECIES_LUDICOLO] = 0,
+ [SPECIES_SEEDOT] = 0,
+ [SPECIES_NUZLEAF] = 0,
+ [SPECIES_SHIFTRY] = 0,
+ [SPECIES_NINCADA] = 0,
+ [SPECIES_NINJASK] = 10,
+ [SPECIES_SHEDINJA] = 8,
+ [SPECIES_TAILLOW] = 0,
+ [SPECIES_SWELLOW] = 0,
+ [SPECIES_SHROOMISH] = 0,
+ [SPECIES_BRELOOM] = 0,
+ [SPECIES_SPINDA] = 0,
+ [SPECIES_WINGULL] = 16,
+ [SPECIES_PELIPPER] = 8,
+ [SPECIES_SURSKIT] = 0,
+ [SPECIES_MASQUERAIN] = 10,
+ [SPECIES_WAILMER] = 0,
+ [SPECIES_WAILORD] = 0,
+ [SPECIES_SKITTY] = 0,
+ [SPECIES_DELCATTY] = 0,
+ [SPECIES_KECLEON] = 0,
+ [SPECIES_BALTOY] = 4,
+ [SPECIES_CLAYDOL] = 10,
+ [SPECIES_NOSEPASS] = 0,
+ [SPECIES_TORKOAL] = 0,
+ [SPECIES_SABLEYE] = 0,
+ [SPECIES_BARBOACH] = 0,
+ [SPECIES_WHISCASH] = 0,
+ [SPECIES_LUVDISC] = 0,
+ [SPECIES_CORPHISH] = 0,
+ [SPECIES_CRAWDAUNT] = 0,
+ [SPECIES_FEEBAS] = 0,
+ [SPECIES_MILOTIC] = 0,
+ [SPECIES_CARVANHA] = 0,
+ [SPECIES_SHARPEDO] = 0,
+ [SPECIES_TRAPINCH] = 0,
+ [SPECIES_VIBRAVA] = 0,
+ [SPECIES_FLYGON] = 7,
+ [SPECIES_MAKUHITA] = 0,
+ [SPECIES_HARIYAMA] = 0,
+ [SPECIES_ELECTRIKE] = 0,
+ [SPECIES_MANECTRIC] = 0,
+ [SPECIES_NUMEL] = 0,
+ [SPECIES_CAMERUPT] = 0,
+ [SPECIES_SPHEAL] = 0,
+ [SPECIES_SEALEO] = 0,
+ [SPECIES_WALREIN] = 0,
+ [SPECIES_CACNEA] = 0,
+ [SPECIES_CACTURNE] = 0,
+ [SPECIES_SNORUNT] = 0,
+ [SPECIES_GLALIE] = 12,
+ [SPECIES_LUNATONE] = 13,
+ [SPECIES_SOLROCK] = 4,
+ [SPECIES_AZURILL] = 0,
+ [SPECIES_SPOINK] = 0,
+ [SPECIES_GRUMPIG] = 0,
+ [SPECIES_PLUSLE] = 0,
+ [SPECIES_MINUN] = 0,
+ [SPECIES_MAWILE] = 0,
+ [SPECIES_MEDITITE] = 0,
+ [SPECIES_MEDICHAM] = 0,
+ [SPECIES_SWABLU] = 12,
+ [SPECIES_ALTARIA] = 8,
+ [SPECIES_WYNAUT] = 0,
+ [SPECIES_DUSKULL] = 9,
+ [SPECIES_DUSCLOPS] = 0,
+ [SPECIES_ROSELIA] = 0,
+ [SPECIES_SLAKOTH] = 0,
+ [SPECIES_VIGOROTH] = 0,
+ [SPECIES_SLAKING] = 0,
+ [SPECIES_GULPIN] = 0,
+ [SPECIES_SWALOT] = 0,
+ [SPECIES_TROPIUS] = 0,
+ [SPECIES_WHISMUR] = 0,
+ [SPECIES_LOUDRED] = 0,
+ [SPECIES_EXPLOUD] = 0,
+ [SPECIES_CLAMPERL] = 0,
+ [SPECIES_HUNTAIL] = 0,
+ [SPECIES_GOREBYSS] = 0,
+ [SPECIES_ABSOL] = 0,
+ [SPECIES_SHUPPET] = 12,
+ [SPECIES_BANETTE] = 8,
+ [SPECIES_SEVIPER] = 0,
+ [SPECIES_ZANGOOSE] = 0,
+ [SPECIES_RELICANTH] = 0,
+ [SPECIES_ARON] = 0,
+ [SPECIES_LAIRON] = 0,
+ [SPECIES_AGGRON] = 0,
+ [SPECIES_CASTFORM] = 16,
+ [SPECIES_VOLBEAT] = 0,
+ [SPECIES_ILLUMISE] = 0,
+ [SPECIES_LILEEP] = 0,
+ [SPECIES_CRADILY] = 0,
+ [SPECIES_ANORITH] = 0,
+ [SPECIES_ARMALDO] = 0,
+ [SPECIES_RALTS] = 0,
+ [SPECIES_KIRLIA] = 0,
+ [SPECIES_GARDEVOIR] = 0,
+ [SPECIES_BAGON] = 0,
+ [SPECIES_SHELGON] = 0,
+ [SPECIES_SALAMENCE] = 0,
+ [SPECIES_BELDUM] = 8,
+ [SPECIES_METANG] = 0,
+ [SPECIES_METAGROSS] = 0,
+ [SPECIES_REGIROCK] = 0,
+ [SPECIES_REGICE] = 0,
+ [SPECIES_REGISTEEL] = 0,
+ [SPECIES_KYOGRE] = 0,
+ [SPECIES_GROUDON] = 0,
+ [SPECIES_RAYQUAZA] = 6,
+ [SPECIES_LATIAS] = 6,
+ [SPECIES_LATIOS] = 6,
+ [SPECIES_JIRACHI] = 12,
+ [SPECIES_DEOXYS] = 8,
+ [SPECIES_CHIMECHO] = 12,
};
diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h
index 923df2cde..a01f0360f 100644
--- a/src/data/pokemon_graphics/front_pic_coordinates.h
+++ b/src/data/pokemon_graphics/front_pic_coordinates.h
@@ -1,443 +1,2205 @@
+#include "constants/species.h"
+
const struct MonCoords gMonFrontPicCoords[] =
{
- {0x88, 0x00}, // SPECIES_NONE
- {0x45, 0x0e}, // SPECIES_BULBASAUR
- {0x56, 0x0a}, // SPECIES_IVYSAUR
- {0x88, 0x03}, // SPECIES_VENUSAUR
- {0x55, 0x0c}, // SPECIES_CHARMANDER
- {0x66, 0x09}, // SPECIES_CHARMELEON
- {0x88, 0x01}, // SPECIES_CHARIZARD
- {0x65, 0x0d}, // SPECIES_SQUIRTLE
- {0x66, 0x08}, // SPECIES_WARTORTLE
- {0x88, 0x00}, // SPECIES_BLASTOISE
- {0x45, 0x10}, // SPECIES_CATERPIE
- {0x54, 0x14}, // SPECIES_METAPOD
- {0x76, 0x09}, // SPECIES_BUTTERFREE
- {0x54, 0x12}, // SPECIES_WEEDLE
- {0x45, 0x0e}, // SPECIES_KAKUNA
- {0x86, 0x09}, // SPECIES_BEEDRILL
- {0x65, 0x0d}, // SPECIES_PIDGEY
- {0x67, 0x0b}, // SPECIES_PIDGEOTTO
- {0x88, 0x01}, // SPECIES_PIDGEOT
- {0x44, 0x10}, // SPECIES_RATTATA
- {0x66, 0x0b}, // SPECIES_RATICATE
- {0x45, 0x0f}, // SPECIES_SPEAROW
- {0x78, 0x00}, // SPECIES_FEAROW
- {0x65, 0x0c}, // SPECIES_EKANS
- {0x88, 0x02}, // SPECIES_ARBOK
- {0x67, 0x09}, // SPECIES_PIKACHU
- {0x67, 0x04}, // SPECIES_RAICHU
- {0x55, 0x0e}, // SPECIES_SANDSHREW
- {0x76, 0x09}, // SPECIES_SANDSLASH
- {0x45, 0x0f}, // SPECIES_NIDORAN_F
- {0x66, 0x0b}, // SPECIES_NIDORINA
- {0x78, 0x03}, // SPECIES_NIDOQUEEN
- {0x55, 0x0c}, // SPECIES_NIDORAN_M
- {0x66, 0x09}, // SPECIES_NIDORINO
- {0x78, 0x02}, // SPECIES_NIDOKING
- {0x55, 0x10}, // SPECIES_CLEFAIRY
- {0x66, 0x08}, // SPECIES_CLEFABLE
- {0x65, 0x0c}, // SPECIES_VULPIX
- {0x88, 0x03}, // SPECIES_NINETALES
- {0x45, 0x10}, // SPECIES_JIGGLYPUFF
- {0x67, 0x08}, // SPECIES_WIGGLYTUFF
- {0x67, 0x06}, // SPECIES_ZUBAT
- {0x88, 0x03}, // SPECIES_GOLBAT
- {0x45, 0x0f}, // SPECIES_ODDISH
- {0x66, 0x0a}, // SPECIES_GLOOM
- {0x77, 0x06}, // SPECIES_VILEPLUME
- {0x55, 0x0f}, // SPECIES_PARAS
- {0x86, 0x08}, // SPECIES_PARASECT
- {0x66, 0x08}, // SPECIES_VENONAT
- {0x88, 0x02}, // SPECIES_VENOMOTH
- {0x54, 0x12}, // SPECIES_DIGLETT
- {0x75, 0x0d}, // SPECIES_DUGTRIO
- {0x55, 0x0c}, // SPECIES_MEOWTH
- {0x77, 0x07}, // SPECIES_PERSIAN
- {0x56, 0x09}, // SPECIES_PSYDUCK
- {0x78, 0x02}, // SPECIES_GOLDUCK
- {0x65, 0x0e}, // SPECIES_MANKEY
- {0x77, 0x07}, // SPECIES_PRIMEAPE
- {0x66, 0x0b}, // SPECIES_GROWLITHE
- {0x88, 0x02}, // SPECIES_ARCANINE
- {0x74, 0x13}, // SPECIES_POLIWAG
- {0x76, 0x0a}, // SPECIES_POLIWHIRL
- {0x76, 0x08}, // SPECIES_POLIWRATH
- {0x66, 0x0b}, // SPECIES_ABRA
- {0x77, 0x05}, // SPECIES_KADABRA
- {0x87, 0x04}, // SPECIES_ALAKAZAM
- {0x56, 0x0b}, // SPECIES_MACHOP
- {0x67, 0x06}, // SPECIES_MACHOKE
- {0x88, 0x01}, // SPECIES_MACHAMP
- {0x65, 0x0f}, // SPECIES_BELLSPROUT
- {0x66, 0x0b}, // SPECIES_WEEPINBELL
- {0x77, 0x05}, // SPECIES_VICTREEBEL
- {0x46, 0x09}, // SPECIES_TENTACOOL
- {0x87, 0x04}, // SPECIES_TENTACRUEL
- {0x54, 0x12}, // SPECIES_GEODUDE
- {0x87, 0x04}, // SPECIES_GRAVELER
- {0x77, 0x05}, // SPECIES_GOLEM
- {0x66, 0x08}, // SPECIES_PONYTA
- {0x88, 0x01}, // SPECIES_RAPIDASH
- {0x66, 0x0b}, // SPECIES_SLOWPOKE
- {0x86, 0x08}, // SPECIES_SLOWBRO
- {0x43, 0x15}, // SPECIES_MAGNEMITE
- {0x76, 0x08}, // SPECIES_MAGNETON
- {0x66, 0x09}, // SPECIES_FARFETCHD
- {0x57, 0x05}, // SPECIES_DODUO
- {0x88, 0x00}, // SPECIES_DODRIO
- {0x76, 0x0a}, // SPECIES_SEEL
- {0x87, 0x07}, // SPECIES_DEWGONG
- {0x65, 0x0c}, // SPECIES_GRIMER
- {0x87, 0x04}, // SPECIES_MUK
- {0x55, 0x10}, // SPECIES_SHELLDER
- {0x87, 0x05}, // SPECIES_CLOYSTER
- {0x77, 0x06}, // SPECIES_GASTLY
- {0x77, 0x05}, // SPECIES_HAUNTER
- {0x77, 0x05}, // SPECIES_GENGAR
- {0x78, 0x02}, // SPECIES_ONIX
- {0x77, 0x07}, // SPECIES_DROWZEE
- {0x77, 0x04}, // SPECIES_HYPNO
- {0x65, 0x0d}, // SPECIES_KRABBY
- {0x88, 0x03}, // SPECIES_KINGLER
- {0x44, 0x13}, // SPECIES_VOLTORB
- {0x55, 0x0e}, // SPECIES_ELECTRODE
- {0x87, 0x07}, // SPECIES_EXEGGCUTE
- {0x88, 0x00}, // SPECIES_EXEGGUTOR
- {0x55, 0x0f}, // SPECIES_CUBONE
- {0x76, 0x0b}, // SPECIES_MAROWAK
- {0x87, 0x04}, // SPECIES_HITMONLEE
- {0x67, 0x04}, // SPECIES_HITMONCHAN
- {0x86, 0x08}, // SPECIES_LICKITUNG
- {0x66, 0x08}, // SPECIES_KOFFING
- {0x88, 0x02}, // SPECIES_WEEZING
- {0x76, 0x09}, // SPECIES_RHYHORN
- {0x88, 0x02}, // SPECIES_RHYDON
- {0x76, 0x09}, // SPECIES_CHANSEY
- {0x67, 0x07}, // SPECIES_TANGELA
- {0x88, 0x00}, // SPECIES_KANGASKHAN
- {0x45, 0x0f}, // SPECIES_HORSEA
- {0x67, 0x07}, // SPECIES_SEADRA
- {0x66, 0x0a}, // SPECIES_GOLDEEN
- {0x77, 0x04}, // SPECIES_SEAKING
- {0x66, 0x0a}, // SPECIES_STARYU
- {0x77, 0x06}, // SPECIES_STARMIE
- {0x66, 0x08}, // SPECIES_MR_MIME
- {0x88, 0x00}, // SPECIES_SCYTHER
- {0x77, 0x04}, // SPECIES_JYNX
- {0x78, 0x02}, // SPECIES_ELECTABUZZ
- {0x77, 0x04}, // SPECIES_MAGMAR
- {0x77, 0x04}, // SPECIES_PINSIR
- {0x78, 0x00}, // SPECIES_TAUROS
- {0x67, 0x06}, // SPECIES_MAGIKARP
- {0x88, 0x08}, // SPECIES_GYARADOS
- {0x85, 0x0d}, // SPECIES_LAPRAS
- {0x54, 0x11}, // SPECIES_DITTO
- {0x56, 0x09}, // SPECIES_EEVEE
- {0x67, 0x06}, // SPECIES_VAPOREON
- {0x76, 0x09}, // SPECIES_JOLTEON
- {0x66, 0x0a}, // SPECIES_FLAREON
- {0x55, 0x0d}, // SPECIES_PORYGON
- {0x45, 0x0f}, // SPECIES_OMANYTE
- {0x67, 0x07}, // SPECIES_OMASTAR
- {0x54, 0x11}, // SPECIES_KABUTO
- {0x88, 0x03}, // SPECIES_KABUTOPS
- {0x88, 0x01}, // SPECIES_AERODACTYL
- {0x87, 0x05}, // SPECIES_SNORLAX
- {0x88, 0x03}, // SPECIES_ARTICUNO
- {0x87, 0x04}, // SPECIES_ZAPDOS
- {0x88, 0x00}, // SPECIES_MOLTRES
- {0x75, 0x0e}, // SPECIES_DRATINI
- {0x87, 0x06}, // SPECIES_DRAGONAIR
- {0x88, 0x00}, // SPECIES_DRAGONITE
- {0x88, 0x00}, // SPECIES_MEWTWO
- {0x55, 0x0d}, // SPECIES_MEW
- {0x75, 0x0d}, // SPECIES_CHIKORITA
- {0x77, 0x04}, // SPECIES_BAYLEEF
- {0x88, 0x00}, // SPECIES_MEGANIUM
- {0x55, 0x0e}, // SPECIES_CYNDAQUIL
- {0x76, 0x08}, // SPECIES_QUILAVA
- {0x78, 0x00}, // SPECIES_TYPHLOSION
- {0x55, 0x0f}, // SPECIES_TOTODILE
- {0x67, 0x06}, // SPECIES_CROCONAW
- {0x88, 0x00}, // SPECIES_FERALIGATR
- {0x47, 0x04}, // SPECIES_SENTRET
- {0x67, 0x07}, // SPECIES_FURRET
- {0x55, 0x0d}, // SPECIES_HOOTHOOT
- {0x58, 0x03}, // SPECIES_NOCTOWL
- {0x56, 0x0c}, // SPECIES_LEDYBA
- {0x67, 0x04}, // SPECIES_LEDIAN
- {0x54, 0x13}, // SPECIES_SPINARAK
- {0x87, 0x05}, // SPECIES_ARIADOS
- {0x88, 0x00}, // SPECIES_CROBAT
- {0x75, 0x10}, // SPECIES_CHINCHOU
- {0x87, 0x0b}, // SPECIES_LANTURN
- {0x45, 0x0c}, // SPECIES_PICHU
- {0x44, 0x14}, // SPECIES_CLEFFA
- {0x44, 0x12}, // SPECIES_IGGLYBUFF
- {0x34, 0x14}, // SPECIES_TOGEPI
- {0x46, 0x09}, // SPECIES_TOGETIC
- {0x44, 0x14}, // SPECIES_NATU
- {0x47, 0x07}, // SPECIES_XATU
- {0x55, 0x10}, // SPECIES_MAREEP
- {0x56, 0x0a}, // SPECIES_FLAAFFY
- {0x77, 0x05}, // SPECIES_AMPHAROS
- {0x45, 0x0e}, // SPECIES_BELLOSSOM
- {0x65, 0x0e}, // SPECIES_MARILL
- {0x76, 0x09}, // SPECIES_AZUMARILL
- {0x67, 0x06}, // SPECIES_SUDOWOODO
- {0x67, 0x06}, // SPECIES_POLITOED
- {0x66, 0x0a}, // SPECIES_HOPPIP
- {0x55, 0x0f}, // SPECIES_SKIPLOOM
- {0x77, 0x07}, // SPECIES_JUMPLUFF
- {0x58, 0x03}, // SPECIES_AIPOM
- {0x44, 0x10}, // SPECIES_SUNKERN
- {0x56, 0x08}, // SPECIES_SUNFLORA
- {0x86, 0x0a}, // SPECIES_YANMA
- {0x54, 0x10}, // SPECIES_WOOPER
- {0x77, 0x07}, // SPECIES_QUAGSIRE
- {0x66, 0x08}, // SPECIES_ESPEON
- {0x67, 0x08}, // SPECIES_UMBREON
- {0x66, 0x0b}, // SPECIES_MURKROW
- {0x58, 0x01}, // SPECIES_SLOWKING
- {0x55, 0x0c}, // SPECIES_MISDREAVUS
- {0x35, 0x0f}, // SPECIES_UNOWN
- {0x77, 0x06}, // SPECIES_WOBBUFFET
- {0x88, 0x03}, // SPECIES_GIRAFARIG
- {0x56, 0x0a}, // SPECIES_PINECO
- {0x76, 0x09}, // SPECIES_FORRETRESS
- {0x74, 0x11}, // SPECIES_DUNSPARCE
- {0x78, 0x03}, // SPECIES_GLIGAR
- {0x88, 0x00}, // SPECIES_STEELIX
- {0x55, 0x0d}, // SPECIES_SNUBBULL
- {0x57, 0x06}, // SPECIES_GRANBULL
- {0x56, 0x0a}, // SPECIES_QWILFISH
- {0x88, 0x00}, // SPECIES_SCIZOR
- {0x66, 0x09}, // SPECIES_SHUCKLE
- {0x88, 0x03}, // SPECIES_HERACROSS
- {0x67, 0x05}, // SPECIES_SNEASEL
- {0x45, 0x0d}, // SPECIES_TEDDIURSA
- {0x78, 0x01}, // SPECIES_URSARING
- {0x45, 0x0d}, // SPECIES_SLUGMA
- {0x57, 0x0d}, // SPECIES_MAGCARGO
- {0x43, 0x14}, // SPECIES_SWINUB
- {0x66, 0x08}, // SPECIES_PILOSWINE
- {0x65, 0x0c}, // SPECIES_CORSOLA
- {0x55, 0x0e}, // SPECIES_REMORAID
- {0x66, 0x0a}, // SPECIES_OCTILLERY
- {0x56, 0x08}, // SPECIES_DELIBIRD
- {0x88, 0x01}, // SPECIES_MANTINE
- {0x88, 0x00}, // SPECIES_SKARMORY
- {0x56, 0x0b}, // SPECIES_HOUNDOUR
- {0x77, 0x05}, // SPECIES_HOUNDOOM
- {0x78, 0x04}, // SPECIES_KINGDRA
- {0x54, 0x10}, // SPECIES_PHANPY
- {0x86, 0x08}, // SPECIES_DONPHAN
- {0x55, 0x0f}, // SPECIES_PORYGON2
- {0x88, 0x00}, // SPECIES_STANTLER
- {0x77, 0x06}, // SPECIES_SMEARGLE
- {0x46, 0x09}, // SPECIES_TYROGUE
- {0x67, 0x05}, // SPECIES_HITMONTOP
- {0x35, 0x0f}, // SPECIES_SMOOCHUM
- {0x76, 0x0a}, // SPECIES_ELEKID
- {0x45, 0x0d}, // SPECIES_MAGBY
- {0x77, 0x04}, // SPECIES_MILTANK
- {0x77, 0x06}, // SPECIES_BLISSEY
- {0x88, 0x00}, // SPECIES_RAIKOU
- {0x88, 0x00}, // SPECIES_ENTEI
- {0x88, 0x00}, // SPECIES_SUICUNE
- {0x46, 0x09}, // SPECIES_LARVITAR
- {0x56, 0x09}, // SPECIES_PUPITAR
- {0x88, 0x00}, // SPECIES_TYRANITAR
- {0x88, 0x00}, // SPECIES_LUGIA
- {0x88, 0x00}, // SPECIES_HO_OH
- {0x55, 0x0e}, // SPECIES_CELEBI
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_B
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_C
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_D
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_E
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_F
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_G
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_H
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_I
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_J
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_K
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_L
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_M
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_N
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_O
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_P
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_Q
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_R
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_S
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_T
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_U
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_V
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_W
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_X
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_Y
- {0x87, 0x04}, // SPECIES_OLD_UNOWN_Z
- {0x66, 0x08}, // SPECIES_TREECKO
- {0x87, 0x04}, // SPECIES_GROVYLE
- {0x88, 0x00}, // SPECIES_SCEPTILE
- {0x56, 0x08}, // SPECIES_TORCHIC
- {0x88, 0x01}, // SPECIES_COMBUSKEN
- {0x88, 0x00}, // SPECIES_BLAZIKEN
- {0x56, 0x0c}, // SPECIES_MUDKIP
- {0x67, 0x06}, // SPECIES_MARSHTOMP
- {0x88, 0x00}, // SPECIES_SWAMPERT
- {0x55, 0x0c}, // SPECIES_POOCHYENA
- {0x87, 0x04}, // SPECIES_MIGHTYENA
- {0x85, 0x0f}, // SPECIES_ZIGZAGOON
- {0x78, 0x03}, // SPECIES_LINOONE
- {0x45, 0x0e}, // SPECIES_WURMPLE
- {0x75, 0x11}, // SPECIES_SILCOON
- {0x86, 0x09}, // SPECIES_BEAUTIFLY
- {0x74, 0x10}, // SPECIES_CASCOON
- {0x86, 0x0f}, // SPECIES_DUSTOX
- {0x65, 0x0e}, // SPECIES_LOTAD
- {0x66, 0x09}, // SPECIES_LOMBRE
- {0x88, 0x00}, // SPECIES_LUDICOLO
- {0x46, 0x10}, // SPECIES_SEEDOT
- {0x56, 0x08}, // SPECIES_NUZLEAF
- {0x88, 0x02}, // SPECIES_SHIFTRY
- {0x74, 0x12}, // SPECIES_NINCADA
- {0x86, 0x0a}, // SPECIES_NINJASK
- {0x66, 0x0a}, // SPECIES_SHEDINJA
- {0x64, 0x10}, // SPECIES_TAILLOW
- {0x87, 0x06}, // SPECIES_SWELLOW
- {0x54, 0x10}, // SPECIES_SHROOMISH
- {0x77, 0x04}, // SPECIES_BRELOOM
- {0x68, 0x08}, // SPECIES_SPINDA
- {0x84, 0x18}, // SPECIES_WINGULL
- {0x77, 0x04}, // SPECIES_PELIPPER
- {0x65, 0x0f}, // SPECIES_SURSKIT
- {0x88, 0x01}, // SPECIES_MASQUERAIN
- {0x75, 0x0f}, // SPECIES_WAILMER
- {0x87, 0x0a}, // SPECIES_WAILORD
- {0x66, 0x0b}, // SPECIES_SKITTY
- {0x66, 0x08}, // SPECIES_DELCATTY
- {0x67, 0x07}, // SPECIES_KECLEON
- {0x55, 0x10}, // SPECIES_BALTOY
- {0x78, 0x06}, // SPECIES_CLAYDOL
- {0x56, 0x0c}, // SPECIES_NOSEPASS
- {0x88, 0x02}, // SPECIES_TORKOAL
- {0x66, 0x09}, // SPECIES_SABLEYE
- {0x46, 0x0b}, // SPECIES_BARBOACH
- {0x76, 0x09}, // SPECIES_WHISCASH
- {0x46, 0x18}, // SPECIES_LUVDISC
- {0x66, 0x0c}, // SPECIES_CORPHISH
- {0x88, 0x01}, // SPECIES_CRAWDAUNT
- {0x46, 0x0d}, // SPECIES_FEEBAS
- {0x88, 0x00}, // SPECIES_MILOTIC
- {0x67, 0x06}, // SPECIES_CARVANHA
- {0x78, 0x03}, // SPECIES_SHARPEDO
- {0x54, 0x10}, // SPECIES_TRAPINCH
- {0x86, 0x0c}, // SPECIES_VIBRAVA
- {0x88, 0x01}, // SPECIES_FLYGON
- {0x65, 0x0c}, // SPECIES_MAKUHITA
- {0x88, 0x01}, // SPECIES_HARIYAMA
- {0x64, 0x12}, // SPECIES_ELECTRIKE
- {0x67, 0x04}, // SPECIES_MANECTRIC
- {0x65, 0x0f}, // SPECIES_NUMEL
- {0x87, 0x09}, // SPECIES_CAMERUPT
- {0x65, 0x10}, // SPECIES_SPHEAL
- {0x86, 0x0a}, // SPECIES_SEALEO
- {0x88, 0x01}, // SPECIES_WALREIN
- {0x74, 0x10}, // SPECIES_CACNEA
- {0x88, 0x00}, // SPECIES_CACTURNE
- {0x56, 0x0b}, // SPECIES_SNORUNT
- {0x76, 0x0a}, // SPECIES_GLALIE
- {0x66, 0x09}, // SPECIES_LUNATONE
- {0x88, 0x01}, // SPECIES_SOLROCK
- {0x55, 0x0f}, // SPECIES_AZURILL
- {0x46, 0x09}, // SPECIES_SPOINK
- {0x77, 0x05}, // SPECIES_GRUMPIG
- {0x56, 0x0e}, // SPECIES_PLUSLE
- {0x66, 0x0c}, // SPECIES_MINUN
- {0x76, 0x08}, // SPECIES_MAWILE
- {0x65, 0x0c}, // SPECIES_MEDITITE
- {0x68, 0x01}, // SPECIES_MEDICHAM
- {0x76, 0x11}, // SPECIES_SWABLU
- {0x88, 0x02}, // SPECIES_ALTARIA
- {0x55, 0x0c}, // SPECIES_WYNAUT
- {0x66, 0x0a}, // SPECIES_DUSKULL
- {0x77, 0x05}, // SPECIES_DUSCLOPS
- {0x76, 0x08}, // SPECIES_ROSELIA
- {0x74, 0x12}, // SPECIES_SLAKOTH
- {0x78, 0x00}, // SPECIES_VIGOROTH
- {0x86, 0x08}, // SPECIES_SLAKING
- {0x55, 0x12}, // SPECIES_GULPIN
- {0x66, 0x08}, // SPECIES_SWALOT
- {0x88, 0x00}, // SPECIES_TROPIUS
- {0x55, 0x0e}, // SPECIES_WHISMUR
- {0x78, 0x03}, // SPECIES_LOUDRED
- {0x88, 0x01}, // SPECIES_EXPLOUD
- {0x55, 0x0e}, // SPECIES_CLAMPERL
- {0x78, 0x03}, // SPECIES_HUNTAIL
- {0x86, 0x0b}, // SPECIES_GOREBYSS
- {0x68, 0x00}, // SPECIES_ABSOL
- {0x56, 0x0e}, // SPECIES_SHUPPET
- {0x55, 0x0c}, // SPECIES_BANETTE
- {0x77, 0x08}, // SPECIES_SEVIPER
- {0x87, 0x05}, // SPECIES_ZANGOOSE
- {0x77, 0x0b}, // SPECIES_RELICANTH
- {0x43, 0x14}, // SPECIES_ARON
- {0x75, 0x0d}, // SPECIES_LAIRON
- {0x88, 0x00}, // SPECIES_AGGRON
- {0x34, 0x11}, // SPECIES_CASTFORM
- {0x66, 0x08}, // SPECIES_VOLBEAT
- {0x56, 0x08}, // SPECIES_ILLUMISE
- {0x67, 0x07}, // SPECIES_LILEEP
- {0x78, 0x00}, // SPECIES_CRADILY
- {0x66, 0x08}, // SPECIES_ANORITH
- {0x88, 0x00}, // SPECIES_ARMALDO
- {0x35, 0x0f}, // SPECIES_RALTS
- {0x47, 0x06}, // SPECIES_KIRLIA
- {0x78, 0x01}, // SPECIES_GARDEVOIR
- {0x56, 0x0b}, // SPECIES_BAGON
- {0x66, 0x09}, // SPECIES_SHELGON
- {0x87, 0x04}, // SPECIES_SALAMENCE
- {0x55, 0x0f}, // SPECIES_BELDUM
- {0x87, 0x07}, // SPECIES_METANG
- {0x87, 0x06}, // SPECIES_METAGROSS
- {0x78, 0x04}, // SPECIES_REGIROCK
- {0x88, 0x02}, // SPECIES_REGICE
- {0x88, 0x03}, // SPECIES_REGISTEEL
- {0x87, 0x04}, // SPECIES_KYOGRE
- {0x88, 0x01}, // SPECIES_GROUDON
- {0x88, 0x00}, // SPECIES_RAYQUAZA
- {0x88, 0x01}, // SPECIES_LATIAS
- {0x88, 0x02}, // SPECIES_LATIOS
- {0x66, 0x0d}, // SPECIES_JIRACHI
- {0x88, 0x01}, // SPECIES_DEOXYS
- {0x37, 0x06}, // SPECIES_CHIMECHO
- {0x33, 0x14}, // SPECIES_EGG
- {0x34, 0x10}, // SPECIES_UNOWN_B
- {0x44, 0x10}, // SPECIES_UNOWN_C
- {0x44, 0x10}, // SPECIES_UNOWN_D
- {0x44, 0x11}, // SPECIES_UNOWN_E
- {0x44, 0x11}, // SPECIES_UNOWN_F
- {0x35, 0x0e}, // SPECIES_UNOWN_G
- {0x44, 0x10}, // SPECIES_UNOWN_H
- {0x34, 0x10}, // SPECIES_UNOWN_I
- {0x34, 0x11}, // SPECIES_UNOWN_J
- {0x44, 0x11}, // SPECIES_UNOWN_K
- {0x34, 0x13}, // SPECIES_UNOWN_L
- {0x44, 0x13}, // SPECIES_UNOWN_M
- {0x43, 0x14}, // SPECIES_UNOWN_N
- {0x44, 0x10}, // SPECIES_UNOWN_O
- {0x34, 0x13}, // SPECIES_UNOWN_P
- {0x43, 0x15}, // SPECIES_UNOWN_Q
- {0x34, 0x13}, // SPECIES_UNOWN_R
- {0x45, 0x0c}, // SPECIES_UNOWN_S
- {0x34, 0x12}, // SPECIES_UNOWN_T
- {0x44, 0x12}, // SPECIES_UNOWN_U
- {0x44, 0x12}, // SPECIES_UNOWN_V
- {0x44, 0x13}, // SPECIES_UNOWN_W
- {0x33, 0x15}, // SPECIES_UNOWN_X
- {0x34, 0x11}, // SPECIES_UNOWN_Y
- {0x34, 0x10}, // SPECIES_UNOWN_Z
- {0x35, 0x0f}, // SPECIES_UNOWN_EMARK
- {0x35, 0x0d}, // SPECIES_UNOWN_QMARK
+ [SPECIES_NONE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_BULBASAUR] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_IVYSAUR] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_VENUSAUR] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_CHARMANDER] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_CHARMELEON] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_CHARIZARD] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SQUIRTLE] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_WARTORTLE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_BLASTOISE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CATERPIE] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x10,
+ },
+ [SPECIES_METAPOD] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x14,
+ },
+ [SPECIES_BUTTERFREE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_WEEDLE] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x12,
+ },
+ [SPECIES_KAKUNA] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_BEEDRILL] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_PIDGEY] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_PIDGEOTTO] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_PIDGEOT] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_RATTATA] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x10,
+ },
+ [SPECIES_RATICATE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SPEAROW] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_FEAROW] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_EKANS] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_ARBOK] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_PIKACHU] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x09,
+ },
+ [SPECIES_RAICHU] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SANDSHREW] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_SANDSLASH] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NIDORAN_F] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_NIDORINA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_NIDOQUEEN] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_NIDORAN_M] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_NIDORINO] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NIDOKING] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x02,
+ },
+ [SPECIES_CLEFAIRY] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x10,
+ },
+ [SPECIES_CLEFABLE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_VULPIX] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_NINETALES] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_JIGGLYPUFF] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x10,
+ },
+ [SPECIES_WIGGLYTUFF] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ZUBAT] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GOLBAT] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_ODDISH] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_GLOOM] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_VILEPLUME] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_PARAS] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_PARASECT] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_VENONAT] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_VENOMOTH] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_DIGLETT] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x12,
+ },
+ [SPECIES_DUGTRIO] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_MEOWTH] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_PERSIAN] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_PSYDUCK] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x09,
+ },
+ [SPECIES_GOLDUCK] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x02,
+ },
+ [SPECIES_MANKEY] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_PRIMEAPE] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_GROWLITHE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_ARCANINE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_POLIWAG] =
+ {
+ .coords = 0x74,
+ .y_offset = 0x13,
+ },
+ [SPECIES_POLIWHIRL] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_POLIWRATH] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ABRA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_KADABRA] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_ALAKAZAM] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_MACHOP] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_MACHOKE] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_MACHAMP] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_BELLSPROUT] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_WEEPINBELL] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_VICTREEBEL] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_TENTACOOL] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x09,
+ },
+ [SPECIES_TENTACRUEL] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_GEODUDE] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x12,
+ },
+ [SPECIES_GRAVELER] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_GOLEM] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_PONYTA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_RAPIDASH] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SLOWPOKE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SLOWBRO] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MAGNEMITE] =
+ {
+ .coords = 0x43,
+ .y_offset = 0x15,
+ },
+ [SPECIES_MAGNETON] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_FARFETCHD] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_DODUO] =
+ {
+ .coords = 0x57,
+ .y_offset = 0x05,
+ },
+ [SPECIES_DODRIO] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SEEL] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DEWGONG] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_GRIMER] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_MUK] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SHELLDER] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x10,
+ },
+ [SPECIES_CLOYSTER] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_GASTLY] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_HAUNTER] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_GENGAR] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_ONIX] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x02,
+ },
+ [SPECIES_DROWZEE] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_HYPNO] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_KRABBY] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_KINGLER] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_VOLTORB] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x13,
+ },
+ [SPECIES_ELECTRODE] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_EXEGGCUTE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_EXEGGUTOR] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CUBONE] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_MAROWAK] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_HITMONLEE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_HITMONCHAN] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x04,
+ },
+ [SPECIES_LICKITUNG] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_KOFFING] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_WEEZING] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_RHYHORN] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_RHYDON] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_CHANSEY] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_TANGELA] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_KANGASKHAN] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_HORSEA] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_SEADRA] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_GOLDEEN] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SEAKING] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_STARYU] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_STARMIE] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_MR_MIME] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SCYTHER] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_JYNX] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_ELECTABUZZ] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x02,
+ },
+ [SPECIES_MAGMAR] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_PINSIR] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_TAUROS] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_MAGIKARP] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GYARADOS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x08,
+ },
+ [SPECIES_LAPRAS] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_DITTO] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x11,
+ },
+ [SPECIES_EEVEE] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x09,
+ },
+ [SPECIES_VAPOREON] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_JOLTEON] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_FLAREON] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_PORYGON] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_OMANYTE] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_OMASTAR] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_KABUTO] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x11,
+ },
+ [SPECIES_KABUTOPS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_AERODACTYL] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SNORLAX] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_ARTICUNO] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_ZAPDOS] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_MOLTRES] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_DRATINI] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_DRAGONAIR] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_DRAGONITE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_MEWTWO] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_MEW] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_CHIKORITA] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_BAYLEEF] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_MEGANIUM] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CYNDAQUIL] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_QUILAVA] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_TYPHLOSION] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_TOTODILE] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_CROCONAW] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_FERALIGATR] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SENTRET] =
+ {
+ .coords = 0x47,
+ .y_offset = 0x04,
+ },
+ [SPECIES_FURRET] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_HOOTHOOT] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_NOCTOWL] =
+ {
+ .coords = 0x58,
+ .y_offset = 0x03,
+ },
+ [SPECIES_LEDYBA] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_LEDIAN] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SPINARAK] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x13,
+ },
+ [SPECIES_ARIADOS] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_CROBAT] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CHINCHOU] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x10,
+ },
+ [SPECIES_LANTURN] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_PICHU] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_CLEFFA] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x14,
+ },
+ [SPECIES_IGGLYBUFF] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x12,
+ },
+ [SPECIES_TOGEPI] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x14,
+ },
+ [SPECIES_TOGETIC] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x09,
+ },
+ [SPECIES_NATU] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x14,
+ },
+ [SPECIES_XATU] =
+ {
+ .coords = 0x47,
+ .y_offset = 0x07,
+ },
+ [SPECIES_MAREEP] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x10,
+ },
+ [SPECIES_FLAAFFY] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_AMPHAROS] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_BELLOSSOM] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_MARILL] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_AZUMARILL] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SUDOWOODO] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_POLITOED] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_HOPPIP] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SKIPLOOM] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_JUMPLUFF] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_AIPOM] =
+ {
+ .coords = 0x58,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SUNKERN] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x10,
+ },
+ [SPECIES_SUNFLORA] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_YANMA] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_WOOPER] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x10,
+ },
+ [SPECIES_QUAGSIRE] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x07,
+ },
+ [SPECIES_ESPEON] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_UMBREON] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MURKROW] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SLOWKING] =
+ {
+ .coords = 0x58,
+ .y_offset = 0x01,
+ },
+ [SPECIES_MISDREAVUS] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_UNOWN] =
+ {
+ .coords = 0x35,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_WOBBUFFET] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GIRAFARIG] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_PINECO] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_FORRETRESS] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_DUNSPARCE] =
+ {
+ .coords = 0x74,
+ .y_offset = 0x11,
+ },
+ [SPECIES_GLIGAR] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_STEELIX] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SNUBBULL] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_GRANBULL] =
+ {
+ .coords = 0x57,
+ .y_offset = 0x06,
+ },
+ [SPECIES_QWILFISH] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SCIZOR] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SHUCKLE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_HERACROSS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_SNEASEL] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_TEDDIURSA] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_URSARING] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SLUGMA] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_MAGCARGO] =
+ {
+ .coords = 0x57,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_SWINUB] =
+ {
+ .coords = 0x43,
+ .y_offset = 0x14,
+ },
+ [SPECIES_PILOSWINE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_CORSOLA] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_REMORAID] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_OCTILLERY] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DELIBIRD] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MANTINE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SKARMORY] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_HOUNDOUR] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_HOUNDOOM] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_KINGDRA] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x04,
+ },
+ [SPECIES_PHANPY] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x10,
+ },
+ [SPECIES_DONPHAN] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_PORYGON2] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_STANTLER] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SMEARGLE] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_TYROGUE] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x09,
+ },
+ [SPECIES_HITMONTOP] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x05,
+ },
+ [SPECIES_SMOOCHUM] =
+ {
+ .coords = 0x35,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_ELEKID] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_MAGBY] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_MILTANK] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_BLISSEY] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x06,
+ },
+ [SPECIES_RAIKOU] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_ENTEI] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SUICUNE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LARVITAR] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x09,
+ },
+ [SPECIES_PUPITAR] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x09,
+ },
+ [SPECIES_TYRANITAR] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LUGIA] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_HO_OH] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CELEBI] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_OLD_UNOWN_B] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_C] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_D] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_E] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_F] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_G] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_H] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_I] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_J] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_K] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_L] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_M] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_N] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_O] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_P] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_Q] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_R] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_S] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_T] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_U] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_V] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_W] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_X] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_Y] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_OLD_UNOWN_Z] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_TREECKO] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_GROVYLE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SCEPTILE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_TORCHIC] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_COMBUSKEN] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_BLAZIKEN] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_MUDKIP] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_MARSHTOMP] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_SWAMPERT] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_POOCHYENA] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_MIGHTYENA] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_ZIGZAGOON] =
+ {
+ .coords = 0x85,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_LINOONE] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_WURMPLE] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_SILCOON] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x11,
+ },
+ [SPECIES_BEAUTIFLY] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x09,
+ },
+ [SPECIES_CASCOON] =
+ {
+ .coords = 0x74,
+ .y_offset = 0x10,
+ },
+ [SPECIES_DUSTOX] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_LOTAD] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_LOMBRE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_LUDICOLO] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SEEDOT] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x10,
+ },
+ [SPECIES_NUZLEAF] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SHIFTRY] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_NINCADA] =
+ {
+ .coords = 0x74,
+ .y_offset = 0x12,
+ },
+ [SPECIES_NINJASK] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SHEDINJA] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_TAILLOW] =
+ {
+ .coords = 0x64,
+ .y_offset = 0x10,
+ },
+ [SPECIES_SWELLOW] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_SHROOMISH] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x10,
+ },
+ [SPECIES_BRELOOM] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SPINDA] =
+ {
+ .coords = 0x68,
+ .y_offset = 0x08,
+ },
+ [SPECIES_WINGULL] =
+ {
+ .coords = 0x84,
+ .y_offset = 0x18,
+ },
+ [SPECIES_PELIPPER] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x04,
+ },
+ [SPECIES_SURSKIT] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_MASQUERAIN] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_WAILMER] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_WAILORD] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_SKITTY] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_DELCATTY] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_KECLEON] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_BALTOY] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x10,
+ },
+ [SPECIES_CLAYDOL] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x06,
+ },
+ [SPECIES_NOSEPASS] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_TORKOAL] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_SABLEYE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_BARBOACH] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_WHISCASH] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x09,
+ },
+ [SPECIES_LUVDISC] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x18,
+ },
+ [SPECIES_CORPHISH] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_CRAWDAUNT] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_FEEBAS] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_MILOTIC] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CARVANHA] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x06,
+ },
+ [SPECIES_SHARPEDO] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_TRAPINCH] =
+ {
+ .coords = 0x54,
+ .y_offset = 0x10,
+ },
+ [SPECIES_VIBRAVA] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_FLYGON] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_MAKUHITA] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_HARIYAMA] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_ELECTRIKE] =
+ {
+ .coords = 0x64,
+ .y_offset = 0x12,
+ },
+ [SPECIES_MANECTRIC] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x04,
+ },
+ [SPECIES_NUMEL] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_CAMERUPT] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SPHEAL] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x10,
+ },
+ [SPECIES_SEALEO] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_WALREIN] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_CACNEA] =
+ {
+ .coords = 0x74,
+ .y_offset = 0x10,
+ },
+ [SPECIES_CACTURNE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SNORUNT] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_GLALIE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_LUNATONE] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SOLROCK] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_AZURILL] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_SPOINK] =
+ {
+ .coords = 0x46,
+ .y_offset = 0x09,
+ },
+ [SPECIES_GRUMPIG] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_PLUSLE] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_MINUN] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_MAWILE] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_MEDITITE] =
+ {
+ .coords = 0x65,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_MEDICHAM] =
+ {
+ .coords = 0x68,
+ .y_offset = 0x01,
+ },
+ [SPECIES_SWABLU] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x11,
+ },
+ [SPECIES_ALTARIA] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_WYNAUT] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_DUSKULL] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0a,
+ },
+ [SPECIES_DUSCLOPS] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x05,
+ },
+ [SPECIES_ROSELIA] =
+ {
+ .coords = 0x76,
+ .y_offset = 0x08,
+ },
+ [SPECIES_SLAKOTH] =
+ {
+ .coords = 0x74,
+ .y_offset = 0x12,
+ },
+ [SPECIES_VIGOROTH] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SLAKING] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x08,
+ },
+ [SPECIES_GULPIN] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x12,
+ },
+ [SPECIES_SWALOT] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_TROPIUS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_WHISMUR] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_LOUDRED] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_EXPLOUD] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_CLAMPERL] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_HUNTAIL] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x03,
+ },
+ [SPECIES_GOREBYSS] =
+ {
+ .coords = 0x86,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_ABSOL] =
+ {
+ .coords = 0x68,
+ .y_offset = 0x00,
+ },
+ [SPECIES_SHUPPET] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_BANETTE] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_SEVIPER] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ZANGOOSE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x05,
+ },
+ [SPECIES_RELICANTH] =
+ {
+ .coords = 0x77,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_ARON] =
+ {
+ .coords = 0x43,
+ .y_offset = 0x14,
+ },
+ [SPECIES_LAIRON] =
+ {
+ .coords = 0x75,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_AGGRON] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_CASTFORM] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x11,
+ },
+ [SPECIES_VOLBEAT] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ILLUMISE] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x08,
+ },
+ [SPECIES_LILEEP] =
+ {
+ .coords = 0x67,
+ .y_offset = 0x07,
+ },
+ [SPECIES_CRADILY] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x00,
+ },
+ [SPECIES_ANORITH] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x08,
+ },
+ [SPECIES_ARMALDO] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_RALTS] =
+ {
+ .coords = 0x35,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_KIRLIA] =
+ {
+ .coords = 0x47,
+ .y_offset = 0x06,
+ },
+ [SPECIES_GARDEVOIR] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x01,
+ },
+ [SPECIES_BAGON] =
+ {
+ .coords = 0x56,
+ .y_offset = 0x0b,
+ },
+ [SPECIES_SHELGON] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x09,
+ },
+ [SPECIES_SALAMENCE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_BELDUM] =
+ {
+ .coords = 0x55,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_METANG] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x07,
+ },
+ [SPECIES_METAGROSS] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x06,
+ },
+ [SPECIES_REGIROCK] =
+ {
+ .coords = 0x78,
+ .y_offset = 0x04,
+ },
+ [SPECIES_REGICE] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_REGISTEEL] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x03,
+ },
+ [SPECIES_KYOGRE] =
+ {
+ .coords = 0x87,
+ .y_offset = 0x04,
+ },
+ [SPECIES_GROUDON] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_RAYQUAZA] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x00,
+ },
+ [SPECIES_LATIAS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_LATIOS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x02,
+ },
+ [SPECIES_JIRACHI] =
+ {
+ .coords = 0x66,
+ .y_offset = 0x0d,
+ },
+ [SPECIES_DEOXYS] =
+ {
+ .coords = 0x88,
+ .y_offset = 0x01,
+ },
+ [SPECIES_CHIMECHO] =
+ {
+ .coords = 0x37,
+ .y_offset = 0x06,
+ },
+ [SPECIES_EGG] =
+ {
+ .coords = 0x33,
+ .y_offset = 0x14,
+ },
+ [SPECIES_UNOWN_B] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x10,
+ },
+ [SPECIES_UNOWN_C] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x10,
+ },
+ [SPECIES_UNOWN_D] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x10,
+ },
+ [SPECIES_UNOWN_E] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x11,
+ },
+ [SPECIES_UNOWN_F] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x11,
+ },
+ [SPECIES_UNOWN_G] =
+ {
+ .coords = 0x35,
+ .y_offset = 0x0e,
+ },
+ [SPECIES_UNOWN_H] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x10,
+ },
+ [SPECIES_UNOWN_I] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x10,
+ },
+ [SPECIES_UNOWN_J] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x11,
+ },
+ [SPECIES_UNOWN_K] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x11,
+ },
+ [SPECIES_UNOWN_L] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x13,
+ },
+ [SPECIES_UNOWN_M] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x13,
+ },
+ [SPECIES_UNOWN_N] =
+ {
+ .coords = 0x43,
+ .y_offset = 0x14,
+ },
+ [SPECIES_UNOWN_O] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x10,
+ },
+ [SPECIES_UNOWN_P] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x13,
+ },
+ [SPECIES_UNOWN_Q] =
+ {
+ .coords = 0x43,
+ .y_offset = 0x15,
+ },
+ [SPECIES_UNOWN_R] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x13,
+ },
+ [SPECIES_UNOWN_S] =
+ {
+ .coords = 0x45,
+ .y_offset = 0x0c,
+ },
+ [SPECIES_UNOWN_T] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x12,
+ },
+ [SPECIES_UNOWN_U] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x12,
+ },
+ [SPECIES_UNOWN_V] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x12,
+ },
+ [SPECIES_UNOWN_W] =
+ {
+ .coords = 0x44,
+ .y_offset = 0x13,
+ },
+ [SPECIES_UNOWN_X] =
+ {
+ .coords = 0x33,
+ .y_offset = 0x15,
+ },
+ [SPECIES_UNOWN_Y] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x11,
+ },
+ [SPECIES_UNOWN_Z] =
+ {
+ .coords = 0x34,
+ .y_offset = 0x10,
+ },
+ [SPECIES_UNOWN_EMARK] =
+ {
+ .coords = 0x35,
+ .y_offset = 0x0f,
+ },
+ [SPECIES_UNOWN_QMARK] =
+ {
+ .coords = 0x35,
+ .y_offset = 0x0d,
+ },
};
diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h
index 5aa22f4f8..92e6bab2e 100644
--- a/src/data/pokemon_graphics/front_pic_table.h
+++ b/src/data/pokemon_graphics/front_pic_table.h
@@ -1,446 +1,443 @@
-const struct CompressedSpriteSheet gMonFrontPicTable[] =
-{ //.data .size .tag
- gMonFrontPic_CircledQuestionMark, 0x800, 0,
- gMonFrontPic_Bulbasaur, 0x800, 1,
- gMonFrontPic_Ivysaur, 0x800, 2,
- gMonFrontPic_Venusaur, 0x800, 3,
- gMonFrontPic_Charmander, 0x800, 4,
- gMonFrontPic_Charmeleon, 0x800, 5,
- gMonFrontPic_Charizard, 0x800, 6,
- gMonFrontPic_Squirtle, 0x800, 7,
- gMonFrontPic_Wartortle, 0x800, 8,
- gMonFrontPic_Blastoise, 0x800, 9,
- gMonFrontPic_Caterpie, 0x800, 10,
- gMonFrontPic_Metapod, 0x800, 11,
- gMonFrontPic_Butterfree, 0x800, 12,
- gMonFrontPic_Weedle, 0x800, 13,
- gMonFrontPic_Kakuna, 0x800, 14,
- gMonFrontPic_Beedrill, 0x800, 15,
- gMonFrontPic_Pidgey, 0x800, 16,
- gMonFrontPic_Pidgeotto, 0x800, 17,
- gMonFrontPic_Pidgeot, 0x800, 18,
- gMonFrontPic_Rattata, 0x800, 19,
- gMonFrontPic_Raticate, 0x800, 20,
- gMonFrontPic_Spearow, 0x800, 21,
- gMonFrontPic_Fearow, 0x800, 22,
- gMonFrontPic_Ekans, 0x800, 23,
- gMonFrontPic_Arbok, 0x800, 24,
- gMonFrontPic_Pikachu, 0x800, 25,
- gMonFrontPic_Raichu, 0x800, 26,
- gMonFrontPic_Sandshrew, 0x800, 27,
- gMonFrontPic_Sandslash, 0x800, 28,
- gMonFrontPic_NidoranF, 0x800, 29,
- gMonFrontPic_Nidorina, 0x800, 30,
- gMonFrontPic_Nidoqueen, 0x800, 31,
- gMonFrontPic_NidoranM, 0x800, 32,
- gMonFrontPic_Nidorino, 0x800, 33,
- gMonFrontPic_Nidoking, 0x800, 34,
- gMonFrontPic_Clefairy, 0x800, 35,
- gMonFrontPic_Clefable, 0x800, 36,
- gMonFrontPic_Vulpix, 0x800, 37,
- gMonFrontPic_Ninetales, 0x800, 38,
- gMonFrontPic_Jigglypuff, 0x800, 39,
- gMonFrontPic_Wigglytuff, 0x800, 40,
- gMonFrontPic_Zubat, 0x800, 41,
- gMonFrontPic_Golbat, 0x800, 42,
- gMonFrontPic_Oddish, 0x800, 43,
- gMonFrontPic_Gloom, 0x800, 44,
- gMonFrontPic_Vileplume, 0x800, 45,
- gMonFrontPic_Paras, 0x800, 46,
- gMonFrontPic_Parasect, 0x800, 47,
- gMonFrontPic_Venonat, 0x800, 48,
- gMonFrontPic_Venomoth, 0x800, 49,
- gMonFrontPic_Diglett, 0x800, 50,
- gMonFrontPic_Dugtrio, 0x800, 51,
- gMonFrontPic_Meowth, 0x800, 52,
- gMonFrontPic_Persian, 0x800, 53,
- gMonFrontPic_Psyduck, 0x800, 54,
- gMonFrontPic_Golduck, 0x800, 55,
- gMonFrontPic_Mankey, 0x800, 56,
- gMonFrontPic_Primeape, 0x800, 57,
- gMonFrontPic_Growlithe, 0x800, 58,
- gMonFrontPic_Arcanine, 0x800, 59,
- gMonFrontPic_Poliwag, 0x800, 60,
- gMonFrontPic_Poliwhirl, 0x800, 61,
- gMonFrontPic_Poliwrath, 0x800, 62,
- gMonFrontPic_Abra, 0x800, 63,
- gMonFrontPic_Kadabra, 0x800, 64,
- gMonFrontPic_Alakazam, 0x800, 65,
- gMonFrontPic_Machop, 0x800, 66,
- gMonFrontPic_Machoke, 0x800, 67,
- gMonFrontPic_Machamp, 0x800, 68,
- gMonFrontPic_Bellsprout, 0x800, 69,
- gMonFrontPic_Weepinbell, 0x800, 70,
- gMonFrontPic_Victreebel, 0x800, 71,
- gMonFrontPic_Tentacool, 0x800, 72,
- gMonFrontPic_Tentacruel, 0x800, 73,
- gMonFrontPic_Geodude, 0x800, 74,
- gMonFrontPic_Graveler, 0x800, 75,
- gMonFrontPic_Golem, 0x800, 76,
- gMonFrontPic_Ponyta, 0x800, 77,
- gMonFrontPic_Rapidash, 0x800, 78,
- gMonFrontPic_Slowpoke, 0x800, 79,
- gMonFrontPic_Slowbro, 0x800, 80,
- gMonFrontPic_Magnemite, 0x800, 81,
- gMonFrontPic_Magneton, 0x800, 82,
- gMonFrontPic_Farfetchd, 0x800, 83,
- gMonFrontPic_Doduo, 0x800, 84,
- gMonFrontPic_Dodrio, 0x800, 85,
- gMonFrontPic_Seel, 0x800, 86,
- gMonFrontPic_Dewgong, 0x800, 87,
- gMonFrontPic_Grimer, 0x800, 88,
- gMonFrontPic_Muk, 0x800, 89,
- gMonFrontPic_Shellder, 0x800, 90,
- gMonFrontPic_Cloyster, 0x800, 91,
- gMonFrontPic_Gastly, 0x800, 92,
- gMonFrontPic_Haunter, 0x800, 93,
- gMonFrontPic_Gengar, 0x800, 94,
- gMonFrontPic_Onix, 0x800, 95,
- gMonFrontPic_Drowzee, 0x800, 96,
- gMonFrontPic_Hypno, 0x800, 97,
- gMonFrontPic_Krabby, 0x800, 98,
- gMonFrontPic_Kingler, 0x800, 99,
- gMonFrontPic_Voltorb, 0x800, 100,
- gMonFrontPic_Electrode, 0x800, 101,
- gMonFrontPic_Exeggcute, 0x800, 102,
- gMonFrontPic_Exeggutor, 0x800, 103,
- gMonFrontPic_Cubone, 0x800, 104,
- gMonFrontPic_Marowak, 0x800, 105,
- gMonFrontPic_Hitmonlee, 0x800, 106,
- gMonFrontPic_Hitmonchan, 0x800, 107,
- gMonFrontPic_Lickitung, 0x800, 108,
- gMonFrontPic_Koffing, 0x800, 109,
- gMonFrontPic_Weezing, 0x800, 110,
- gMonFrontPic_Rhyhorn, 0x800, 111,
- gMonFrontPic_Rhydon, 0x800, 112,
- gMonFrontPic_Chansey, 0x800, 113,
- gMonFrontPic_Tangela, 0x800, 114,
- gMonFrontPic_Kangaskhan, 0x800, 115,
- gMonFrontPic_Horsea, 0x800, 116,
- gMonFrontPic_Seadra, 0x800, 117,
- gMonFrontPic_Goldeen, 0x800, 118,
- gMonFrontPic_Seaking, 0x800, 119,
- gMonFrontPic_Staryu, 0x800, 120,
- gMonFrontPic_Starmie, 0x800, 121,
- gMonFrontPic_Mrmime, 0x800, 122,
- gMonFrontPic_Scyther, 0x800, 123,
- gMonFrontPic_Jynx, 0x800, 124,
- gMonFrontPic_Electabuzz, 0x800, 125,
- gMonFrontPic_Magmar, 0x800, 126,
- gMonFrontPic_Pinsir, 0x800, 127,
- gMonFrontPic_Tauros, 0x800, 128,
- gMonFrontPic_Magikarp, 0x800, 129,
- gMonFrontPic_Gyarados, 0x800, 130,
- gMonFrontPic_Lapras, 0x800, 131,
- gMonFrontPic_Ditto, 0x800, 132,
- gMonFrontPic_Eevee, 0x800, 133,
- gMonFrontPic_Vaporeon, 0x800, 134,
- gMonFrontPic_Jolteon, 0x800, 135,
- gMonFrontPic_Flareon, 0x800, 136,
- gMonFrontPic_Porygon, 0x800, 137,
- gMonFrontPic_Omanyte, 0x800, 138,
- gMonFrontPic_Omastar, 0x800, 139,
- gMonFrontPic_Kabuto, 0x800, 140,
- gMonFrontPic_Kabutops, 0x800, 141,
- gMonFrontPic_Aerodactyl, 0x800, 142,
- gMonFrontPic_Snorlax, 0x800, 143,
- gMonFrontPic_Articuno, 0x800, 144,
- gMonFrontPic_Zapdos, 0x800, 145,
- gMonFrontPic_Moltres, 0x800, 146,
- gMonFrontPic_Dratini, 0x800, 147,
- gMonFrontPic_Dragonair, 0x800, 148,
- gMonFrontPic_Dragonite, 0x800, 149,
- gMonFrontPic_Mewtwo, 0x800, 150,
- gMonFrontPic_Mew, 0x800, 151,
-// Gen II
- gMonFrontPic_Chikorita, 0x800, 152,
- gMonFrontPic_Bayleef, 0x800, 153,
- gMonFrontPic_Meganium, 0x800, 154,
- gMonFrontPic_Cyndaquil, 0x800, 155,
- gMonFrontPic_Quilava, 0x800, 156,
- gMonFrontPic_Typhlosion, 0x800, 157,
- gMonFrontPic_Totodile, 0x800, 158,
- gMonFrontPic_Croconaw, 0x800, 159,
- gMonFrontPic_Feraligatr, 0x800, 160,
- gMonFrontPic_Sentret, 0x800, 161,
- gMonFrontPic_Furret, 0x800, 162,
- gMonFrontPic_Hoothoot, 0x800, 163,
- gMonFrontPic_Noctowl, 0x800, 164,
- gMonFrontPic_Ledyba, 0x800, 165,
- gMonFrontPic_Ledian, 0x800, 166,
- gMonFrontPic_Spinarak, 0x800, 167,
- gMonFrontPic_Ariados, 0x800, 168,
- gMonFrontPic_Crobat, 0x800, 169,
- gMonFrontPic_Chinchou, 0x800, 170,
- gMonFrontPic_Lanturn, 0x800, 171,
- gMonFrontPic_Pichu, 0x800, 172,
- gMonFrontPic_Cleffa, 0x800, 173,
- gMonFrontPic_Igglybuff, 0x800, 174,
- gMonFrontPic_Togepi, 0x800, 175,
- gMonFrontPic_Togetic, 0x800, 176,
- gMonFrontPic_Natu, 0x800, 177,
- gMonFrontPic_Xatu, 0x800, 178,
- gMonFrontPic_Mareep, 0x800, 179,
- gMonFrontPic_Flaaffy, 0x800, 180,
- gMonFrontPic_Ampharos, 0x800, 181,
- gMonFrontPic_Bellossom, 0x800, 182,
- gMonFrontPic_Marill, 0x800, 183,
- gMonFrontPic_Azumarill, 0x800, 184,
- gMonFrontPic_Sudowoodo, 0x800, 185,
- gMonFrontPic_Politoed, 0x800, 186,
- gMonFrontPic_Hoppip, 0x800, 187,
- gMonFrontPic_Skiploom, 0x800, 188,
- gMonFrontPic_Jumpluff, 0x800, 189,
- gMonFrontPic_Aipom, 0x800, 190,
- gMonFrontPic_Sunkern, 0x800, 191,
- gMonFrontPic_Sunflora, 0x800, 192,
- gMonFrontPic_Yanma, 0x800, 193,
- gMonFrontPic_Wooper, 0x800, 194,
- gMonFrontPic_Quagsire, 0x800, 195,
- gMonFrontPic_Espeon, 0x800, 196,
- gMonFrontPic_Umbreon, 0x800, 197,
- gMonFrontPic_Murkrow, 0x800, 198,
- gMonFrontPic_Slowking, 0x800, 199,
- gMonFrontPic_Misdreavus, 0x800, 200,
- gMonFrontPic_UnownA, 0x800, 201,
- gMonFrontPic_Wobbuffet, 0x800, 202,
- gMonFrontPic_Girafarig, 0x800, 203,
- gMonFrontPic_Pineco, 0x800, 204,
- gMonFrontPic_Forretress, 0x800, 205,
- gMonFrontPic_Dunsparce, 0x800, 206,
- gMonFrontPic_Gligar, 0x800, 207,
- gMonFrontPic_Steelix, 0x800, 208,
- gMonFrontPic_Snubbull, 0x800, 209,
- gMonFrontPic_Granbull, 0x800, 210,
- gMonFrontPic_Qwilfish, 0x800, 211,
- gMonFrontPic_Scizor, 0x800, 212,
- gMonFrontPic_Shuckle, 0x800, 213,
- gMonFrontPic_Heracross, 0x800, 214,
- gMonFrontPic_Sneasel, 0x800, 215,
- gMonFrontPic_Teddiursa, 0x800, 216,
- gMonFrontPic_Ursaring, 0x800, 217,
- gMonFrontPic_Slugma, 0x800, 218,
- gMonFrontPic_Magcargo, 0x800, 219,
- gMonFrontPic_Swinub, 0x800, 220,
- gMonFrontPic_Piloswine, 0x800, 221,
- gMonFrontPic_Corsola, 0x800, 222,
- gMonFrontPic_Remoraid, 0x800, 223,
- gMonFrontPic_Octillery, 0x800, 224,
- gMonFrontPic_Delibird, 0x800, 225,
- gMonFrontPic_Mantine, 0x800, 226,
- gMonFrontPic_Skarmory, 0x800, 227,
- gMonFrontPic_Houndour, 0x800, 228,
- gMonFrontPic_Houndoom, 0x800, 229,
- gMonFrontPic_Kingdra, 0x800, 230,
- gMonFrontPic_Phanpy, 0x800, 231,
- gMonFrontPic_Donphan, 0x800, 232,
- gMonFrontPic_Porygon2, 0x800, 233,
- gMonFrontPic_Stantler, 0x800, 234,
- gMonFrontPic_Smeargle, 0x800, 235,
- gMonFrontPic_Tyrogue, 0x800, 236,
- gMonFrontPic_Hitmontop, 0x800, 237,
- gMonFrontPic_Smoochum, 0x800, 238,
- gMonFrontPic_Elekid, 0x800, 239,
- gMonFrontPic_Magby, 0x800, 240,
- gMonFrontPic_Miltank, 0x800, 241,
- gMonFrontPic_Blissey, 0x800, 242,
- gMonFrontPic_Raikou, 0x800, 243,
- gMonFrontPic_Entei, 0x800, 244,
- gMonFrontPic_Suicune, 0x800, 245,
- gMonFrontPic_Larvitar, 0x800, 246,
- gMonFrontPic_Pupitar, 0x800, 247,
- gMonFrontPic_Tyranitar, 0x800, 248,
- gMonFrontPic_Lugia, 0x800, 249,
- gMonFrontPic_HoOh, 0x800, 250,
- gMonFrontPic_Celebi, 0x800, 251,
-// Empty slots
- gMonFrontPic_DoubleQuestionMark, 0x800, 252,
- gMonFrontPic_DoubleQuestionMark, 0x800, 253,
- gMonFrontPic_DoubleQuestionMark, 0x800, 254,
- gMonFrontPic_DoubleQuestionMark, 0x800, 255,
- gMonFrontPic_DoubleQuestionMark, 0x800, 256,
- gMonFrontPic_DoubleQuestionMark, 0x800, 257,
- gMonFrontPic_DoubleQuestionMark, 0x800, 258,
- gMonFrontPic_DoubleQuestionMark, 0x800, 259,
- gMonFrontPic_DoubleQuestionMark, 0x800, 260,
- gMonFrontPic_DoubleQuestionMark, 0x800, 261,
- gMonFrontPic_DoubleQuestionMark, 0x800, 262,
- gMonFrontPic_DoubleQuestionMark, 0x800, 263,
- gMonFrontPic_DoubleQuestionMark, 0x800, 264,
- gMonFrontPic_DoubleQuestionMark, 0x800, 265,
- gMonFrontPic_DoubleQuestionMark, 0x800, 266,
- gMonFrontPic_DoubleQuestionMark, 0x800, 267,
- gMonFrontPic_DoubleQuestionMark, 0x800, 268,
- gMonFrontPic_DoubleQuestionMark, 0x800, 269,
- gMonFrontPic_DoubleQuestionMark, 0x800, 270,
- gMonFrontPic_DoubleQuestionMark, 0x800, 271,
- gMonFrontPic_DoubleQuestionMark, 0x800, 272,
- gMonFrontPic_DoubleQuestionMark, 0x800, 273,
- gMonFrontPic_DoubleQuestionMark, 0x800, 274,
- gMonFrontPic_DoubleQuestionMark, 0x800, 275,
- gMonFrontPic_DoubleQuestionMark, 0x800, 276,
-// Gen III
- gMonFrontPic_Treecko, 0x800, 277,
- gMonFrontPic_Grovyle, 0x800, 278,
- gMonFrontPic_Sceptile, 0x800, 279,
- gMonFrontPic_Torchic, 0x800, 280,
- gMonFrontPic_Combusken, 0x800, 281,
- gMonFrontPic_Blaziken, 0x800, 282,
- gMonFrontPic_Mudkip, 0x800, 283,
- gMonFrontPic_Marshtomp, 0x800, 284,
- gMonFrontPic_Swampert, 0x800, 285,
- gMonFrontPic_Poochyena, 0x800, 286,
- gMonFrontPic_Mightyena, 0x800, 287,
- gMonFrontPic_Zigzagoon, 0x800, 288,
- gMonFrontPic_Linoone, 0x800, 289,
- gMonFrontPic_Wurmple, 0x800, 290,
- gMonFrontPic_Silcoon, 0x800, 291,
- gMonFrontPic_Beautifly, 0x800, 292,
- gMonFrontPic_Cascoon, 0x800, 293,
- gMonFrontPic_Dustox, 0x800, 294,
- gMonFrontPic_Lotad, 0x800, 295,
- gMonFrontPic_Lombre, 0x800, 296,
- gMonFrontPic_Ludicolo, 0x800, 297,
- gMonFrontPic_Seedot, 0x800, 298,
- gMonFrontPic_Nuzleaf, 0x800, 299,
- gMonFrontPic_Shiftry, 0x800, 300,
- gMonFrontPic_Nincada, 0x800, 301,
- gMonFrontPic_Ninjask, 0x800, 302,
- gMonFrontPic_Shedinja, 0x800, 303,
- gMonFrontPic_Taillow, 0x800, 304,
- gMonFrontPic_Swellow, 0x800, 305,
- gMonFrontPic_Shroomish, 0x800, 306,
- gMonFrontPic_Breloom, 0x800, 307,
- gMonFrontPic_Spinda, 0x800, 308,
- gMonFrontPic_Wingull, 0x800, 309,
- gMonFrontPic_Pelipper, 0x800, 310,
- gMonFrontPic_Surskit, 0x800, 311,
- gMonFrontPic_Masquerain, 0x800, 312,
- gMonFrontPic_Wailmer, 0x800, 313,
- gMonFrontPic_Wailord, 0x800, 314,
- gMonFrontPic_Skitty, 0x800, 315,
- gMonFrontPic_Delcatty, 0x800, 316,
- gMonFrontPic_Kecleon, 0x800, 317,
- gMonFrontPic_Baltoy, 0x800, 318,
- gMonFrontPic_Claydol, 0x800, 319,
- gMonFrontPic_Nosepass, 0x800, 320,
- gMonFrontPic_Torkoal, 0x800, 321,
- gMonFrontPic_Sableye, 0x800, 322,
- gMonFrontPic_Barboach, 0x800, 323,
- gMonFrontPic_Whiscash, 0x800, 324,
- gMonFrontPic_Luvdisc, 0x800, 325,
- gMonFrontPic_Corphish, 0x800, 326,
- gMonFrontPic_Crawdaunt, 0x800, 327,
- gMonFrontPic_Feebas, 0x800, 328,
- gMonFrontPic_Milotic, 0x800, 329,
- gMonFrontPic_Carvanha, 0x800, 330,
- gMonFrontPic_Sharpedo, 0x800, 331,
- gMonFrontPic_Trapinch, 0x800, 332,
- gMonFrontPic_Vibrava, 0x800, 333,
- gMonFrontPic_Flygon, 0x800, 334,
- gMonFrontPic_Makuhita, 0x800, 335,
- gMonFrontPic_Hariyama, 0x800, 336,
- gMonFrontPic_Electrike, 0x800, 337,
- gMonFrontPic_Manectric, 0x800, 338,
- gMonFrontPic_Numel, 0x800, 339,
- gMonFrontPic_Camerupt, 0x800, 340,
- gMonFrontPic_Spheal, 0x800, 341,
- gMonFrontPic_Sealeo, 0x800, 342,
- gMonFrontPic_Walrein, 0x800, 343,
- gMonFrontPic_Cacnea, 0x800, 344,
- gMonFrontPic_Cacturne, 0x800, 345,
- gMonFrontPic_Snorunt, 0x800, 346,
- gMonFrontPic_Glalie, 0x800, 347,
- gMonFrontPic_Lunatone, 0x800, 348,
- gMonFrontPic_Solrock, 0x800, 349,
- gMonFrontPic_Azurill, 0x800, 350,
- gMonFrontPic_Spoink, 0x800, 351,
- gMonFrontPic_Grumpig, 0x800, 352,
- gMonFrontPic_Plusle, 0x800, 353,
- gMonFrontPic_Minun, 0x800, 354,
- gMonFrontPic_Mawile, 0x800, 355,
- gMonFrontPic_Meditite, 0x800, 356,
- gMonFrontPic_Medicham, 0x800, 357,
- gMonFrontPic_Swablu, 0x800, 358,
- gMonFrontPic_Altaria, 0x800, 359,
- gMonFrontPic_Wynaut, 0x800, 360,
- gMonFrontPic_Duskull, 0x800, 361,
- gMonFrontPic_Dusclops, 0x800, 362,
- gMonFrontPic_Roselia, 0x800, 363,
- gMonFrontPic_Slakoth, 0x800, 364,
- gMonFrontPic_Vigoroth, 0x800, 365,
- gMonFrontPic_Slaking, 0x800, 366,
- gMonFrontPic_Gulpin, 0x800, 367,
- gMonFrontPic_Swalot, 0x800, 368,
- gMonFrontPic_Tropius, 0x800, 369,
- gMonFrontPic_Whismur, 0x800, 370,
- gMonFrontPic_Loudred, 0x800, 371,
- gMonFrontPic_Exploud, 0x800, 372,
- gMonFrontPic_Clamperl, 0x800, 373,
- gMonFrontPic_Huntail, 0x800, 374,
- gMonFrontPic_Gorebyss, 0x800, 375,
- gMonFrontPic_Absol, 0x800, 376,
- gMonFrontPic_Shuppet, 0x800, 377,
- gMonFrontPic_Banette, 0x800, 378,
- gMonFrontPic_Seviper, 0x800, 379,
- gMonFrontPic_Zangoose, 0x800, 380,
- gMonFrontPic_Relicanth, 0x800, 381,
- gMonFrontPic_Aron, 0x800, 382,
- gMonFrontPic_Lairon, 0x800, 383,
- gMonFrontPic_Aggron, 0x800, 384,
- gMonFrontPic_Castform, 0x800, 385,
- gMonFrontPic_Volbeat, 0x800, 386,
- gMonFrontPic_Illumise, 0x800, 387,
- gMonFrontPic_Lileep, 0x800, 388,
- gMonFrontPic_Cradily, 0x800, 389,
- gMonFrontPic_Anorith, 0x800, 390,
- gMonFrontPic_Armaldo, 0x800, 391,
- gMonFrontPic_Ralts, 0x800, 392,
- gMonFrontPic_Kirlia, 0x800, 393,
- gMonFrontPic_Gardevoir, 0x800, 394,
- gMonFrontPic_Bagon, 0x800, 395,
- gMonFrontPic_Shelgon, 0x800, 396,
- gMonFrontPic_Salamence, 0x800, 397,
- gMonFrontPic_Beldum, 0x800, 398,
- gMonFrontPic_Metang, 0x800, 399,
- gMonFrontPic_Metagross, 0x800, 400,
- gMonFrontPic_Regirock, 0x800, 401,
- gMonFrontPic_Regice, 0x800, 402,
- gMonFrontPic_Registeel, 0x800, 403,
- gMonFrontPic_Kyogre, 0x800, 404,
- gMonFrontPic_Groudon, 0x800, 405,
- gMonFrontPic_Rayquaza, 0x800, 406,
- gMonFrontPic_Latias, 0x800, 407,
- gMonFrontPic_Latios, 0x800, 408,
- gMonFrontPic_Jirachi, 0x800, 409,
- gMonFrontPic_Deoxys, 0x800, 410,
- gMonFrontPic_Chimecho, 0x800, 411,
- gMonFrontPic_Egg, 0x800, 412,
- gMonFrontPic_UnownB, 0x800, 413,
- gMonFrontPic_UnownC, 0x800, 414,
- gMonFrontPic_UnownD, 0x800, 415,
- gMonFrontPic_UnownE, 0x800, 416,
- gMonFrontPic_UnownF, 0x800, 417,
- gMonFrontPic_UnownG, 0x800, 418,
- gMonFrontPic_UnownH, 0x800, 419,
- gMonFrontPic_UnownI, 0x800, 420,
- gMonFrontPic_UnownJ, 0x800, 421,
- gMonFrontPic_UnownK, 0x800, 422,
- gMonFrontPic_UnownL, 0x800, 423,
- gMonFrontPic_UnownM, 0x800, 424,
- gMonFrontPic_UnownN, 0x800, 425,
- gMonFrontPic_UnownO, 0x800, 426,
- gMonFrontPic_UnownP, 0x800, 427,
- gMonFrontPic_UnownQ, 0x800, 428,
- gMonFrontPic_UnownR, 0x800, 429,
- gMonFrontPic_UnownS, 0x800, 430,
- gMonFrontPic_UnownT, 0x800, 431,
- gMonFrontPic_UnownU, 0x800, 432,
- gMonFrontPic_UnownV, 0x800, 433,
- gMonFrontPic_UnownW, 0x800, 434,
- gMonFrontPic_UnownX, 0x800, 435,
- gMonFrontPic_UnownY, 0x800, 436,
- gMonFrontPic_UnownZ, 0x800, 437,
- gMonFrontPic_UnownExclamationMark, 0x800, 438,
- gMonFrontPic_UnownQuestionMark, 0x800, 439,
+const struct CompressedSpriteSheet gMonFrontPicTable[] =
+{
+ [SPECIES_NONE] = {gMonFrontPic_CircledQuestionMark, 0x800, SPECIES_NONE},
+ [SPECIES_BULBASAUR] = {gMonFrontPic_Bulbasaur, 0x800, SPECIES_BULBASAUR},
+ [SPECIES_IVYSAUR] = {gMonFrontPic_Ivysaur, 0x800, SPECIES_IVYSAUR},
+ [SPECIES_VENUSAUR] = {gMonFrontPic_Venusaur, 0x800, SPECIES_VENUSAUR},
+ [SPECIES_CHARMANDER] = {gMonFrontPic_Charmander, 0x800, SPECIES_CHARMANDER},
+ [SPECIES_CHARMELEON] = {gMonFrontPic_Charmeleon, 0x800, SPECIES_CHARMELEON},
+ [SPECIES_CHARIZARD] = {gMonFrontPic_Charizard, 0x800, SPECIES_CHARIZARD},
+ [SPECIES_SQUIRTLE] = {gMonFrontPic_Squirtle, 0x800, SPECIES_SQUIRTLE},
+ [SPECIES_WARTORTLE] = {gMonFrontPic_Wartortle, 0x800, SPECIES_WARTORTLE},
+ [SPECIES_BLASTOISE] = {gMonFrontPic_Blastoise, 0x800, SPECIES_BLASTOISE},
+ [SPECIES_CATERPIE] = {gMonFrontPic_Caterpie, 0x800, SPECIES_CATERPIE},
+ [SPECIES_METAPOD] = {gMonFrontPic_Metapod, 0x800, SPECIES_METAPOD},
+ [SPECIES_BUTTERFREE] = {gMonFrontPic_Butterfree, 0x800, SPECIES_BUTTERFREE},
+ [SPECIES_WEEDLE] = {gMonFrontPic_Weedle, 0x800, SPECIES_WEEDLE},
+ [SPECIES_KAKUNA] = {gMonFrontPic_Kakuna, 0x800, SPECIES_KAKUNA},
+ [SPECIES_BEEDRILL] = {gMonFrontPic_Beedrill, 0x800, SPECIES_BEEDRILL},
+ [SPECIES_PIDGEY] = {gMonFrontPic_Pidgey, 0x800, SPECIES_PIDGEY},
+ [SPECIES_PIDGEOTTO] = {gMonFrontPic_Pidgeotto, 0x800, SPECIES_PIDGEOTTO},
+ [SPECIES_PIDGEOT] = {gMonFrontPic_Pidgeot, 0x800, SPECIES_PIDGEOT},
+ [SPECIES_RATTATA] = {gMonFrontPic_Rattata, 0x800, SPECIES_RATTATA},
+ [SPECIES_RATICATE] = {gMonFrontPic_Raticate, 0x800, SPECIES_RATICATE},
+ [SPECIES_SPEAROW] = {gMonFrontPic_Spearow, 0x800, SPECIES_SPEAROW},
+ [SPECIES_FEAROW] = {gMonFrontPic_Fearow, 0x800, SPECIES_FEAROW},
+ [SPECIES_EKANS] = {gMonFrontPic_Ekans, 0x800, SPECIES_EKANS},
+ [SPECIES_ARBOK] = {gMonFrontPic_Arbok, 0x800, SPECIES_ARBOK},
+ [SPECIES_PIKACHU] = {gMonFrontPic_Pikachu, 0x800, SPECIES_PIKACHU},
+ [SPECIES_RAICHU] = {gMonFrontPic_Raichu, 0x800, SPECIES_RAICHU},
+ [SPECIES_SANDSHREW] = {gMonFrontPic_Sandshrew, 0x800, SPECIES_SANDSHREW},
+ [SPECIES_SANDSLASH] = {gMonFrontPic_Sandslash, 0x800, SPECIES_SANDSLASH},
+ [SPECIES_NIDORAN_F] = {gMonFrontPic_NidoranF, 0x800, SPECIES_NIDORAN_F},
+ [SPECIES_NIDORINA] = {gMonFrontPic_Nidorina, 0x800, SPECIES_NIDORINA},
+ [SPECIES_NIDOQUEEN] = {gMonFrontPic_Nidoqueen, 0x800, SPECIES_NIDOQUEEN},
+ [SPECIES_NIDORAN_M] = {gMonFrontPic_NidoranM, 0x800, SPECIES_NIDORAN_M},
+ [SPECIES_NIDORINO] = {gMonFrontPic_Nidorino, 0x800, SPECIES_NIDORINO},
+ [SPECIES_NIDOKING] = {gMonFrontPic_Nidoking, 0x800, SPECIES_NIDOKING},
+ [SPECIES_CLEFAIRY] = {gMonFrontPic_Clefairy, 0x800, SPECIES_CLEFAIRY},
+ [SPECIES_CLEFABLE] = {gMonFrontPic_Clefable, 0x800, SPECIES_CLEFABLE},
+ [SPECIES_VULPIX] = {gMonFrontPic_Vulpix, 0x800, SPECIES_VULPIX},
+ [SPECIES_NINETALES] = {gMonFrontPic_Ninetales, 0x800, SPECIES_NINETALES},
+ [SPECIES_JIGGLYPUFF] = {gMonFrontPic_Jigglypuff, 0x800, SPECIES_JIGGLYPUFF},
+ [SPECIES_WIGGLYTUFF] = {gMonFrontPic_Wigglytuff, 0x800, SPECIES_WIGGLYTUFF},
+ [SPECIES_ZUBAT] = {gMonFrontPic_Zubat, 0x800, SPECIES_ZUBAT},
+ [SPECIES_GOLBAT] = {gMonFrontPic_Golbat, 0x800, SPECIES_GOLBAT},
+ [SPECIES_ODDISH] = {gMonFrontPic_Oddish, 0x800, SPECIES_ODDISH},
+ [SPECIES_GLOOM] = {gMonFrontPic_Gloom, 0x800, SPECIES_GLOOM},
+ [SPECIES_VILEPLUME] = {gMonFrontPic_Vileplume, 0x800, SPECIES_VILEPLUME},
+ [SPECIES_PARAS] = {gMonFrontPic_Paras, 0x800, SPECIES_PARAS},
+ [SPECIES_PARASECT] = {gMonFrontPic_Parasect, 0x800, SPECIES_PARASECT},
+ [SPECIES_VENONAT] = {gMonFrontPic_Venonat, 0x800, SPECIES_VENONAT},
+ [SPECIES_VENOMOTH] = {gMonFrontPic_Venomoth, 0x800, SPECIES_VENOMOTH},
+ [SPECIES_DIGLETT] = {gMonFrontPic_Diglett, 0x800, SPECIES_DIGLETT},
+ [SPECIES_DUGTRIO] = {gMonFrontPic_Dugtrio, 0x800, SPECIES_DUGTRIO},
+ [SPECIES_MEOWTH] = {gMonFrontPic_Meowth, 0x800, SPECIES_MEOWTH},
+ [SPECIES_PERSIAN] = {gMonFrontPic_Persian, 0x800, SPECIES_PERSIAN},
+ [SPECIES_PSYDUCK] = {gMonFrontPic_Psyduck, 0x800, SPECIES_PSYDUCK},
+ [SPECIES_GOLDUCK] = {gMonFrontPic_Golduck, 0x800, SPECIES_GOLDUCK},
+ [SPECIES_MANKEY] = {gMonFrontPic_Mankey, 0x800, SPECIES_MANKEY},
+ [SPECIES_PRIMEAPE] = {gMonFrontPic_Primeape, 0x800, SPECIES_PRIMEAPE},
+ [SPECIES_GROWLITHE] = {gMonFrontPic_Growlithe, 0x800, SPECIES_GROWLITHE},
+ [SPECIES_ARCANINE] = {gMonFrontPic_Arcanine, 0x800, SPECIES_ARCANINE},
+ [SPECIES_POLIWAG] = {gMonFrontPic_Poliwag, 0x800, SPECIES_POLIWAG},
+ [SPECIES_POLIWHIRL] = {gMonFrontPic_Poliwhirl, 0x800, SPECIES_POLIWHIRL},
+ [SPECIES_POLIWRATH] = {gMonFrontPic_Poliwrath, 0x800, SPECIES_POLIWRATH},
+ [SPECIES_ABRA] = {gMonFrontPic_Abra, 0x800, SPECIES_ABRA},
+ [SPECIES_KADABRA] = {gMonFrontPic_Kadabra, 0x800, SPECIES_KADABRA},
+ [SPECIES_ALAKAZAM] = {gMonFrontPic_Alakazam, 0x800, SPECIES_ALAKAZAM},
+ [SPECIES_MACHOP] = {gMonFrontPic_Machop, 0x800, SPECIES_MACHOP},
+ [SPECIES_MACHOKE] = {gMonFrontPic_Machoke, 0x800, SPECIES_MACHOKE},
+ [SPECIES_MACHAMP] = {gMonFrontPic_Machamp, 0x800, SPECIES_MACHAMP},
+ [SPECIES_BELLSPROUT] = {gMonFrontPic_Bellsprout, 0x800, SPECIES_BELLSPROUT},
+ [SPECIES_WEEPINBELL] = {gMonFrontPic_Weepinbell, 0x800, SPECIES_WEEPINBELL},
+ [SPECIES_VICTREEBEL] = {gMonFrontPic_Victreebel, 0x800, SPECIES_VICTREEBEL},
+ [SPECIES_TENTACOOL] = {gMonFrontPic_Tentacool, 0x800, SPECIES_TENTACOOL},
+ [SPECIES_TENTACRUEL] = {gMonFrontPic_Tentacruel, 0x800, SPECIES_TENTACRUEL},
+ [SPECIES_GEODUDE] = {gMonFrontPic_Geodude, 0x800, SPECIES_GEODUDE},
+ [SPECIES_GRAVELER] = {gMonFrontPic_Graveler, 0x800, SPECIES_GRAVELER},
+ [SPECIES_GOLEM] = {gMonFrontPic_Golem, 0x800, SPECIES_GOLEM},
+ [SPECIES_PONYTA] = {gMonFrontPic_Ponyta, 0x800, SPECIES_PONYTA},
+ [SPECIES_RAPIDASH] = {gMonFrontPic_Rapidash, 0x800, SPECIES_RAPIDASH},
+ [SPECIES_SLOWPOKE] = {gMonFrontPic_Slowpoke, 0x800, SPECIES_SLOWPOKE},
+ [SPECIES_SLOWBRO] = {gMonFrontPic_Slowbro, 0x800, SPECIES_SLOWBRO},
+ [SPECIES_MAGNEMITE] = {gMonFrontPic_Magnemite, 0x800, SPECIES_MAGNEMITE},
+ [SPECIES_MAGNETON] = {gMonFrontPic_Magneton, 0x800, SPECIES_MAGNETON},
+ [SPECIES_FARFETCHD] = {gMonFrontPic_Farfetchd, 0x800, SPECIES_FARFETCHD},
+ [SPECIES_DODUO] = {gMonFrontPic_Doduo, 0x800, SPECIES_DODUO},
+ [SPECIES_DODRIO] = {gMonFrontPic_Dodrio, 0x800, SPECIES_DODRIO},
+ [SPECIES_SEEL] = {gMonFrontPic_Seel, 0x800, SPECIES_SEEL},
+ [SPECIES_DEWGONG] = {gMonFrontPic_Dewgong, 0x800, SPECIES_DEWGONG},
+ [SPECIES_GRIMER] = {gMonFrontPic_Grimer, 0x800, SPECIES_GRIMER},
+ [SPECIES_MUK] = {gMonFrontPic_Muk, 0x800, SPECIES_MUK},
+ [SPECIES_SHELLDER] = {gMonFrontPic_Shellder, 0x800, SPECIES_SHELLDER},
+ [SPECIES_CLOYSTER] = {gMonFrontPic_Cloyster, 0x800, SPECIES_CLOYSTER},
+ [SPECIES_GASTLY] = {gMonFrontPic_Gastly, 0x800, SPECIES_GASTLY},
+ [SPECIES_HAUNTER] = {gMonFrontPic_Haunter, 0x800, SPECIES_HAUNTER},
+ [SPECIES_GENGAR] = {gMonFrontPic_Gengar, 0x800, SPECIES_GENGAR},
+ [SPECIES_ONIX] = {gMonFrontPic_Onix, 0x800, SPECIES_ONIX},
+ [SPECIES_DROWZEE] = {gMonFrontPic_Drowzee, 0x800, SPECIES_DROWZEE},
+ [SPECIES_HYPNO] = {gMonFrontPic_Hypno, 0x800, SPECIES_HYPNO},
+ [SPECIES_KRABBY] = {gMonFrontPic_Krabby, 0x800, SPECIES_KRABBY},
+ [SPECIES_KINGLER] = {gMonFrontPic_Kingler, 0x800, SPECIES_KINGLER},
+ [SPECIES_VOLTORB] = {gMonFrontPic_Voltorb, 0x800, SPECIES_VOLTORB},
+ [SPECIES_ELECTRODE] = {gMonFrontPic_Electrode, 0x800, SPECIES_ELECTRODE},
+ [SPECIES_EXEGGCUTE] = {gMonFrontPic_Exeggcute, 0x800, SPECIES_EXEGGCUTE},
+ [SPECIES_EXEGGUTOR] = {gMonFrontPic_Exeggutor, 0x800, SPECIES_EXEGGUTOR},
+ [SPECIES_CUBONE] = {gMonFrontPic_Cubone, 0x800, SPECIES_CUBONE},
+ [SPECIES_MAROWAK] = {gMonFrontPic_Marowak, 0x800, SPECIES_MAROWAK},
+ [SPECIES_HITMONLEE] = {gMonFrontPic_Hitmonlee, 0x800, SPECIES_HITMONLEE},
+ [SPECIES_HITMONCHAN] = {gMonFrontPic_Hitmonchan, 0x800, SPECIES_HITMONCHAN},
+ [SPECIES_LICKITUNG] = {gMonFrontPic_Lickitung, 0x800, SPECIES_LICKITUNG},
+ [SPECIES_KOFFING] = {gMonFrontPic_Koffing, 0x800, SPECIES_KOFFING},
+ [SPECIES_WEEZING] = {gMonFrontPic_Weezing, 0x800, SPECIES_WEEZING},
+ [SPECIES_RHYHORN] = {gMonFrontPic_Rhyhorn, 0x800, SPECIES_RHYHORN},
+ [SPECIES_RHYDON] = {gMonFrontPic_Rhydon, 0x800, SPECIES_RHYDON},
+ [SPECIES_CHANSEY] = {gMonFrontPic_Chansey, 0x800, SPECIES_CHANSEY},
+ [SPECIES_TANGELA] = {gMonFrontPic_Tangela, 0x800, SPECIES_TANGELA},
+ [SPECIES_KANGASKHAN] = {gMonFrontPic_Kangaskhan, 0x800, SPECIES_KANGASKHAN},
+ [SPECIES_HORSEA] = {gMonFrontPic_Horsea, 0x800, SPECIES_HORSEA},
+ [SPECIES_SEADRA] = {gMonFrontPic_Seadra, 0x800, SPECIES_SEADRA},
+ [SPECIES_GOLDEEN] = {gMonFrontPic_Goldeen, 0x800, SPECIES_GOLDEEN},
+ [SPECIES_SEAKING] = {gMonFrontPic_Seaking, 0x800, SPECIES_SEAKING},
+ [SPECIES_STARYU] = {gMonFrontPic_Staryu, 0x800, SPECIES_STARYU},
+ [SPECIES_STARMIE] = {gMonFrontPic_Starmie, 0x800, SPECIES_STARMIE},
+ [SPECIES_MR_MIME] = {gMonFrontPic_Mrmime, 0x800, SPECIES_MR_MIME},
+ [SPECIES_SCYTHER] = {gMonFrontPic_Scyther, 0x800, SPECIES_SCYTHER},
+ [SPECIES_JYNX] = {gMonFrontPic_Jynx, 0x800, SPECIES_JYNX},
+ [SPECIES_ELECTABUZZ] = {gMonFrontPic_Electabuzz, 0x800, SPECIES_ELECTABUZZ},
+ [SPECIES_MAGMAR] = {gMonFrontPic_Magmar, 0x800, SPECIES_MAGMAR},
+ [SPECIES_PINSIR] = {gMonFrontPic_Pinsir, 0x800, SPECIES_PINSIR},
+ [SPECIES_TAUROS] = {gMonFrontPic_Tauros, 0x800, SPECIES_TAUROS},
+ [SPECIES_MAGIKARP] = {gMonFrontPic_Magikarp, 0x800, SPECIES_MAGIKARP},
+ [SPECIES_GYARADOS] = {gMonFrontPic_Gyarados, 0x800, SPECIES_GYARADOS},
+ [SPECIES_LAPRAS] = {gMonFrontPic_Lapras, 0x800, SPECIES_LAPRAS},
+ [SPECIES_DITTO] = {gMonFrontPic_Ditto, 0x800, SPECIES_DITTO},
+ [SPECIES_EEVEE] = {gMonFrontPic_Eevee, 0x800, SPECIES_EEVEE},
+ [SPECIES_VAPOREON] = {gMonFrontPic_Vaporeon, 0x800, SPECIES_VAPOREON},
+ [SPECIES_JOLTEON] = {gMonFrontPic_Jolteon, 0x800, SPECIES_JOLTEON},
+ [SPECIES_FLAREON] = {gMonFrontPic_Flareon, 0x800, SPECIES_FLAREON},
+ [SPECIES_PORYGON] = {gMonFrontPic_Porygon, 0x800, SPECIES_PORYGON},
+ [SPECIES_OMANYTE] = {gMonFrontPic_Omanyte, 0x800, SPECIES_OMANYTE},
+ [SPECIES_OMASTAR] = {gMonFrontPic_Omastar, 0x800, SPECIES_OMASTAR},
+ [SPECIES_KABUTO] = {gMonFrontPic_Kabuto, 0x800, SPECIES_KABUTO},
+ [SPECIES_KABUTOPS] = {gMonFrontPic_Kabutops, 0x800, SPECIES_KABUTOPS},
+ [SPECIES_AERODACTYL] = {gMonFrontPic_Aerodactyl, 0x800, SPECIES_AERODACTYL},
+ [SPECIES_SNORLAX] = {gMonFrontPic_Snorlax, 0x800, SPECIES_SNORLAX},
+ [SPECIES_ARTICUNO] = {gMonFrontPic_Articuno, 0x800, SPECIES_ARTICUNO},
+ [SPECIES_ZAPDOS] = {gMonFrontPic_Zapdos, 0x800, SPECIES_ZAPDOS},
+ [SPECIES_MOLTRES] = {gMonFrontPic_Moltres, 0x800, SPECIES_MOLTRES},
+ [SPECIES_DRATINI] = {gMonFrontPic_Dratini, 0x800, SPECIES_DRATINI},
+ [SPECIES_DRAGONAIR] = {gMonFrontPic_Dragonair, 0x800, SPECIES_DRAGONAIR},
+ [SPECIES_DRAGONITE] = {gMonFrontPic_Dragonite, 0x800, SPECIES_DRAGONITE},
+ [SPECIES_MEWTWO] = {gMonFrontPic_Mewtwo, 0x800, SPECIES_MEWTWO},
+ [SPECIES_MEW] = {gMonFrontPic_Mew, 0x800, SPECIES_MEW},
+ [SPECIES_CHIKORITA] = {gMonFrontPic_Chikorita, 0x800, SPECIES_CHIKORITA},
+ [SPECIES_BAYLEEF] = {gMonFrontPic_Bayleef, 0x800, SPECIES_BAYLEEF},
+ [SPECIES_MEGANIUM] = {gMonFrontPic_Meganium, 0x800, SPECIES_MEGANIUM},
+ [SPECIES_CYNDAQUIL] = {gMonFrontPic_Cyndaquil, 0x800, SPECIES_CYNDAQUIL},
+ [SPECIES_QUILAVA] = {gMonFrontPic_Quilava, 0x800, SPECIES_QUILAVA},
+ [SPECIES_TYPHLOSION] = {gMonFrontPic_Typhlosion, 0x800, SPECIES_TYPHLOSION},
+ [SPECIES_TOTODILE] = {gMonFrontPic_Totodile, 0x800, SPECIES_TOTODILE},
+ [SPECIES_CROCONAW] = {gMonFrontPic_Croconaw, 0x800, SPECIES_CROCONAW},
+ [SPECIES_FERALIGATR] = {gMonFrontPic_Feraligatr, 0x800, SPECIES_FERALIGATR},
+ [SPECIES_SENTRET] = {gMonFrontPic_Sentret, 0x800, SPECIES_SENTRET},
+ [SPECIES_FURRET] = {gMonFrontPic_Furret, 0x800, SPECIES_FURRET},
+ [SPECIES_HOOTHOOT] = {gMonFrontPic_Hoothoot, 0x800, SPECIES_HOOTHOOT},
+ [SPECIES_NOCTOWL] = {gMonFrontPic_Noctowl, 0x800, SPECIES_NOCTOWL},
+ [SPECIES_LEDYBA] = {gMonFrontPic_Ledyba, 0x800, SPECIES_LEDYBA},
+ [SPECIES_LEDIAN] = {gMonFrontPic_Ledian, 0x800, SPECIES_LEDIAN},
+ [SPECIES_SPINARAK] = {gMonFrontPic_Spinarak, 0x800, SPECIES_SPINARAK},
+ [SPECIES_ARIADOS] = {gMonFrontPic_Ariados, 0x800, SPECIES_ARIADOS},
+ [SPECIES_CROBAT] = {gMonFrontPic_Crobat, 0x800, SPECIES_CROBAT},
+ [SPECIES_CHINCHOU] = {gMonFrontPic_Chinchou, 0x800, SPECIES_CHINCHOU},
+ [SPECIES_LANTURN] = {gMonFrontPic_Lanturn, 0x800, SPECIES_LANTURN},
+ [SPECIES_PICHU] = {gMonFrontPic_Pichu, 0x800, SPECIES_PICHU},
+ [SPECIES_CLEFFA] = {gMonFrontPic_Cleffa, 0x800, SPECIES_CLEFFA},
+ [SPECIES_IGGLYBUFF] = {gMonFrontPic_Igglybuff, 0x800, SPECIES_IGGLYBUFF},
+ [SPECIES_TOGEPI] = {gMonFrontPic_Togepi, 0x800, SPECIES_TOGEPI},
+ [SPECIES_TOGETIC] = {gMonFrontPic_Togetic, 0x800, SPECIES_TOGETIC},
+ [SPECIES_NATU] = {gMonFrontPic_Natu, 0x800, SPECIES_NATU},
+ [SPECIES_XATU] = {gMonFrontPic_Xatu, 0x800, SPECIES_XATU},
+ [SPECIES_MAREEP] = {gMonFrontPic_Mareep, 0x800, SPECIES_MAREEP},
+ [SPECIES_FLAAFFY] = {gMonFrontPic_Flaaffy, 0x800, SPECIES_FLAAFFY},
+ [SPECIES_AMPHAROS] = {gMonFrontPic_Ampharos, 0x800, SPECIES_AMPHAROS},
+ [SPECIES_BELLOSSOM] = {gMonFrontPic_Bellossom, 0x800, SPECIES_BELLOSSOM},
+ [SPECIES_MARILL] = {gMonFrontPic_Marill, 0x800, SPECIES_MARILL},
+ [SPECIES_AZUMARILL] = {gMonFrontPic_Azumarill, 0x800, SPECIES_AZUMARILL},
+ [SPECIES_SUDOWOODO] = {gMonFrontPic_Sudowoodo, 0x800, SPECIES_SUDOWOODO},
+ [SPECIES_POLITOED] = {gMonFrontPic_Politoed, 0x800, SPECIES_POLITOED},
+ [SPECIES_HOPPIP] = {gMonFrontPic_Hoppip, 0x800, SPECIES_HOPPIP},
+ [SPECIES_SKIPLOOM] = {gMonFrontPic_Skiploom, 0x800, SPECIES_SKIPLOOM},
+ [SPECIES_JUMPLUFF] = {gMonFrontPic_Jumpluff, 0x800, SPECIES_JUMPLUFF},
+ [SPECIES_AIPOM] = {gMonFrontPic_Aipom, 0x800, SPECIES_AIPOM},
+ [SPECIES_SUNKERN] = {gMonFrontPic_Sunkern, 0x800, SPECIES_SUNKERN},
+ [SPECIES_SUNFLORA] = {gMonFrontPic_Sunflora, 0x800, SPECIES_SUNFLORA},
+ [SPECIES_YANMA] = {gMonFrontPic_Yanma, 0x800, SPECIES_YANMA},
+ [SPECIES_WOOPER] = {gMonFrontPic_Wooper, 0x800, SPECIES_WOOPER},
+ [SPECIES_QUAGSIRE] = {gMonFrontPic_Quagsire, 0x800, SPECIES_QUAGSIRE},
+ [SPECIES_ESPEON] = {gMonFrontPic_Espeon, 0x800, SPECIES_ESPEON},
+ [SPECIES_UMBREON] = {gMonFrontPic_Umbreon, 0x800, SPECIES_UMBREON},
+ [SPECIES_MURKROW] = {gMonFrontPic_Murkrow, 0x800, SPECIES_MURKROW},
+ [SPECIES_SLOWKING] = {gMonFrontPic_Slowking, 0x800, SPECIES_SLOWKING},
+ [SPECIES_MISDREAVUS] = {gMonFrontPic_Misdreavus, 0x800, SPECIES_MISDREAVUS},
+ [SPECIES_UNOWN] = {gMonFrontPic_UnownA, 0x800, SPECIES_UNOWN},
+ [SPECIES_WOBBUFFET] = {gMonFrontPic_Wobbuffet, 0x800, SPECIES_WOBBUFFET},
+ [SPECIES_GIRAFARIG] = {gMonFrontPic_Girafarig, 0x800, SPECIES_GIRAFARIG},
+ [SPECIES_PINECO] = {gMonFrontPic_Pineco, 0x800, SPECIES_PINECO},
+ [SPECIES_FORRETRESS] = {gMonFrontPic_Forretress, 0x800, SPECIES_FORRETRESS},
+ [SPECIES_DUNSPARCE] = {gMonFrontPic_Dunsparce, 0x800, SPECIES_DUNSPARCE},
+ [SPECIES_GLIGAR] = {gMonFrontPic_Gligar, 0x800, SPECIES_GLIGAR},
+ [SPECIES_STEELIX] = {gMonFrontPic_Steelix, 0x800, SPECIES_STEELIX},
+ [SPECIES_SNUBBULL] = {gMonFrontPic_Snubbull, 0x800, SPECIES_SNUBBULL},
+ [SPECIES_GRANBULL] = {gMonFrontPic_Granbull, 0x800, SPECIES_GRANBULL},
+ [SPECIES_QWILFISH] = {gMonFrontPic_Qwilfish, 0x800, SPECIES_QWILFISH},
+ [SPECIES_SCIZOR] = {gMonFrontPic_Scizor, 0x800, SPECIES_SCIZOR},
+ [SPECIES_SHUCKLE] = {gMonFrontPic_Shuckle, 0x800, SPECIES_SHUCKLE},
+ [SPECIES_HERACROSS] = {gMonFrontPic_Heracross, 0x800, SPECIES_HERACROSS},
+ [SPECIES_SNEASEL] = {gMonFrontPic_Sneasel, 0x800, SPECIES_SNEASEL},
+ [SPECIES_TEDDIURSA] = {gMonFrontPic_Teddiursa, 0x800, SPECIES_TEDDIURSA},
+ [SPECIES_URSARING] = {gMonFrontPic_Ursaring, 0x800, SPECIES_URSARING},
+ [SPECIES_SLUGMA] = {gMonFrontPic_Slugma, 0x800, SPECIES_SLUGMA},
+ [SPECIES_MAGCARGO] = {gMonFrontPic_Magcargo, 0x800, SPECIES_MAGCARGO},
+ [SPECIES_SWINUB] = {gMonFrontPic_Swinub, 0x800, SPECIES_SWINUB},
+ [SPECIES_PILOSWINE] = {gMonFrontPic_Piloswine, 0x800, SPECIES_PILOSWINE},
+ [SPECIES_CORSOLA] = {gMonFrontPic_Corsola, 0x800, SPECIES_CORSOLA},
+ [SPECIES_REMORAID] = {gMonFrontPic_Remoraid, 0x800, SPECIES_REMORAID},
+ [SPECIES_OCTILLERY] = {gMonFrontPic_Octillery, 0x800, SPECIES_OCTILLERY},
+ [SPECIES_DELIBIRD] = {gMonFrontPic_Delibird, 0x800, SPECIES_DELIBIRD},
+ [SPECIES_MANTINE] = {gMonFrontPic_Mantine, 0x800, SPECIES_MANTINE},
+ [SPECIES_SKARMORY] = {gMonFrontPic_Skarmory, 0x800, SPECIES_SKARMORY},
+ [SPECIES_HOUNDOUR] = {gMonFrontPic_Houndour, 0x800, SPECIES_HOUNDOUR},
+ [SPECIES_HOUNDOOM] = {gMonFrontPic_Houndoom, 0x800, SPECIES_HOUNDOOM},
+ [SPECIES_KINGDRA] = {gMonFrontPic_Kingdra, 0x800, SPECIES_KINGDRA},
+ [SPECIES_PHANPY] = {gMonFrontPic_Phanpy, 0x800, SPECIES_PHANPY},
+ [SPECIES_DONPHAN] = {gMonFrontPic_Donphan, 0x800, SPECIES_DONPHAN},
+ [SPECIES_PORYGON2] = {gMonFrontPic_Porygon2, 0x800, SPECIES_PORYGON2},
+ [SPECIES_STANTLER] = {gMonFrontPic_Stantler, 0x800, SPECIES_STANTLER},
+ [SPECIES_SMEARGLE] = {gMonFrontPic_Smeargle, 0x800, SPECIES_SMEARGLE},
+ [SPECIES_TYROGUE] = {gMonFrontPic_Tyrogue, 0x800, SPECIES_TYROGUE},
+ [SPECIES_HITMONTOP] = {gMonFrontPic_Hitmontop, 0x800, SPECIES_HITMONTOP},
+ [SPECIES_SMOOCHUM] = {gMonFrontPic_Smoochum, 0x800, SPECIES_SMOOCHUM},
+ [SPECIES_ELEKID] = {gMonFrontPic_Elekid, 0x800, SPECIES_ELEKID},
+ [SPECIES_MAGBY] = {gMonFrontPic_Magby, 0x800, SPECIES_MAGBY},
+ [SPECIES_MILTANK] = {gMonFrontPic_Miltank, 0x800, SPECIES_MILTANK},
+ [SPECIES_BLISSEY] = {gMonFrontPic_Blissey, 0x800, SPECIES_BLISSEY},
+ [SPECIES_RAIKOU] = {gMonFrontPic_Raikou, 0x800, SPECIES_RAIKOU},
+ [SPECIES_ENTEI] = {gMonFrontPic_Entei, 0x800, SPECIES_ENTEI},
+ [SPECIES_SUICUNE] = {gMonFrontPic_Suicune, 0x800, SPECIES_SUICUNE},
+ [SPECIES_LARVITAR] = {gMonFrontPic_Larvitar, 0x800, SPECIES_LARVITAR},
+ [SPECIES_PUPITAR] = {gMonFrontPic_Pupitar, 0x800, SPECIES_PUPITAR},
+ [SPECIES_TYRANITAR] = {gMonFrontPic_Tyranitar, 0x800, SPECIES_TYRANITAR},
+ [SPECIES_LUGIA] = {gMonFrontPic_Lugia, 0x800, SPECIES_LUGIA},
+ [SPECIES_HO_OH] = {gMonFrontPic_HoOh, 0x800, SPECIES_HO_OH},
+ [SPECIES_CELEBI] = {gMonFrontPic_Celebi, 0x800, SPECIES_CELEBI},
+ [SPECIES_OLD_UNOWN_B] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_B},
+ [SPECIES_OLD_UNOWN_C] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_C},
+ [SPECIES_OLD_UNOWN_D] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_D},
+ [SPECIES_OLD_UNOWN_E] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_E},
+ [SPECIES_OLD_UNOWN_F] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_F},
+ [SPECIES_OLD_UNOWN_G] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_G},
+ [SPECIES_OLD_UNOWN_H] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_H},
+ [SPECIES_OLD_UNOWN_I] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_I},
+ [SPECIES_OLD_UNOWN_J] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_J},
+ [SPECIES_OLD_UNOWN_K] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_K},
+ [SPECIES_OLD_UNOWN_L] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_L},
+ [SPECIES_OLD_UNOWN_M] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_M},
+ [SPECIES_OLD_UNOWN_N] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_N},
+ [SPECIES_OLD_UNOWN_O] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_O},
+ [SPECIES_OLD_UNOWN_P] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_P},
+ [SPECIES_OLD_UNOWN_Q] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Q},
+ [SPECIES_OLD_UNOWN_R] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_R},
+ [SPECIES_OLD_UNOWN_S] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_S},
+ [SPECIES_OLD_UNOWN_T] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_T},
+ [SPECIES_OLD_UNOWN_U] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_U},
+ [SPECIES_OLD_UNOWN_V] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_V},
+ [SPECIES_OLD_UNOWN_W] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_W},
+ [SPECIES_OLD_UNOWN_X] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_X},
+ [SPECIES_OLD_UNOWN_Y] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Y},
+ [SPECIES_OLD_UNOWN_Z] = {gMonFrontPic_DoubleQuestionMark, 0x800, SPECIES_OLD_UNOWN_Z},
+ [SPECIES_TREECKO] = {gMonFrontPic_Treecko, 0x800, SPECIES_TREECKO},
+ [SPECIES_GROVYLE] = {gMonFrontPic_Grovyle, 0x800, SPECIES_GROVYLE},
+ [SPECIES_SCEPTILE] = {gMonFrontPic_Sceptile, 0x800, SPECIES_SCEPTILE},
+ [SPECIES_TORCHIC] = {gMonFrontPic_Torchic, 0x800, SPECIES_TORCHIC},
+ [SPECIES_COMBUSKEN] = {gMonFrontPic_Combusken, 0x800, SPECIES_COMBUSKEN},
+ [SPECIES_BLAZIKEN] = {gMonFrontPic_Blaziken, 0x800, SPECIES_BLAZIKEN},
+ [SPECIES_MUDKIP] = {gMonFrontPic_Mudkip, 0x800, SPECIES_MUDKIP},
+ [SPECIES_MARSHTOMP] = {gMonFrontPic_Marshtomp, 0x800, SPECIES_MARSHTOMP},
+ [SPECIES_SWAMPERT] = {gMonFrontPic_Swampert, 0x800, SPECIES_SWAMPERT},
+ [SPECIES_POOCHYENA] = {gMonFrontPic_Poochyena, 0x800, SPECIES_POOCHYENA},
+ [SPECIES_MIGHTYENA] = {gMonFrontPic_Mightyena, 0x800, SPECIES_MIGHTYENA},
+ [SPECIES_ZIGZAGOON] = {gMonFrontPic_Zigzagoon, 0x800, SPECIES_ZIGZAGOON},
+ [SPECIES_LINOONE] = {gMonFrontPic_Linoone, 0x800, SPECIES_LINOONE},
+ [SPECIES_WURMPLE] = {gMonFrontPic_Wurmple, 0x800, SPECIES_WURMPLE},
+ [SPECIES_SILCOON] = {gMonFrontPic_Silcoon, 0x800, SPECIES_SILCOON},
+ [SPECIES_BEAUTIFLY] = {gMonFrontPic_Beautifly, 0x800, SPECIES_BEAUTIFLY},
+ [SPECIES_CASCOON] = {gMonFrontPic_Cascoon, 0x800, SPECIES_CASCOON},
+ [SPECIES_DUSTOX] = {gMonFrontPic_Dustox, 0x800, SPECIES_DUSTOX},
+ [SPECIES_LOTAD] = {gMonFrontPic_Lotad, 0x800, SPECIES_LOTAD},
+ [SPECIES_LOMBRE] = {gMonFrontPic_Lombre, 0x800, SPECIES_LOMBRE},
+ [SPECIES_LUDICOLO] = {gMonFrontPic_Ludicolo, 0x800, SPECIES_LUDICOLO},
+ [SPECIES_SEEDOT] = {gMonFrontPic_Seedot, 0x800, SPECIES_SEEDOT},
+ [SPECIES_NUZLEAF] = {gMonFrontPic_Nuzleaf, 0x800, SPECIES_NUZLEAF},
+ [SPECIES_SHIFTRY] = {gMonFrontPic_Shiftry, 0x800, SPECIES_SHIFTRY},
+ [SPECIES_NINCADA] = {gMonFrontPic_Nincada, 0x800, SPECIES_NINCADA},
+ [SPECIES_NINJASK] = {gMonFrontPic_Ninjask, 0x800, SPECIES_NINJASK},
+ [SPECIES_SHEDINJA] = {gMonFrontPic_Shedinja, 0x800, SPECIES_SHEDINJA},
+ [SPECIES_TAILLOW] = {gMonFrontPic_Taillow, 0x800, SPECIES_TAILLOW},
+ [SPECIES_SWELLOW] = {gMonFrontPic_Swellow, 0x800, SPECIES_SWELLOW},
+ [SPECIES_SHROOMISH] = {gMonFrontPic_Shroomish, 0x800, SPECIES_SHROOMISH},
+ [SPECIES_BRELOOM] = {gMonFrontPic_Breloom, 0x800, SPECIES_BRELOOM},
+ [SPECIES_SPINDA] = {gMonFrontPic_Spinda, 0x800, SPECIES_SPINDA},
+ [SPECIES_WINGULL] = {gMonFrontPic_Wingull, 0x800, SPECIES_WINGULL},
+ [SPECIES_PELIPPER] = {gMonFrontPic_Pelipper, 0x800, SPECIES_PELIPPER},
+ [SPECIES_SURSKIT] = {gMonFrontPic_Surskit, 0x800, SPECIES_SURSKIT},
+ [SPECIES_MASQUERAIN] = {gMonFrontPic_Masquerain, 0x800, SPECIES_MASQUERAIN},
+ [SPECIES_WAILMER] = {gMonFrontPic_Wailmer, 0x800, SPECIES_WAILMER},
+ [SPECIES_WAILORD] = {gMonFrontPic_Wailord, 0x800, SPECIES_WAILORD},
+ [SPECIES_SKITTY] = {gMonFrontPic_Skitty, 0x800, SPECIES_SKITTY},
+ [SPECIES_DELCATTY] = {gMonFrontPic_Delcatty, 0x800, SPECIES_DELCATTY},
+ [SPECIES_KECLEON] = {gMonFrontPic_Kecleon, 0x800, SPECIES_KECLEON},
+ [SPECIES_BALTOY] = {gMonFrontPic_Baltoy, 0x800, SPECIES_BALTOY},
+ [SPECIES_CLAYDOL] = {gMonFrontPic_Claydol, 0x800, SPECIES_CLAYDOL},
+ [SPECIES_NOSEPASS] = {gMonFrontPic_Nosepass, 0x800, SPECIES_NOSEPASS},
+ [SPECIES_TORKOAL] = {gMonFrontPic_Torkoal, 0x800, SPECIES_TORKOAL},
+ [SPECIES_SABLEYE] = {gMonFrontPic_Sableye, 0x800, SPECIES_SABLEYE},
+ [SPECIES_BARBOACH] = {gMonFrontPic_Barboach, 0x800, SPECIES_BARBOACH},
+ [SPECIES_WHISCASH] = {gMonFrontPic_Whiscash, 0x800, SPECIES_WHISCASH},
+ [SPECIES_LUVDISC] = {gMonFrontPic_Luvdisc, 0x800, SPECIES_LUVDISC},
+ [SPECIES_CORPHISH] = {gMonFrontPic_Corphish, 0x800, SPECIES_CORPHISH},
+ [SPECIES_CRAWDAUNT] = {gMonFrontPic_Crawdaunt, 0x800, SPECIES_CRAWDAUNT},
+ [SPECIES_FEEBAS] = {gMonFrontPic_Feebas, 0x800, SPECIES_FEEBAS},
+ [SPECIES_MILOTIC] = {gMonFrontPic_Milotic, 0x800, SPECIES_MILOTIC},
+ [SPECIES_CARVANHA] = {gMonFrontPic_Carvanha, 0x800, SPECIES_CARVANHA},
+ [SPECIES_SHARPEDO] = {gMonFrontPic_Sharpedo, 0x800, SPECIES_SHARPEDO},
+ [SPECIES_TRAPINCH] = {gMonFrontPic_Trapinch, 0x800, SPECIES_TRAPINCH},
+ [SPECIES_VIBRAVA] = {gMonFrontPic_Vibrava, 0x800, SPECIES_VIBRAVA},
+ [SPECIES_FLYGON] = {gMonFrontPic_Flygon, 0x800, SPECIES_FLYGON},
+ [SPECIES_MAKUHITA] = {gMonFrontPic_Makuhita, 0x800, SPECIES_MAKUHITA},
+ [SPECIES_HARIYAMA] = {gMonFrontPic_Hariyama, 0x800, SPECIES_HARIYAMA},
+ [SPECIES_ELECTRIKE] = {gMonFrontPic_Electrike, 0x800, SPECIES_ELECTRIKE},
+ [SPECIES_MANECTRIC] = {gMonFrontPic_Manectric, 0x800, SPECIES_MANECTRIC},
+ [SPECIES_NUMEL] = {gMonFrontPic_Numel, 0x800, SPECIES_NUMEL},
+ [SPECIES_CAMERUPT] = {gMonFrontPic_Camerupt, 0x800, SPECIES_CAMERUPT},
+ [SPECIES_SPHEAL] = {gMonFrontPic_Spheal, 0x800, SPECIES_SPHEAL},
+ [SPECIES_SEALEO] = {gMonFrontPic_Sealeo, 0x800, SPECIES_SEALEO},
+ [SPECIES_WALREIN] = {gMonFrontPic_Walrein, 0x800, SPECIES_WALREIN},
+ [SPECIES_CACNEA] = {gMonFrontPic_Cacnea, 0x800, SPECIES_CACNEA},
+ [SPECIES_CACTURNE] = {gMonFrontPic_Cacturne, 0x800, SPECIES_CACTURNE},
+ [SPECIES_SNORUNT] = {gMonFrontPic_Snorunt, 0x800, SPECIES_SNORUNT},
+ [SPECIES_GLALIE] = {gMonFrontPic_Glalie, 0x800, SPECIES_GLALIE},
+ [SPECIES_LUNATONE] = {gMonFrontPic_Lunatone, 0x800, SPECIES_LUNATONE},
+ [SPECIES_SOLROCK] = {gMonFrontPic_Solrock, 0x800, SPECIES_SOLROCK},
+ [SPECIES_AZURILL] = {gMonFrontPic_Azurill, 0x800, SPECIES_AZURILL},
+ [SPECIES_SPOINK] = {gMonFrontPic_Spoink, 0x800, SPECIES_SPOINK},
+ [SPECIES_GRUMPIG] = {gMonFrontPic_Grumpig, 0x800, SPECIES_GRUMPIG},
+ [SPECIES_PLUSLE] = {gMonFrontPic_Plusle, 0x800, SPECIES_PLUSLE},
+ [SPECIES_MINUN] = {gMonFrontPic_Minun, 0x800, SPECIES_MINUN},
+ [SPECIES_MAWILE] = {gMonFrontPic_Mawile, 0x800, SPECIES_MAWILE},
+ [SPECIES_MEDITITE] = {gMonFrontPic_Meditite, 0x800, SPECIES_MEDITITE},
+ [SPECIES_MEDICHAM] = {gMonFrontPic_Medicham, 0x800, SPECIES_MEDICHAM},
+ [SPECIES_SWABLU] = {gMonFrontPic_Swablu, 0x800, SPECIES_SWABLU},
+ [SPECIES_ALTARIA] = {gMonFrontPic_Altaria, 0x800, SPECIES_ALTARIA},
+ [SPECIES_WYNAUT] = {gMonFrontPic_Wynaut, 0x800, SPECIES_WYNAUT},
+ [SPECIES_DUSKULL] = {gMonFrontPic_Duskull, 0x800, SPECIES_DUSKULL},
+ [SPECIES_DUSCLOPS] = {gMonFrontPic_Dusclops, 0x800, SPECIES_DUSCLOPS},
+ [SPECIES_ROSELIA] = {gMonFrontPic_Roselia, 0x800, SPECIES_ROSELIA},
+ [SPECIES_SLAKOTH] = {gMonFrontPic_Slakoth, 0x800, SPECIES_SLAKOTH},
+ [SPECIES_VIGOROTH] = {gMonFrontPic_Vigoroth, 0x800, SPECIES_VIGOROTH},
+ [SPECIES_SLAKING] = {gMonFrontPic_Slaking, 0x800, SPECIES_SLAKING},
+ [SPECIES_GULPIN] = {gMonFrontPic_Gulpin, 0x800, SPECIES_GULPIN},
+ [SPECIES_SWALOT] = {gMonFrontPic_Swalot, 0x800, SPECIES_SWALOT},
+ [SPECIES_TROPIUS] = {gMonFrontPic_Tropius, 0x800, SPECIES_TROPIUS},
+ [SPECIES_WHISMUR] = {gMonFrontPic_Whismur, 0x800, SPECIES_WHISMUR},
+ [SPECIES_LOUDRED] = {gMonFrontPic_Loudred, 0x800, SPECIES_LOUDRED},
+ [SPECIES_EXPLOUD] = {gMonFrontPic_Exploud, 0x800, SPECIES_EXPLOUD},
+ [SPECIES_CLAMPERL] = {gMonFrontPic_Clamperl, 0x800, SPECIES_CLAMPERL},
+ [SPECIES_HUNTAIL] = {gMonFrontPic_Huntail, 0x800, SPECIES_HUNTAIL},
+ [SPECIES_GOREBYSS] = {gMonFrontPic_Gorebyss, 0x800, SPECIES_GOREBYSS},
+ [SPECIES_ABSOL] = {gMonFrontPic_Absol, 0x800, SPECIES_ABSOL},
+ [SPECIES_SHUPPET] = {gMonFrontPic_Shuppet, 0x800, SPECIES_SHUPPET},
+ [SPECIES_BANETTE] = {gMonFrontPic_Banette, 0x800, SPECIES_BANETTE},
+ [SPECIES_SEVIPER] = {gMonFrontPic_Seviper, 0x800, SPECIES_SEVIPER},
+ [SPECIES_ZANGOOSE] = {gMonFrontPic_Zangoose, 0x800, SPECIES_ZANGOOSE},
+ [SPECIES_RELICANTH] = {gMonFrontPic_Relicanth, 0x800, SPECIES_RELICANTH},
+ [SPECIES_ARON] = {gMonFrontPic_Aron, 0x800, SPECIES_ARON},
+ [SPECIES_LAIRON] = {gMonFrontPic_Lairon, 0x800, SPECIES_LAIRON},
+ [SPECIES_AGGRON] = {gMonFrontPic_Aggron, 0x800, SPECIES_AGGRON},
+ [SPECIES_CASTFORM] = {gMonFrontPic_Castform, 0x800, SPECIES_CASTFORM},
+ [SPECIES_VOLBEAT] = {gMonFrontPic_Volbeat, 0x800, SPECIES_VOLBEAT},
+ [SPECIES_ILLUMISE] = {gMonFrontPic_Illumise, 0x800, SPECIES_ILLUMISE},
+ [SPECIES_LILEEP] = {gMonFrontPic_Lileep, 0x800, SPECIES_LILEEP},
+ [SPECIES_CRADILY] = {gMonFrontPic_Cradily, 0x800, SPECIES_CRADILY},
+ [SPECIES_ANORITH] = {gMonFrontPic_Anorith, 0x800, SPECIES_ANORITH},
+ [SPECIES_ARMALDO] = {gMonFrontPic_Armaldo, 0x800, SPECIES_ARMALDO},
+ [SPECIES_RALTS] = {gMonFrontPic_Ralts, 0x800, SPECIES_RALTS},
+ [SPECIES_KIRLIA] = {gMonFrontPic_Kirlia, 0x800, SPECIES_KIRLIA},
+ [SPECIES_GARDEVOIR] = {gMonFrontPic_Gardevoir, 0x800, SPECIES_GARDEVOIR},
+ [SPECIES_BAGON] = {gMonFrontPic_Bagon, 0x800, SPECIES_BAGON},
+ [SPECIES_SHELGON] = {gMonFrontPic_Shelgon, 0x800, SPECIES_SHELGON},
+ [SPECIES_SALAMENCE] = {gMonFrontPic_Salamence, 0x800, SPECIES_SALAMENCE},
+ [SPECIES_BELDUM] = {gMonFrontPic_Beldum, 0x800, SPECIES_BELDUM},
+ [SPECIES_METANG] = {gMonFrontPic_Metang, 0x800, SPECIES_METANG},
+ [SPECIES_METAGROSS] = {gMonFrontPic_Metagross, 0x800, SPECIES_METAGROSS},
+ [SPECIES_REGIROCK] = {gMonFrontPic_Regirock, 0x800, SPECIES_REGIROCK},
+ [SPECIES_REGICE] = {gMonFrontPic_Regice, 0x800, SPECIES_REGICE},
+ [SPECIES_REGISTEEL] = {gMonFrontPic_Registeel, 0x800, SPECIES_REGISTEEL},
+ [SPECIES_KYOGRE] = {gMonFrontPic_Kyogre, 0x800, SPECIES_KYOGRE},
+ [SPECIES_GROUDON] = {gMonFrontPic_Groudon, 0x800, SPECIES_GROUDON},
+ [SPECIES_RAYQUAZA] = {gMonFrontPic_Rayquaza, 0x800, SPECIES_RAYQUAZA},
+ [SPECIES_LATIAS] = {gMonFrontPic_Latias, 0x800, SPECIES_LATIAS},
+ [SPECIES_LATIOS] = {gMonFrontPic_Latios, 0x800, SPECIES_LATIOS},
+ [SPECIES_JIRACHI] = {gMonFrontPic_Jirachi, 0x800, SPECIES_JIRACHI},
+ [SPECIES_DEOXYS] = {gMonFrontPic_Deoxys, 0x800, SPECIES_DEOXYS},
+ [SPECIES_CHIMECHO] = {gMonFrontPic_Chimecho, 0x800, SPECIES_CHIMECHO},
+ [SPECIES_EGG] = {gMonFrontPic_Egg, 0x800, SPECIES_EGG},
+ [SPECIES_UNOWN_B] = {gMonFrontPic_UnownB, 0x800, SPECIES_UNOWN_B},
+ [SPECIES_UNOWN_C] = {gMonFrontPic_UnownC, 0x800, SPECIES_UNOWN_C},
+ [SPECIES_UNOWN_D] = {gMonFrontPic_UnownD, 0x800, SPECIES_UNOWN_D},
+ [SPECIES_UNOWN_E] = {gMonFrontPic_UnownE, 0x800, SPECIES_UNOWN_E},
+ [SPECIES_UNOWN_F] = {gMonFrontPic_UnownF, 0x800, SPECIES_UNOWN_F},
+ [SPECIES_UNOWN_G] = {gMonFrontPic_UnownG, 0x800, SPECIES_UNOWN_G},
+ [SPECIES_UNOWN_H] = {gMonFrontPic_UnownH, 0x800, SPECIES_UNOWN_H},
+ [SPECIES_UNOWN_I] = {gMonFrontPic_UnownI, 0x800, SPECIES_UNOWN_I},
+ [SPECIES_UNOWN_J] = {gMonFrontPic_UnownJ, 0x800, SPECIES_UNOWN_J},
+ [SPECIES_UNOWN_K] = {gMonFrontPic_UnownK, 0x800, SPECIES_UNOWN_K},
+ [SPECIES_UNOWN_L] = {gMonFrontPic_UnownL, 0x800, SPECIES_UNOWN_L},
+ [SPECIES_UNOWN_M] = {gMonFrontPic_UnownM, 0x800, SPECIES_UNOWN_M},
+ [SPECIES_UNOWN_N] = {gMonFrontPic_UnownN, 0x800, SPECIES_UNOWN_N},
+ [SPECIES_UNOWN_O] = {gMonFrontPic_UnownO, 0x800, SPECIES_UNOWN_O},
+ [SPECIES_UNOWN_P] = {gMonFrontPic_UnownP, 0x800, SPECIES_UNOWN_P},
+ [SPECIES_UNOWN_Q] = {gMonFrontPic_UnownQ, 0x800, SPECIES_UNOWN_Q},
+ [SPECIES_UNOWN_R] = {gMonFrontPic_UnownR, 0x800, SPECIES_UNOWN_R},
+ [SPECIES_UNOWN_S] = {gMonFrontPic_UnownS, 0x800, SPECIES_UNOWN_S},
+ [SPECIES_UNOWN_T] = {gMonFrontPic_UnownT, 0x800, SPECIES_UNOWN_T},
+ [SPECIES_UNOWN_U] = {gMonFrontPic_UnownU, 0x800, SPECIES_UNOWN_U},
+ [SPECIES_UNOWN_V] = {gMonFrontPic_UnownV, 0x800, SPECIES_UNOWN_V},
+ [SPECIES_UNOWN_W] = {gMonFrontPic_UnownW, 0x800, SPECIES_UNOWN_W},
+ [SPECIES_UNOWN_X] = {gMonFrontPic_UnownX, 0x800, SPECIES_UNOWN_X},
+ [SPECIES_UNOWN_Y] = {gMonFrontPic_UnownY, 0x800, SPECIES_UNOWN_Y},
+ [SPECIES_UNOWN_Z] = {gMonFrontPic_UnownZ, 0x800, SPECIES_UNOWN_Z},
+ [SPECIES_UNOWN_EMARK] = {gMonFrontPic_UnownExclamationMark, 0x800, SPECIES_UNOWN_EMARK},
+ [SPECIES_UNOWN_QMARK] = {gMonFrontPic_UnownQuestionMark, 0x800, SPECIES_UNOWN_QMARK},
};
diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h
index 99412daa5..3b60d8567 100644
--- a/src/data/pokemon_graphics/palette_table.h
+++ b/src/data/pokemon_graphics/palette_table.h
@@ -1,443 +1,443 @@
const struct CompressedSpritePalette gMonPaletteTable[] =
{
- gMonPalette_CircledQuestionMark, 0,
- gMonPalette_Bulbasaur, 1,
- gMonPalette_Ivysaur, 2,
- gMonPalette_Venusaur, 3,
- gMonPalette_Charmander, 4,
- gMonPalette_Charmeleon, 5,
- gMonPalette_Charizard, 6,
- gMonPalette_Squirtle, 7,
- gMonPalette_Wartortle, 8,
- gMonPalette_Blastoise, 9,
- gMonPalette_Caterpie, 10,
- gMonPalette_Metapod, 11,
- gMonPalette_Butterfree, 12,
- gMonPalette_Weedle, 13,
- gMonPalette_Kakuna, 14,
- gMonPalette_Beedrill, 15,
- gMonPalette_Pidgey, 16,
- gMonPalette_Pidgeotto, 17,
- gMonPalette_Pidgeot, 18,
- gMonPalette_Rattata, 19,
- gMonPalette_Raticate, 20,
- gMonPalette_Spearow, 21,
- gMonPalette_Fearow, 22,
- gMonPalette_Ekans, 23,
- gMonPalette_Arbok, 24,
- gMonPalette_Pikachu, 25,
- gMonPalette_Raichu, 26,
- gMonPalette_Sandshrew, 27,
- gMonPalette_Sandslash, 28,
- gMonPalette_NidoranF, 29,
- gMonPalette_Nidorina, 30,
- gMonPalette_Nidoqueen, 31,
- gMonPalette_NidoranM, 32,
- gMonPalette_Nidorino, 33,
- gMonPalette_Nidoking, 34,
- gMonPalette_Clefairy, 35,
- gMonPalette_Clefable, 36,
- gMonPalette_Vulpix, 37,
- gMonPalette_Ninetales, 38,
- gMonPalette_Jigglypuff, 39,
- gMonPalette_Wigglytuff, 40,
- gMonPalette_Zubat, 41,
- gMonPalette_Golbat, 42,
- gMonPalette_Oddish, 43,
- gMonPalette_Gloom, 44,
- gMonPalette_Vileplume, 45,
- gMonPalette_Paras, 46,
- gMonPalette_Parasect, 47,
- gMonPalette_Venonat, 48,
- gMonPalette_Venomoth, 49,
- gMonPalette_Diglett, 50,
- gMonPalette_Dugtrio, 51,
- gMonPalette_Meowth, 52,
- gMonPalette_Persian, 53,
- gMonPalette_Psyduck, 54,
- gMonPalette_Golduck, 55,
- gMonPalette_Mankey, 56,
- gMonPalette_Primeape, 57,
- gMonPalette_Growlithe, 58,
- gMonPalette_Arcanine, 59,
- gMonPalette_Poliwag, 60,
- gMonPalette_Poliwhirl, 61,
- gMonPalette_Poliwrath, 62,
- gMonPalette_Abra, 63,
- gMonPalette_Kadabra, 64,
- gMonPalette_Alakazam, 65,
- gMonPalette_Machop, 66,
- gMonPalette_Machoke, 67,
- gMonPalette_Machamp, 68,
- gMonPalette_Bellsprout, 69,
- gMonPalette_Weepinbell, 70,
- gMonPalette_Victreebel, 71,
- gMonPalette_Tentacool, 72,
- gMonPalette_Tentacruel, 73,
- gMonPalette_Geodude, 74,
- gMonPalette_Graveler, 75,
- gMonPalette_Golem, 76,
- gMonPalette_Ponyta, 77,
- gMonPalette_Rapidash, 78,
- gMonPalette_Slowpoke, 79,
- gMonPalette_Slowbro, 80,
- gMonPalette_Magnemite, 81,
- gMonPalette_Magneton, 82,
- gMonPalette_Farfetchd, 83,
- gMonPalette_Doduo, 84,
- gMonPalette_Dodrio, 85,
- gMonPalette_Seel, 86,
- gMonPalette_Dewgong, 87,
- gMonPalette_Grimer, 88,
- gMonPalette_Muk, 89,
- gMonPalette_Shellder, 90,
- gMonPalette_Cloyster, 91,
- gMonPalette_Gastly, 92,
- gMonPalette_Haunter, 93,
- gMonPalette_Gengar, 94,
- gMonPalette_Onix, 95,
- gMonPalette_Drowzee, 96,
- gMonPalette_Hypno, 97,
- gMonPalette_Krabby, 98,
- gMonPalette_Kingler, 99,
- gMonPalette_Voltorb, 100,
- gMonPalette_Electrode, 101,
- gMonPalette_Exeggcute, 102,
- gMonPalette_Exeggutor, 103,
- gMonPalette_Cubone, 104,
- gMonPalette_Marowak, 105,
- gMonPalette_Hitmonlee, 106,
- gMonPalette_Hitmonchan, 107,
- gMonPalette_Lickitung, 108,
- gMonPalette_Koffing, 109,
- gMonPalette_Weezing, 110,
- gMonPalette_Rhyhorn, 111,
- gMonPalette_Rhydon, 112,
- gMonPalette_Chansey, 113,
- gMonPalette_Tangela, 114,
- gMonPalette_Kangaskhan, 115,
- gMonPalette_Horsea, 116,
- gMonPalette_Seadra, 117,
- gMonPalette_Goldeen, 118,
- gMonPalette_Seaking, 119,
- gMonPalette_Staryu, 120,
- gMonPalette_Starmie, 121,
- gMonPalette_Mrmime, 122,
- gMonPalette_Scyther, 123,
- gMonPalette_Jynx, 124,
- gMonPalette_Electabuzz, 125,
- gMonPalette_Magmar, 126,
- gMonPalette_Pinsir, 127,
- gMonPalette_Tauros, 128,
- gMonPalette_Magikarp, 129,
- gMonPalette_Gyarados, 130,
- gMonPalette_Lapras, 131,
- gMonPalette_Ditto, 132,
- gMonPalette_Eevee, 133,
- gMonPalette_Vaporeon, 134,
- gMonPalette_Jolteon, 135,
- gMonPalette_Flareon, 136,
- gMonPalette_Porygon, 137,
- gMonPalette_Omanyte, 138,
- gMonPalette_Omastar, 139,
- gMonPalette_Kabuto, 140,
- gMonPalette_Kabutops, 141,
- gMonPalette_Aerodactyl, 142,
- gMonPalette_Snorlax, 143,
- gMonPalette_Articuno, 144,
- gMonPalette_Zapdos, 145,
- gMonPalette_Moltres, 146,
- gMonPalette_Dratini, 147,
- gMonPalette_Dragonair, 148,
- gMonPalette_Dragonite, 149,
- gMonPalette_Mewtwo, 150,
- gMonPalette_Mew, 151,
- gMonPalette_Chikorita, 152,
- gMonPalette_Bayleef, 153,
- gMonPalette_Meganium, 154,
- gMonPalette_Cyndaquil, 155,
- gMonPalette_Quilava, 156,
- gMonPalette_Typhlosion, 157,
- gMonPalette_Totodile, 158,
- gMonPalette_Croconaw, 159,
- gMonPalette_Feraligatr, 160,
- gMonPalette_Sentret, 161,
- gMonPalette_Furret, 162,
- gMonPalette_Hoothoot, 163,
- gMonPalette_Noctowl, 164,
- gMonPalette_Ledyba, 165,
- gMonPalette_Ledian, 166,
- gMonPalette_Spinarak, 167,
- gMonPalette_Ariados, 168,
- gMonPalette_Crobat, 169,
- gMonPalette_Chinchou, 170,
- gMonPalette_Lanturn, 171,
- gMonPalette_Pichu, 172,
- gMonPalette_Cleffa, 173,
- gMonPalette_Igglybuff, 174,
- gMonPalette_Togepi, 175,
- gMonPalette_Togetic, 176,
- gMonPalette_Natu, 177,
- gMonPalette_Xatu, 178,
- gMonPalette_Mareep, 179,
- gMonPalette_Flaaffy, 180,
- gMonPalette_Ampharos, 181,
- gMonPalette_Bellossom, 182,
- gMonPalette_Marill, 183,
- gMonPalette_Azumarill, 184,
- gMonPalette_Sudowoodo, 185,
- gMonPalette_Politoed, 186,
- gMonPalette_Hoppip, 187,
- gMonPalette_Skiploom, 188,
- gMonPalette_Jumpluff, 189,
- gMonPalette_Aipom, 190,
- gMonPalette_Sunkern, 191,
- gMonPalette_Sunflora, 192,
- gMonPalette_Yanma, 193,
- gMonPalette_Wooper, 194,
- gMonPalette_Quagsire, 195,
- gMonPalette_Espeon, 196,
- gMonPalette_Umbreon, 197,
- gMonPalette_Murkrow, 198,
- gMonPalette_Slowking, 199,
- gMonPalette_Misdreavus, 200,
- gMonPalette_Unown, 201,
- gMonPalette_Wobbuffet, 202,
- gMonPalette_Girafarig, 203,
- gMonPalette_Pineco, 204,
- gMonPalette_Forretress, 205,
- gMonPalette_Dunsparce, 206,
- gMonPalette_Gligar, 207,
- gMonPalette_Steelix, 208,
- gMonPalette_Snubbull, 209,
- gMonPalette_Granbull, 210,
- gMonPalette_Qwilfish, 211,
- gMonPalette_Scizor, 212,
- gMonPalette_Shuckle, 213,
- gMonPalette_Heracross, 214,
- gMonPalette_Sneasel, 215,
- gMonPalette_Teddiursa, 216,
- gMonPalette_Ursaring, 217,
- gMonPalette_Slugma, 218,
- gMonPalette_Magcargo, 219,
- gMonPalette_Swinub, 220,
- gMonPalette_Piloswine, 221,
- gMonPalette_Corsola, 222,
- gMonPalette_Remoraid, 223,
- gMonPalette_Octillery, 224,
- gMonPalette_Delibird, 225,
- gMonPalette_Mantine, 226,
- gMonPalette_Skarmory, 227,
- gMonPalette_Houndour, 228,
- gMonPalette_Houndoom, 229,
- gMonPalette_Kingdra, 230,
- gMonPalette_Phanpy, 231,
- gMonPalette_Donphan, 232,
- gMonPalette_Porygon2, 233,
- gMonPalette_Stantler, 234,
- gMonPalette_Smeargle, 235,
- gMonPalette_Tyrogue, 236,
- gMonPalette_Hitmontop, 237,
- gMonPalette_Smoochum, 238,
- gMonPalette_Elekid, 239,
- gMonPalette_Magby, 240,
- gMonPalette_Miltank, 241,
- gMonPalette_Blissey, 242,
- gMonPalette_Raikou, 243,
- gMonPalette_Entei, 244,
- gMonPalette_Suicune, 245,
- gMonPalette_Larvitar, 246,
- gMonPalette_Pupitar, 247,
- gMonPalette_Tyranitar, 248,
- gMonPalette_Lugia, 249,
- gMonPalette_HoOh, 250,
- gMonPalette_Celebi, 251,
- gMonPalette_DoubleQuestionMark, 252,
- gMonPalette_DoubleQuestionMark, 253,
- gMonPalette_DoubleQuestionMark, 254,
- gMonPalette_DoubleQuestionMark, 255,
- gMonPalette_DoubleQuestionMark, 256,
- gMonPalette_DoubleQuestionMark, 257,
- gMonPalette_DoubleQuestionMark, 258,
- gMonPalette_DoubleQuestionMark, 259,
- gMonPalette_DoubleQuestionMark, 260,
- gMonPalette_DoubleQuestionMark, 261,
- gMonPalette_DoubleQuestionMark, 262,
- gMonPalette_DoubleQuestionMark, 263,
- gMonPalette_DoubleQuestionMark, 264,
- gMonPalette_DoubleQuestionMark, 265,
- gMonPalette_DoubleQuestionMark, 266,
- gMonPalette_DoubleQuestionMark, 267,
- gMonPalette_DoubleQuestionMark, 268,
- gMonPalette_DoubleQuestionMark, 269,
- gMonPalette_DoubleQuestionMark, 270,
- gMonPalette_DoubleQuestionMark, 271,
- gMonPalette_DoubleQuestionMark, 272,
- gMonPalette_DoubleQuestionMark, 273,
- gMonPalette_DoubleQuestionMark, 274,
- gMonPalette_DoubleQuestionMark, 275,
- gMonPalette_DoubleQuestionMark, 276,
- gMonPalette_Treecko, 277,
- gMonPalette_Grovyle, 278,
- gMonPalette_Sceptile, 279,
- gMonPalette_Torchic, 280,
- gMonPalette_Combusken, 281,
- gMonPalette_Blaziken, 282,
- gMonPalette_Mudkip, 283,
- gMonPalette_Marshtomp, 284,
- gMonPalette_Swampert, 285,
- gMonPalette_Poochyena, 286,
- gMonPalette_Mightyena, 287,
- gMonPalette_Zigzagoon, 288,
- gMonPalette_Linoone, 289,
- gMonPalette_Wurmple, 290,
- gMonPalette_Silcoon, 291,
- gMonPalette_Beautifly, 292,
- gMonPalette_Cascoon, 293,
- gMonPalette_Dustox, 294,
- gMonPalette_Lotad, 295,
- gMonPalette_Lombre, 296,
- gMonPalette_Ludicolo, 297,
- gMonPalette_Seedot, 298,
- gMonPalette_Nuzleaf, 299,
- gMonPalette_Shiftry, 300,
- gMonPalette_Nincada, 301,
- gMonPalette_Ninjask, 302,
- gMonPalette_Shedinja, 303,
- gMonPalette_Taillow, 304,
- gMonPalette_Swellow, 305,
- gMonPalette_Shroomish, 306,
- gMonPalette_Breloom, 307,
- gMonPalette_Spinda, 308,
- gMonPalette_Wingull, 309,
- gMonPalette_Pelipper, 310,
- gMonPalette_Surskit, 311,
- gMonPalette_Masquerain, 312,
- gMonPalette_Wailmer, 313,
- gMonPalette_Wailord, 314,
- gMonPalette_Skitty, 315,
- gMonPalette_Delcatty, 316,
- gMonPalette_Kecleon, 317,
- gMonPalette_Baltoy, 318,
- gMonPalette_Claydol, 319,
- gMonPalette_Nosepass, 320,
- gMonPalette_Torkoal, 321,
- gMonPalette_Sableye, 322,
- gMonPalette_Barboach, 323,
- gMonPalette_Whiscash, 324,
- gMonPalette_Luvdisc, 325,
- gMonPalette_Corphish, 326,
- gMonPalette_Crawdaunt, 327,
- gMonPalette_Feebas, 328,
- gMonPalette_Milotic, 329,
- gMonPalette_Carvanha, 330,
- gMonPalette_Sharpedo, 331,
- gMonPalette_Trapinch, 332,
- gMonPalette_Vibrava, 333,
- gMonPalette_Flygon, 334,
- gMonPalette_Makuhita, 335,
- gMonPalette_Hariyama, 336,
- gMonPalette_Electrike, 337,
- gMonPalette_Manectric, 338,
- gMonPalette_Numel, 339,
- gMonPalette_Camerupt, 340,
- gMonPalette_Spheal, 341,
- gMonPalette_Sealeo, 342,
- gMonPalette_Walrein, 343,
- gMonPalette_Cacnea, 344,
- gMonPalette_Cacturne, 345,
- gMonPalette_Snorunt, 346,
- gMonPalette_Glalie, 347,
- gMonPalette_Lunatone, 348,
- gMonPalette_Solrock, 349,
- gMonPalette_Azurill, 350,
- gMonPalette_Spoink, 351,
- gMonPalette_Grumpig, 352,
- gMonPalette_Plusle, 353,
- gMonPalette_Minun, 354,
- gMonPalette_Mawile, 355,
- gMonPalette_Meditite, 356,
- gMonPalette_Medicham, 357,
- gMonPalette_Swablu, 358,
- gMonPalette_Altaria, 359,
- gMonPalette_Wynaut, 360,
- gMonPalette_Duskull, 361,
- gMonPalette_Dusclops, 362,
- gMonPalette_Roselia, 363,
- gMonPalette_Slakoth, 364,
- gMonPalette_Vigoroth, 365,
- gMonPalette_Slaking, 366,
- gMonPalette_Gulpin, 367,
- gMonPalette_Swalot, 368,
- gMonPalette_Tropius, 369,
- gMonPalette_Whismur, 370,
- gMonPalette_Loudred, 371,
- gMonPalette_Exploud, 372,
- gMonPalette_Clamperl, 373,
- gMonPalette_Huntail, 374,
- gMonPalette_Gorebyss, 375,
- gMonPalette_Absol, 376,
- gMonPalette_Shuppet, 377,
- gMonPalette_Banette, 378,
- gMonPalette_Seviper, 379,
- gMonPalette_Zangoose, 380,
- gMonPalette_Relicanth, 381,
- gMonPalette_Aron, 382,
- gMonPalette_Lairon, 383,
- gMonPalette_Aggron, 384,
- gMonPalette_Castform, 385,
- gMonPalette_Volbeat, 386,
- gMonPalette_Illumise, 387,
- gMonPalette_Lileep, 388,
- gMonPalette_Cradily, 389,
- gMonPalette_Anorith, 390,
- gMonPalette_Armaldo, 391,
- gMonPalette_Ralts, 392,
- gMonPalette_Kirlia, 393,
- gMonPalette_Gardevoir, 394,
- gMonPalette_Bagon, 395,
- gMonPalette_Shelgon, 396,
- gMonPalette_Salamence, 397,
- gMonPalette_Beldum, 398,
- gMonPalette_Metang, 399,
- gMonPalette_Metagross, 400,
- gMonPalette_Regirock, 401,
- gMonPalette_Regice, 402,
- gMonPalette_Registeel, 403,
- gMonPalette_Kyogre, 404,
- gMonPalette_Groudon, 405,
- gMonPalette_Rayquaza, 406,
- gMonPalette_Latias, 407,
- gMonPalette_Latios, 408,
- gMonPalette_Jirachi, 409,
- gMonPalette_Deoxys, 410,
- gMonPalette_Chimecho, 411,
- gMonPalette_Egg, 412,
- gMonPalette_Unown, 413,
- gMonPalette_Unown, 414,
- gMonPalette_Unown, 415,
- gMonPalette_Unown, 416,
- gMonPalette_Unown, 417,
- gMonPalette_Unown, 418,
- gMonPalette_Unown, 419,
- gMonPalette_Unown, 420,
- gMonPalette_Unown, 421,
- gMonPalette_Unown, 422,
- gMonPalette_Unown, 423,
- gMonPalette_Unown, 424,
- gMonPalette_Unown, 425,
- gMonPalette_Unown, 426,
- gMonPalette_Unown, 427,
- gMonPalette_Unown, 428,
- gMonPalette_Unown, 429,
- gMonPalette_Unown, 430,
- gMonPalette_Unown, 431,
- gMonPalette_Unown, 432,
- gMonPalette_Unown, 433,
- gMonPalette_Unown, 434,
- gMonPalette_Unown, 435,
- gMonPalette_Unown, 436,
- gMonPalette_Unown, 437,
- gMonPalette_Unown, 438,
- gMonPalette_Unown, 439,
+ [SPECIES_NONE] = {gMonPalette_CircledQuestionMark, SPECIES_NONE},
+ [SPECIES_BULBASAUR] = {gMonPalette_Bulbasaur, SPECIES_BULBASAUR},
+ [SPECIES_IVYSAUR] = {gMonPalette_Ivysaur, SPECIES_IVYSAUR},
+ [SPECIES_VENUSAUR] = {gMonPalette_Venusaur, SPECIES_VENUSAUR},
+ [SPECIES_CHARMANDER] = {gMonPalette_Charmander, SPECIES_CHARMANDER},
+ [SPECIES_CHARMELEON] = {gMonPalette_Charmeleon, SPECIES_CHARMELEON},
+ [SPECIES_CHARIZARD] = {gMonPalette_Charizard, SPECIES_CHARIZARD},
+ [SPECIES_SQUIRTLE] = {gMonPalette_Squirtle, SPECIES_SQUIRTLE},
+ [SPECIES_WARTORTLE] = {gMonPalette_Wartortle, SPECIES_WARTORTLE},
+ [SPECIES_BLASTOISE] = {gMonPalette_Blastoise, SPECIES_BLASTOISE},
+ [SPECIES_CATERPIE] = {gMonPalette_Caterpie, SPECIES_CATERPIE},
+ [SPECIES_METAPOD] = {gMonPalette_Metapod, SPECIES_METAPOD},
+ [SPECIES_BUTTERFREE] = {gMonPalette_Butterfree, SPECIES_BUTTERFREE},
+ [SPECIES_WEEDLE] = {gMonPalette_Weedle, SPECIES_WEEDLE},
+ [SPECIES_KAKUNA] = {gMonPalette_Kakuna, SPECIES_KAKUNA},
+ [SPECIES_BEEDRILL] = {gMonPalette_Beedrill, SPECIES_BEEDRILL},
+ [SPECIES_PIDGEY] = {gMonPalette_Pidgey, SPECIES_PIDGEY},
+ [SPECIES_PIDGEOTTO] = {gMonPalette_Pidgeotto, SPECIES_PIDGEOTTO},
+ [SPECIES_PIDGEOT] = {gMonPalette_Pidgeot, SPECIES_PIDGEOT},
+ [SPECIES_RATTATA] = {gMonPalette_Rattata, SPECIES_RATTATA},
+ [SPECIES_RATICATE] = {gMonPalette_Raticate, SPECIES_RATICATE},
+ [SPECIES_SPEAROW] = {gMonPalette_Spearow, SPECIES_SPEAROW},
+ [SPECIES_FEAROW] = {gMonPalette_Fearow, SPECIES_FEAROW},
+ [SPECIES_EKANS] = {gMonPalette_Ekans, SPECIES_EKANS},
+ [SPECIES_ARBOK] = {gMonPalette_Arbok, SPECIES_ARBOK},
+ [SPECIES_PIKACHU] = {gMonPalette_Pikachu, SPECIES_PIKACHU},
+ [SPECIES_RAICHU] = {gMonPalette_Raichu, SPECIES_RAICHU},
+ [SPECIES_SANDSHREW] = {gMonPalette_Sandshrew, SPECIES_SANDSHREW},
+ [SPECIES_SANDSLASH] = {gMonPalette_Sandslash, SPECIES_SANDSLASH},
+ [SPECIES_NIDORAN_F] = {gMonPalette_NidoranF, SPECIES_NIDORAN_F},
+ [SPECIES_NIDORINA] = {gMonPalette_Nidorina, SPECIES_NIDORINA},
+ [SPECIES_NIDOQUEEN] = {gMonPalette_Nidoqueen, SPECIES_NIDOQUEEN},
+ [SPECIES_NIDORAN_M] = {gMonPalette_NidoranM, SPECIES_NIDORAN_M},
+ [SPECIES_NIDORINO] = {gMonPalette_Nidorino, SPECIES_NIDORINO},
+ [SPECIES_NIDOKING] = {gMonPalette_Nidoking, SPECIES_NIDOKING},
+ [SPECIES_CLEFAIRY] = {gMonPalette_Clefairy, SPECIES_CLEFAIRY},
+ [SPECIES_CLEFABLE] = {gMonPalette_Clefable, SPECIES_CLEFABLE},
+ [SPECIES_VULPIX] = {gMonPalette_Vulpix, SPECIES_VULPIX},
+ [SPECIES_NINETALES] = {gMonPalette_Ninetales, SPECIES_NINETALES},
+ [SPECIES_JIGGLYPUFF] = {gMonPalette_Jigglypuff, SPECIES_JIGGLYPUFF},
+ [SPECIES_WIGGLYTUFF] = {gMonPalette_Wigglytuff, SPECIES_WIGGLYTUFF},
+ [SPECIES_ZUBAT] = {gMonPalette_Zubat, SPECIES_ZUBAT},
+ [SPECIES_GOLBAT] = {gMonPalette_Golbat, SPECIES_GOLBAT},
+ [SPECIES_ODDISH] = {gMonPalette_Oddish, SPECIES_ODDISH},
+ [SPECIES_GLOOM] = {gMonPalette_Gloom, SPECIES_GLOOM},
+ [SPECIES_VILEPLUME] = {gMonPalette_Vileplume, SPECIES_VILEPLUME},
+ [SPECIES_PARAS] = {gMonPalette_Paras, SPECIES_PARAS},
+ [SPECIES_PARASECT] = {gMonPalette_Parasect, SPECIES_PARASECT},
+ [SPECIES_VENONAT] = {gMonPalette_Venonat, SPECIES_VENONAT},
+ [SPECIES_VENOMOTH] = {gMonPalette_Venomoth, SPECIES_VENOMOTH},
+ [SPECIES_DIGLETT] = {gMonPalette_Diglett, SPECIES_DIGLETT},
+ [SPECIES_DUGTRIO] = {gMonPalette_Dugtrio, SPECIES_DUGTRIO},
+ [SPECIES_MEOWTH] = {gMonPalette_Meowth, SPECIES_MEOWTH},
+ [SPECIES_PERSIAN] = {gMonPalette_Persian, SPECIES_PERSIAN},
+ [SPECIES_PSYDUCK] = {gMonPalette_Psyduck, SPECIES_PSYDUCK},
+ [SPECIES_GOLDUCK] = {gMonPalette_Golduck, SPECIES_GOLDUCK},
+ [SPECIES_MANKEY] = {gMonPalette_Mankey, SPECIES_MANKEY},
+ [SPECIES_PRIMEAPE] = {gMonPalette_Primeape, SPECIES_PRIMEAPE},
+ [SPECIES_GROWLITHE] = {gMonPalette_Growlithe, SPECIES_GROWLITHE},
+ [SPECIES_ARCANINE] = {gMonPalette_Arcanine, SPECIES_ARCANINE},
+ [SPECIES_POLIWAG] = {gMonPalette_Poliwag, SPECIES_POLIWAG},
+ [SPECIES_POLIWHIRL] = {gMonPalette_Poliwhirl, SPECIES_POLIWHIRL},
+ [SPECIES_POLIWRATH] = {gMonPalette_Poliwrath, SPECIES_POLIWRATH},
+ [SPECIES_ABRA] = {gMonPalette_Abra, SPECIES_ABRA},
+ [SPECIES_KADABRA] = {gMonPalette_Kadabra, SPECIES_KADABRA},
+ [SPECIES_ALAKAZAM] = {gMonPalette_Alakazam, SPECIES_ALAKAZAM},
+ [SPECIES_MACHOP] = {gMonPalette_Machop, SPECIES_MACHOP},
+ [SPECIES_MACHOKE] = {gMonPalette_Machoke, SPECIES_MACHOKE},
+ [SPECIES_MACHAMP] = {gMonPalette_Machamp, SPECIES_MACHAMP},
+ [SPECIES_BELLSPROUT] = {gMonPalette_Bellsprout, SPECIES_BELLSPROUT},
+ [SPECIES_WEEPINBELL] = {gMonPalette_Weepinbell, SPECIES_WEEPINBELL},
+ [SPECIES_VICTREEBEL] = {gMonPalette_Victreebel, SPECIES_VICTREEBEL},
+ [SPECIES_TENTACOOL] = {gMonPalette_Tentacool, SPECIES_TENTACOOL},
+ [SPECIES_TENTACRUEL] = {gMonPalette_Tentacruel, SPECIES_TENTACRUEL},
+ [SPECIES_GEODUDE] = {gMonPalette_Geodude, SPECIES_GEODUDE},
+ [SPECIES_GRAVELER] = {gMonPalette_Graveler, SPECIES_GRAVELER},
+ [SPECIES_GOLEM] = {gMonPalette_Golem, SPECIES_GOLEM},
+ [SPECIES_PONYTA] = {gMonPalette_Ponyta, SPECIES_PONYTA},
+ [SPECIES_RAPIDASH] = {gMonPalette_Rapidash, SPECIES_RAPIDASH},
+ [SPECIES_SLOWPOKE] = {gMonPalette_Slowpoke, SPECIES_SLOWPOKE},
+ [SPECIES_SLOWBRO] = {gMonPalette_Slowbro, SPECIES_SLOWBRO},
+ [SPECIES_MAGNEMITE] = {gMonPalette_Magnemite, SPECIES_MAGNEMITE},
+ [SPECIES_MAGNETON] = {gMonPalette_Magneton, SPECIES_MAGNETON},
+ [SPECIES_FARFETCHD] = {gMonPalette_Farfetchd, SPECIES_FARFETCHD},
+ [SPECIES_DODUO] = {gMonPalette_Doduo, SPECIES_DODUO},
+ [SPECIES_DODRIO] = {gMonPalette_Dodrio, SPECIES_DODRIO},
+ [SPECIES_SEEL] = {gMonPalette_Seel, SPECIES_SEEL},
+ [SPECIES_DEWGONG] = {gMonPalette_Dewgong, SPECIES_DEWGONG},
+ [SPECIES_GRIMER] = {gMonPalette_Grimer, SPECIES_GRIMER},
+ [SPECIES_MUK] = {gMonPalette_Muk, SPECIES_MUK},
+ [SPECIES_SHELLDER] = {gMonPalette_Shellder, SPECIES_SHELLDER},
+ [SPECIES_CLOYSTER] = {gMonPalette_Cloyster, SPECIES_CLOYSTER},
+ [SPECIES_GASTLY] = {gMonPalette_Gastly, SPECIES_GASTLY},
+ [SPECIES_HAUNTER] = {gMonPalette_Haunter, SPECIES_HAUNTER},
+ [SPECIES_GENGAR] = {gMonPalette_Gengar, SPECIES_GENGAR},
+ [SPECIES_ONIX] = {gMonPalette_Onix, SPECIES_ONIX},
+ [SPECIES_DROWZEE] = {gMonPalette_Drowzee, SPECIES_DROWZEE},
+ [SPECIES_HYPNO] = {gMonPalette_Hypno, SPECIES_HYPNO},
+ [SPECIES_KRABBY] = {gMonPalette_Krabby, SPECIES_KRABBY},
+ [SPECIES_KINGLER] = {gMonPalette_Kingler, SPECIES_KINGLER},
+ [SPECIES_VOLTORB] = {gMonPalette_Voltorb, SPECIES_VOLTORB},
+ [SPECIES_ELECTRODE] = {gMonPalette_Electrode, SPECIES_ELECTRODE},
+ [SPECIES_EXEGGCUTE] = {gMonPalette_Exeggcute, SPECIES_EXEGGCUTE},
+ [SPECIES_EXEGGUTOR] = {gMonPalette_Exeggutor, SPECIES_EXEGGUTOR},
+ [SPECIES_CUBONE] = {gMonPalette_Cubone, SPECIES_CUBONE},
+ [SPECIES_MAROWAK] = {gMonPalette_Marowak, SPECIES_MAROWAK},
+ [SPECIES_HITMONLEE] = {gMonPalette_Hitmonlee, SPECIES_HITMONLEE},
+ [SPECIES_HITMONCHAN] = {gMonPalette_Hitmonchan, SPECIES_HITMONCHAN},
+ [SPECIES_LICKITUNG] = {gMonPalette_Lickitung, SPECIES_LICKITUNG},
+ [SPECIES_KOFFING] = {gMonPalette_Koffing, SPECIES_KOFFING},
+ [SPECIES_WEEZING] = {gMonPalette_Weezing, SPECIES_WEEZING},
+ [SPECIES_RHYHORN] = {gMonPalette_Rhyhorn, SPECIES_RHYHORN},
+ [SPECIES_RHYDON] = {gMonPalette_Rhydon, SPECIES_RHYDON},
+ [SPECIES_CHANSEY] = {gMonPalette_Chansey, SPECIES_CHANSEY},
+ [SPECIES_TANGELA] = {gMonPalette_Tangela, SPECIES_TANGELA},
+ [SPECIES_KANGASKHAN] = {gMonPalette_Kangaskhan, SPECIES_KANGASKHAN},
+ [SPECIES_HORSEA] = {gMonPalette_Horsea, SPECIES_HORSEA},
+ [SPECIES_SEADRA] = {gMonPalette_Seadra, SPECIES_SEADRA},
+ [SPECIES_GOLDEEN] = {gMonPalette_Goldeen, SPECIES_GOLDEEN},
+ [SPECIES_SEAKING] = {gMonPalette_Seaking, SPECIES_SEAKING},
+ [SPECIES_STARYU] = {gMonPalette_Staryu, SPECIES_STARYU},
+ [SPECIES_STARMIE] = {gMonPalette_Starmie, SPECIES_STARMIE},
+ [SPECIES_MR_MIME] = {gMonPalette_Mrmime, SPECIES_MR_MIME},
+ [SPECIES_SCYTHER] = {gMonPalette_Scyther, SPECIES_SCYTHER},
+ [SPECIES_JYNX] = {gMonPalette_Jynx, SPECIES_JYNX},
+ [SPECIES_ELECTABUZZ] = {gMonPalette_Electabuzz, SPECIES_ELECTABUZZ},
+ [SPECIES_MAGMAR] = {gMonPalette_Magmar, SPECIES_MAGMAR},
+ [SPECIES_PINSIR] = {gMonPalette_Pinsir, SPECIES_PINSIR},
+ [SPECIES_TAUROS] = {gMonPalette_Tauros, SPECIES_TAUROS},
+ [SPECIES_MAGIKARP] = {gMonPalette_Magikarp, SPECIES_MAGIKARP},
+ [SPECIES_GYARADOS] = {gMonPalette_Gyarados, SPECIES_GYARADOS},
+ [SPECIES_LAPRAS] = {gMonPalette_Lapras, SPECIES_LAPRAS},
+ [SPECIES_DITTO] = {gMonPalette_Ditto, SPECIES_DITTO},
+ [SPECIES_EEVEE] = {gMonPalette_Eevee, SPECIES_EEVEE},
+ [SPECIES_VAPOREON] = {gMonPalette_Vaporeon, SPECIES_VAPOREON},
+ [SPECIES_JOLTEON] = {gMonPalette_Jolteon, SPECIES_JOLTEON},
+ [SPECIES_FLAREON] = {gMonPalette_Flareon, SPECIES_FLAREON},
+ [SPECIES_PORYGON] = {gMonPalette_Porygon, SPECIES_PORYGON},
+ [SPECIES_OMANYTE] = {gMonPalette_Omanyte, SPECIES_OMANYTE},
+ [SPECIES_OMASTAR] = {gMonPalette_Omastar, SPECIES_OMASTAR},
+ [SPECIES_KABUTO] = {gMonPalette_Kabuto, SPECIES_KABUTO},
+ [SPECIES_KABUTOPS] = {gMonPalette_Kabutops, SPECIES_KABUTOPS},
+ [SPECIES_AERODACTYL] = {gMonPalette_Aerodactyl, SPECIES_AERODACTYL},
+ [SPECIES_SNORLAX] = {gMonPalette_Snorlax, SPECIES_SNORLAX},
+ [SPECIES_ARTICUNO] = {gMonPalette_Articuno, SPECIES_ARTICUNO},
+ [SPECIES_ZAPDOS] = {gMonPalette_Zapdos, SPECIES_ZAPDOS},
+ [SPECIES_MOLTRES] = {gMonPalette_Moltres, SPECIES_MOLTRES},
+ [SPECIES_DRATINI] = {gMonPalette_Dratini, SPECIES_DRATINI},
+ [SPECIES_DRAGONAIR] = {gMonPalette_Dragonair, SPECIES_DRAGONAIR},
+ [SPECIES_DRAGONITE] = {gMonPalette_Dragonite, SPECIES_DRAGONITE},
+ [SPECIES_MEWTWO] = {gMonPalette_Mewtwo, SPECIES_MEWTWO},
+ [SPECIES_MEW] = {gMonPalette_Mew, SPECIES_MEW},
+ [SPECIES_CHIKORITA] = {gMonPalette_Chikorita, SPECIES_CHIKORITA},
+ [SPECIES_BAYLEEF] = {gMonPalette_Bayleef, SPECIES_BAYLEEF},
+ [SPECIES_MEGANIUM] = {gMonPalette_Meganium, SPECIES_MEGANIUM},
+ [SPECIES_CYNDAQUIL] = {gMonPalette_Cyndaquil, SPECIES_CYNDAQUIL},
+ [SPECIES_QUILAVA] = {gMonPalette_Quilava, SPECIES_QUILAVA},
+ [SPECIES_TYPHLOSION] = {gMonPalette_Typhlosion, SPECIES_TYPHLOSION},
+ [SPECIES_TOTODILE] = {gMonPalette_Totodile, SPECIES_TOTODILE},
+ [SPECIES_CROCONAW] = {gMonPalette_Croconaw, SPECIES_CROCONAW},
+ [SPECIES_FERALIGATR] = {gMonPalette_Feraligatr, SPECIES_FERALIGATR},
+ [SPECIES_SENTRET] = {gMonPalette_Sentret, SPECIES_SENTRET},
+ [SPECIES_FURRET] = {gMonPalette_Furret, SPECIES_FURRET},
+ [SPECIES_HOOTHOOT] = {gMonPalette_Hoothoot, SPECIES_HOOTHOOT},
+ [SPECIES_NOCTOWL] = {gMonPalette_Noctowl, SPECIES_NOCTOWL},
+ [SPECIES_LEDYBA] = {gMonPalette_Ledyba, SPECIES_LEDYBA},
+ [SPECIES_LEDIAN] = {gMonPalette_Ledian, SPECIES_LEDIAN},
+ [SPECIES_SPINARAK] = {gMonPalette_Spinarak, SPECIES_SPINARAK},
+ [SPECIES_ARIADOS] = {gMonPalette_Ariados, SPECIES_ARIADOS},
+ [SPECIES_CROBAT] = {gMonPalette_Crobat, SPECIES_CROBAT},
+ [SPECIES_CHINCHOU] = {gMonPalette_Chinchou, SPECIES_CHINCHOU},
+ [SPECIES_LANTURN] = {gMonPalette_Lanturn, SPECIES_LANTURN},
+ [SPECIES_PICHU] = {gMonPalette_Pichu, SPECIES_PICHU},
+ [SPECIES_CLEFFA] = {gMonPalette_Cleffa, SPECIES_CLEFFA},
+ [SPECIES_IGGLYBUFF] = {gMonPalette_Igglybuff, SPECIES_IGGLYBUFF},
+ [SPECIES_TOGEPI] = {gMonPalette_Togepi, SPECIES_TOGEPI},
+ [SPECIES_TOGETIC] = {gMonPalette_Togetic, SPECIES_TOGETIC},
+ [SPECIES_NATU] = {gMonPalette_Natu, SPECIES_NATU},
+ [SPECIES_XATU] = {gMonPalette_Xatu, SPECIES_XATU},
+ [SPECIES_MAREEP] = {gMonPalette_Mareep, SPECIES_MAREEP},
+ [SPECIES_FLAAFFY] = {gMonPalette_Flaaffy, SPECIES_FLAAFFY},
+ [SPECIES_AMPHAROS] = {gMonPalette_Ampharos, SPECIES_AMPHAROS},
+ [SPECIES_BELLOSSOM] = {gMonPalette_Bellossom, SPECIES_BELLOSSOM},
+ [SPECIES_MARILL] = {gMonPalette_Marill, SPECIES_MARILL},
+ [SPECIES_AZUMARILL] = {gMonPalette_Azumarill, SPECIES_AZUMARILL},
+ [SPECIES_SUDOWOODO] = {gMonPalette_Sudowoodo, SPECIES_SUDOWOODO},
+ [SPECIES_POLITOED] = {gMonPalette_Politoed, SPECIES_POLITOED},
+ [SPECIES_HOPPIP] = {gMonPalette_Hoppip, SPECIES_HOPPIP},
+ [SPECIES_SKIPLOOM] = {gMonPalette_Skiploom, SPECIES_SKIPLOOM},
+ [SPECIES_JUMPLUFF] = {gMonPalette_Jumpluff, SPECIES_JUMPLUFF},
+ [SPECIES_AIPOM] = {gMonPalette_Aipom, SPECIES_AIPOM},
+ [SPECIES_SUNKERN] = {gMonPalette_Sunkern, SPECIES_SUNKERN},
+ [SPECIES_SUNFLORA] = {gMonPalette_Sunflora, SPECIES_SUNFLORA},
+ [SPECIES_YANMA] = {gMonPalette_Yanma, SPECIES_YANMA},
+ [SPECIES_WOOPER] = {gMonPalette_Wooper, SPECIES_WOOPER},
+ [SPECIES_QUAGSIRE] = {gMonPalette_Quagsire, SPECIES_QUAGSIRE},
+ [SPECIES_ESPEON] = {gMonPalette_Espeon, SPECIES_ESPEON},
+ [SPECIES_UMBREON] = {gMonPalette_Umbreon, SPECIES_UMBREON},
+ [SPECIES_MURKROW] = {gMonPalette_Murkrow, SPECIES_MURKROW},
+ [SPECIES_SLOWKING] = {gMonPalette_Slowking, SPECIES_SLOWKING},
+ [SPECIES_MISDREAVUS] = {gMonPalette_Misdreavus, SPECIES_MISDREAVUS},
+ [SPECIES_UNOWN] = {gMonPalette_Unown, SPECIES_UNOWN},
+ [SPECIES_WOBBUFFET] = {gMonPalette_Wobbuffet, SPECIES_WOBBUFFET},
+ [SPECIES_GIRAFARIG] = {gMonPalette_Girafarig, SPECIES_GIRAFARIG},
+ [SPECIES_PINECO] = {gMonPalette_Pineco, SPECIES_PINECO},
+ [SPECIES_FORRETRESS] = {gMonPalette_Forretress, SPECIES_FORRETRESS},
+ [SPECIES_DUNSPARCE] = {gMonPalette_Dunsparce, SPECIES_DUNSPARCE},
+ [SPECIES_GLIGAR] = {gMonPalette_Gligar, SPECIES_GLIGAR},
+ [SPECIES_STEELIX] = {gMonPalette_Steelix, SPECIES_STEELIX},
+ [SPECIES_SNUBBULL] = {gMonPalette_Snubbull, SPECIES_SNUBBULL},
+ [SPECIES_GRANBULL] = {gMonPalette_Granbull, SPECIES_GRANBULL},
+ [SPECIES_QWILFISH] = {gMonPalette_Qwilfish, SPECIES_QWILFISH},
+ [SPECIES_SCIZOR] = {gMonPalette_Scizor, SPECIES_SCIZOR},
+ [SPECIES_SHUCKLE] = {gMonPalette_Shuckle, SPECIES_SHUCKLE},
+ [SPECIES_HERACROSS] = {gMonPalette_Heracross, SPECIES_HERACROSS},
+ [SPECIES_SNEASEL] = {gMonPalette_Sneasel, SPECIES_SNEASEL},
+ [SPECIES_TEDDIURSA] = {gMonPalette_Teddiursa, SPECIES_TEDDIURSA},
+ [SPECIES_URSARING] = {gMonPalette_Ursaring, SPECIES_URSARING},
+ [SPECIES_SLUGMA] = {gMonPalette_Slugma, SPECIES_SLUGMA},
+ [SPECIES_MAGCARGO] = {gMonPalette_Magcargo, SPECIES_MAGCARGO},
+ [SPECIES_SWINUB] = {gMonPalette_Swinub, SPECIES_SWINUB},
+ [SPECIES_PILOSWINE] = {gMonPalette_Piloswine, SPECIES_PILOSWINE},
+ [SPECIES_CORSOLA] = {gMonPalette_Corsola, SPECIES_CORSOLA},
+ [SPECIES_REMORAID] = {gMonPalette_Remoraid, SPECIES_REMORAID},
+ [SPECIES_OCTILLERY] = {gMonPalette_Octillery, SPECIES_OCTILLERY},
+ [SPECIES_DELIBIRD] = {gMonPalette_Delibird, SPECIES_DELIBIRD},
+ [SPECIES_MANTINE] = {gMonPalette_Mantine, SPECIES_MANTINE},
+ [SPECIES_SKARMORY] = {gMonPalette_Skarmory, SPECIES_SKARMORY},
+ [SPECIES_HOUNDOUR] = {gMonPalette_Houndour, SPECIES_HOUNDOUR},
+ [SPECIES_HOUNDOOM] = {gMonPalette_Houndoom, SPECIES_HOUNDOOM},
+ [SPECIES_KINGDRA] = {gMonPalette_Kingdra, SPECIES_KINGDRA},
+ [SPECIES_PHANPY] = {gMonPalette_Phanpy, SPECIES_PHANPY},
+ [SPECIES_DONPHAN] = {gMonPalette_Donphan, SPECIES_DONPHAN},
+ [SPECIES_PORYGON2] = {gMonPalette_Porygon2, SPECIES_PORYGON2},
+ [SPECIES_STANTLER] = {gMonPalette_Stantler, SPECIES_STANTLER},
+ [SPECIES_SMEARGLE] = {gMonPalette_Smeargle, SPECIES_SMEARGLE},
+ [SPECIES_TYROGUE] = {gMonPalette_Tyrogue, SPECIES_TYROGUE},
+ [SPECIES_HITMONTOP] = {gMonPalette_Hitmontop, SPECIES_HITMONTOP},
+ [SPECIES_SMOOCHUM] = {gMonPalette_Smoochum, SPECIES_SMOOCHUM},
+ [SPECIES_ELEKID] = {gMonPalette_Elekid, SPECIES_ELEKID},
+ [SPECIES_MAGBY] = {gMonPalette_Magby, SPECIES_MAGBY},
+ [SPECIES_MILTANK] = {gMonPalette_Miltank, SPECIES_MILTANK},
+ [SPECIES_BLISSEY] = {gMonPalette_Blissey, SPECIES_BLISSEY},
+ [SPECIES_RAIKOU] = {gMonPalette_Raikou, SPECIES_RAIKOU},
+ [SPECIES_ENTEI] = {gMonPalette_Entei, SPECIES_ENTEI},
+ [SPECIES_SUICUNE] = {gMonPalette_Suicune, SPECIES_SUICUNE},
+ [SPECIES_LARVITAR] = {gMonPalette_Larvitar, SPECIES_LARVITAR},
+ [SPECIES_PUPITAR] = {gMonPalette_Pupitar, SPECIES_PUPITAR},
+ [SPECIES_TYRANITAR] = {gMonPalette_Tyranitar, SPECIES_TYRANITAR},
+ [SPECIES_LUGIA] = {gMonPalette_Lugia, SPECIES_LUGIA},
+ [SPECIES_HO_OH] = {gMonPalette_HoOh, SPECIES_HO_OH},
+ [SPECIES_CELEBI] = {gMonPalette_Celebi, SPECIES_CELEBI},
+ [SPECIES_OLD_UNOWN_B] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B},
+ [SPECIES_OLD_UNOWN_C] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C},
+ [SPECIES_OLD_UNOWN_D] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D},
+ [SPECIES_OLD_UNOWN_E] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E},
+ [SPECIES_OLD_UNOWN_F] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F},
+ [SPECIES_OLD_UNOWN_G] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G},
+ [SPECIES_OLD_UNOWN_H] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H},
+ [SPECIES_OLD_UNOWN_I] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I},
+ [SPECIES_OLD_UNOWN_J] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J},
+ [SPECIES_OLD_UNOWN_K] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K},
+ [SPECIES_OLD_UNOWN_L] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L},
+ [SPECIES_OLD_UNOWN_M] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M},
+ [SPECIES_OLD_UNOWN_N] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N},
+ [SPECIES_OLD_UNOWN_O] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O},
+ [SPECIES_OLD_UNOWN_P] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P},
+ [SPECIES_OLD_UNOWN_Q] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q},
+ [SPECIES_OLD_UNOWN_R] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R},
+ [SPECIES_OLD_UNOWN_S] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S},
+ [SPECIES_OLD_UNOWN_T] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T},
+ [SPECIES_OLD_UNOWN_U] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U},
+ [SPECIES_OLD_UNOWN_V] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V},
+ [SPECIES_OLD_UNOWN_W] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W},
+ [SPECIES_OLD_UNOWN_X] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X},
+ [SPECIES_OLD_UNOWN_Y] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y},
+ [SPECIES_OLD_UNOWN_Z] = {gMonPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z},
+ [SPECIES_TREECKO] = {gMonPalette_Treecko, SPECIES_TREECKO},
+ [SPECIES_GROVYLE] = {gMonPalette_Grovyle, SPECIES_GROVYLE},
+ [SPECIES_SCEPTILE] = {gMonPalette_Sceptile, SPECIES_SCEPTILE},
+ [SPECIES_TORCHIC] = {gMonPalette_Torchic, SPECIES_TORCHIC},
+ [SPECIES_COMBUSKEN] = {gMonPalette_Combusken, SPECIES_COMBUSKEN},
+ [SPECIES_BLAZIKEN] = {gMonPalette_Blaziken, SPECIES_BLAZIKEN},
+ [SPECIES_MUDKIP] = {gMonPalette_Mudkip, SPECIES_MUDKIP},
+ [SPECIES_MARSHTOMP] = {gMonPalette_Marshtomp, SPECIES_MARSHTOMP},
+ [SPECIES_SWAMPERT] = {gMonPalette_Swampert, SPECIES_SWAMPERT},
+ [SPECIES_POOCHYENA] = {gMonPalette_Poochyena, SPECIES_POOCHYENA},
+ [SPECIES_MIGHTYENA] = {gMonPalette_Mightyena, SPECIES_MIGHTYENA},
+ [SPECIES_ZIGZAGOON] = {gMonPalette_Zigzagoon, SPECIES_ZIGZAGOON},
+ [SPECIES_LINOONE] = {gMonPalette_Linoone, SPECIES_LINOONE},
+ [SPECIES_WURMPLE] = {gMonPalette_Wurmple, SPECIES_WURMPLE},
+ [SPECIES_SILCOON] = {gMonPalette_Silcoon, SPECIES_SILCOON},
+ [SPECIES_BEAUTIFLY] = {gMonPalette_Beautifly, SPECIES_BEAUTIFLY},
+ [SPECIES_CASCOON] = {gMonPalette_Cascoon, SPECIES_CASCOON},
+ [SPECIES_DUSTOX] = {gMonPalette_Dustox, SPECIES_DUSTOX},
+ [SPECIES_LOTAD] = {gMonPalette_Lotad, SPECIES_LOTAD},
+ [SPECIES_LOMBRE] = {gMonPalette_Lombre, SPECIES_LOMBRE},
+ [SPECIES_LUDICOLO] = {gMonPalette_Ludicolo, SPECIES_LUDICOLO},
+ [SPECIES_SEEDOT] = {gMonPalette_Seedot, SPECIES_SEEDOT},
+ [SPECIES_NUZLEAF] = {gMonPalette_Nuzleaf, SPECIES_NUZLEAF},
+ [SPECIES_SHIFTRY] = {gMonPalette_Shiftry, SPECIES_SHIFTRY},
+ [SPECIES_NINCADA] = {gMonPalette_Nincada, SPECIES_NINCADA},
+ [SPECIES_NINJASK] = {gMonPalette_Ninjask, SPECIES_NINJASK},
+ [SPECIES_SHEDINJA] = {gMonPalette_Shedinja, SPECIES_SHEDINJA},
+ [SPECIES_TAILLOW] = {gMonPalette_Taillow, SPECIES_TAILLOW},
+ [SPECIES_SWELLOW] = {gMonPalette_Swellow, SPECIES_SWELLOW},
+ [SPECIES_SHROOMISH] = {gMonPalette_Shroomish, SPECIES_SHROOMISH},
+ [SPECIES_BRELOOM] = {gMonPalette_Breloom, SPECIES_BRELOOM},
+ [SPECIES_SPINDA] = {gMonPalette_Spinda, SPECIES_SPINDA},
+ [SPECIES_WINGULL] = {gMonPalette_Wingull, SPECIES_WINGULL},
+ [SPECIES_PELIPPER] = {gMonPalette_Pelipper, SPECIES_PELIPPER},
+ [SPECIES_SURSKIT] = {gMonPalette_Surskit, SPECIES_SURSKIT},
+ [SPECIES_MASQUERAIN] = {gMonPalette_Masquerain, SPECIES_MASQUERAIN},
+ [SPECIES_WAILMER] = {gMonPalette_Wailmer, SPECIES_WAILMER},
+ [SPECIES_WAILORD] = {gMonPalette_Wailord, SPECIES_WAILORD},
+ [SPECIES_SKITTY] = {gMonPalette_Skitty, SPECIES_SKITTY},
+ [SPECIES_DELCATTY] = {gMonPalette_Delcatty, SPECIES_DELCATTY},
+ [SPECIES_KECLEON] = {gMonPalette_Kecleon, SPECIES_KECLEON},
+ [SPECIES_BALTOY] = {gMonPalette_Baltoy, SPECIES_BALTOY},
+ [SPECIES_CLAYDOL] = {gMonPalette_Claydol, SPECIES_CLAYDOL},
+ [SPECIES_NOSEPASS] = {gMonPalette_Nosepass, SPECIES_NOSEPASS},
+ [SPECIES_TORKOAL] = {gMonPalette_Torkoal, SPECIES_TORKOAL},
+ [SPECIES_SABLEYE] = {gMonPalette_Sableye, SPECIES_SABLEYE},
+ [SPECIES_BARBOACH] = {gMonPalette_Barboach, SPECIES_BARBOACH},
+ [SPECIES_WHISCASH] = {gMonPalette_Whiscash, SPECIES_WHISCASH},
+ [SPECIES_LUVDISC] = {gMonPalette_Luvdisc, SPECIES_LUVDISC},
+ [SPECIES_CORPHISH] = {gMonPalette_Corphish, SPECIES_CORPHISH},
+ [SPECIES_CRAWDAUNT] = {gMonPalette_Crawdaunt, SPECIES_CRAWDAUNT},
+ [SPECIES_FEEBAS] = {gMonPalette_Feebas, SPECIES_FEEBAS},
+ [SPECIES_MILOTIC] = {gMonPalette_Milotic, SPECIES_MILOTIC},
+ [SPECIES_CARVANHA] = {gMonPalette_Carvanha, SPECIES_CARVANHA},
+ [SPECIES_SHARPEDO] = {gMonPalette_Sharpedo, SPECIES_SHARPEDO},
+ [SPECIES_TRAPINCH] = {gMonPalette_Trapinch, SPECIES_TRAPINCH},
+ [SPECIES_VIBRAVA] = {gMonPalette_Vibrava, SPECIES_VIBRAVA},
+ [SPECIES_FLYGON] = {gMonPalette_Flygon, SPECIES_FLYGON},
+ [SPECIES_MAKUHITA] = {gMonPalette_Makuhita, SPECIES_MAKUHITA},
+ [SPECIES_HARIYAMA] = {gMonPalette_Hariyama, SPECIES_HARIYAMA},
+ [SPECIES_ELECTRIKE] = {gMonPalette_Electrike, SPECIES_ELECTRIKE},
+ [SPECIES_MANECTRIC] = {gMonPalette_Manectric, SPECIES_MANECTRIC},
+ [SPECIES_NUMEL] = {gMonPalette_Numel, SPECIES_NUMEL},
+ [SPECIES_CAMERUPT] = {gMonPalette_Camerupt, SPECIES_CAMERUPT},
+ [SPECIES_SPHEAL] = {gMonPalette_Spheal, SPECIES_SPHEAL},
+ [SPECIES_SEALEO] = {gMonPalette_Sealeo, SPECIES_SEALEO},
+ [SPECIES_WALREIN] = {gMonPalette_Walrein, SPECIES_WALREIN},
+ [SPECIES_CACNEA] = {gMonPalette_Cacnea, SPECIES_CACNEA},
+ [SPECIES_CACTURNE] = {gMonPalette_Cacturne, SPECIES_CACTURNE},
+ [SPECIES_SNORUNT] = {gMonPalette_Snorunt, SPECIES_SNORUNT},
+ [SPECIES_GLALIE] = {gMonPalette_Glalie, SPECIES_GLALIE},
+ [SPECIES_LUNATONE] = {gMonPalette_Lunatone, SPECIES_LUNATONE},
+ [SPECIES_SOLROCK] = {gMonPalette_Solrock, SPECIES_SOLROCK},
+ [SPECIES_AZURILL] = {gMonPalette_Azurill, SPECIES_AZURILL},
+ [SPECIES_SPOINK] = {gMonPalette_Spoink, SPECIES_SPOINK},
+ [SPECIES_GRUMPIG] = {gMonPalette_Grumpig, SPECIES_GRUMPIG},
+ [SPECIES_PLUSLE] = {gMonPalette_Plusle, SPECIES_PLUSLE},
+ [SPECIES_MINUN] = {gMonPalette_Minun, SPECIES_MINUN},
+ [SPECIES_MAWILE] = {gMonPalette_Mawile, SPECIES_MAWILE},
+ [SPECIES_MEDITITE] = {gMonPalette_Meditite, SPECIES_MEDITITE},
+ [SPECIES_MEDICHAM] = {gMonPalette_Medicham, SPECIES_MEDICHAM},
+ [SPECIES_SWABLU] = {gMonPalette_Swablu, SPECIES_SWABLU},
+ [SPECIES_ALTARIA] = {gMonPalette_Altaria, SPECIES_ALTARIA},
+ [SPECIES_WYNAUT] = {gMonPalette_Wynaut, SPECIES_WYNAUT},
+ [SPECIES_DUSKULL] = {gMonPalette_Duskull, SPECIES_DUSKULL},
+ [SPECIES_DUSCLOPS] = {gMonPalette_Dusclops, SPECIES_DUSCLOPS},
+ [SPECIES_ROSELIA] = {gMonPalette_Roselia, SPECIES_ROSELIA},
+ [SPECIES_SLAKOTH] = {gMonPalette_Slakoth, SPECIES_SLAKOTH},
+ [SPECIES_VIGOROTH] = {gMonPalette_Vigoroth, SPECIES_VIGOROTH},
+ [SPECIES_SLAKING] = {gMonPalette_Slaking, SPECIES_SLAKING},
+ [SPECIES_GULPIN] = {gMonPalette_Gulpin, SPECIES_GULPIN},
+ [SPECIES_SWALOT] = {gMonPalette_Swalot, SPECIES_SWALOT},
+ [SPECIES_TROPIUS] = {gMonPalette_Tropius, SPECIES_TROPIUS},
+ [SPECIES_WHISMUR] = {gMonPalette_Whismur, SPECIES_WHISMUR},
+ [SPECIES_LOUDRED] = {gMonPalette_Loudred, SPECIES_LOUDRED},
+ [SPECIES_EXPLOUD] = {gMonPalette_Exploud, SPECIES_EXPLOUD},
+ [SPECIES_CLAMPERL] = {gMonPalette_Clamperl, SPECIES_CLAMPERL},
+ [SPECIES_HUNTAIL] = {gMonPalette_Huntail, SPECIES_HUNTAIL},
+ [SPECIES_GOREBYSS] = {gMonPalette_Gorebyss, SPECIES_GOREBYSS},
+ [SPECIES_ABSOL] = {gMonPalette_Absol, SPECIES_ABSOL},
+ [SPECIES_SHUPPET] = {gMonPalette_Shuppet, SPECIES_SHUPPET},
+ [SPECIES_BANETTE] = {gMonPalette_Banette, SPECIES_BANETTE},
+ [SPECIES_SEVIPER] = {gMonPalette_Seviper, SPECIES_SEVIPER},
+ [SPECIES_ZANGOOSE] = {gMonPalette_Zangoose, SPECIES_ZANGOOSE},
+ [SPECIES_RELICANTH] = {gMonPalette_Relicanth, SPECIES_RELICANTH},
+ [SPECIES_ARON] = {gMonPalette_Aron, SPECIES_ARON},
+ [SPECIES_LAIRON] = {gMonPalette_Lairon, SPECIES_LAIRON},
+ [SPECIES_AGGRON] = {gMonPalette_Aggron, SPECIES_AGGRON},
+ [SPECIES_CASTFORM] = {gMonPalette_Castform, SPECIES_CASTFORM},
+ [SPECIES_VOLBEAT] = {gMonPalette_Volbeat, SPECIES_VOLBEAT},
+ [SPECIES_ILLUMISE] = {gMonPalette_Illumise, SPECIES_ILLUMISE},
+ [SPECIES_LILEEP] = {gMonPalette_Lileep, SPECIES_LILEEP},
+ [SPECIES_CRADILY] = {gMonPalette_Cradily, SPECIES_CRADILY},
+ [SPECIES_ANORITH] = {gMonPalette_Anorith, SPECIES_ANORITH},
+ [SPECIES_ARMALDO] = {gMonPalette_Armaldo, SPECIES_ARMALDO},
+ [SPECIES_RALTS] = {gMonPalette_Ralts, SPECIES_RALTS},
+ [SPECIES_KIRLIA] = {gMonPalette_Kirlia, SPECIES_KIRLIA},
+ [SPECIES_GARDEVOIR] = {gMonPalette_Gardevoir, SPECIES_GARDEVOIR},
+ [SPECIES_BAGON] = {gMonPalette_Bagon, SPECIES_BAGON},
+ [SPECIES_SHELGON] = {gMonPalette_Shelgon, SPECIES_SHELGON},
+ [SPECIES_SALAMENCE] = {gMonPalette_Salamence, SPECIES_SALAMENCE},
+ [SPECIES_BELDUM] = {gMonPalette_Beldum, SPECIES_BELDUM},
+ [SPECIES_METANG] = {gMonPalette_Metang, SPECIES_METANG},
+ [SPECIES_METAGROSS] = {gMonPalette_Metagross, SPECIES_METAGROSS},
+ [SPECIES_REGIROCK] = {gMonPalette_Regirock, SPECIES_REGIROCK},
+ [SPECIES_REGICE] = {gMonPalette_Regice, SPECIES_REGICE},
+ [SPECIES_REGISTEEL] = {gMonPalette_Registeel, SPECIES_REGISTEEL},
+ [SPECIES_KYOGRE] = {gMonPalette_Kyogre, SPECIES_KYOGRE},
+ [SPECIES_GROUDON] = {gMonPalette_Groudon, SPECIES_GROUDON},
+ [SPECIES_RAYQUAZA] = {gMonPalette_Rayquaza, SPECIES_RAYQUAZA},
+ [SPECIES_LATIAS] = {gMonPalette_Latias, SPECIES_LATIAS},
+ [SPECIES_LATIOS] = {gMonPalette_Latios, SPECIES_LATIOS},
+ [SPECIES_JIRACHI] = {gMonPalette_Jirachi, SPECIES_JIRACHI},
+ [SPECIES_DEOXYS] = {gMonPalette_Deoxys, SPECIES_DEOXYS},
+ [SPECIES_CHIMECHO] = {gMonPalette_Chimecho, SPECIES_CHIMECHO},
+ [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG},
+ [SPECIES_UNOWN_B] = {gMonPalette_Unown, SPECIES_UNOWN_B},
+ [SPECIES_UNOWN_C] = {gMonPalette_Unown, SPECIES_UNOWN_C},
+ [SPECIES_UNOWN_D] = {gMonPalette_Unown, SPECIES_UNOWN_D},
+ [SPECIES_UNOWN_E] = {gMonPalette_Unown, SPECIES_UNOWN_E},
+ [SPECIES_UNOWN_F] = {gMonPalette_Unown, SPECIES_UNOWN_F},
+ [SPECIES_UNOWN_G] = {gMonPalette_Unown, SPECIES_UNOWN_G},
+ [SPECIES_UNOWN_H] = {gMonPalette_Unown, SPECIES_UNOWN_H},
+ [SPECIES_UNOWN_I] = {gMonPalette_Unown, SPECIES_UNOWN_I},
+ [SPECIES_UNOWN_J] = {gMonPalette_Unown, SPECIES_UNOWN_J},
+ [SPECIES_UNOWN_K] = {gMonPalette_Unown, SPECIES_UNOWN_K},
+ [SPECIES_UNOWN_L] = {gMonPalette_Unown, SPECIES_UNOWN_L},
+ [SPECIES_UNOWN_M] = {gMonPalette_Unown, SPECIES_UNOWN_M},
+ [SPECIES_UNOWN_N] = {gMonPalette_Unown, SPECIES_UNOWN_N},
+ [SPECIES_UNOWN_O] = {gMonPalette_Unown, SPECIES_UNOWN_O},
+ [SPECIES_UNOWN_P] = {gMonPalette_Unown, SPECIES_UNOWN_P},
+ [SPECIES_UNOWN_Q] = {gMonPalette_Unown, SPECIES_UNOWN_Q},
+ [SPECIES_UNOWN_R] = {gMonPalette_Unown, SPECIES_UNOWN_R},
+ [SPECIES_UNOWN_S] = {gMonPalette_Unown, SPECIES_UNOWN_S},
+ [SPECIES_UNOWN_T] = {gMonPalette_Unown, SPECIES_UNOWN_T},
+ [SPECIES_UNOWN_U] = {gMonPalette_Unown, SPECIES_UNOWN_U},
+ [SPECIES_UNOWN_V] = {gMonPalette_Unown, SPECIES_UNOWN_V},
+ [SPECIES_UNOWN_W] = {gMonPalette_Unown, SPECIES_UNOWN_W},
+ [SPECIES_UNOWN_X] = {gMonPalette_Unown, SPECIES_UNOWN_X},
+ [SPECIES_UNOWN_Y] = {gMonPalette_Unown, SPECIES_UNOWN_Y},
+ [SPECIES_UNOWN_Z] = {gMonPalette_Unown, SPECIES_UNOWN_Z},
+ [SPECIES_UNOWN_EMARK] = {gMonPalette_Unown, SPECIES_UNOWN_EMARK},
+ [SPECIES_UNOWN_QMARK] = {gMonPalette_Unown, SPECIES_UNOWN_QMARK},
};
diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h
index 91708fafa..0c3f990cf 100644
--- a/src/data/pokemon_graphics/shiny_palette_table.h
+++ b/src/data/pokemon_graphics/shiny_palette_table.h
@@ -1,443 +1,443 @@
const struct CompressedSpritePalette gMonShinyPaletteTable[] =
{
- gMonShinyPalette_CircledQuestionMark, 500,
- gMonShinyPalette_Bulbasaur, 501,
- gMonShinyPalette_Ivysaur, 502,
- gMonShinyPalette_Venusaur, 503,
- gMonShinyPalette_Charmander, 504,
- gMonShinyPalette_Charmeleon, 505,
- gMonShinyPalette_Charizard, 506,
- gMonShinyPalette_Squirtle, 507,
- gMonShinyPalette_Wartortle, 508,
- gMonShinyPalette_Blastoise, 509,
- gMonShinyPalette_Caterpie, 510,
- gMonShinyPalette_Metapod, 511,
- gMonShinyPalette_Butterfree, 512,
- gMonShinyPalette_Weedle, 513,
- gMonShinyPalette_Kakuna, 514,
- gMonShinyPalette_Beedrill, 515,
- gMonShinyPalette_Pidgey, 516,
- gMonShinyPalette_Pidgeotto, 517,
- gMonShinyPalette_Pidgeot, 518,
- gMonShinyPalette_Rattata, 519,
- gMonShinyPalette_Raticate, 520,
- gMonShinyPalette_Spearow, 521,
- gMonShinyPalette_Fearow, 522,
- gMonShinyPalette_Ekans, 523,
- gMonShinyPalette_Arbok, 524,
- gMonShinyPalette_Pikachu, 525,
- gMonShinyPalette_Raichu, 526,
- gMonShinyPalette_Sandshrew, 527,
- gMonShinyPalette_Sandslash, 528,
- gMonShinyPalette_NidoranF, 529,
- gMonShinyPalette_Nidorina, 530,
- gMonShinyPalette_Nidoqueen, 531,
- gMonShinyPalette_NidoranM, 532,
- gMonShinyPalette_Nidorino, 533,
- gMonShinyPalette_Nidoking, 534,
- gMonShinyPalette_Clefairy, 535,
- gMonShinyPalette_Clefable, 536,
- gMonShinyPalette_Vulpix, 537,
- gMonShinyPalette_Ninetales, 538,
- gMonShinyPalette_Jigglypuff, 539,
- gMonShinyPalette_Wigglytuff, 540,
- gMonShinyPalette_Zubat, 541,
- gMonShinyPalette_Golbat, 542,
- gMonShinyPalette_Oddish, 543,
- gMonShinyPalette_Gloom, 544,
- gMonShinyPalette_Vileplume, 545,
- gMonShinyPalette_Paras, 546,
- gMonShinyPalette_Parasect, 547,
- gMonShinyPalette_Venonat, 548,
- gMonShinyPalette_Venomoth, 549,
- gMonShinyPalette_Diglett, 550,
- gMonShinyPalette_Dugtrio, 551,
- gMonShinyPalette_Meowth, 552,
- gMonShinyPalette_Persian, 553,
- gMonShinyPalette_Psyduck, 554,
- gMonShinyPalette_Golduck, 555,
- gMonShinyPalette_Mankey, 556,
- gMonShinyPalette_Primeape, 557,
- gMonShinyPalette_Growlithe, 558,
- gMonShinyPalette_Arcanine, 559,
- gMonShinyPalette_Poliwag, 560,
- gMonShinyPalette_Poliwhirl, 561,
- gMonShinyPalette_Poliwrath, 562,
- gMonShinyPalette_Abra, 563,
- gMonShinyPalette_Kadabra, 564,
- gMonShinyPalette_Alakazam, 565,
- gMonShinyPalette_Machop, 566,
- gMonShinyPalette_Machoke, 567,
- gMonShinyPalette_Machamp, 568,
- gMonShinyPalette_Bellsprout, 569,
- gMonShinyPalette_Weepinbell, 570,
- gMonShinyPalette_Victreebel, 571,
- gMonShinyPalette_Tentacool, 572,
- gMonShinyPalette_Tentacruel, 573,
- gMonShinyPalette_Geodude, 574,
- gMonShinyPalette_Graveler, 575,
- gMonShinyPalette_Golem, 576,
- gMonShinyPalette_Ponyta, 577,
- gMonShinyPalette_Rapidash, 578,
- gMonShinyPalette_Slowpoke, 579,
- gMonShinyPalette_Slowbro, 580,
- gMonShinyPalette_Magnemite, 581,
- gMonShinyPalette_Magneton, 582,
- gMonShinyPalette_Farfetchd, 583,
- gMonShinyPalette_Doduo, 584,
- gMonShinyPalette_Dodrio, 585,
- gMonShinyPalette_Seel, 586,
- gMonShinyPalette_Dewgong, 587,
- gMonShinyPalette_Grimer, 588,
- gMonShinyPalette_Muk, 589,
- gMonShinyPalette_Shellder, 590,
- gMonShinyPalette_Cloyster, 591,
- gMonShinyPalette_Gastly, 592,
- gMonShinyPalette_Haunter, 593,
- gMonShinyPalette_Gengar, 594,
- gMonShinyPalette_Onix, 595,
- gMonShinyPalette_Drowzee, 596,
- gMonShinyPalette_Hypno, 597,
- gMonShinyPalette_Krabby, 598,
- gMonShinyPalette_Kingler, 599,
- gMonShinyPalette_Voltorb, 600,
- gMonShinyPalette_Electrode, 601,
- gMonShinyPalette_Exeggcute, 602,
- gMonShinyPalette_Exeggutor, 603,
- gMonShinyPalette_Cubone, 604,
- gMonShinyPalette_Marowak, 605,
- gMonShinyPalette_Hitmonlee, 606,
- gMonShinyPalette_Hitmonchan, 607,
- gMonShinyPalette_Lickitung, 608,
- gMonShinyPalette_Koffing, 609,
- gMonShinyPalette_Weezing, 610,
- gMonShinyPalette_Rhyhorn, 611,
- gMonShinyPalette_Rhydon, 612,
- gMonShinyPalette_Chansey, 613,
- gMonShinyPalette_Tangela, 614,
- gMonShinyPalette_Kangaskhan, 615,
- gMonShinyPalette_Horsea, 616,
- gMonShinyPalette_Seadra, 617,
- gMonShinyPalette_Goldeen, 618,
- gMonShinyPalette_Seaking, 619,
- gMonShinyPalette_Staryu, 620,
- gMonShinyPalette_Starmie, 621,
- gMonShinyPalette_Mrmime, 622,
- gMonShinyPalette_Scyther, 623,
- gMonShinyPalette_Jynx, 624,
- gMonShinyPalette_Electabuzz, 625,
- gMonShinyPalette_Magmar, 626,
- gMonShinyPalette_Pinsir, 627,
- gMonShinyPalette_Tauros, 628,
- gMonShinyPalette_Magikarp, 629,
- gMonShinyPalette_Gyarados, 630,
- gMonShinyPalette_Lapras, 631,
- gMonShinyPalette_Ditto, 632,
- gMonShinyPalette_Eevee, 633,
- gMonShinyPalette_Vaporeon, 634,
- gMonShinyPalette_Jolteon, 635,
- gMonShinyPalette_Flareon, 636,
- gMonShinyPalette_Porygon, 637,
- gMonShinyPalette_Omanyte, 638,
- gMonShinyPalette_Omastar, 639,
- gMonShinyPalette_Kabuto, 640,
- gMonShinyPalette_Kabutops, 641,
- gMonShinyPalette_Aerodactyl, 642,
- gMonShinyPalette_Snorlax, 643,
- gMonShinyPalette_Articuno, 644,
- gMonShinyPalette_Zapdos, 645,
- gMonShinyPalette_Moltres, 646,
- gMonShinyPalette_Dratini, 647,
- gMonShinyPalette_Dragonair, 648,
- gMonShinyPalette_Dragonite, 649,
- gMonShinyPalette_Mewtwo, 650,
- gMonShinyPalette_Mew, 651,
- gMonShinyPalette_Chikorita, 652,
- gMonShinyPalette_Bayleef, 653,
- gMonShinyPalette_Meganium, 654,
- gMonShinyPalette_Cyndaquil, 655,
- gMonShinyPalette_Quilava, 656,
- gMonShinyPalette_Typhlosion, 657,
- gMonShinyPalette_Totodile, 658,
- gMonShinyPalette_Croconaw, 659,
- gMonShinyPalette_Feraligatr, 660,
- gMonShinyPalette_Sentret, 661,
- gMonShinyPalette_Furret, 662,
- gMonShinyPalette_Hoothoot, 663,
- gMonShinyPalette_Noctowl, 664,
- gMonShinyPalette_Ledyba, 665,
- gMonShinyPalette_Ledian, 666,
- gMonShinyPalette_Spinarak, 667,
- gMonShinyPalette_Ariados, 668,
- gMonShinyPalette_Crobat, 669,
- gMonShinyPalette_Chinchou, 670,
- gMonShinyPalette_Lanturn, 671,
- gMonShinyPalette_Pichu, 672,
- gMonShinyPalette_Cleffa, 673,
- gMonShinyPalette_Igglybuff, 674,
- gMonShinyPalette_Togepi, 675,
- gMonShinyPalette_Togetic, 676,
- gMonShinyPalette_Natu, 677,
- gMonShinyPalette_Xatu, 678,
- gMonShinyPalette_Mareep, 679,
- gMonShinyPalette_Flaaffy, 680,
- gMonShinyPalette_Ampharos, 681,
- gMonShinyPalette_Bellossom, 682,
- gMonShinyPalette_Marill, 683,
- gMonShinyPalette_Azumarill, 684,
- gMonShinyPalette_Sudowoodo, 685,
- gMonShinyPalette_Politoed, 686,
- gMonShinyPalette_Hoppip, 687,
- gMonShinyPalette_Skiploom, 688,
- gMonShinyPalette_Jumpluff, 689,
- gMonShinyPalette_Aipom, 690,
- gMonShinyPalette_Sunkern, 691,
- gMonShinyPalette_Sunflora, 692,
- gMonShinyPalette_Yanma, 693,
- gMonShinyPalette_Wooper, 694,
- gMonShinyPalette_Quagsire, 695,
- gMonShinyPalette_Espeon, 696,
- gMonShinyPalette_Umbreon, 697,
- gMonShinyPalette_Murkrow, 698,
- gMonShinyPalette_Slowking, 699,
- gMonShinyPalette_Misdreavus, 700,
- gMonShinyPalette_Unown, 701,
- gMonShinyPalette_Wobbuffet, 702,
- gMonShinyPalette_Girafarig, 703,
- gMonShinyPalette_Pineco, 704,
- gMonShinyPalette_Forretress, 705,
- gMonShinyPalette_Dunsparce, 706,
- gMonShinyPalette_Gligar, 707,
- gMonShinyPalette_Steelix, 708,
- gMonShinyPalette_Snubbull, 709,
- gMonShinyPalette_Granbull, 710,
- gMonShinyPalette_Qwilfish, 711,
- gMonShinyPalette_Scizor, 712,
- gMonShinyPalette_Shuckle, 713,
- gMonShinyPalette_Heracross, 714,
- gMonShinyPalette_Sneasel, 715,
- gMonShinyPalette_Teddiursa, 716,
- gMonShinyPalette_Ursaring, 717,
- gMonShinyPalette_Slugma, 718,
- gMonShinyPalette_Magcargo, 719,
- gMonShinyPalette_Swinub, 720,
- gMonShinyPalette_Piloswine, 721,
- gMonShinyPalette_Corsola, 722,
- gMonShinyPalette_Remoraid, 723,
- gMonShinyPalette_Octillery, 724,
- gMonShinyPalette_Delibird, 725,
- gMonShinyPalette_Mantine, 726,
- gMonShinyPalette_Skarmory, 727,
- gMonShinyPalette_Houndour, 728,
- gMonShinyPalette_Houndoom, 729,
- gMonShinyPalette_Kingdra, 730,
- gMonShinyPalette_Phanpy, 731,
- gMonShinyPalette_Donphan, 732,
- gMonShinyPalette_Porygon2, 733,
- gMonShinyPalette_Stantler, 734,
- gMonShinyPalette_Smeargle, 735,
- gMonShinyPalette_Tyrogue, 736,
- gMonShinyPalette_Hitmontop, 737,
- gMonShinyPalette_Smoochum, 738,
- gMonShinyPalette_Elekid, 739,
- gMonShinyPalette_Magby, 740,
- gMonShinyPalette_Miltank, 741,
- gMonShinyPalette_Blissey, 742,
- gMonShinyPalette_Raikou, 743,
- gMonShinyPalette_Entei, 744,
- gMonShinyPalette_Suicune, 745,
- gMonShinyPalette_Larvitar, 746,
- gMonShinyPalette_Pupitar, 747,
- gMonShinyPalette_Tyranitar, 748,
- gMonShinyPalette_Lugia, 749,
- gMonShinyPalette_HoOh, 750,
- gMonShinyPalette_Celebi, 751,
- gMonShinyPalette_DoubleQuestionMark, 752,
- gMonShinyPalette_DoubleQuestionMark, 753,
- gMonShinyPalette_DoubleQuestionMark, 754,
- gMonShinyPalette_DoubleQuestionMark, 755,
- gMonShinyPalette_DoubleQuestionMark, 756,
- gMonShinyPalette_DoubleQuestionMark, 757,
- gMonShinyPalette_DoubleQuestionMark, 758,
- gMonShinyPalette_DoubleQuestionMark, 759,
- gMonShinyPalette_DoubleQuestionMark, 760,
- gMonShinyPalette_DoubleQuestionMark, 761,
- gMonShinyPalette_DoubleQuestionMark, 762,
- gMonShinyPalette_DoubleQuestionMark, 763,
- gMonShinyPalette_DoubleQuestionMark, 764,
- gMonShinyPalette_DoubleQuestionMark, 765,
- gMonShinyPalette_DoubleQuestionMark, 766,
- gMonShinyPalette_DoubleQuestionMark, 767,
- gMonShinyPalette_DoubleQuestionMark, 768,
- gMonShinyPalette_DoubleQuestionMark, 769,
- gMonShinyPalette_DoubleQuestionMark, 770,
- gMonShinyPalette_DoubleQuestionMark, 771,
- gMonShinyPalette_DoubleQuestionMark, 772,
- gMonShinyPalette_DoubleQuestionMark, 773,
- gMonShinyPalette_DoubleQuestionMark, 774,
- gMonShinyPalette_DoubleQuestionMark, 775,
- gMonShinyPalette_DoubleQuestionMark, 776,
- gMonShinyPalette_Treecko, 777,
- gMonShinyPalette_Grovyle, 778,
- gMonShinyPalette_Sceptile, 779,
- gMonShinyPalette_Torchic, 780,
- gMonShinyPalette_Combusken, 781,
- gMonShinyPalette_Blaziken, 782,
- gMonShinyPalette_Mudkip, 783,
- gMonShinyPalette_Marshtomp, 784,
- gMonShinyPalette_Swampert, 785,
- gMonShinyPalette_Poochyena, 786,
- gMonShinyPalette_Mightyena, 787,
- gMonShinyPalette_Zigzagoon, 788,
- gMonShinyPalette_Linoone, 789,
- gMonShinyPalette_Wurmple, 790,
- gMonShinyPalette_Silcoon, 791,
- gMonShinyPalette_Beautifly, 792,
- gMonShinyPalette_Cascoon, 793,
- gMonShinyPalette_Dustox, 794,
- gMonShinyPalette_Lotad, 795,
- gMonShinyPalette_Lombre, 796,
- gMonShinyPalette_Ludicolo, 797,
- gMonShinyPalette_Seedot, 798,
- gMonShinyPalette_Nuzleaf, 799,
- gMonShinyPalette_Shiftry, 800,
- gMonShinyPalette_Nincada, 801,
- gMonShinyPalette_Ninjask, 802,
- gMonShinyPalette_Shedinja, 803,
- gMonShinyPalette_Taillow, 804,
- gMonShinyPalette_Swellow, 805,
- gMonShinyPalette_Shroomish, 806,
- gMonShinyPalette_Breloom, 807,
- gMonShinyPalette_Spinda, 808,
- gMonShinyPalette_Wingull, 809,
- gMonShinyPalette_Pelipper, 810,
- gMonShinyPalette_Surskit, 811,
- gMonShinyPalette_Masquerain, 812,
- gMonShinyPalette_Wailmer, 813,
- gMonShinyPalette_Wailord, 814,
- gMonShinyPalette_Skitty, 815,
- gMonShinyPalette_Delcatty, 816,
- gMonShinyPalette_Kecleon, 817,
- gMonShinyPalette_Baltoy, 818,
- gMonShinyPalette_Claydol, 819,
- gMonShinyPalette_Nosepass, 820,
- gMonShinyPalette_Torkoal, 821,
- gMonShinyPalette_Sableye, 822,
- gMonShinyPalette_Barboach, 823,
- gMonShinyPalette_Whiscash, 824,
- gMonShinyPalette_Luvdisc, 825,
- gMonShinyPalette_Corphish, 826,
- gMonShinyPalette_Crawdaunt, 827,
- gMonShinyPalette_Feebas, 828,
- gMonShinyPalette_Milotic, 829,
- gMonShinyPalette_Carvanha, 830,
- gMonShinyPalette_Sharpedo, 831,
- gMonShinyPalette_Trapinch, 832,
- gMonShinyPalette_Vibrava, 833,
- gMonShinyPalette_Flygon, 834,
- gMonShinyPalette_Makuhita, 835,
- gMonShinyPalette_Hariyama, 836,
- gMonShinyPalette_Electrike, 837,
- gMonShinyPalette_Manectric, 838,
- gMonShinyPalette_Numel, 839,
- gMonShinyPalette_Camerupt, 840,
- gMonShinyPalette_Spheal, 841,
- gMonShinyPalette_Sealeo, 842,
- gMonShinyPalette_Walrein, 843,
- gMonShinyPalette_Cacnea, 844,
- gMonShinyPalette_Cacturne, 845,
- gMonShinyPalette_Snorunt, 846,
- gMonShinyPalette_Glalie, 847,
- gMonShinyPalette_Lunatone, 848,
- gMonShinyPalette_Solrock, 849,
- gMonShinyPalette_Azurill, 850,
- gMonShinyPalette_Spoink, 851,
- gMonShinyPalette_Grumpig, 852,
- gMonShinyPalette_Plusle, 853,
- gMonShinyPalette_Minun, 854,
- gMonShinyPalette_Mawile, 855,
- gMonShinyPalette_Meditite, 856,
- gMonShinyPalette_Medicham, 857,
- gMonShinyPalette_Swablu, 858,
- gMonShinyPalette_Altaria, 859,
- gMonShinyPalette_Wynaut, 860,
- gMonShinyPalette_Duskull, 861,
- gMonShinyPalette_Dusclops, 862,
- gMonShinyPalette_Roselia, 863,
- gMonShinyPalette_Slakoth, 864,
- gMonShinyPalette_Vigoroth, 865,
- gMonShinyPalette_Slaking, 866,
- gMonShinyPalette_Gulpin, 867,
- gMonShinyPalette_Swalot, 868,
- gMonShinyPalette_Tropius, 869,
- gMonShinyPalette_Whismur, 870,
- gMonShinyPalette_Loudred, 871,
- gMonShinyPalette_Exploud, 872,
- gMonShinyPalette_Clamperl, 873,
- gMonShinyPalette_Huntail, 874,
- gMonShinyPalette_Gorebyss, 875,
- gMonShinyPalette_Absol, 876,
- gMonShinyPalette_Shuppet, 877,
- gMonShinyPalette_Banette, 878,
- gMonShinyPalette_Seviper, 879,
- gMonShinyPalette_Zangoose, 880,
- gMonShinyPalette_Relicanth, 881,
- gMonShinyPalette_Aron, 882,
- gMonShinyPalette_Lairon, 883,
- gMonShinyPalette_Aggron, 884,
- gMonShinyPalette_Castform, 885,
- gMonShinyPalette_Volbeat, 886,
- gMonShinyPalette_Illumise, 887,
- gMonShinyPalette_Lileep, 888,
- gMonShinyPalette_Cradily, 889,
- gMonShinyPalette_Anorith, 890,
- gMonShinyPalette_Armaldo, 891,
- gMonShinyPalette_Ralts, 892,
- gMonShinyPalette_Kirlia, 893,
- gMonShinyPalette_Gardevoir, 894,
- gMonShinyPalette_Bagon, 895,
- gMonShinyPalette_Shelgon, 896,
- gMonShinyPalette_Salamence, 897,
- gMonShinyPalette_Beldum, 898,
- gMonShinyPalette_Metang, 899,
- gMonShinyPalette_Metagross, 900,
- gMonShinyPalette_Regirock, 901,
- gMonShinyPalette_Regice, 902,
- gMonShinyPalette_Registeel, 903,
- gMonShinyPalette_Kyogre, 904,
- gMonShinyPalette_Groudon, 905,
- gMonShinyPalette_Rayquaza, 906,
- gMonShinyPalette_Latias, 907,
- gMonShinyPalette_Latios, 908,
- gMonShinyPalette_Jirachi, 909,
- gMonShinyPalette_Deoxys, 910,
- gMonShinyPalette_Chimecho, 911,
- gMonPalette_Egg, 912,
- gMonShinyPalette_Unown, 913,
- gMonShinyPalette_Unown, 914,
- gMonShinyPalette_Unown, 915,
- gMonShinyPalette_Unown, 916,
- gMonShinyPalette_Unown, 917,
- gMonShinyPalette_Unown, 918,
- gMonShinyPalette_Unown, 919,
- gMonShinyPalette_Unown, 920,
- gMonShinyPalette_Unown, 921,
- gMonShinyPalette_Unown, 922,
- gMonShinyPalette_Unown, 923,
- gMonShinyPalette_Unown, 924,
- gMonShinyPalette_Unown, 925,
- gMonShinyPalette_Unown, 926,
- gMonShinyPalette_Unown, 927,
- gMonShinyPalette_Unown, 928,
- gMonShinyPalette_Unown, 929,
- gMonShinyPalette_Unown, 930,
- gMonShinyPalette_Unown, 931,
- gMonShinyPalette_Unown, 932,
- gMonShinyPalette_Unown, 933,
- gMonShinyPalette_Unown, 934,
- gMonShinyPalette_Unown, 935,
- gMonShinyPalette_Unown, 936,
- gMonShinyPalette_Unown, 937,
- gMonShinyPalette_Unown, 938,
- gMonShinyPalette_Unown, 939,
+ [SPECIES_NONE] = {gMonShinyPalette_CircledQuestionMark, SPECIES_NONE + 500},
+ [SPECIES_BULBASAUR] = {gMonShinyPalette_Bulbasaur, SPECIES_BULBASAUR + 500},
+ [SPECIES_IVYSAUR] = {gMonShinyPalette_Ivysaur, SPECIES_IVYSAUR + 500},
+ [SPECIES_VENUSAUR] = {gMonShinyPalette_Venusaur, SPECIES_VENUSAUR + 500},
+ [SPECIES_CHARMANDER] = {gMonShinyPalette_Charmander, SPECIES_CHARMANDER + 500},
+ [SPECIES_CHARMELEON] = {gMonShinyPalette_Charmeleon, SPECIES_CHARMELEON + 500},
+ [SPECIES_CHARIZARD] = {gMonShinyPalette_Charizard, SPECIES_CHARIZARD + 500},
+ [SPECIES_SQUIRTLE] = {gMonShinyPalette_Squirtle, SPECIES_SQUIRTLE + 500},
+ [SPECIES_WARTORTLE] = {gMonShinyPalette_Wartortle, SPECIES_WARTORTLE + 500},
+ [SPECIES_BLASTOISE] = {gMonShinyPalette_Blastoise, SPECIES_BLASTOISE + 500},
+ [SPECIES_CATERPIE] = {gMonShinyPalette_Caterpie, SPECIES_CATERPIE + 500},
+ [SPECIES_METAPOD] = {gMonShinyPalette_Metapod, SPECIES_METAPOD + 500},
+ [SPECIES_BUTTERFREE] = {gMonShinyPalette_Butterfree, SPECIES_BUTTERFREE + 500},
+ [SPECIES_WEEDLE] = {gMonShinyPalette_Weedle, SPECIES_WEEDLE + 500},
+ [SPECIES_KAKUNA] = {gMonShinyPalette_Kakuna, SPECIES_KAKUNA + 500},
+ [SPECIES_BEEDRILL] = {gMonShinyPalette_Beedrill, SPECIES_BEEDRILL + 500},
+ [SPECIES_PIDGEY] = {gMonShinyPalette_Pidgey, SPECIES_PIDGEY + 500},
+ [SPECIES_PIDGEOTTO] = {gMonShinyPalette_Pidgeotto, SPECIES_PIDGEOTTO + 500},
+ [SPECIES_PIDGEOT] = {gMonShinyPalette_Pidgeot, SPECIES_PIDGEOT + 500},
+ [SPECIES_RATTATA] = {gMonShinyPalette_Rattata, SPECIES_RATTATA + 500},
+ [SPECIES_RATICATE] = {gMonShinyPalette_Raticate, SPECIES_RATICATE + 500},
+ [SPECIES_SPEAROW] = {gMonShinyPalette_Spearow, SPECIES_SPEAROW + 500},
+ [SPECIES_FEAROW] = {gMonShinyPalette_Fearow, SPECIES_FEAROW + 500},
+ [SPECIES_EKANS] = {gMonShinyPalette_Ekans, SPECIES_EKANS + 500},
+ [SPECIES_ARBOK] = {gMonShinyPalette_Arbok, SPECIES_ARBOK + 500},
+ [SPECIES_PIKACHU] = {gMonShinyPalette_Pikachu, SPECIES_PIKACHU + 500},
+ [SPECIES_RAICHU] = {gMonShinyPalette_Raichu, SPECIES_RAICHU + 500},
+ [SPECIES_SANDSHREW] = {gMonShinyPalette_Sandshrew, SPECIES_SANDSHREW + 500},
+ [SPECIES_SANDSLASH] = {gMonShinyPalette_Sandslash, SPECIES_SANDSLASH + 500},
+ [SPECIES_NIDORAN_F] = {gMonShinyPalette_NidoranF, SPECIES_NIDORAN_F + 500},
+ [SPECIES_NIDORINA] = {gMonShinyPalette_Nidorina, SPECIES_NIDORINA + 500},
+ [SPECIES_NIDOQUEEN] = {gMonShinyPalette_Nidoqueen, SPECIES_NIDOQUEEN + 500},
+ [SPECIES_NIDORAN_M] = {gMonShinyPalette_NidoranM, SPECIES_NIDORAN_M + 500},
+ [SPECIES_NIDORINO] = {gMonShinyPalette_Nidorino, SPECIES_NIDORINO + 500},
+ [SPECIES_NIDOKING] = {gMonShinyPalette_Nidoking, SPECIES_NIDOKING + 500},
+ [SPECIES_CLEFAIRY] = {gMonShinyPalette_Clefairy, SPECIES_CLEFAIRY + 500},
+ [SPECIES_CLEFABLE] = {gMonShinyPalette_Clefable, SPECIES_CLEFABLE + 500},
+ [SPECIES_VULPIX] = {gMonShinyPalette_Vulpix, SPECIES_VULPIX + 500},
+ [SPECIES_NINETALES] = {gMonShinyPalette_Ninetales, SPECIES_NINETALES + 500},
+ [SPECIES_JIGGLYPUFF] = {gMonShinyPalette_Jigglypuff, SPECIES_JIGGLYPUFF + 500},
+ [SPECIES_WIGGLYTUFF] = {gMonShinyPalette_Wigglytuff, SPECIES_WIGGLYTUFF + 500},
+ [SPECIES_ZUBAT] = {gMonShinyPalette_Zubat, SPECIES_ZUBAT + 500},
+ [SPECIES_GOLBAT] = {gMonShinyPalette_Golbat, SPECIES_GOLBAT + 500},
+ [SPECIES_ODDISH] = {gMonShinyPalette_Oddish, SPECIES_ODDISH + 500},
+ [SPECIES_GLOOM] = {gMonShinyPalette_Gloom, SPECIES_GLOOM + 500},
+ [SPECIES_VILEPLUME] = {gMonShinyPalette_Vileplume, SPECIES_VILEPLUME + 500},
+ [SPECIES_PARAS] = {gMonShinyPalette_Paras, SPECIES_PARAS + 500},
+ [SPECIES_PARASECT] = {gMonShinyPalette_Parasect, SPECIES_PARASECT + 500},
+ [SPECIES_VENONAT] = {gMonShinyPalette_Venonat, SPECIES_VENONAT + 500},
+ [SPECIES_VENOMOTH] = {gMonShinyPalette_Venomoth, SPECIES_VENOMOTH + 500},
+ [SPECIES_DIGLETT] = {gMonShinyPalette_Diglett, SPECIES_DIGLETT + 500},
+ [SPECIES_DUGTRIO] = {gMonShinyPalette_Dugtrio, SPECIES_DUGTRIO + 500},
+ [SPECIES_MEOWTH] = {gMonShinyPalette_Meowth, SPECIES_MEOWTH + 500},
+ [SPECIES_PERSIAN] = {gMonShinyPalette_Persian, SPECIES_PERSIAN + 500},
+ [SPECIES_PSYDUCK] = {gMonShinyPalette_Psyduck, SPECIES_PSYDUCK + 500},
+ [SPECIES_GOLDUCK] = {gMonShinyPalette_Golduck, SPECIES_GOLDUCK + 500},
+ [SPECIES_MANKEY] = {gMonShinyPalette_Mankey, SPECIES_MANKEY + 500},
+ [SPECIES_PRIMEAPE] = {gMonShinyPalette_Primeape, SPECIES_PRIMEAPE + 500},
+ [SPECIES_GROWLITHE] = {gMonShinyPalette_Growlithe, SPECIES_GROWLITHE + 500},
+ [SPECIES_ARCANINE] = {gMonShinyPalette_Arcanine, SPECIES_ARCANINE + 500},
+ [SPECIES_POLIWAG] = {gMonShinyPalette_Poliwag, SPECIES_POLIWAG + 500},
+ [SPECIES_POLIWHIRL] = {gMonShinyPalette_Poliwhirl, SPECIES_POLIWHIRL + 500},
+ [SPECIES_POLIWRATH] = {gMonShinyPalette_Poliwrath, SPECIES_POLIWRATH + 500},
+ [SPECIES_ABRA] = {gMonShinyPalette_Abra, SPECIES_ABRA + 500},
+ [SPECIES_KADABRA] = {gMonShinyPalette_Kadabra, SPECIES_KADABRA + 500},
+ [SPECIES_ALAKAZAM] = {gMonShinyPalette_Alakazam, SPECIES_ALAKAZAM + 500},
+ [SPECIES_MACHOP] = {gMonShinyPalette_Machop, SPECIES_MACHOP + 500},
+ [SPECIES_MACHOKE] = {gMonShinyPalette_Machoke, SPECIES_MACHOKE + 500},
+ [SPECIES_MACHAMP] = {gMonShinyPalette_Machamp, SPECIES_MACHAMP + 500},
+ [SPECIES_BELLSPROUT] = {gMonShinyPalette_Bellsprout, SPECIES_BELLSPROUT + 500},
+ [SPECIES_WEEPINBELL] = {gMonShinyPalette_Weepinbell, SPECIES_WEEPINBELL + 500},
+ [SPECIES_VICTREEBEL] = {gMonShinyPalette_Victreebel, SPECIES_VICTREEBEL + 500},
+ [SPECIES_TENTACOOL] = {gMonShinyPalette_Tentacool, SPECIES_TENTACOOL + 500},
+ [SPECIES_TENTACRUEL] = {gMonShinyPalette_Tentacruel, SPECIES_TENTACRUEL + 500},
+ [SPECIES_GEODUDE] = {gMonShinyPalette_Geodude, SPECIES_GEODUDE + 500},
+ [SPECIES_GRAVELER] = {gMonShinyPalette_Graveler, SPECIES_GRAVELER + 500},
+ [SPECIES_GOLEM] = {gMonShinyPalette_Golem, SPECIES_GOLEM + 500},
+ [SPECIES_PONYTA] = {gMonShinyPalette_Ponyta, SPECIES_PONYTA + 500},
+ [SPECIES_RAPIDASH] = {gMonShinyPalette_Rapidash, SPECIES_RAPIDASH + 500},
+ [SPECIES_SLOWPOKE] = {gMonShinyPalette_Slowpoke, SPECIES_SLOWPOKE + 500},
+ [SPECIES_SLOWBRO] = {gMonShinyPalette_Slowbro, SPECIES_SLOWBRO + 500},
+ [SPECIES_MAGNEMITE] = {gMonShinyPalette_Magnemite, SPECIES_MAGNEMITE + 500},
+ [SPECIES_MAGNETON] = {gMonShinyPalette_Magneton, SPECIES_MAGNETON + 500},
+ [SPECIES_FARFETCHD] = {gMonShinyPalette_Farfetchd, SPECIES_FARFETCHD + 500},
+ [SPECIES_DODUO] = {gMonShinyPalette_Doduo, SPECIES_DODUO + 500},
+ [SPECIES_DODRIO] = {gMonShinyPalette_Dodrio, SPECIES_DODRIO + 500},
+ [SPECIES_SEEL] = {gMonShinyPalette_Seel, SPECIES_SEEL + 500},
+ [SPECIES_DEWGONG] = {gMonShinyPalette_Dewgong, SPECIES_DEWGONG + 500},
+ [SPECIES_GRIMER] = {gMonShinyPalette_Grimer, SPECIES_GRIMER + 500},
+ [SPECIES_MUK] = {gMonShinyPalette_Muk, SPECIES_MUK + 500},
+ [SPECIES_SHELLDER] = {gMonShinyPalette_Shellder, SPECIES_SHELLDER + 500},
+ [SPECIES_CLOYSTER] = {gMonShinyPalette_Cloyster, SPECIES_CLOYSTER + 500},
+ [SPECIES_GASTLY] = {gMonShinyPalette_Gastly, SPECIES_GASTLY + 500},
+ [SPECIES_HAUNTER] = {gMonShinyPalette_Haunter, SPECIES_HAUNTER + 500},
+ [SPECIES_GENGAR] = {gMonShinyPalette_Gengar, SPECIES_GENGAR + 500},
+ [SPECIES_ONIX] = {gMonShinyPalette_Onix, SPECIES_ONIX + 500},
+ [SPECIES_DROWZEE] = {gMonShinyPalette_Drowzee, SPECIES_DROWZEE + 500},
+ [SPECIES_HYPNO] = {gMonShinyPalette_Hypno, SPECIES_HYPNO + 500},
+ [SPECIES_KRABBY] = {gMonShinyPalette_Krabby, SPECIES_KRABBY + 500},
+ [SPECIES_KINGLER] = {gMonShinyPalette_Kingler, SPECIES_KINGLER + 500},
+ [SPECIES_VOLTORB] = {gMonShinyPalette_Voltorb, SPECIES_VOLTORB + 500},
+ [SPECIES_ELECTRODE] = {gMonShinyPalette_Electrode, SPECIES_ELECTRODE + 500},
+ [SPECIES_EXEGGCUTE] = {gMonShinyPalette_Exeggcute, SPECIES_EXEGGCUTE + 500},
+ [SPECIES_EXEGGUTOR] = {gMonShinyPalette_Exeggutor, SPECIES_EXEGGUTOR + 500},
+ [SPECIES_CUBONE] = {gMonShinyPalette_Cubone, SPECIES_CUBONE + 500},
+ [SPECIES_MAROWAK] = {gMonShinyPalette_Marowak, SPECIES_MAROWAK + 500},
+ [SPECIES_HITMONLEE] = {gMonShinyPalette_Hitmonlee, SPECIES_HITMONLEE + 500},
+ [SPECIES_HITMONCHAN] = {gMonShinyPalette_Hitmonchan, SPECIES_HITMONCHAN + 500},
+ [SPECIES_LICKITUNG] = {gMonShinyPalette_Lickitung, SPECIES_LICKITUNG + 500},
+ [SPECIES_KOFFING] = {gMonShinyPalette_Koffing, SPECIES_KOFFING + 500},
+ [SPECIES_WEEZING] = {gMonShinyPalette_Weezing, SPECIES_WEEZING + 500},
+ [SPECIES_RHYHORN] = {gMonShinyPalette_Rhyhorn, SPECIES_RHYHORN + 500},
+ [SPECIES_RHYDON] = {gMonShinyPalette_Rhydon, SPECIES_RHYDON + 500},
+ [SPECIES_CHANSEY] = {gMonShinyPalette_Chansey, SPECIES_CHANSEY + 500},
+ [SPECIES_TANGELA] = {gMonShinyPalette_Tangela, SPECIES_TANGELA + 500},
+ [SPECIES_KANGASKHAN] = {gMonShinyPalette_Kangaskhan, SPECIES_KANGASKHAN + 500},
+ [SPECIES_HORSEA] = {gMonShinyPalette_Horsea, SPECIES_HORSEA + 500},
+ [SPECIES_SEADRA] = {gMonShinyPalette_Seadra, SPECIES_SEADRA + 500},
+ [SPECIES_GOLDEEN] = {gMonShinyPalette_Goldeen, SPECIES_GOLDEEN + 500},
+ [SPECIES_SEAKING] = {gMonShinyPalette_Seaking, SPECIES_SEAKING + 500},
+ [SPECIES_STARYU] = {gMonShinyPalette_Staryu, SPECIES_STARYU + 500},
+ [SPECIES_STARMIE] = {gMonShinyPalette_Starmie, SPECIES_STARMIE + 500},
+ [SPECIES_MR_MIME] = {gMonShinyPalette_Mrmime, SPECIES_MR_MIME + 500},
+ [SPECIES_SCYTHER] = {gMonShinyPalette_Scyther, SPECIES_SCYTHER + 500},
+ [SPECIES_JYNX] = {gMonShinyPalette_Jynx, SPECIES_JYNX + 500},
+ [SPECIES_ELECTABUZZ] = {gMonShinyPalette_Electabuzz, SPECIES_ELECTABUZZ + 500},
+ [SPECIES_MAGMAR] = {gMonShinyPalette_Magmar, SPECIES_MAGMAR + 500},
+ [SPECIES_PINSIR] = {gMonShinyPalette_Pinsir, SPECIES_PINSIR + 500},
+ [SPECIES_TAUROS] = {gMonShinyPalette_Tauros, SPECIES_TAUROS + 500},
+ [SPECIES_MAGIKARP] = {gMonShinyPalette_Magikarp, SPECIES_MAGIKARP + 500},
+ [SPECIES_GYARADOS] = {gMonShinyPalette_Gyarados, SPECIES_GYARADOS + 500},
+ [SPECIES_LAPRAS] = {gMonShinyPalette_Lapras, SPECIES_LAPRAS + 500},
+ [SPECIES_DITTO] = {gMonShinyPalette_Ditto, SPECIES_DITTO + 500},
+ [SPECIES_EEVEE] = {gMonShinyPalette_Eevee, SPECIES_EEVEE + 500},
+ [SPECIES_VAPOREON] = {gMonShinyPalette_Vaporeon, SPECIES_VAPOREON + 500},
+ [SPECIES_JOLTEON] = {gMonShinyPalette_Jolteon, SPECIES_JOLTEON + 500},
+ [SPECIES_FLAREON] = {gMonShinyPalette_Flareon, SPECIES_FLAREON + 500},
+ [SPECIES_PORYGON] = {gMonShinyPalette_Porygon, SPECIES_PORYGON + 500},
+ [SPECIES_OMANYTE] = {gMonShinyPalette_Omanyte, SPECIES_OMANYTE + 500},
+ [SPECIES_OMASTAR] = {gMonShinyPalette_Omastar, SPECIES_OMASTAR + 500},
+ [SPECIES_KABUTO] = {gMonShinyPalette_Kabuto, SPECIES_KABUTO + 500},
+ [SPECIES_KABUTOPS] = {gMonShinyPalette_Kabutops, SPECIES_KABUTOPS + 500},
+ [SPECIES_AERODACTYL] = {gMonShinyPalette_Aerodactyl, SPECIES_AERODACTYL + 500},
+ [SPECIES_SNORLAX] = {gMonShinyPalette_Snorlax, SPECIES_SNORLAX + 500},
+ [SPECIES_ARTICUNO] = {gMonShinyPalette_Articuno, SPECIES_ARTICUNO + 500},
+ [SPECIES_ZAPDOS] = {gMonShinyPalette_Zapdos, SPECIES_ZAPDOS + 500},
+ [SPECIES_MOLTRES] = {gMonShinyPalette_Moltres, SPECIES_MOLTRES + 500},
+ [SPECIES_DRATINI] = {gMonShinyPalette_Dratini, SPECIES_DRATINI + 500},
+ [SPECIES_DRAGONAIR] = {gMonShinyPalette_Dragonair, SPECIES_DRAGONAIR + 500},
+ [SPECIES_DRAGONITE] = {gMonShinyPalette_Dragonite, SPECIES_DRAGONITE + 500},
+ [SPECIES_MEWTWO] = {gMonShinyPalette_Mewtwo, SPECIES_MEWTWO + 500},
+ [SPECIES_MEW] = {gMonShinyPalette_Mew, SPECIES_MEW + 500},
+ [SPECIES_CHIKORITA] = {gMonShinyPalette_Chikorita, SPECIES_CHIKORITA + 500},
+ [SPECIES_BAYLEEF] = {gMonShinyPalette_Bayleef, SPECIES_BAYLEEF + 500},
+ [SPECIES_MEGANIUM] = {gMonShinyPalette_Meganium, SPECIES_MEGANIUM + 500},
+ [SPECIES_CYNDAQUIL] = {gMonShinyPalette_Cyndaquil, SPECIES_CYNDAQUIL + 500},
+ [SPECIES_QUILAVA] = {gMonShinyPalette_Quilava, SPECIES_QUILAVA + 500},
+ [SPECIES_TYPHLOSION] = {gMonShinyPalette_Typhlosion, SPECIES_TYPHLOSION + 500},
+ [SPECIES_TOTODILE] = {gMonShinyPalette_Totodile, SPECIES_TOTODILE + 500},
+ [SPECIES_CROCONAW] = {gMonShinyPalette_Croconaw, SPECIES_CROCONAW + 500},
+ [SPECIES_FERALIGATR] = {gMonShinyPalette_Feraligatr, SPECIES_FERALIGATR + 500},
+ [SPECIES_SENTRET] = {gMonShinyPalette_Sentret, SPECIES_SENTRET + 500},
+ [SPECIES_FURRET] = {gMonShinyPalette_Furret, SPECIES_FURRET + 500},
+ [SPECIES_HOOTHOOT] = {gMonShinyPalette_Hoothoot, SPECIES_HOOTHOOT + 500},
+ [SPECIES_NOCTOWL] = {gMonShinyPalette_Noctowl, SPECIES_NOCTOWL + 500},
+ [SPECIES_LEDYBA] = {gMonShinyPalette_Ledyba, SPECIES_LEDYBA + 500},
+ [SPECIES_LEDIAN] = {gMonShinyPalette_Ledian, SPECIES_LEDIAN + 500},
+ [SPECIES_SPINARAK] = {gMonShinyPalette_Spinarak, SPECIES_SPINARAK + 500},
+ [SPECIES_ARIADOS] = {gMonShinyPalette_Ariados, SPECIES_ARIADOS + 500},
+ [SPECIES_CROBAT] = {gMonShinyPalette_Crobat, SPECIES_CROBAT + 500},
+ [SPECIES_CHINCHOU] = {gMonShinyPalette_Chinchou, SPECIES_CHINCHOU + 500},
+ [SPECIES_LANTURN] = {gMonShinyPalette_Lanturn, SPECIES_LANTURN + 500},
+ [SPECIES_PICHU] = {gMonShinyPalette_Pichu, SPECIES_PICHU + 500},
+ [SPECIES_CLEFFA] = {gMonShinyPalette_Cleffa, SPECIES_CLEFFA + 500},
+ [SPECIES_IGGLYBUFF] = {gMonShinyPalette_Igglybuff, SPECIES_IGGLYBUFF + 500},
+ [SPECIES_TOGEPI] = {gMonShinyPalette_Togepi, SPECIES_TOGEPI + 500},
+ [SPECIES_TOGETIC] = {gMonShinyPalette_Togetic, SPECIES_TOGETIC + 500},
+ [SPECIES_NATU] = {gMonShinyPalette_Natu, SPECIES_NATU + 500},
+ [SPECIES_XATU] = {gMonShinyPalette_Xatu, SPECIES_XATU + 500},
+ [SPECIES_MAREEP] = {gMonShinyPalette_Mareep, SPECIES_MAREEP + 500},
+ [SPECIES_FLAAFFY] = {gMonShinyPalette_Flaaffy, SPECIES_FLAAFFY + 500},
+ [SPECIES_AMPHAROS] = {gMonShinyPalette_Ampharos, SPECIES_AMPHAROS + 500},
+ [SPECIES_BELLOSSOM] = {gMonShinyPalette_Bellossom, SPECIES_BELLOSSOM + 500},
+ [SPECIES_MARILL] = {gMonShinyPalette_Marill, SPECIES_MARILL + 500},
+ [SPECIES_AZUMARILL] = {gMonShinyPalette_Azumarill, SPECIES_AZUMARILL + 500},
+ [SPECIES_SUDOWOODO] = {gMonShinyPalette_Sudowoodo, SPECIES_SUDOWOODO + 500},
+ [SPECIES_POLITOED] = {gMonShinyPalette_Politoed, SPECIES_POLITOED + 500},
+ [SPECIES_HOPPIP] = {gMonShinyPalette_Hoppip, SPECIES_HOPPIP + 500},
+ [SPECIES_SKIPLOOM] = {gMonShinyPalette_Skiploom, SPECIES_SKIPLOOM + 500},
+ [SPECIES_JUMPLUFF] = {gMonShinyPalette_Jumpluff, SPECIES_JUMPLUFF + 500},
+ [SPECIES_AIPOM] = {gMonShinyPalette_Aipom, SPECIES_AIPOM + 500},
+ [SPECIES_SUNKERN] = {gMonShinyPalette_Sunkern, SPECIES_SUNKERN + 500},
+ [SPECIES_SUNFLORA] = {gMonShinyPalette_Sunflora, SPECIES_SUNFLORA + 500},
+ [SPECIES_YANMA] = {gMonShinyPalette_Yanma, SPECIES_YANMA + 500},
+ [SPECIES_WOOPER] = {gMonShinyPalette_Wooper, SPECIES_WOOPER + 500},
+ [SPECIES_QUAGSIRE] = {gMonShinyPalette_Quagsire, SPECIES_QUAGSIRE + 500},
+ [SPECIES_ESPEON] = {gMonShinyPalette_Espeon, SPECIES_ESPEON + 500},
+ [SPECIES_UMBREON] = {gMonShinyPalette_Umbreon, SPECIES_UMBREON + 500},
+ [SPECIES_MURKROW] = {gMonShinyPalette_Murkrow, SPECIES_MURKROW + 500},
+ [SPECIES_SLOWKING] = {gMonShinyPalette_Slowking, SPECIES_SLOWKING + 500},
+ [SPECIES_MISDREAVUS] = {gMonShinyPalette_Misdreavus, SPECIES_MISDREAVUS + 500},
+ [SPECIES_UNOWN] = {gMonShinyPalette_Unown, SPECIES_UNOWN + 500},
+ [SPECIES_WOBBUFFET] = {gMonShinyPalette_Wobbuffet, SPECIES_WOBBUFFET + 500},
+ [SPECIES_GIRAFARIG] = {gMonShinyPalette_Girafarig, SPECIES_GIRAFARIG + 500},
+ [SPECIES_PINECO] = {gMonShinyPalette_Pineco, SPECIES_PINECO + 500},
+ [SPECIES_FORRETRESS] = {gMonShinyPalette_Forretress, SPECIES_FORRETRESS + 500},
+ [SPECIES_DUNSPARCE] = {gMonShinyPalette_Dunsparce, SPECIES_DUNSPARCE + 500},
+ [SPECIES_GLIGAR] = {gMonShinyPalette_Gligar, SPECIES_GLIGAR + 500},
+ [SPECIES_STEELIX] = {gMonShinyPalette_Steelix, SPECIES_STEELIX + 500},
+ [SPECIES_SNUBBULL] = {gMonShinyPalette_Snubbull, SPECIES_SNUBBULL + 500},
+ [SPECIES_GRANBULL] = {gMonShinyPalette_Granbull, SPECIES_GRANBULL + 500},
+ [SPECIES_QWILFISH] = {gMonShinyPalette_Qwilfish, SPECIES_QWILFISH + 500},
+ [SPECIES_SCIZOR] = {gMonShinyPalette_Scizor, SPECIES_SCIZOR + 500},
+ [SPECIES_SHUCKLE] = {gMonShinyPalette_Shuckle, SPECIES_SHUCKLE + 500},
+ [SPECIES_HERACROSS] = {gMonShinyPalette_Heracross, SPECIES_HERACROSS + 500},
+ [SPECIES_SNEASEL] = {gMonShinyPalette_Sneasel, SPECIES_SNEASEL + 500},
+ [SPECIES_TEDDIURSA] = {gMonShinyPalette_Teddiursa, SPECIES_TEDDIURSA + 500},
+ [SPECIES_URSARING] = {gMonShinyPalette_Ursaring, SPECIES_URSARING + 500},
+ [SPECIES_SLUGMA] = {gMonShinyPalette_Slugma, SPECIES_SLUGMA + 500},
+ [SPECIES_MAGCARGO] = {gMonShinyPalette_Magcargo, SPECIES_MAGCARGO + 500},
+ [SPECIES_SWINUB] = {gMonShinyPalette_Swinub, SPECIES_SWINUB + 500},
+ [SPECIES_PILOSWINE] = {gMonShinyPalette_Piloswine, SPECIES_PILOSWINE + 500},
+ [SPECIES_CORSOLA] = {gMonShinyPalette_Corsola, SPECIES_CORSOLA + 500},
+ [SPECIES_REMORAID] = {gMonShinyPalette_Remoraid, SPECIES_REMORAID + 500},
+ [SPECIES_OCTILLERY] = {gMonShinyPalette_Octillery, SPECIES_OCTILLERY + 500},
+ [SPECIES_DELIBIRD] = {gMonShinyPalette_Delibird, SPECIES_DELIBIRD + 500},
+ [SPECIES_MANTINE] = {gMonShinyPalette_Mantine, SPECIES_MANTINE + 500},
+ [SPECIES_SKARMORY] = {gMonShinyPalette_Skarmory, SPECIES_SKARMORY + 500},
+ [SPECIES_HOUNDOUR] = {gMonShinyPalette_Houndour, SPECIES_HOUNDOUR + 500},
+ [SPECIES_HOUNDOOM] = {gMonShinyPalette_Houndoom, SPECIES_HOUNDOOM + 500},
+ [SPECIES_KINGDRA] = {gMonShinyPalette_Kingdra, SPECIES_KINGDRA + 500},
+ [SPECIES_PHANPY] = {gMonShinyPalette_Phanpy, SPECIES_PHANPY + 500},
+ [SPECIES_DONPHAN] = {gMonShinyPalette_Donphan, SPECIES_DONPHAN + 500},
+ [SPECIES_PORYGON2] = {gMonShinyPalette_Porygon2, SPECIES_PORYGON2 + 500},
+ [SPECIES_STANTLER] = {gMonShinyPalette_Stantler, SPECIES_STANTLER + 500},
+ [SPECIES_SMEARGLE] = {gMonShinyPalette_Smeargle, SPECIES_SMEARGLE + 500},
+ [SPECIES_TYROGUE] = {gMonShinyPalette_Tyrogue, SPECIES_TYROGUE + 500},
+ [SPECIES_HITMONTOP] = {gMonShinyPalette_Hitmontop, SPECIES_HITMONTOP + 500},
+ [SPECIES_SMOOCHUM] = {gMonShinyPalette_Smoochum, SPECIES_SMOOCHUM + 500},
+ [SPECIES_ELEKID] = {gMonShinyPalette_Elekid, SPECIES_ELEKID + 500},
+ [SPECIES_MAGBY] = {gMonShinyPalette_Magby, SPECIES_MAGBY + 500},
+ [SPECIES_MILTANK] = {gMonShinyPalette_Miltank, SPECIES_MILTANK + 500},
+ [SPECIES_BLISSEY] = {gMonShinyPalette_Blissey, SPECIES_BLISSEY + 500},
+ [SPECIES_RAIKOU] = {gMonShinyPalette_Raikou, SPECIES_RAIKOU + 500},
+ [SPECIES_ENTEI] = {gMonShinyPalette_Entei, SPECIES_ENTEI + 500},
+ [SPECIES_SUICUNE] = {gMonShinyPalette_Suicune, SPECIES_SUICUNE + 500},
+ [SPECIES_LARVITAR] = {gMonShinyPalette_Larvitar, SPECIES_LARVITAR + 500},
+ [SPECIES_PUPITAR] = {gMonShinyPalette_Pupitar, SPECIES_PUPITAR + 500},
+ [SPECIES_TYRANITAR] = {gMonShinyPalette_Tyranitar, SPECIES_TYRANITAR + 500},
+ [SPECIES_LUGIA] = {gMonShinyPalette_Lugia, SPECIES_LUGIA + 500},
+ [SPECIES_HO_OH] = {gMonShinyPalette_HoOh, SPECIES_HO_OH + 500},
+ [SPECIES_CELEBI] = {gMonShinyPalette_Celebi, SPECIES_CELEBI + 500},
+ [SPECIES_OLD_UNOWN_B] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_B + 500},
+ [SPECIES_OLD_UNOWN_C] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_C + 500},
+ [SPECIES_OLD_UNOWN_D] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_D + 500},
+ [SPECIES_OLD_UNOWN_E] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_E + 500},
+ [SPECIES_OLD_UNOWN_F] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_F + 500},
+ [SPECIES_OLD_UNOWN_G] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_G + 500},
+ [SPECIES_OLD_UNOWN_H] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_H + 500},
+ [SPECIES_OLD_UNOWN_I] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_I + 500},
+ [SPECIES_OLD_UNOWN_J] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_J + 500},
+ [SPECIES_OLD_UNOWN_K] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_K + 500},
+ [SPECIES_OLD_UNOWN_L] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_L + 500},
+ [SPECIES_OLD_UNOWN_M] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_M + 500},
+ [SPECIES_OLD_UNOWN_N] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_N + 500},
+ [SPECIES_OLD_UNOWN_O] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_O + 500},
+ [SPECIES_OLD_UNOWN_P] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_P + 500},
+ [SPECIES_OLD_UNOWN_Q] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Q + 500},
+ [SPECIES_OLD_UNOWN_R] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_R + 500},
+ [SPECIES_OLD_UNOWN_S] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_S + 500},
+ [SPECIES_OLD_UNOWN_T] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_T + 500},
+ [SPECIES_OLD_UNOWN_U] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_U + 500},
+ [SPECIES_OLD_UNOWN_V] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_V + 500},
+ [SPECIES_OLD_UNOWN_W] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_W + 500},
+ [SPECIES_OLD_UNOWN_X] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_X + 500},
+ [SPECIES_OLD_UNOWN_Y] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Y + 500},
+ [SPECIES_OLD_UNOWN_Z] = {gMonShinyPalette_DoubleQuestionMark, SPECIES_OLD_UNOWN_Z + 500},
+ [SPECIES_TREECKO] = {gMonShinyPalette_Treecko, SPECIES_TREECKO + 500},
+ [SPECIES_GROVYLE] = {gMonShinyPalette_Grovyle, SPECIES_GROVYLE + 500},
+ [SPECIES_SCEPTILE] = {gMonShinyPalette_Sceptile, SPECIES_SCEPTILE + 500},
+ [SPECIES_TORCHIC] = {gMonShinyPalette_Torchic, SPECIES_TORCHIC + 500},
+ [SPECIES_COMBUSKEN] = {gMonShinyPalette_Combusken, SPECIES_COMBUSKEN + 500},
+ [SPECIES_BLAZIKEN] = {gMonShinyPalette_Blaziken, SPECIES_BLAZIKEN + 500},
+ [SPECIES_MUDKIP] = {gMonShinyPalette_Mudkip, SPECIES_MUDKIP + 500},
+ [SPECIES_MARSHTOMP] = {gMonShinyPalette_Marshtomp, SPECIES_MARSHTOMP + 500},
+ [SPECIES_SWAMPERT] = {gMonShinyPalette_Swampert, SPECIES_SWAMPERT + 500},
+ [SPECIES_POOCHYENA] = {gMonShinyPalette_Poochyena, SPECIES_POOCHYENA + 500},
+ [SPECIES_MIGHTYENA] = {gMonShinyPalette_Mightyena, SPECIES_MIGHTYENA + 500},
+ [SPECIES_ZIGZAGOON] = {gMonShinyPalette_Zigzagoon, SPECIES_ZIGZAGOON + 500},
+ [SPECIES_LINOONE] = {gMonShinyPalette_Linoone, SPECIES_LINOONE + 500},
+ [SPECIES_WURMPLE] = {gMonShinyPalette_Wurmple, SPECIES_WURMPLE + 500},
+ [SPECIES_SILCOON] = {gMonShinyPalette_Silcoon, SPECIES_SILCOON + 500},
+ [SPECIES_BEAUTIFLY] = {gMonShinyPalette_Beautifly, SPECIES_BEAUTIFLY + 500},
+ [SPECIES_CASCOON] = {gMonShinyPalette_Cascoon, SPECIES_CASCOON + 500},
+ [SPECIES_DUSTOX] = {gMonShinyPalette_Dustox, SPECIES_DUSTOX + 500},
+ [SPECIES_LOTAD] = {gMonShinyPalette_Lotad, SPECIES_LOTAD + 500},
+ [SPECIES_LOMBRE] = {gMonShinyPalette_Lombre, SPECIES_LOMBRE + 500},
+ [SPECIES_LUDICOLO] = {gMonShinyPalette_Ludicolo, SPECIES_LUDICOLO + 500},
+ [SPECIES_SEEDOT] = {gMonShinyPalette_Seedot, SPECIES_SEEDOT + 500},
+ [SPECIES_NUZLEAF] = {gMonShinyPalette_Nuzleaf, SPECIES_NUZLEAF + 500},
+ [SPECIES_SHIFTRY] = {gMonShinyPalette_Shiftry, SPECIES_SHIFTRY + 500},
+ [SPECIES_NINCADA] = {gMonShinyPalette_Nincada, SPECIES_NINCADA + 500},
+ [SPECIES_NINJASK] = {gMonShinyPalette_Ninjask, SPECIES_NINJASK + 500},
+ [SPECIES_SHEDINJA] = {gMonShinyPalette_Shedinja, SPECIES_SHEDINJA + 500},
+ [SPECIES_TAILLOW] = {gMonShinyPalette_Taillow, SPECIES_TAILLOW + 500},
+ [SPECIES_SWELLOW] = {gMonShinyPalette_Swellow, SPECIES_SWELLOW + 500},
+ [SPECIES_SHROOMISH] = {gMonShinyPalette_Shroomish, SPECIES_SHROOMISH + 500},
+ [SPECIES_BRELOOM] = {gMonShinyPalette_Breloom, SPECIES_BRELOOM + 500},
+ [SPECIES_SPINDA] = {gMonShinyPalette_Spinda, SPECIES_SPINDA + 500},
+ [SPECIES_WINGULL] = {gMonShinyPalette_Wingull, SPECIES_WINGULL + 500},
+ [SPECIES_PELIPPER] = {gMonShinyPalette_Pelipper, SPECIES_PELIPPER + 500},
+ [SPECIES_SURSKIT] = {gMonShinyPalette_Surskit, SPECIES_SURSKIT + 500},
+ [SPECIES_MASQUERAIN] = {gMonShinyPalette_Masquerain, SPECIES_MASQUERAIN + 500},
+ [SPECIES_WAILMER] = {gMonShinyPalette_Wailmer, SPECIES_WAILMER + 500},
+ [SPECIES_WAILORD] = {gMonShinyPalette_Wailord, SPECIES_WAILORD + 500},
+ [SPECIES_SKITTY] = {gMonShinyPalette_Skitty, SPECIES_SKITTY + 500},
+ [SPECIES_DELCATTY] = {gMonShinyPalette_Delcatty, SPECIES_DELCATTY + 500},
+ [SPECIES_KECLEON] = {gMonShinyPalette_Kecleon, SPECIES_KECLEON + 500},
+ [SPECIES_BALTOY] = {gMonShinyPalette_Baltoy, SPECIES_BALTOY + 500},
+ [SPECIES_CLAYDOL] = {gMonShinyPalette_Claydol, SPECIES_CLAYDOL + 500},
+ [SPECIES_NOSEPASS] = {gMonShinyPalette_Nosepass, SPECIES_NOSEPASS + 500},
+ [SPECIES_TORKOAL] = {gMonShinyPalette_Torkoal, SPECIES_TORKOAL + 500},
+ [SPECIES_SABLEYE] = {gMonShinyPalette_Sableye, SPECIES_SABLEYE + 500},
+ [SPECIES_BARBOACH] = {gMonShinyPalette_Barboach, SPECIES_BARBOACH + 500},
+ [SPECIES_WHISCASH] = {gMonShinyPalette_Whiscash, SPECIES_WHISCASH + 500},
+ [SPECIES_LUVDISC] = {gMonShinyPalette_Luvdisc, SPECIES_LUVDISC + 500},
+ [SPECIES_CORPHISH] = {gMonShinyPalette_Corphish, SPECIES_CORPHISH + 500},
+ [SPECIES_CRAWDAUNT] = {gMonShinyPalette_Crawdaunt, SPECIES_CRAWDAUNT + 500},
+ [SPECIES_FEEBAS] = {gMonShinyPalette_Feebas, SPECIES_FEEBAS + 500},
+ [SPECIES_MILOTIC] = {gMonShinyPalette_Milotic, SPECIES_MILOTIC + 500},
+ [SPECIES_CARVANHA] = {gMonShinyPalette_Carvanha, SPECIES_CARVANHA + 500},
+ [SPECIES_SHARPEDO] = {gMonShinyPalette_Sharpedo, SPECIES_SHARPEDO + 500},
+ [SPECIES_TRAPINCH] = {gMonShinyPalette_Trapinch, SPECIES_TRAPINCH + 500},
+ [SPECIES_VIBRAVA] = {gMonShinyPalette_Vibrava, SPECIES_VIBRAVA + 500},
+ [SPECIES_FLYGON] = {gMonShinyPalette_Flygon, SPECIES_FLYGON + 500},
+ [SPECIES_MAKUHITA] = {gMonShinyPalette_Makuhita, SPECIES_MAKUHITA + 500},
+ [SPECIES_HARIYAMA] = {gMonShinyPalette_Hariyama, SPECIES_HARIYAMA + 500},
+ [SPECIES_ELECTRIKE] = {gMonShinyPalette_Electrike, SPECIES_ELECTRIKE + 500},
+ [SPECIES_MANECTRIC] = {gMonShinyPalette_Manectric, SPECIES_MANECTRIC + 500},
+ [SPECIES_NUMEL] = {gMonShinyPalette_Numel, SPECIES_NUMEL + 500},
+ [SPECIES_CAMERUPT] = {gMonShinyPalette_Camerupt, SPECIES_CAMERUPT + 500},
+ [SPECIES_SPHEAL] = {gMonShinyPalette_Spheal, SPECIES_SPHEAL + 500},
+ [SPECIES_SEALEO] = {gMonShinyPalette_Sealeo, SPECIES_SEALEO + 500},
+ [SPECIES_WALREIN] = {gMonShinyPalette_Walrein, SPECIES_WALREIN + 500},
+ [SPECIES_CACNEA] = {gMonShinyPalette_Cacnea, SPECIES_CACNEA + 500},
+ [SPECIES_CACTURNE] = {gMonShinyPalette_Cacturne, SPECIES_CACTURNE + 500},
+ [SPECIES_SNORUNT] = {gMonShinyPalette_Snorunt, SPECIES_SNORUNT + 500},
+ [SPECIES_GLALIE] = {gMonShinyPalette_Glalie, SPECIES_GLALIE + 500},
+ [SPECIES_LUNATONE] = {gMonShinyPalette_Lunatone, SPECIES_LUNATONE + 500},
+ [SPECIES_SOLROCK] = {gMonShinyPalette_Solrock, SPECIES_SOLROCK + 500},
+ [SPECIES_AZURILL] = {gMonShinyPalette_Azurill, SPECIES_AZURILL + 500},
+ [SPECIES_SPOINK] = {gMonShinyPalette_Spoink, SPECIES_SPOINK + 500},
+ [SPECIES_GRUMPIG] = {gMonShinyPalette_Grumpig, SPECIES_GRUMPIG + 500},
+ [SPECIES_PLUSLE] = {gMonShinyPalette_Plusle, SPECIES_PLUSLE + 500},
+ [SPECIES_MINUN] = {gMonShinyPalette_Minun, SPECIES_MINUN + 500},
+ [SPECIES_MAWILE] = {gMonShinyPalette_Mawile, SPECIES_MAWILE + 500},
+ [SPECIES_MEDITITE] = {gMonShinyPalette_Meditite, SPECIES_MEDITITE + 500},
+ [SPECIES_MEDICHAM] = {gMonShinyPalette_Medicham, SPECIES_MEDICHAM + 500},
+ [SPECIES_SWABLU] = {gMonShinyPalette_Swablu, SPECIES_SWABLU + 500},
+ [SPECIES_ALTARIA] = {gMonShinyPalette_Altaria, SPECIES_ALTARIA + 500},
+ [SPECIES_WYNAUT] = {gMonShinyPalette_Wynaut, SPECIES_WYNAUT + 500},
+ [SPECIES_DUSKULL] = {gMonShinyPalette_Duskull, SPECIES_DUSKULL + 500},
+ [SPECIES_DUSCLOPS] = {gMonShinyPalette_Dusclops, SPECIES_DUSCLOPS + 500},
+ [SPECIES_ROSELIA] = {gMonShinyPalette_Roselia, SPECIES_ROSELIA + 500},
+ [SPECIES_SLAKOTH] = {gMonShinyPalette_Slakoth, SPECIES_SLAKOTH + 500},
+ [SPECIES_VIGOROTH] = {gMonShinyPalette_Vigoroth, SPECIES_VIGOROTH + 500},
+ [SPECIES_SLAKING] = {gMonShinyPalette_Slaking, SPECIES_SLAKING + 500},
+ [SPECIES_GULPIN] = {gMonShinyPalette_Gulpin, SPECIES_GULPIN + 500},
+ [SPECIES_SWALOT] = {gMonShinyPalette_Swalot, SPECIES_SWALOT + 500},
+ [SPECIES_TROPIUS] = {gMonShinyPalette_Tropius, SPECIES_TROPIUS + 500},
+ [SPECIES_WHISMUR] = {gMonShinyPalette_Whismur, SPECIES_WHISMUR + 500},
+ [SPECIES_LOUDRED] = {gMonShinyPalette_Loudred, SPECIES_LOUDRED + 500},
+ [SPECIES_EXPLOUD] = {gMonShinyPalette_Exploud, SPECIES_EXPLOUD + 500},
+ [SPECIES_CLAMPERL] = {gMonShinyPalette_Clamperl, SPECIES_CLAMPERL + 500},
+ [SPECIES_HUNTAIL] = {gMonShinyPalette_Huntail, SPECIES_HUNTAIL + 500},
+ [SPECIES_GOREBYSS] = {gMonShinyPalette_Gorebyss, SPECIES_GOREBYSS + 500},
+ [SPECIES_ABSOL] = {gMonShinyPalette_Absol, SPECIES_ABSOL + 500},
+ [SPECIES_SHUPPET] = {gMonShinyPalette_Shuppet, SPECIES_SHUPPET + 500},
+ [SPECIES_BANETTE] = {gMonShinyPalette_Banette, SPECIES_BANETTE + 500},
+ [SPECIES_SEVIPER] = {gMonShinyPalette_Seviper, SPECIES_SEVIPER + 500},
+ [SPECIES_ZANGOOSE] = {gMonShinyPalette_Zangoose, SPECIES_ZANGOOSE + 500},
+ [SPECIES_RELICANTH] = {gMonShinyPalette_Relicanth, SPECIES_RELICANTH + 500},
+ [SPECIES_ARON] = {gMonShinyPalette_Aron, SPECIES_ARON + 500},
+ [SPECIES_LAIRON] = {gMonShinyPalette_Lairon, SPECIES_LAIRON + 500},
+ [SPECIES_AGGRON] = {gMonShinyPalette_Aggron, SPECIES_AGGRON + 500},
+ [SPECIES_CASTFORM] = {gMonShinyPalette_Castform, SPECIES_CASTFORM + 500},
+ [SPECIES_VOLBEAT] = {gMonShinyPalette_Volbeat, SPECIES_VOLBEAT + 500},
+ [SPECIES_ILLUMISE] = {gMonShinyPalette_Illumise, SPECIES_ILLUMISE + 500},
+ [SPECIES_LILEEP] = {gMonShinyPalette_Lileep, SPECIES_LILEEP + 500},
+ [SPECIES_CRADILY] = {gMonShinyPalette_Cradily, SPECIES_CRADILY + 500},
+ [SPECIES_ANORITH] = {gMonShinyPalette_Anorith, SPECIES_ANORITH + 500},
+ [SPECIES_ARMALDO] = {gMonShinyPalette_Armaldo, SPECIES_ARMALDO + 500},
+ [SPECIES_RALTS] = {gMonShinyPalette_Ralts, SPECIES_RALTS + 500},
+ [SPECIES_KIRLIA] = {gMonShinyPalette_Kirlia, SPECIES_KIRLIA + 500},
+ [SPECIES_GARDEVOIR] = {gMonShinyPalette_Gardevoir, SPECIES_GARDEVOIR + 500},
+ [SPECIES_BAGON] = {gMonShinyPalette_Bagon, SPECIES_BAGON + 500},
+ [SPECIES_SHELGON] = {gMonShinyPalette_Shelgon, SPECIES_SHELGON + 500},
+ [SPECIES_SALAMENCE] = {gMonShinyPalette_Salamence, SPECIES_SALAMENCE + 500},
+ [SPECIES_BELDUM] = {gMonShinyPalette_Beldum, SPECIES_BELDUM + 500},
+ [SPECIES_METANG] = {gMonShinyPalette_Metang, SPECIES_METANG + 500},
+ [SPECIES_METAGROSS] = {gMonShinyPalette_Metagross, SPECIES_METAGROSS + 500},
+ [SPECIES_REGIROCK] = {gMonShinyPalette_Regirock, SPECIES_REGIROCK + 500},
+ [SPECIES_REGICE] = {gMonShinyPalette_Regice, SPECIES_REGICE + 500},
+ [SPECIES_REGISTEEL] = {gMonShinyPalette_Registeel, SPECIES_REGISTEEL + 500},
+ [SPECIES_KYOGRE] = {gMonShinyPalette_Kyogre, SPECIES_KYOGRE + 500},
+ [SPECIES_GROUDON] = {gMonShinyPalette_Groudon, SPECIES_GROUDON + 500},
+ [SPECIES_RAYQUAZA] = {gMonShinyPalette_Rayquaza, SPECIES_RAYQUAZA + 500},
+ [SPECIES_LATIAS] = {gMonShinyPalette_Latias, SPECIES_LATIAS + 500},
+ [SPECIES_LATIOS] = {gMonShinyPalette_Latios, SPECIES_LATIOS + 500},
+ [SPECIES_JIRACHI] = {gMonShinyPalette_Jirachi, SPECIES_JIRACHI + 500},
+ [SPECIES_DEOXYS] = {gMonShinyPalette_Deoxys, SPECIES_DEOXYS + 500},
+ [SPECIES_CHIMECHO] = {gMonShinyPalette_Chimecho, SPECIES_CHIMECHO + 500},
+ [SPECIES_EGG] = {gMonPalette_Egg, SPECIES_EGG + 500},
+ [SPECIES_UNOWN_B] = {gMonShinyPalette_Unown, SPECIES_UNOWN_B + 500},
+ [SPECIES_UNOWN_C] = {gMonShinyPalette_Unown, SPECIES_UNOWN_C + 500},
+ [SPECIES_UNOWN_D] = {gMonShinyPalette_Unown, SPECIES_UNOWN_D + 500},
+ [SPECIES_UNOWN_E] = {gMonShinyPalette_Unown, SPECIES_UNOWN_E + 500},
+ [SPECIES_UNOWN_F] = {gMonShinyPalette_Unown, SPECIES_UNOWN_F + 500},
+ [SPECIES_UNOWN_G] = {gMonShinyPalette_Unown, SPECIES_UNOWN_G + 500},
+ [SPECIES_UNOWN_H] = {gMonShinyPalette_Unown, SPECIES_UNOWN_H + 500},
+ [SPECIES_UNOWN_I] = {gMonShinyPalette_Unown, SPECIES_UNOWN_I + 500},
+ [SPECIES_UNOWN_J] = {gMonShinyPalette_Unown, SPECIES_UNOWN_J + 500},
+ [SPECIES_UNOWN_K] = {gMonShinyPalette_Unown, SPECIES_UNOWN_K + 500},
+ [SPECIES_UNOWN_L] = {gMonShinyPalette_Unown, SPECIES_UNOWN_L + 500},
+ [SPECIES_UNOWN_M] = {gMonShinyPalette_Unown, SPECIES_UNOWN_M + 500},
+ [SPECIES_UNOWN_N] = {gMonShinyPalette_Unown, SPECIES_UNOWN_N + 500},
+ [SPECIES_UNOWN_O] = {gMonShinyPalette_Unown, SPECIES_UNOWN_O + 500},
+ [SPECIES_UNOWN_P] = {gMonShinyPalette_Unown, SPECIES_UNOWN_P + 500},
+ [SPECIES_UNOWN_Q] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Q + 500},
+ [SPECIES_UNOWN_R] = {gMonShinyPalette_Unown, SPECIES_UNOWN_R + 500},
+ [SPECIES_UNOWN_S] = {gMonShinyPalette_Unown, SPECIES_UNOWN_S + 500},
+ [SPECIES_UNOWN_T] = {gMonShinyPalette_Unown, SPECIES_UNOWN_T + 500},
+ [SPECIES_UNOWN_U] = {gMonShinyPalette_Unown, SPECIES_UNOWN_U + 500},
+ [SPECIES_UNOWN_V] = {gMonShinyPalette_Unown, SPECIES_UNOWN_V + 500},
+ [SPECIES_UNOWN_W] = {gMonShinyPalette_Unown, SPECIES_UNOWN_W + 500},
+ [SPECIES_UNOWN_X] = {gMonShinyPalette_Unown, SPECIES_UNOWN_X + 500},
+ [SPECIES_UNOWN_Y] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Y + 500},
+ [SPECIES_UNOWN_Z] = {gMonShinyPalette_Unown, SPECIES_UNOWN_Z + 500},
+ [SPECIES_UNOWN_EMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_EMARK + 500},
+ [SPECIES_UNOWN_QMARK] = {gMonShinyPalette_Unown, SPECIES_UNOWN_QMARK + 500},
};
diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h
index 9c7e3f2fc..0c79c04ac 100644
--- a/src/data/region_map/region_map_entries.h
+++ b/src/data/region_map/region_map_entries.h
@@ -126,7 +126,7 @@ static const u8 sMapName_MtMoon[] = _("MT. MOON");
static const u8 sMapName_SSAnne[] = _("S.S. ANNE");
static const u8 sMapName_UndergroundPath[] = _("UNDERGROUND PATH");
static const u8 sMapName_UndergroundPath2[] = _("UNDERGROUND PATH");
-static const u8 sMapName_DiglettsCave[] = _("DIGLETT’S CAVE");
+static const u8 sMapName_DiglettsCave[] = _("DIGLETT'S CAVE");
static const u8 sMapName_KantoVictoryRoad[] = _("VICTORY ROAD");
static const u8 sMapName_RocketHideout[] = _("ROCKET HIDEOUT");
static const u8 sMapName_SilphCo[] = _("SILPH CO.");
diff --git a/src/data/text/abilities.h b/src/data/text/abilities.h
index 97c29f9ee..093119726 100644
--- a/src/data/text/abilities.h
+++ b/src/data/text/abilities.h
@@ -14,14 +14,14 @@ static const u8 sObliviousDescription[] = _("Prevents attraction.");
static const u8 sCloudNineDescription[] = _("Negates weather effects.");
static const u8 sCompoundEyesDescription[] = _("Raises accuracy.");
static const u8 sInsomniaDescription[] = _("Prevents sleep.");
-static const u8 sColorChangeDescription[] = _("Changes type to foe’s move.");
+static const u8 sColorChangeDescription[] = _("Changes type to foe's move.");
static const u8 sImmunityDescription[] = _("Prevents poisoning.");
static const u8 sFlashFireDescription[] = _("Powers up if hit by fire.");
static const u8 sShieldDustDescription[] = _("Prevents added effects.");
static const u8 sOwnTempoDescription[] = _("Prevents confusion.");
static const u8 sSuctionCupsDescription[] = _("Firmly anchors the body.");
-static const u8 sIntimidateDescription[] = _("Lowers the foe’s ATTACK.");
-static const u8 sShadowTagDescription[] = _("Prevents the foe’s escape.");
+static const u8 sIntimidateDescription[] = _("Lowers the foe's ATTACK.");
+static const u8 sShadowTagDescription[] = _("Prevents the foe's escape.");
static const u8 sRoughSkinDescription[] = _("Hurts to touch.");
static const u8 sWonderGuardDescription[] = _("“Super effective” hits.");
static const u8 sLevitateDescription[] = _("Not hit by GROUND attacks.");
@@ -44,7 +44,7 @@ static const u8 sMagnetPullDescription[] = _("Traps STEEL-type POKéMON.");
static const u8 sSoundproofDescription[] = _("Avoids sound-based moves.");
static const u8 sRainDishDescription[] = _("Slight HP recovery in rain.");
static const u8 sSandStreamDescription[] = _("Summons a sandstorm.");
-static const u8 sPressureDescription[] = _("Raises foe’s PP usage.");
+static const u8 sPressureDescription[] = _("Raises foe's PP usage.");
static const u8 sThickFatDescription[] = _("Heat-and-cold protection.");
static const u8 sEarlyBirdDescription[] = _("Awakens quickly from sleep.");
static const u8 sFlameBodyDescription[] = _("Burns the foe on contact.");
diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h
index 8683978d7..1f048e440 100644
--- a/src/data/text/item_descriptions.h
+++ b/src/data/text/item_descriptions.h
@@ -1,7 +1,5 @@
-#ifndef POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
-#define POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
const u8 gDummyItemDescription[] = _("?????");
-//Pokeballs
+// Pokeballs
const u8 gMasterBallItemDescription[] = _("The best BALL that\ncatches a POKéMON\nwithout fail.");
const u8 gUltraBallItemDescription[] = _("A better BALL with\na higher catch rate\nthan a GREAT BALL.");
const u8 gGreatBallItemDescription[] = _("A good BALL with a\nhigher catch rate\nthan a POKé BALL.");
@@ -9,12 +7,12 @@ const u8 gPokeBallItemDescription[] = _("A tool used for\ncatching wild\nPOKéMO
const u8 gSafariBallItemDescription[] = _("A special BALL that\nis used only in the\nSAFARI ZONE.");
const u8 gNetBallItemDescription[] = _("A BALL that works\nwell on WATER- and\nBUG-type POKéMON.");
const u8 gDiveBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\non the ocean floor.");
-const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON.");
+const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON.");
const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\ncaught before.");
const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns.");
const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly.");
const u8 gPremierBallItemDescription[] = _("A rare BALL made\nin commemoration\nof some event.");
-//Medicine
+// Medicine
const u8 gPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n20 points.");
const u8 gAntidoteItemDescription[] = _("Heals a poisoned\nPOKéMON.");
const u8 gBurnHealItemDescription[] = _("Heals POKéMON\nof a burn.");
@@ -39,7 +37,7 @@ const u8 gRevivalHerbItemDescription[] = _("A very bitter herb\nthat revives a\n
const u8 gEtherItemDescription[] = _("Restores the PP\nof a selected move\nby 10.");
const u8 gMaxEtherItemDescription[] = _("Fully restores the\nPP of a selected\nmove.");
const u8 gElixirItemDescription[] = _("Restores the PP\nof all moves by 10.");
-const u8 gMaxElixirItemDescription[] = _("Fully restores the\nPP of a POKéMON’s\nmoves.");
+const u8 gMaxElixirItemDescription[] = _("Fully restores the\nPP of a POKéMON's\nmoves.");
const u8 gLavaCookieItemDescription[] = _("A local specialty\nthat heals all\nstatus problems.");
const u8 gBlueFluteItemDescription[] = _("A glass flute that\nawakens sleeping\nPOKéMON.");
const u8 gYellowFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of confusion.");
@@ -48,14 +46,14 @@ const u8 gBlackFluteItemDescription[] = _("A glass flute that\nkeeps away wild\n
const u8 gWhiteFluteItemDescription[] = _("A glass flute that\nlures wild POKéMON.");
const u8 gBerryJuiceItemDescription[] = _("A 100% pure juice\nthat restores HP\nby 20 points.");
const u8 gSacredAshItemDescription[] = _("Fully revives and\nrestores all\nfainted POKéMON.");
-//Collectibles
+// Collectibles
const u8 gShoalSaltItemDescription[] = _("Salt obtained from\ndeep inside the\nSHOAL CAVE.");
const u8 gShoalShellItemDescription[] = _("A seashell found\ndeep inside the\nSHOAL CAVE.");
const u8 gRedShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gBlueShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gYellowShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
const u8 gGreenShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply.");
-//Vitamins
+// Vitamins
const u8 gHPUpItemDescription[] = _("Raises the base HP\nof one POKéMON.");
const u8 gProteinItemDescription[] = _("Raises the base\nATTACK stat of one\nPOKéMON.");
const u8 gIronItemDescription[] = _("Raises the base\nDEFENSE stat of\none POKéMON.");
@@ -65,7 +63,7 @@ const u8 gRareCandyItemDescription[] = _("Raises the level\nof a POKéMON by\non
const u8 gPPUpItemDescription[] = _("Raises the maximum\nPP of a selected\nmove.");
const u8 gZincItemDescription[] = _("Raises the base\nSP. DEF stat of one\nPOKéMON.");
const u8 gPPMaxItemDescription[] = _("Raises the PP of a\nmove to its maximum\npoints.");
-//Battle items
+// Battle items
const u8 gGuardSpecItemDescription[] = _("Prevents stat\nreduction when\nused in battle.");
const u8 gDireHitItemDescription[] = _("Raises the\ncritical-hit ratio\nduring one battle.");
const u8 gXAttackItemDescription[] = _("Raises the stat\nATTACK during one\nbattle.");
@@ -75,19 +73,19 @@ const u8 gXAccuracyItemDescription[] = _("Raises accuracy\nof attack moves\nduri
const u8 gXSpecialItemDescription[] = _("Raises the stat\nSP. ATK during one\nbattle.");
const u8 gPokeDollItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
const u8 gFluffyTailItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON.");
-//Field items
+// Field items
const u8 gSuperRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 200\nsteps.");
const u8 gMaxRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 250\nsteps.");
const u8 gEscapeRopeItemDescription[] = _("Use to escape\ninstantly from a\ncave or a dungeon.");
const u8 gRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 100\nsteps.");
-//Evolution stones
+// Evolution stones
const u8 gSunStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gMoonStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gFireStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gThunderStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gWaterStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
const u8 gLeafStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve.");
-//Valuable items
+// Valuable items
const u8 gTinyMushroomItemDescription[] = _("A plain mushroom\nthat would sell\nat a cheap price.");
const u8 gBigMushroomItemDescription[] = _("A rare mushroom\nthat would sell at a\nhigh price.");
const u8 gPearlItemDescription[] = _("A pretty pearl\nthat would sell at a\ncheap price.");
@@ -96,7 +94,7 @@ const u8 gStardustItemDescription[] = _("Beautiful red sand.\nCan be sold at a\n
const u8 gStarPieceItemDescription[] = _("A red gem shard.\nIt would sell for a\nvery high price.");
const u8 gNuggetItemDescription[] = _("A nugget of pure\ngold. Can be sold at\na high price.");
const u8 gHeartScaleItemDescription[] = _("A lovely scale.\nIt is coveted by\ncollectors.");
-//Mail
+// Mail
const u8 gOrangeMailItemDescription[] = _("A ZIGZAGOON-print\nMAIL to be held by\na POKéMON.");
const u8 gHarborMailItemDescription[] = _("A WINGULL-print\nMAIL to be held by\na POKéMON.");
const u8 gGlitterMailItemDescription[] = _("A PIKACHU-print\nMAIL to be held by\na POKéMON.");
@@ -109,7 +107,7 @@ const u8 gTropicMailItemDescription[] = _("A BELLOSSOM-print\nMAIL to be held by
const u8 gDreamMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON.");
const u8 gFabMailItemDescription[] = _("A gorgeous-print\nMAIL to be held\nby a POKéMON.");
const u8 gRetroMailItemDescription[] = _("MAIL featuring the\ndrawings of three\nPOKéMON.");
-//Berries
+// Berries
const u8 gCheriBerryItemDescription[] = _("A hold item that\nheals paralysis\nin battle.");
const u8 gChestoBerryItemDescription[] = _("A hold item that\nawakens POKéMON\nin battle.");
const u8 gPechaBerryItemDescription[] = _("A hold item that\nheals poisoning\nin battle.");
@@ -153,7 +151,7 @@ const u8 gApicotBerryItemDescription[] = _("A hold item that\nraises SP. DEF in\
const u8 gLansatBerryItemDescription[] = _("A hold item that\nups the critical-\nhit rate in a pinch.");
const u8 gStarfBerryItemDescription[] = _("A hold item that\nsharply boosts a\nstat in a pinch.");
const u8 gEnigmaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery.");
-//Hold items
+// Hold items
const u8 gBrightPowderItemDescription[] = _("A hold item that\ncasts a glare to\nreduce accuracy.");
const u8 gWhiteHerbItemDescription[] = _("A hold item that\nrestores any\nlowered stat.");
const u8 gMachoBraceItemDescription[] = _("A hold item that\npromotes growth,\nbut reduces SPEED.");
@@ -161,7 +159,7 @@ const u8 gExpShareItemDescription[] = _("A hold item that\ngets EXP. points\nfro
const u8 gQuickClawItemDescription[] = _("A hold item that\noccasionally allows\nthe first strike.");
const u8 gSootheBellItemDescription[] = _("A hold item that\ncalms spirits and\nfosters friendship.");
const u8 gMentalHerbItemDescription[] = _("A hold item that\nsnaps POKéMON out\nof infatuation.");
-const u8 gChoiceBandItemDescription[] = _("Raises a move’s\npower, but permits\nonly that move.");
+const u8 gChoiceBandItemDescription[] = _("Raises a move's\npower, but permits\nonly that move.");
const u8 gKingsRockItemDescription[] = _("A hold item that\nmay cause flinching\nwhen the foe is hit.");
const u8 gSilverPowderItemDescription[] = _("A hold item that\nraises the power of\nBUG-type moves.");
const u8 gAmuletCoinItemDescription[] = _("Doubles money in\nbattle if the\nholder takes part.");
@@ -196,17 +194,17 @@ const u8 gSilkScarfItemDescription[] = _("A hold item that\nraises the power of\
const u8 gUpGradeItemDescription[] = _("A peculiar box made\nby SILPH CO.");
const u8 gShellBellItemDescription[] = _("A hold item that\nrestores HP upon\nstriking the foe.");
const u8 gSeaIncenseItemDescription[] = _("A hold item that\nslightly boosts\nWATER-type moves.");
-const u8 gLaxIncenseItemDescription[] = _("A hold item that\nslightly lowers the\nfoe’s accuracy.");
-const u8 gLuckyPunchItemDescription[] = _("A hold item that\nraises CHANSEY’s\ncritical-hit rate.");
-const u8 gMetalPowderItemDescription[] = _("A hold item that\nraises DITTO’s\nDEFENSE.");
-const u8 gThickClubItemDescription[] = _("A hold item that \nraises CUBONE or\nMAROWAK’s ATTACK.");
-const u8 gStickItemDescription[] = _("A hold item that\nraises FARFETCH’D’s\ncritical-hit ratio.");
+const u8 gLaxIncenseItemDescription[] = _("A hold item that\nslightly lowers the\nfoe's accuracy.");
+const u8 gLuckyPunchItemDescription[] = _("A hold item that\nraises CHANSEY's\ncritical-hit rate.");
+const u8 gMetalPowderItemDescription[] = _("A hold item that\nraises DITTO's\nDEFENSE.");
+const u8 gThickClubItemDescription[] = _("A hold item that \nraises CUBONE or\nMAROWAK's ATTACK.");
+const u8 gStickItemDescription[] = _("A hold item that\nraises FARFETCH'D's\ncritical-hit ratio.");
const u8 gRedScarfItemDescription[] = _("A hold item that\nraises COOL in\nCONTESTS.");
const u8 gBlueScarfItemDescription[] = _("A hold item that\nraises BEAUTY in\nCONTESTS.");
const u8 gPinkScarfItemDescription[] = _("A hold item that\nraises CUTE in\nCONTESTS.");
const u8 gGreenScarfItemDescription[] = _("A hold item that\nraises SMART in\nCONTESTS.");
const u8 gYellowScarfItemDescription[] = _("A hold item that\nraises TOUGH in\nCONTESTS.");
-//Key items
+// Key items
const u8 gMachBikeItemDescription[] = _("A folding bicycle\nthat doubles your\nspeed or better.");
const u8 gCoinCaseItemDescription[] = _("A case that holds\nup to 9,999 COINS.");
const u8 gItemfinderItemDescription[] = _("A device that\nsignals an invisible\nitem by sound.");
@@ -216,7 +214,7 @@ const u8 gSuperRodItemDescription[] = _("The best fishing\nrod for catching\nwil
const u8 gSSTicketItemDescription[] = _("The ticket required\nfor sailing on a\nferry.");
const u8 gContestPassItemDescription[] = _("The pass required\nfor entering\nPOKéMON CONTESTS.");
const u8 gWailmerPailItemDescription[] = _("A tool used for\nwatering BERRIES\nand plants.");
-const u8 gDevonGoodsItemDescription[] = _("A package that\ncontains DEVON’s\nmachine parts.");
+const u8 gDevonGoodsItemDescription[] = _("A package that\ncontains DEVON's\nmachine parts.");
const u8 gSootSackItemDescription[] = _("A sack used to\ngather and hold\nvolcanic ash.");
const u8 gBasementKeyItemDescription[] = _("The key for NEW\nMAUVILLE beneath\nMAUVILLE CITY.");
const u8 gAcroBikeItemDescription[] = _("A folding bicycle\ncapable of jumps\nand wheelies.");
@@ -236,7 +234,7 @@ const u8 gStorageKeyItemDescription[] = _("The key to the\nstorage inside the\nA
const u8 gRootFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
const u8 gClawFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON.");
const u8 gDevonScopeItemDescription[] = _("A device by DEVON\nthat signals any\nunseeable POKéMON.");
-//TMs/HMs
+// TMs/HMs
const u8 gTM01ItemDescription[] = _("Powerful, but makes\nthe user flinch if\nhit by the foe.");
const u8 gTM02ItemDescription[] = _("Hooks and slashes\nthe foe with long,\nsharp claws.");
const u8 gTM03ItemDescription[] = _("Generates an\nultrasonic wave\nthat may confuse.");
@@ -276,13 +274,13 @@ const u8 gTM36ItemDescription[] = _("Hurls sludge at the\nfoe. It may poison\nth
const u8 gTM37ItemDescription[] = _("Causes a sandstorm\nthat hits the foe\nover several turns.");
const u8 gTM38ItemDescription[] = _("A powerful fire\nattack that may\nburn the foe.");
const u8 gTM39ItemDescription[] = _("Stops the foe from\nmoving with rocks.\nMay lower SPEED.");
-const u8 gTM40ItemDescription[] = _("An extremely fast\nattack that can’t\nbe avoided.");
+const u8 gTM40ItemDescription[] = _("An extremely fast\nattack that can't\nbe avoided.");
const u8 gTM41ItemDescription[] = _("Prevents the foe\nfrom using the same\nmove in a row.");
const u8 gTM42ItemDescription[] = _("Raises ATTACK when\npoisoned, burned,\nor paralyzed.");
const u8 gTM43ItemDescription[] = _("Adds an effect to\nattack depending\non the location.");
const u8 gTM44ItemDescription[] = _("The user sleeps for\n2 turns to restore\nhealth and status.");
const u8 gTM45ItemDescription[] = _("Makes it tough to\nattack a foe of the\nopposite gender.");
-const u8 gTM46ItemDescription[] = _("While attacking,\nit may steal the\nfoe’s held item.");
+const u8 gTM46ItemDescription[] = _("While attacking,\nit may steal the\nfoe's held item.");
const u8 gTM47ItemDescription[] = _("Spreads hard-\nedged wings and\nslams into the foe.");
const u8 gTM48ItemDescription[] = _("Switches abilities\nwith the foe on the\nturn this is used.");
const u8 gTM49ItemDescription[] = _("Steals the effects\nof the move the foe\nis trying to use.");
@@ -296,18 +294,18 @@ const u8 gHM05ItemDescription[] = _("Looses a powerful\nblast of light that\nred
const u8 gHM06ItemDescription[] = _("A rock-crushingly\ntough attack that\nmay lower DEFENSE.");
const u8 gHM07ItemDescription[] = _("Attacks the foe\nwith enough power\nto climb waterfalls.");
const u8 gHM08ItemDescription[] = _("Dives underwater\nthe 1st turn, then\nattacks next turn.");
-//FireRed/LeafGreen key items
-const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMART’s clerk.");
+// FireRed/LeafGreen key items
+const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMART's clerk.");
const u8 gPokeFluteItemDescription[] = _("A sweet-sounding\nflute that awakens\nPOKéMON.");
-const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYM’s entrance.");
+const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYM's entrance.");
const u8 gBikeVoucherItemDescription[] = _("A voucher for\nobtaining a bicycle\nfrom the BIKE SHOP.");
-const u8 gGoldTeethItemDescription[] = _("Gold dentures lost\nby the SAFARI\nZONE’s WARDEN.");
+const u8 gGoldTeethItemDescription[] = _("Gold dentures lost\nby the SAFARI\nZONE's WARDEN.");
const u8 gOldAmberItemDescription[] = _("A stone containing\nthe genes of an\nancient POKéMON.");
-const u8 gCardKeyItemDescription[] = _("A card-type door\nkey used in SILPH\nCO’s office.");
-const u8 gLiftKeyItemDescription[] = _("An elevator key\nused in TEAM\nROCKET’s HIDEOUT.");
-const u8 gHelixFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON’s seashell.");
-const u8 gDomeFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON’s shell.");
-const u8 gSilphScopeItemDescription[] = _("SILPH CO’s scope\nmakes unseeable\nPOKéMON visible.");
+const u8 gCardKeyItemDescription[] = _("A card-type door\nkey used in SILPH\nCO's office.");
+const u8 gLiftKeyItemDescription[] = _("An elevator key\nused in TEAM\nROCKET's HIDEOUT.");
+const u8 gHelixFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON's seashell.");
+const u8 gDomeFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON's shell.");
+const u8 gSilphScopeItemDescription[] = _("SILPH CO's scope\nmakes unseeable\nPOKéMON visible.");
const u8 gBicycleItemDescription[] = _("A folding bicycle\nthat is faster than\nthe RUNNING SHOES.");
const u8 gTownMapItemDescription[] = _("Can be viewed\nanytime. Shows your\npresent location.");
const u8 gVSSeekerItemDescription[] = _("A rechargeable unit\nthat flags battle-\nready TRAINERS.");
@@ -323,7 +321,6 @@ const u8 gAuroraTicketItemDescription[] = _("A ticket required\nto board the shi
const u8 gPowderJarItemDescription[] = _("Stores BERRY\nPOWDER made using\na BERRY CRUSHER.");
const u8 gRubyItemDescription[] = _("An exquisite, red-\nglowing gem that\nsymbolizes passion.");
const u8 gSapphireItemDescription[] = _("A brilliant blue gem\nthat symbolizes\nhonesty.");
-//Emerald-specific key items
-const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMA’s mark.");
+// Emerald-specific key items
+const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMA's mark.");
const u8 gOldSeaMapItemDescription[] = _("A faded sea chart\nthat shows the way\nto a certain island.");
-#endif // POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H
diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h
index 3642f66b1..34880f16d 100644
--- a/src/data/text/move_descriptions.h
+++ b/src/data/text/move_descriptions.h
@@ -1,1421 +1,1421 @@
static const u8 sNullDescription[] = _(
- "");
+ "");
static const u8 sPoundDescription[] = _(
- "Pounds the foe with\n"
- "forelegs or tail.");
+ "Pounds the foe with\n"
+ "forelegs or tail.");
static const u8 sKarateChopDescription[] = _(
- "A chopping attack with a\n"
- "high critical-hit ratio.");
+ "A chopping attack with a\n"
+ "high critical-hit ratio.");
static const u8 sDoubleSlapDescription[] = _(
- "Repeatedly slaps the foe\n"
- "2 to 5 times.");
+ "Repeatedly slaps the foe\n"
+ "2 to 5 times.");
static const u8 sCometPunchDescription[] = _(
- "Repeatedly punches the foe\n"
- "2 to 5 times.");
+ "Repeatedly punches the foe\n"
+ "2 to 5 times.");
static const u8 sMegaPunchDescription[] = _(
- "A strong punch thrown with\n"
- "incredible power.");
+ "A strong punch thrown with\n"
+ "incredible power.");
static const u8 sPayDayDescription[] = _(
- "Throws coins at the foe.\n"
- "Money is recovered after.");
+ "Throws coins at the foe.\n"
+ "Money is recovered after.");
static const u8 sFirePunchDescription[] = _(
- "A fiery punch that may burn\n"
- "the foe.");
+ "A fiery punch that may burn\n"
+ "the foe.");
static const u8 sIcePunchDescription[] = _(
- "An icy punch that may\n"
- "freeze the foe.");
+ "An icy punch that may\n"
+ "freeze the foe.");
static const u8 sThunderPunchDescription[] = _(
- "An electrified punch that\n"
- "may paralyze the foe.");
+ "An electrified punch that\n"
+ "may paralyze the foe.");
static const u8 sScratchDescription[] = _(
- "Scratches the foe with\n"
- "sharp claws.");
+ "Scratches the foe with\n"
+ "sharp claws.");
static const u8 sViceGripDescription[] = _(
- "Grips the foe with large and\n"
- "powerful pincers.");
+ "Grips the foe with large and\n"
+ "powerful pincers.");
static const u8 sGuillotineDescription[] = _(
- "A powerful pincer attack\n"
- "that may cause fainting.");
+ "A powerful pincer attack\n"
+ "that may cause fainting.");
static const u8 sRazorWindDescription[] = _(
- "A 2-turn move that strikes\n"
- "the foe on the 2nd turn.");
+ "A 2-turn move that strikes\n"
+ "the foe on the 2nd turn.");
static const u8 sSwordsDanceDescription[] = _(
- "A fighting dance that\n"
- "sharply raises ATTACK.");
+ "A fighting dance that\n"
+ "sharply raises ATTACK.");
static const u8 sCutDescription[] = _(
- "Cuts the foe with sharp\n"
- "scythes, claws, etc.");
+ "Cuts the foe with sharp\n"
+ "scythes, claws, etc.");
static const u8 sGustDescription[] = _(
- "Strikes the foe with a gust\n"
- "of wind whipped up by wings.");
+ "Strikes the foe with a gust\n"
+ "of wind whipped up by wings.");
static const u8 sWingAttackDescription[] = _(
- "Strikes the foe with wings\n"
- "spread wide.");
+ "Strikes the foe with wings\n"
+ "spread wide.");
static const u8 sWhirlwindDescription[] = _(
- "Blows away the foe with\n"
- "wind and ends the battle.");
+ "Blows away the foe with\n"
+ "wind and ends the battle.");
static const u8 sFlyDescription[] = _(
- "Flies up on the first turn,\n"
- "then strikes the next turn.");
+ "Flies up on the first turn,\n"
+ "then strikes the next turn.");
static const u8 sBindDescription[] = _(
- "Binds and squeezes the foe\n"
- "for 2 to 5 turns.");
+ "Binds and squeezes the foe\n"
+ "for 2 to 5 turns.");
static const u8 sSlamDescription[] = _(
- "Slams the foe with a long\n"
- "tail, vine, etc.");
+ "Slams the foe with a long\n"
+ "tail, vine, etc.");
static const u8 sVineWhipDescription[] = _(
- "Strikes the foe with\n"
- "slender, whiplike vines.");
+ "Strikes the foe with\n"
+ "slender, whiplike vines.");
static const u8 sStompDescription[] = _(
- "Stomps the enemy with a big\n"
- "foot. May cause flinching.");
+ "Stomps the enemy with a big\n"
+ "foot. May cause flinching.");
static const u8 sDoubleKickDescription[] = _(
- "A double-kicking attack\n"
- "that strikes the foe twice.");
+ "A double-kicking attack\n"
+ "that strikes the foe twice.");
static const u8 sMegaKickDescription[] = _(
- "An extremely powerful kick\n"
- "with intense force.");
+ "An extremely powerful kick\n"
+ "with intense force.");
static const u8 sJumpKickDescription[] = _(
- "A strong jumping kick. May\n"
- "miss and hurt the kicker.");
+ "A strong jumping kick. May\n"
+ "miss and hurt the kicker.");
static const u8 sRollingKickDescription[] = _(
- "A fast kick delivered from\n"
- "a rapid spin.");
+ "A fast kick delivered from\n"
+ "a rapid spin.");
static const u8 sSandAttackDescription[] = _(
- "Reduces the foe’s accuracy\n"
- "by hurling sand in its face.");
+ "Reduces the foe's accuracy\n"
+ "by hurling sand in its face.");
static const u8 sHeadbuttDescription[] = _(
- "A ramming attack that may\n"
- "cause flinching.");
+ "A ramming attack that may\n"
+ "cause flinching.");
static const u8 sHornAttackDescription[] = _(
- "Jabs the foe with sharp\n"
- "horns.");
+ "Jabs the foe with sharp\n"
+ "horns.");
static const u8 sFuryAttackDescription[] = _(
- "Jabs the foe 2 to 5 times\n"
- "with sharp horns, etc.");
+ "Jabs the foe 2 to 5 times\n"
+ "with sharp horns, etc.");
static const u8 sHornDrillDescription[] = _(
- "A one-hit KO attack that\n"
- "uses a horn like a drill.");
+ "A one-hit KO attack that\n"
+ "uses a horn like a drill.");
static const u8 sTackleDescription[] = _(
- "Charges the foe with a full-\n"
- "body tackle.");
+ "Charges the foe with a full-\n"
+ "body tackle.");
static const u8 sBodySlamDescription[] = _(
- "A full-body slam that may\n"
- "cause paralysis.");
+ "A full-body slam that may\n"
+ "cause paralysis.");
static const u8 sWrapDescription[] = _(
- "Wraps and squeezes the foe\n"
- "2 to 5 times with vines, etc.");
+ "Wraps and squeezes the foe\n"
+ "2 to 5 times with vines, etc.");
static const u8 sTakeDownDescription[] = _(
- "A reckless charge attack\n"
- "that also hurts the user.");
+ "A reckless charge attack\n"
+ "that also hurts the user.");
static const u8 sThrashDescription[] = _(
- "A rampage of 2 to 3 turns\n"
- "that confuses the user.");
+ "A rampage of 2 to 3 turns\n"
+ "that confuses the user.");
static const u8 sDoubleEdgeDescription[] = _(
- "A life-risking tackle that\n"
- "also hurts the user.");
+ "A life-risking tackle that\n"
+ "also hurts the user.");
static const u8 sTailWhipDescription[] = _(
- "Wags the tail to lower the\n"
- "foe’s DEFENSE.");
+ "Wags the tail to lower the\n"
+ "foe's DEFENSE.");
static const u8 sPoisonStingDescription[] = _(
- "A toxic attack with barbs,\n"
- "etc., that may poison.");
+ "A toxic attack with barbs,\n"
+ "etc., that may poison.");
static const u8 sTwineedleDescription[] = _(
- "Stingers on the forelegs\n"
- "jab the foe twice.");
+ "Stingers on the forelegs\n"
+ "jab the foe twice.");
static const u8 sPinMissileDescription[] = _(
- "Sharp pins are fired to\n"
- "strike 2 to 5 times.");
+ "Sharp pins are fired to\n"
+ "strike 2 to 5 times.");
static const u8 sLeerDescription[] = _(
- "Frightens the foe with a\n"
- "leer to lower DEFENSE.");
+ "Frightens the foe with a\n"
+ "leer to lower DEFENSE.");
static const u8 sBiteDescription[] = _(
- "Bites with vicious fangs.\n"
- "May cause flinching.");
+ "Bites with vicious fangs.\n"
+ "May cause flinching.");
static const u8 sGrowlDescription[] = _(
- "Growls cutely to reduce the\n"
- "foe’s ATTACK.");
+ "Growls cutely to reduce the\n"
+ "foe's ATTACK.");
static const u8 sRoarDescription[] = _(
- "Makes the foe flee to end\n"
- "the battle.");
+ "Makes the foe flee to end\n"
+ "the battle.");
static const u8 sSingDescription[] = _(
- "A soothing song lulls the\n"
- "foe into a deep slumber.");
+ "A soothing song lulls the\n"
+ "foe into a deep slumber.");
static const u8 sSupersonicDescription[] = _(
- "Emits bizarre sound waves\n"
- "that may confuse the foe.");
+ "Emits bizarre sound waves\n"
+ "that may confuse the foe.");
static const u8 sSonicBoomDescription[] = _(
- "Launches shock waves that\n"
- "always inflict 20 HP damage.");
+ "Launches shock waves that\n"
+ "always inflict 20 HP damage.");
static const u8 sDisableDescription[] = _(
- "Psychically disables one of\n"
- "the foe’s moves.");
+ "Psychically disables one of\n"
+ "the foe's moves.");
static const u8 sAcidDescription[] = _(
- "Sprays a hide-melting acid.\n"
- "May lower DEFENSE.");
+ "Sprays a hide-melting acid.\n"
+ "May lower DEFENSE.");
static const u8 sEmberDescription[] = _(
- "A weak fire attack that may\n"
- "inflict a burn.");
+ "A weak fire attack that may\n"
+ "inflict a burn.");
static const u8 sFlamethrowerDescription[] = _(
- "A powerful fire attack that\n"
- "may inflict a burn.");
+ "A powerful fire attack that\n"
+ "may inflict a burn.");
static const u8 sMistDescription[] = _(
- "Creates a mist that stops\n"
- "reduction of abilities.");
+ "Creates a mist that stops\n"
+ "reduction of abilities.");
static const u8 sWaterGunDescription[] = _(
- "Squirts water to attack\n"
- "the foe.");
+ "Squirts water to attack\n"
+ "the foe.");
static const u8 sHydroPumpDescription[] = _(
- "Blasts water at high power\n"
- "to strike the foe.");
+ "Blasts water at high power\n"
+ "to strike the foe.");
static const u8 sSurfDescription[] = _(
- "Creates a huge wave, then\n"
- "crashes it down on the foe.");
+ "Creates a huge wave, then\n"
+ "crashes it down on the foe.");
static const u8 sIceBeamDescription[] = _(
- "Blasts the foe with an icy\n"
- "beam that may freeze it.");
+ "Blasts the foe with an icy\n"
+ "beam that may freeze it.");
static const u8 sBlizzardDescription[] = _(
- "Hits the foe with an icy\n"
- "storm that may freeze it.");
+ "Hits the foe with an icy\n"
+ "storm that may freeze it.");
static const u8 sPsybeamDescription[] = _(
- "Fires a peculiar ray that\n"
- "may confuse the foe.");
+ "Fires a peculiar ray that\n"
+ "may confuse the foe.");
static const u8 sBubbleBeamDescription[] = _(
- "Forcefully sprays bubbles\n"
- "that may lower SPEED.");
+ "Forcefully sprays bubbles\n"
+ "that may lower SPEED.");
static const u8 sAuroraBeamDescription[] = _(
- "Fires a rainbow-colored\n"
- "beam that may lower ATTACK.");
+ "Fires a rainbow-colored\n"
+ "beam that may lower ATTACK.");
static const u8 sHyperBeamDescription[] = _(
- "Powerful, but leaves the\n"
- "user immobile the next turn.");
+ "Powerful, but leaves the\n"
+ "user immobile the next turn.");
static const u8 sPeckDescription[] = _(
- "Attacks the foe with a\n"
- "jabbing beak, etc.");
+ "Attacks the foe with a\n"
+ "jabbing beak, etc.");
static const u8 sDrillPeckDescription[] = _(
- "A corkscrewing attack with\n"
- "the beak acting as a drill.");
+ "A corkscrewing attack with\n"
+ "the beak acting as a drill.");
static const u8 sSubmissionDescription[] = _(
- "A reckless body slam that\n"
- "also hurts the user.");
+ "A reckless body slam that\n"
+ "also hurts the user.");
static const u8 sLowKickDescription[] = _(
- "A kick that inflicts more\n"
- "damage on heavier foes.");
+ "A kick that inflicts more\n"
+ "damage on heavier foes.");
static const u8 sCounterDescription[] = _(
- "Retaliates any physical hit\n"
- "with double the power.");
+ "Retaliates any physical hit\n"
+ "with double the power.");
static const u8 sSeismicTossDescription[] = _(
- "Inflicts damage identical\n"
- "to the user’s level.");
+ "Inflicts damage identical\n"
+ "to the user's level.");
static const u8 sStrengthDescription[] = _(
- "Builds enormous power,\n"
- "then slams the foe.");
+ "Builds enormous power,\n"
+ "then slams the foe.");
static const u8 sAbsorbDescription[] = _(
- "An attack that absorbs\n"
- "half the damage inflicted.");
+ "An attack that absorbs\n"
+ "half the damage inflicted.");
static const u8 sMegaDrainDescription[] = _(
- "An attack that absorbs\n"
- "half the damage inflicted.");
+ "An attack that absorbs\n"
+ "half the damage inflicted.");
static const u8 sLeechSeedDescription[] = _(
- "Plants a seed on the foe to\n"
- "steal HP on every turn.");
+ "Plants a seed on the foe to\n"
+ "steal HP on every turn.");
static const u8 sGrowthDescription[] = _(
- "Forces the body to grow\n"
- "and heightens SP. ATK.");
+ "Forces the body to grow\n"
+ "and heightens SP. ATK.");
static const u8 sRazorLeafDescription[] = _(
- "Cuts the enemy with leaves.\n"
- "High critical-hit ratio.");
+ "Cuts the enemy with leaves.\n"
+ "High critical-hit ratio.");
static const u8 sSolarBeamDescription[] = _(
- "Absorbs light in one turn,\n"
- "then attacks next turn.");
+ "Absorbs light in one turn,\n"
+ "then attacks next turn.");
static const u8 sPoisonPowderDescription[] = _(
- "Scatters a toxic powder\n"
- "that may poison the foe.");
+ "Scatters a toxic powder\n"
+ "that may poison the foe.");
static const u8 sStunSporeDescription[] = _(
- "Scatters a powder that may\n"
- "paralyze the foe.");
+ "Scatters a powder that may\n"
+ "paralyze the foe.");
static const u8 sSleepPowderDescription[] = _(
- "Scatters a powder that may\n"
- "cause the foe to sleep.");
+ "Scatters a powder that may\n"
+ "cause the foe to sleep.");
static const u8 sPetalDanceDescription[] = _(
- "A rampage of 2 to 3 turns\n"
- "that confuses the user.");
+ "A rampage of 2 to 3 turns\n"
+ "that confuses the user.");
static const u8 sStringShotDescription[] = _(
- "Binds the foe with string\n"
- "to reduce its SPEED.");
+ "Binds the foe with string\n"
+ "to reduce its SPEED.");
static const u8 sDragonRageDescription[] = _(
- "Launches shock waves that\n"
- "always inflict 40 HP damage.");
+ "Launches shock waves that\n"
+ "always inflict 40 HP damage.");
static const u8 sFireSpinDescription[] = _(
- "Traps the foe in a ring of\n"
- "fire for 2 to 5 turns.");
+ "Traps the foe in a ring of\n"
+ "fire for 2 to 5 turns.");
static const u8 sThunderShockDescription[] = _(
- "An electrical attack that\n"
- "may paralyze the foe.");
+ "An electrical attack that\n"
+ "may paralyze the foe.");
static const u8 sThunderboltDescription[] = _(
- "A strong electrical attack\n"
- "that may paralyze the foe.");
+ "A strong electrical attack\n"
+ "that may paralyze the foe.");
static const u8 sThunderWaveDescription[] = _(
- "A weak jolt of electricity\n"
- "that paralyzes the foe.");
+ "A weak jolt of electricity\n"
+ "that paralyzes the foe.");
static const u8 sThunderDescription[] = _(
- "A lightning attack that may\n"
- "cause paralysis.");
+ "A lightning attack that may\n"
+ "cause paralysis.");
static const u8 sRockThrowDescription[] = _(
- "Throws small rocks to\n"
- "strike the foe.");
+ "Throws small rocks to\n"
+ "strike the foe.");
static const u8 sEarthquakeDescription[] = _(
- "A powerful quake, but has\n"
- "no effect on flying foes.");
+ "A powerful quake, but has\n"
+ "no effect on flying foes.");
static const u8 sFissureDescription[] = _(
- "A one-hit KO move that\n"
- "drops the foe in a fissure.");
+ "A one-hit KO move that\n"
+ "drops the foe in a fissure.");
static const u8 sDigDescription[] = _(
- "Digs underground the first\n"
- "turn and strikes next turn.");
+ "Digs underground the first\n"
+ "turn and strikes next turn.");
static const u8 sToxicDescription[] = _(
- "Poisons the foe with an\n"
- "intensifying toxin.");
+ "Poisons the foe with an\n"
+ "intensifying toxin.");
static const u8 sConfusionDescription[] = _(
- "A psychic attack that may\n"
- "cause confusion.");
+ "A psychic attack that may\n"
+ "cause confusion.");
static const u8 sPsychicDescription[] = _(
- "A powerful psychic attack\n"
- "that may lower SP. DEF.");
+ "A powerful psychic attack\n"
+ "that may lower SP. DEF.");
static const u8 sHypnosisDescription[] = _(
- "A hypnotizing move that\n"
- "may induce sleep.");
+ "A hypnotizing move that\n"
+ "may induce sleep.");
static const u8 sMeditateDescription[] = _(
- "Meditates in a peaceful\n"
- "fashion to raise ATTACK.");
+ "Meditates in a peaceful\n"
+ "fashion to raise ATTACK.");
static const u8 sAgilityDescription[] = _(
- "Relaxes the body to sharply\n"
- "boost SPEED.");
+ "Relaxes the body to sharply\n"
+ "boost SPEED.");
static const u8 sQuickAttackDescription[] = _(
- "An extremely fast attack\n"
- "that always strikes first.");
+ "An extremely fast attack\n"
+ "that always strikes first.");
static const u8 sRageDescription[] = _(
- "Raises the user’s ATTACK\n"
- "every time it is hit.");
+ "Raises the user's ATTACK\n"
+ "every time it is hit.");
static const u8 sTeleportDescription[] = _(
- "A psychic move for fleeing\n"
- "from battle instantly.");
+ "A psychic move for fleeing\n"
+ "from battle instantly.");
static const u8 sNightShadeDescription[] = _(
- "Inflicts damage identical\n"
- "to the user’s level.");
+ "Inflicts damage identical\n"
+ "to the user's level.");
static const u8 sMimicDescription[] = _(
- "Copies a move used by the\n"
- "foe during one battle.");
+ "Copies a move used by the\n"
+ "foe during one battle.");
static const u8 sScreechDescription[] = _(
- "Emits a screech to sharply\n"
- "reduce the foe’s DEFENSE.");
+ "Emits a screech to sharply\n"
+ "reduce the foe's DEFENSE.");
static const u8 sDoubleTeamDescription[] = _(
- "Creates illusory copies to\n"
- "raise evasiveness.");
+ "Creates illusory copies to\n"
+ "raise evasiveness.");
static const u8 sRecoverDescription[] = _(
- "Recovers up to half the\n"
- "user’s maximum HP.");
+ "Recovers up to half the\n"
+ "user's maximum HP.");
static const u8 sHardenDescription[] = _(
- "Stiffens the body’s \n"
- "muscles to raise DEFENSE.");
+ "Stiffens the body's \n"
+ "muscles to raise DEFENSE.");
static const u8 sMinimizeDescription[] = _(
- "Minimizes the user’s size\n"
- "to raise evasiveness.");
+ "Minimizes the user's size\n"
+ "to raise evasiveness.");
static const u8 sSmokescreenDescription[] = _(
- "Lowers the foe’s accuracy\n"
- "using smoke, ink, etc.");
+ "Lowers the foe's accuracy\n"
+ "using smoke, ink, etc.");
static const u8 sConfuseRayDescription[] = _(
- "A sinister ray that\n"
- "confuses the foe.");
+ "A sinister ray that\n"
+ "confuses the foe.");
static const u8 sWithdrawDescription[] = _(
- "Withdraws the body into its\n"
- "hard shell to raise DEFENSE.");
+ "Withdraws the body into its\n"
+ "hard shell to raise DEFENSE.");
static const u8 sDefenseCurlDescription[] = _(
- "Curls up to conceal weak\n"
- "spots and raise DEFENSE.");
+ "Curls up to conceal weak\n"
+ "spots and raise DEFENSE.");
static const u8 sBarrierDescription[] = _(
- "Creates a barrier that\n"
- "sharply raises DEFENSE.");
+ "Creates a barrier that\n"
+ "sharply raises DEFENSE.");
static const u8 sLightScreenDescription[] = _(
- "Creates a wall of light that\n"
- "lowers SP. ATK damage.");
+ "Creates a wall of light that\n"
+ "lowers SP. ATK damage.");
static const u8 sHazeDescription[] = _(
- "Creates a black haze that\n"
- "eliminates all stat changes.");
+ "Creates a black haze that\n"
+ "eliminates all stat changes.");
static const u8 sReflectDescription[] = _(
- "Creates a wall of light that\n"
- "weakens physical attacks.");
+ "Creates a wall of light that\n"
+ "weakens physical attacks.");
static const u8 sFocusEnergyDescription[] = _(
- "Focuses power to raise the\n"
- "critical-hit ratio.");
+ "Focuses power to raise the\n"
+ "critical-hit ratio.");
static const u8 sBideDescription[] = _(
- "Endures attack for 2\n"
- "turns to retaliate double.");
+ "Endures attack for 2\n"
+ "turns to retaliate double.");
static const u8 sMetronomeDescription[] = _(
- "Waggles a finger to use any\n"
- "POKéMON move at random.");
+ "Waggles a finger to use any\n"
+ "POKéMON move at random.");
static const u8 sMirrorMoveDescription[] = _(
- "Counters the foe’s attack\n"
- "with the same move.");
+ "Counters the foe's attack\n"
+ "with the same move.");
static const u8 sSelfDestructDescription[] = _(
- "Inflicts severe damage but\n"
- "makes the user faint.");
+ "Inflicts severe damage but\n"
+ "makes the user faint.");
static const u8 sEggBombDescription[] = _(
- "An egg is forcibly hurled at\n"
- "the foe.");
+ "An egg is forcibly hurled at\n"
+ "the foe.");
static const u8 sLickDescription[] = _(
- "Licks with a long tongue to\n"
- "injure. May also paralyze.");
+ "Licks with a long tongue to\n"
+ "injure. May also paralyze.");
static const u8 sSmogDescription[] = _(
- "An exhaust-gas attack\n"
- "that may also poison.");
+ "An exhaust-gas attack\n"
+ "that may also poison.");
static const u8 sSludgeDescription[] = _(
- "Sludge is hurled to inflict\n"
- "damage. May also poison.");
+ "Sludge is hurled to inflict\n"
+ "damage. May also poison.");
static const u8 sBoneClubDescription[] = _(
- "Clubs the foe with a bone.\n"
- "May cause flinching.");
+ "Clubs the foe with a bone.\n"
+ "May cause flinching.");
static const u8 sFireBlastDescription[] = _(
- "Incinerates everything it\n"
- "strikes. May cause a burn.");
+ "Incinerates everything it\n"
+ "strikes. May cause a burn.");
static const u8 sWaterfallDescription[] = _(
- "Charges the foe with speed\n"
- "to climb waterfalls.");
+ "Charges the foe with speed\n"
+ "to climb waterfalls.");
static const u8 sClampDescription[] = _(
- "Traps and squeezes the\n"
- "foe for 2 to 5 turns.");
+ "Traps and squeezes the\n"
+ "foe for 2 to 5 turns.");
static const u8 sSwiftDescription[] = _(
- "Sprays star-shaped rays\n"
- "that never miss.");
+ "Sprays star-shaped rays\n"
+ "that never miss.");
static const u8 sSkullBashDescription[] = _(
- "Tucks in the head, then\n"
- "attacks on the next turn.");
+ "Tucks in the head, then\n"
+ "attacks on the next turn.");
static const u8 sSpikeCannonDescription[] = _(
- "Launches sharp spikes that\n"
- "strike 2 to 5 times.");
+ "Launches sharp spikes that\n"
+ "strike 2 to 5 times.");
static const u8 sConstrictDescription[] = _(
- "Constricts to inflict pain.\n"
- "May lower SPEED.");
+ "Constricts to inflict pain.\n"
+ "May lower SPEED.");
static const u8 sAmnesiaDescription[] = _(
- "Forgets about something\n"
- "and sharply raises SP. DEF.");
+ "Forgets about something\n"
+ "and sharply raises SP. DEF.");
static const u8 sKinesisDescription[] = _(
- "Distracts the foe.\n"
- "May lower accuracy.");
+ "Distracts the foe.\n"
+ "May lower accuracy.");
static const u8 sSoftBoiledDescription[] = _(
- "Recovers up to half the\n"
- "user’s maximum HP.");
+ "Recovers up to half the\n"
+ "user's maximum HP.");
static const u8 sHiJumpKickDescription[] = _(
- "A jumping knee kick. If it\n"
- "misses, the user is hurt.");
+ "A jumping knee kick. If it\n"
+ "misses, the user is hurt.");
static const u8 sGlareDescription[] = _(
- "Intimidates and frightens\n"
- "the foe into paralysis.");
+ "Intimidates and frightens\n"
+ "the foe into paralysis.");
static const u8 sDreamEaterDescription[] = _(
- "Takes one half the damage\n"
- "inflicted on a sleeping foe.");
+ "Takes one half the damage\n"
+ "inflicted on a sleeping foe.");
static const u8 sPoisonGasDescription[] = _(
- "Envelops the foe in a toxic\n"
- "gas that may poison.");
+ "Envelops the foe in a toxic\n"
+ "gas that may poison.");
static const u8 sBarrageDescription[] = _(
- "Hurls round objects at the\n"
- "foe 2 to 5 times.");
+ "Hurls round objects at the\n"
+ "foe 2 to 5 times.");
static const u8 sLeechLifeDescription[] = _(
- "An attack that steals half\n"
- "the damage inflicted.");
+ "An attack that steals half\n"
+ "the damage inflicted.");
static const u8 sLovelyKissDescription[] = _(
- "Demands a kiss with a scary\n"
- "face that induces sleep.");
+ "Demands a kiss with a scary\n"
+ "face that induces sleep.");
static const u8 sSkyAttackDescription[] = _(
- "Searches out weak spots,\n"
- "then strikes the next turn.");
+ "Searches out weak spots,\n"
+ "then strikes the next turn.");
static const u8 sTransformDescription[] = _(
- "Alters the user’s cells to\n"
- "become a copy of the foe.");
+ "Alters the user's cells to\n"
+ "become a copy of the foe.");
static const u8 sBubbleDescription[] = _(
- "An attack using bubbles.\n"
- "May lower the foe’s SPEED.");
+ "An attack using bubbles.\n"
+ "May lower the foe's SPEED.");
static const u8 sDizzyPunchDescription[] = _(
- "A rhythmic punch that may\n"
- "confuse the foe.");
+ "A rhythmic punch that may\n"
+ "confuse the foe.");
static const u8 sSporeDescription[] = _(
- "Scatters a cloud of spores\n"
- "that always induce sleep.");
+ "Scatters a cloud of spores\n"
+ "that always induce sleep.");
static const u8 sFlashDescription[] = _(
- "Looses a powerful blast of\n"
- "light that cuts accuracy.");
+ "Looses a powerful blast of\n"
+ "light that cuts accuracy.");
static const u8 sPsywaveDescription[] = _(
- "Attacks with a psychic\n"
- "wave of varying intensity.");
+ "Attacks with a psychic\n"
+ "wave of varying intensity.");
static const u8 sSplashDescription[] = _(
- "It’s just a splash...\n"
- "Has no effect whatsoever.");
+ "It's just a splash...\n"
+ "Has no effect whatsoever.");
static const u8 sAcidArmorDescription[] = _(
- "Liquifies the user’s body\n"
- "to sharply raise DEFENSE.");
+ "Liquifies the user's body\n"
+ "to sharply raise DEFENSE.");
static const u8 sCrabhammerDescription[] = _(
- "Hammers with a pincer. Has a\n"
- "high critical-hit ratio.");
+ "Hammers with a pincer. Has a\n"
+ "high critical-hit ratio.");
static const u8 sExplosionDescription[] = _(
- "Inflicts severe damage but\n"
- "makes the user faint.");
+ "Inflicts severe damage but\n"
+ "makes the user faint.");
static const u8 sFurySwipesDescription[] = _(
- "Rakes the foe with sharp\n"
- "claws, etc., 2 to 5 times.");
+ "Rakes the foe with sharp\n"
+ "claws, etc., 2 to 5 times.");
static const u8 sBonemerangDescription[] = _(
- "Throws a bone boomerang\n"
- "that strikes twice.");
+ "Throws a bone boomerang\n"
+ "that strikes twice.");
static const u8 sRestDescription[] = _(
- "The user sleeps for 2 turns,\n"
- "restoring HP and status.");
+ "The user sleeps for 2 turns,\n"
+ "restoring HP and status.");
static const u8 sRockSlideDescription[] = _(
- "Large boulders are hurled.\n"
- "May cause flinching.");
+ "Large boulders are hurled.\n"
+ "May cause flinching.");
static const u8 sHyperFangDescription[] = _(
- "Attacks with sharp fangs.\n"
- "May cause flinching.");
+ "Attacks with sharp fangs.\n"
+ "May cause flinching.");
static const u8 sSharpenDescription[] = _(
- "Reduces the polygon count\n"
- "and raises ATTACK.");
+ "Reduces the polygon count\n"
+ "and raises ATTACK.");
static const u8 sConversionDescription[] = _(
- "Changes the user’s type\n"
- "into a known move’s type.");
+ "Changes the user's type\n"
+ "into a known move's type.");
static const u8 sTriAttackDescription[] = _(
- "Fires three types of beams\n"
- "at the same time.");
+ "Fires three types of beams\n"
+ "at the same time.");
static const u8 sSuperFangDescription[] = _(
- "Attacks with sharp fangs\n"
- "and cuts half the foe’s HP.");
+ "Attacks with sharp fangs\n"
+ "and cuts half the foe's HP.");
static const u8 sSlashDescription[] = _(
- "Slashes with claws, etc. Has\n"
- "a high critical-hit ratio.");
+ "Slashes with claws, etc. Has\n"
+ "a high critical-hit ratio.");
static const u8 sSubstituteDescription[] = _(
- "Creates a decoy using 1/4\n"
- "of the user’s maximum HP.");
+ "Creates a decoy using 1/4\n"
+ "of the user's maximum HP.");
static const u8 sStruggleDescription[] = _(
- "Used only if all PP are gone.\n"
- "Also hurts the user a little.");
+ "Used only if all PP are gone.\n"
+ "Also hurts the user a little.");
static const u8 sSketchDescription[] = _(
- "Copies the foe’s last move\n"
- "permanently.");
+ "Copies the foe's last move\n"
+ "permanently.");
static const u8 sTripleKickDescription[] = _(
- "Kicks the foe 3 times in a\n"
- "row with rising intensity.");
+ "Kicks the foe 3 times in a\n"
+ "row with rising intensity.");
static const u8 sThiefDescription[] = _(
- "While attacking, it may\n"
- "steal the foe’s held item.");
+ "While attacking, it may\n"
+ "steal the foe's held item.");
static const u8 sSpiderWebDescription[] = _(
- "Ensnares the foe to stop it\n"
- "from fleeing or switching.");
+ "Ensnares the foe to stop it\n"
+ "from fleeing or switching.");
static const u8 sMindReaderDescription[] = _(
- "Senses the foe’s action to\n"
- "ensure the next move’s hit.");
+ "Senses the foe's action to\n"
+ "ensure the next move's hit.");
static const u8 sNightmareDescription[] = _(
- "Inflicts 1/4 damage on a\n"
- "sleeping foe every turn.");
+ "Inflicts 1/4 damage on a\n"
+ "sleeping foe every turn.");
static const u8 sFlameWheelDescription[] = _(
- "A fiery charge attack that\n"
- "may inflict a burn.");
+ "A fiery charge attack that\n"
+ "may inflict a burn.");
static const u8 sSnoreDescription[] = _(
- "A loud attack that can be\n"
- "used only while asleep.");
+ "A loud attack that can be\n"
+ "used only while asleep.");
static const u8 sCurseDescription[] = _(
- "A move that functions\n"
- "differently for GHOSTS.");
+ "A move that functions\n"
+ "differently for GHOSTS.");
static const u8 sFlailDescription[] = _(
- "Inflicts more damage when\n"
- "the user’s HP is down.");
+ "Inflicts more damage when\n"
+ "the user's HP is down.");
static const u8 sConversion2Description[] = _(
- "Makes the user resistant\n"
- "to the last attack’s type.");
+ "Makes the user resistant\n"
+ "to the last attack's type.");
static const u8 sAeroblastDescription[] = _(
- "Launches a vacuumed blast.\n"
- "High critical-hit ratio.");
+ "Launches a vacuumed blast.\n"
+ "High critical-hit ratio.");
static const u8 sCottonSporeDescription[] = _(
- "Spores cling to the foe,\n"
- "sharply reducing SPEED.");
+ "Spores cling to the foe,\n"
+ "sharply reducing SPEED.");
static const u8 sReversalDescription[] = _(
- "Inflicts more damage when\n"
- "the user’s HP is down.");
+ "Inflicts more damage when\n"
+ "the user's HP is down.");
static const u8 sSpiteDescription[] = _(
- "Spitefully cuts the PP\n"
- "of the foe’s last move.");
+ "Spitefully cuts the PP\n"
+ "of the foe's last move.");
static const u8 sPowderSnowDescription[] = _(
- "Blasts the foe with a snowy\n"
- "gust. May cause freezing.");
+ "Blasts the foe with a snowy\n"
+ "gust. May cause freezing.");
static const u8 sProtectDescription[] = _(
- "Evades attack, but may fail\n"
- "if used in succession.");
+ "Evades attack, but may fail\n"
+ "if used in succession.");
static const u8 sMachPunchDescription[] = _(
- "A punch is thrown at wicked\n"
- "speed to strike first.");
+ "A punch is thrown at wicked\n"
+ "speed to strike first.");
static const u8 sScaryFaceDescription[] = _(
- "Frightens with a scary face\n"
- "to sharply reduce SPEED.");
+ "Frightens with a scary face\n"
+ "to sharply reduce SPEED.");
static const u8 sFaintAttackDescription[] = _(
- "Draws the foe close, then\n"
- "strikes without fail.");
+ "Draws the foe close, then\n"
+ "strikes without fail.");
static const u8 sSweetKissDescription[] = _(
- "Demands a kiss with a cute\n"
- "look. May cause confusion.");
+ "Demands a kiss with a cute\n"
+ "look. May cause confusion.");
static const u8 sBellyDrumDescription[] = _(
- "Maximizes ATTACK while\n"
- "sacrificing HP.");
+ "Maximizes ATTACK while\n"
+ "sacrificing HP.");
static const u8 sSludgeBombDescription[] = _(
- "Sludge is hurled to inflict\n"
- "damage. May also poison.");
+ "Sludge is hurled to inflict\n"
+ "damage. May also poison.");
static const u8 sMudSlapDescription[] = _(
- "Hurls mud in the foe’s face\n"
- "to reduce its accuracy.");
+ "Hurls mud in the foe's face\n"
+ "to reduce its accuracy.");
static const u8 sOctazookaDescription[] = _(
- "Fires a lump of ink to\n"
- "damage and cut accuracy.");
+ "Fires a lump of ink to\n"
+ "damage and cut accuracy.");
static const u8 sSpikesDescription[] = _(
- "Sets spikes that hurt a \n"
- "foe switching in.");
+ "Sets spikes that hurt a \n"
+ "foe switching in.");
static const u8 sZapCannonDescription[] = _(
- "Powerful and sure to cause\n"
- "paralysis, but inaccurate.");
+ "Powerful and sure to cause\n"
+ "paralysis, but inaccurate.");
static const u8 sForesightDescription[] = _(
- "Negates the foe’s efforts\n"
- "to heighten evasiveness.");
+ "Negates the foe's efforts\n"
+ "to heighten evasiveness.");
static const u8 sDestinyBondDescription[] = _(
- "If the user faints, the foe\n"
- "is also made to faint.");
+ "If the user faints, the foe\n"
+ "is also made to faint.");
static const u8 sPerishSongDescription[] = _(
- "Any POKéMON hearing this\n"
- "song faints in 3 turns.");
+ "Any POKéMON hearing this\n"
+ "song faints in 3 turns.");
static const u8 sIcyWindDescription[] = _(
- "A chilling attack that\n"
- "lowers the foe’s SPEED.");
+ "A chilling attack that\n"
+ "lowers the foe's SPEED.");
static const u8 sDetectDescription[] = _(
- "Evades attack, but may fail\n"
- "if used in succession.");
+ "Evades attack, but may fail\n"
+ "if used in succession.");
static const u8 sBoneRushDescription[] = _(
- "Strikes the foe with a bone\n"
- "in hand 2 to 5 times.");
+ "Strikes the foe with a bone\n"
+ "in hand 2 to 5 times.");
static const u8 sLockOnDescription[] = _(
- "Locks on to the foe to\n"
- "ensure the next move hits.");
+ "Locks on to the foe to\n"
+ "ensure the next move hits.");
static const u8 sOutrageDescription[] = _(
- "A rampage of 2 to 3 turns\n"
- "that confuses the user.");
+ "A rampage of 2 to 3 turns\n"
+ "that confuses the user.");
static const u8 sSandstormDescription[] = _(
- "Causes a sandstorm that\n"
- "rages for several turns.");
+ "Causes a sandstorm that\n"
+ "rages for several turns.");
static const u8 sGigaDrainDescription[] = _(
- "An attack that steals half\n"
- "the damage inflicted.");
+ "An attack that steals half\n"
+ "the damage inflicted.");
static const u8 sEndureDescription[] = _(
- "Endures any attack for\n"
- "1 turn, leaving at least 1HP.");
+ "Endures any attack for\n"
+ "1 turn, leaving at least 1HP.");
static const u8 sCharmDescription[] = _(
- "Charms the foe and sharply\n"
- "reduces its ATTACK.");
+ "Charms the foe and sharply\n"
+ "reduces its ATTACK.");
static const u8 sRolloutDescription[] = _(
- "An attack lasting 5 turns\n"
- "with rising intensity.");
+ "An attack lasting 5 turns\n"
+ "with rising intensity.");
static const u8 sFalseSwipeDescription[] = _(
- "An attack that leaves the\n"
- "foe with at least 1 HP.");
+ "An attack that leaves the\n"
+ "foe with at least 1 HP.");
static const u8 sSwaggerDescription[] = _(
- "Confuses the foe, but also\n"
- "sharply raises ATTACK.");
+ "Confuses the foe, but also\n"
+ "sharply raises ATTACK.");
static const u8 sMilkDrinkDescription[] = _(
- "Recovers up to half the\n"
- "user’s maximum HP.");
+ "Recovers up to half the\n"
+ "user's maximum HP.");
static const u8 sSparkDescription[] = _(
- "An electrified tackle that\n"
- "may paralyze the foe.");
+ "An electrified tackle that\n"
+ "may paralyze the foe.");
static const u8 sFuryCutterDescription[] = _(
- "An attack that intensifies\n"
- "on each successive hit.");
+ "An attack that intensifies\n"
+ "on each successive hit.");
static const u8 sSteelWingDescription[] = _(
- "Strikes the foe with hard\n"
- "wings spread wide.");
+ "Strikes the foe with hard\n"
+ "wings spread wide.");
static const u8 sMeanLookDescription[] = _(
- "Fixes the foe with a mean\n"
- "look that prevents escape.");
+ "Fixes the foe with a mean\n"
+ "look that prevents escape.");
static const u8 sAttractDescription[] = _(
- "Makes the opposite gender\n"
- "less likely to attack.");
+ "Makes the opposite gender\n"
+ "less likely to attack.");
static const u8 sSleepTalkDescription[] = _(
- "Uses an available move\n"
- "randomly while asleep.");
+ "Uses an available move\n"
+ "randomly while asleep.");
static const u8 sHealBellDescription[] = _(
- "Chimes soothingly to heal\n"
- "all status abnormalities.");
+ "Chimes soothingly to heal\n"
+ "all status abnormalities.");
static const u8 sReturnDescription[] = _(
- "An attack that increases\n"
- "in power with friendship.");
+ "An attack that increases\n"
+ "in power with friendship.");
static const u8 sPresentDescription[] = _(
- "A gift in the form of a\n"
- "bomb. May restore HP.");
+ "A gift in the form of a\n"
+ "bomb. May restore HP.");
static const u8 sFrustrationDescription[] = _(
- "An attack that is stronger\n"
- "if the TRAINER is disliked.");
+ "An attack that is stronger\n"
+ "if the TRAINER is disliked.");
static const u8 sSafeguardDescription[] = _(
- "A mystical force prevents\n"
- "all status problems.");
+ "A mystical force prevents\n"
+ "all status problems.");
static const u8 sPainSplitDescription[] = _(
- "Adds the user and foe’s HP,\n"
- "then shares them equally.");
+ "Adds the user and foe's HP,\n"
+ "then shares them equally.");
static const u8 sSacredFireDescription[] = _(
- "A mystical fire attack that\n"
- "may inflict a burn.");
+ "A mystical fire attack that\n"
+ "may inflict a burn.");
static const u8 sMagnitudeDescription[] = _(
- "A ground-shaking attack\n"
- "of random intensity.");
+ "A ground-shaking attack\n"
+ "of random intensity.");
static const u8 sDynamicPunchDescription[] = _(
- "Powerful and sure to cause\n"
- "confusion, but inaccurate.");
+ "Powerful and sure to cause\n"
+ "confusion, but inaccurate.");
static const u8 sMegahornDescription[] = _(
- "A brutal ramming attack\n"
- "using out-thrust horns.");
+ "A brutal ramming attack\n"
+ "using out-thrust horns.");
static const u8 sDragonBreathDescription[] = _(
- "Strikes the foe with an\n"
- "incredible blast of breath.");
+ "Strikes the foe with an\n"
+ "incredible blast of breath.");
static const u8 sBatonPassDescription[] = _(
- "Switches out the user while\n"
- "keeping effects in play.");
+ "Switches out the user while\n"
+ "keeping effects in play.");
static const u8 sEncoreDescription[] = _(
- "Makes the foe repeat its\n"
- "last move over 2 to 6 turns.");
+ "Makes the foe repeat its\n"
+ "last move over 2 to 6 turns.");
static const u8 sPursuitDescription[] = _(
- "Inflicts bad damage if used\n"
- "on a foe switching out.");
+ "Inflicts bad damage if used\n"
+ "on a foe switching out.");
static const u8 sRapidSpinDescription[] = _(
- "Spins the body at high\n"
- "speed to strike the foe.");
+ "Spins the body at high\n"
+ "speed to strike the foe.");
static const u8 sSweetScentDescription[] = _(
- "Allures the foe to reduce\n"
- "evasiveness.");
+ "Allures the foe to reduce\n"
+ "evasiveness.");
static const u8 sIronTailDescription[] = _(
- "Attacks with a rock-hard\n"
- "tail. May lower DEFENSE.");
+ "Attacks with a rock-hard\n"
+ "tail. May lower DEFENSE.");
static const u8 sMetalClawDescription[] = _(
- "A claw attack that may\n"
- "raise the user’s ATTACK.");
+ "A claw attack that may\n"
+ "raise the user's ATTACK.");
static const u8 sVitalThrowDescription[] = _(
- "Makes the user’s move last,\n"
- "but it never misses.");
+ "Makes the user's move last,\n"
+ "but it never misses.");
static const u8 sMorningSunDescription[] = _(
- "Restores HP. The amount\n"
- "varies with the weather.");
+ "Restores HP. The amount\n"
+ "varies with the weather.");
static const u8 sSynthesisDescription[] = _(
- "Restores HP. The amount\n"
- "varies with the weather.");
+ "Restores HP. The amount\n"
+ "varies with the weather.");
static const u8 sMoonlightDescription[] = _(
- "Restores HP. The amount\n"
- "varies with the weather.");
+ "Restores HP. The amount\n"
+ "varies with the weather.");
static const u8 sHiddenPowerDescription[] = _(
- "The effectiveness varies\n"
- "with the user.");
+ "The effectiveness varies\n"
+ "with the user.");
static const u8 sCrossChopDescription[] = _(
- "A double-chopping attack.\n"
- "High critical-hit ratio.");
+ "A double-chopping attack.\n"
+ "High critical-hit ratio.");
static const u8 sTwisterDescription[] = _(
- "Whips up a vicious twister\n"
- "to tear at the foe.");
+ "Whips up a vicious twister\n"
+ "to tear at the foe.");
static const u8 sRainDanceDescription[] = _(
- "Boosts the power of WATER-\n"
- "type moves for 5 turns.");
+ "Boosts the power of WATER-\n"
+ "type moves for 5 turns.");
static const u8 sSunnyDayDescription[] = _(
- "Boosts the power of FIRE-\n"
- "type moves for 5 turns.");
+ "Boosts the power of FIRE-\n"
+ "type moves for 5 turns.");
static const u8 sCrunchDescription[] = _(
- "Crunches with sharp fangs.\n"
- "May lower SP. DEF.");
+ "Crunches with sharp fangs.\n"
+ "May lower SP. DEF.");
static const u8 sMirrorCoatDescription[] = _(
- "Counters the foe’s special\n"
- "attack at double the power.");
+ "Counters the foe's special\n"
+ "attack at double the power.");
static const u8 sPsychUpDescription[] = _(
- "Copies the foe’s effect(s)\n"
- "and gives to the user.");
+ "Copies the foe's effect(s)\n"
+ "and gives to the user.");
static const u8 sExtremeSpeedDescription[] = _(
- "An extremely fast and\n"
- "powerful attack.");
+ "An extremely fast and\n"
+ "powerful attack.");
static const u8 sAncientPowerDescription[] = _(
- "An attack that may raise\n"
- "all stats.");
+ "An attack that may raise\n"
+ "all stats.");
static const u8 sShadowBallDescription[] = _(
- "Hurls a black blob that may\n"
- "lower the foe’s SP. DEF.");
+ "Hurls a black blob that may\n"
+ "lower the foe's SP. DEF.");
static const u8 sFutureSightDescription[] = _(
- "Heightens inner power to\n"
- "strike 2 turns later.");
+ "Heightens inner power to\n"
+ "strike 2 turns later.");
static const u8 sRockSmashDescription[] = _(
- "A rock-crushing attack\n"
- "that may lower DEFENSE.");
+ "A rock-crushing attack\n"
+ "that may lower DEFENSE.");
static const u8 sWhirlpoolDescription[] = _(
- "Traps and hurts the foe in\n"
- "a whirlpool for 2 to 5 turns.");
+ "Traps and hurts the foe in\n"
+ "a whirlpool for 2 to 5 turns.");
static const u8 sBeatUpDescription[] = _(
- "Summons party POKéMON to\n"
- "join in the attack.");
+ "Summons party POKéMON to\n"
+ "join in the attack.");
static const u8 sFakeOutDescription[] = _(
- "A 1st-turn, 1st-strike move\n"
- "that causes flinching.");
+ "A 1st-turn, 1st-strike move\n"
+ "that causes flinching.");
static const u8 sUproarDescription[] = _(
- "Causes an uproar for 2 to 5\n"
- "turns and prevents sleep.");
+ "Causes an uproar for 2 to 5\n"
+ "turns and prevents sleep.");
static const u8 sStockpileDescription[] = _(
- "Charges up power for up to\n"
- "3 turns.");
+ "Charges up power for up to\n"
+ "3 turns.");
static const u8 sSpitUpDescription[] = _(
- "Releases stockpiled power\n"
- "(the more the better).");
+ "Releases stockpiled power\n"
+ "(the more the better).");
static const u8 sSwallowDescription[] = _(
- "Absorbs stockpiled power\n"
- "and restores HP.");
+ "Absorbs stockpiled power\n"
+ "and restores HP.");
static const u8 sHeatWaveDescription[] = _(
- "Exhales a hot breath on the\n"
- "foe. May inflict a burn.");
+ "Exhales a hot breath on the\n"
+ "foe. May inflict a burn.");
static const u8 sHailDescription[] = _(
- "Summons a hailstorm that\n"
- "strikes every turn.");
+ "Summons a hailstorm that\n"
+ "strikes every turn.");
static const u8 sTormentDescription[] = _(
- "Torments the foe and stops\n"
- "successive use of a move.");
+ "Torments the foe and stops\n"
+ "successive use of a move.");
static const u8 sFlatterDescription[] = _(
- "Confuses the foe, but\n"
- "raises its SP. ATK.");
+ "Confuses the foe, but\n"
+ "raises its SP. ATK.");
static const u8 sWillOWispDescription[] = _(
- "Inflicts a burn on the foe\n"
- "with intense fire.");
+ "Inflicts a burn on the foe\n"
+ "with intense fire.");
static const u8 sMementoDescription[] = _(
- "The user faints and lowers\n"
- "the foe’s abilities.");
+ "The user faints and lowers\n"
+ "the foe's abilities.");
static const u8 sFacadeDescription[] = _(
- "Boosts ATTACK when burned,\n"
- "paralyzed, or poisoned.");
+ "Boosts ATTACK when burned,\n"
+ "paralyzed, or poisoned.");
static const u8 sFocusPunchDescription[] = _(
- "A powerful loyalty attack.\n"
- "The user flinches if hit.");
+ "A powerful loyalty attack.\n"
+ "The user flinches if hit.");
static const u8 sSmellingSaltDescription[] = _(
- "Powerful against paralyzed\n"
- "foes, but also heals them.");
+ "Powerful against paralyzed\n"
+ "foes, but also heals them.");
static const u8 sFollowMeDescription[] = _(
- "Draws attention to make\n"
- "foes attack only the user.");
+ "Draws attention to make\n"
+ "foes attack only the user.");
static const u8 sNaturePowerDescription[] = _(
- "The type of attack varies\n"
- "depending on the location.");
+ "The type of attack varies\n"
+ "depending on the location.");
static const u8 sChargeDescription[] = _(
- "Charges power to boost the\n"
- "electric move used next.");
+ "Charges power to boost the\n"
+ "electric move used next.");
static const u8 sTauntDescription[] = _(
- "Taunts the foe into only\n"
- "using attack moves.");
+ "Taunts the foe into only\n"
+ "using attack moves.");
static const u8 sHelpingHandDescription[] = _(
- "Boosts the power of the\n"
- "recipient’s moves.");
+ "Boosts the power of the\n"
+ "recipient's moves.");
static const u8 sTrickDescription[] = _(
- "Tricks the foe into trading\n"
- "held items.");
+ "Tricks the foe into trading\n"
+ "held items.");
static const u8 sRolePlayDescription[] = _(
- "Mimics the target and\n"
- "copies its special ability.");
+ "Mimics the target and\n"
+ "copies its special ability.");
static const u8 sWishDescription[] = _(
- "A wish that restores HP.\n"
- "It takes time to work.");
+ "A wish that restores HP.\n"
+ "It takes time to work.");
static const u8 sAssistDescription[] = _(
- "Attacks randomly with one\n"
- "of the partner’s moves.");
+ "Attacks randomly with one\n"
+ "of the partner's moves.");
static const u8 sIngrainDescription[] = _(
- "Lays roots that restore HP.\n"
- "The user can’t switch out.");
+ "Lays roots that restore HP.\n"
+ "The user can't switch out.");
static const u8 sSuperpowerDescription[] = _(
- "Boosts strength sharply,\n"
- "but lowers abilities.");
+ "Boosts strength sharply,\n"
+ "but lowers abilities.");
static const u8 sMagicCoatDescription[] = _(
- "Reflects special effects\n"
- "back to the attacker.");
+ "Reflects special effects\n"
+ "back to the attacker.");
static const u8 sRecycleDescription[] = _(
- "Recycles a used item for\n"
- "one more use.");
+ "Recycles a used item for\n"
+ "one more use.");
static const u8 sRevengeDescription[] = _(
- "An attack that gains power\n"
- "if injured by the foe.");
+ "An attack that gains power\n"
+ "if injured by the foe.");
static const u8 sBrickBreakDescription[] = _(
- "Destroys barriers such as\n"
- "REFLECT and causes damage.");
+ "Destroys barriers such as\n"
+ "REFLECT and causes damage.");
static const u8 sYawnDescription[] = _(
- "Lulls the foe into yawning,\n"
- "then sleeping next turn.");
+ "Lulls the foe into yawning,\n"
+ "then sleeping next turn.");
static const u8 sKnockOffDescription[] = _(
- "Knocks down the foe’s held\n"
- "item to prevent its use.");
+ "Knocks down the foe's held\n"
+ "item to prevent its use.");
static const u8 sEndeavorDescription[] = _(
- "Gains power if the user’s HP\n"
- "is lower than the foe’s HP.");
+ "Gains power if the user's HP\n"
+ "is lower than the foe's HP.");
static const u8 sEruptionDescription[] = _(
- "The higher the user’s HP,\n"
- "the more damage caused.");
+ "The higher the user's HP,\n"
+ "the more damage caused.");
static const u8 sSkillSwapDescription[] = _(
- "The user swaps special\n"
- "abilities with the target.");
+ "The user swaps special\n"
+ "abilities with the target.");
static const u8 sImprisonDescription[] = _(
- "Prevents foes from using\n"
- "moves known by the user.");
+ "Prevents foes from using\n"
+ "moves known by the user.");
static const u8 sRefreshDescription[] = _(
- "Heals poisoning, paralysis,\n"
- "or a burn.");
+ "Heals poisoning, paralysis,\n"
+ "or a burn.");
static const u8 sGrudgeDescription[] = _(
- "If the user faints, deletes\n"
- "all PP of foe’s last move.");
+ "If the user faints, deletes\n"
+ "all PP of foe's last move.");
static const u8 sSnatchDescription[] = _(
- "Steals the effects of the\n"
- "move the target uses next.");
+ "Steals the effects of the\n"
+ "move the target uses next.");
static const u8 sSecretPowerDescription[] = _(
- "An attack with effects\n"
- "that vary by location.");
+ "An attack with effects\n"
+ "that vary by location.");
static const u8 sDiveDescription[] = _(
- "Dives underwater the first\n"
- "turn and strikes next turn.");
+ "Dives underwater the first\n"
+ "turn and strikes next turn.");
static const u8 sArmThrustDescription[] = _(
- "Straight-arm punches that\n"
- "strike the foe 2 to 5 times.");
+ "Straight-arm punches that\n"
+ "strike the foe 2 to 5 times.");
static const u8 sCamouflageDescription[] = _(
- "Alters the POKéMON’s type\n"
- "depending on the location.");
+ "Alters the POKéMON's type\n"
+ "depending on the location.");
static const u8 sTailGlowDescription[] = _(
- "Flashes a light that sharply\n"
- "raises SP. ATK.");
+ "Flashes a light that sharply\n"
+ "raises SP. ATK.");
static const u8 sLusterPurgeDescription[] = _(
- "Attacks with a burst of\n"
- "light. May lower SP. DEF.");
+ "Attacks with a burst of\n"
+ "light. May lower SP. DEF.");
static const u8 sMistBallDescription[] = _(
- "Attacks with a flurry of\n"
- "down. May lower SP. ATK.");
+ "Attacks with a flurry of\n"
+ "down. May lower SP. ATK.");
static const u8 sFeatherDanceDescription[] = _(
- "Envelops the foe with down\n"
- "to sharply reduce ATTACK.");
+ "Envelops the foe with down\n"
+ "to sharply reduce ATTACK.");
static const u8 sTeeterDanceDescription[] = _(
- "Confuses all POKéMON on\n"
- "the scene.");
+ "Confuses all POKéMON on\n"
+ "the scene.");
static const u8 sBlazeKickDescription[] = _(
- "A kick with a high critical-\n"
- "hit ratio. May cause a burn.");
+ "A kick with a high critical-\n"
+ "hit ratio. May cause a burn.");
static const u8 sMudSportDescription[] = _(
- "Covers the user in mud to\n"
- "raise electrical resistance.");
+ "Covers the user in mud to\n"
+ "raise electrical resistance.");
static const u8 sIceBallDescription[] = _(
- "A 5-turn attack that gains\n"
- "power on successive hits.");
+ "A 5-turn attack that gains\n"
+ "power on successive hits.");
static const u8 sNeedleArmDescription[] = _(
- "Attacks with thorny arms.\n"
- "May cause flinching.");
+ "Attacks with thorny arms.\n"
+ "May cause flinching.");
static const u8 sSlackOffDescription[] = _(
- "Slacks off and restores\n"
- "half the maximum HP.");
+ "Slacks off and restores\n"
+ "half the maximum HP.");
static const u8 sHyperVoiceDescription[] = _(
- "A loud attack that uses\n"
- "sound waves to injure.");
+ "A loud attack that uses\n"
+ "sound waves to injure.");
static const u8 sPoisonFangDescription[] = _(
- "A sharp-fanged attack.\n"
- "May badly poison the foe.");
+ "A sharp-fanged attack.\n"
+ "May badly poison the foe.");
static const u8 sCrushClawDescription[] = _(
- "Tears at the foe with sharp\n"
- "claws. May lower DEFENSE.");
+ "Tears at the foe with sharp\n"
+ "claws. May lower DEFENSE.");
static const u8 sBlastBurnDescription[] = _(
- "Powerful, but leaves the\n"
- "user immobile the next turn.");
+ "Powerful, but leaves the\n"
+ "user immobile the next turn.");
static const u8 sHydroCannonDescription[] = _(
- "Powerful, but leaves the\n"
- "user immobile the next turn.");
+ "Powerful, but leaves the\n"
+ "user immobile the next turn.");
static const u8 sMeteorMashDescription[] = _(
- "Fires a meteor-like punch.\n"
- "May raise ATTACK.");
+ "Fires a meteor-like punch.\n"
+ "May raise ATTACK.");
static const u8 sAstonishDescription[] = _(
- "An attack that may shock\n"
- "the foe into flinching.");
+ "An attack that may shock\n"
+ "the foe into flinching.");
static const u8 sWeatherBallDescription[] = _(
- "The move’s type and power\n"
- "change with the weather.");
+ "The move's type and power\n"
+ "change with the weather.");
static const u8 sAromatherapyDescription[] = _(
- "Heals all status problems\n"
- "with a soothing scent.");
+ "Heals all status problems\n"
+ "with a soothing scent.");
static const u8 sFakeTearsDescription[] = _(
- "Feigns crying to sharply\n"
- "lower the foe’s SP. DEF.");
+ "Feigns crying to sharply\n"
+ "lower the foe's SP. DEF.");
static const u8 sAirCutterDescription[] = _(
- "Hacks with razorlike wind.\n"
- "High critical-hit ratio.");
+ "Hacks with razorlike wind.\n"
+ "High critical-hit ratio.");
static const u8 sOverheatDescription[] = _(
- "Allows a full-power attack,\n"
- "but sharply lowers SP. ATK.");
+ "Allows a full-power attack,\n"
+ "but sharply lowers SP. ATK.");
static const u8 sOdorSleuthDescription[] = _(
- "Negates the foe’s efforts\n"
- "to heighten evasiveness.");
+ "Negates the foe's efforts\n"
+ "to heighten evasiveness.");
static const u8 sRockTombDescription[] = _(
- "Stops the foe from moving\n"
- "with rocks and cuts SPEED.");
+ "Stops the foe from moving\n"
+ "with rocks and cuts SPEED.");
static const u8 sSilverWindDescription[] = _(
- "A powdery attack that may\n"
- "raise abilities.");
+ "A powdery attack that may\n"
+ "raise abilities.");
static const u8 sMetalSoundDescription[] = _(
- "Emits a horrible screech\n"
- "that sharply lowers SP. DEF.");
+ "Emits a horrible screech\n"
+ "that sharply lowers SP. DEF.");
static const u8 sGrassWhistleDescription[] = _(
- "Lulls the foe into sleep\n"
- "with a pleasant melody.");
+ "Lulls the foe into sleep\n"
+ "with a pleasant melody.");
static const u8 sTickleDescription[] = _(
- "Makes the foe laugh to\n"
- "lower ATTACK and DEFENSE.");
+ "Makes the foe laugh to\n"
+ "lower ATTACK and DEFENSE.");
static const u8 sCosmicPowerDescription[] = _(
- "Raises DEFENSE and SP. DEF\n"
- "with a mystic power.");
+ "Raises DEFENSE and SP. DEF\n"
+ "with a mystic power.");
static const u8 sWaterSpoutDescription[] = _(
- "Inflicts more damage if the\n"
- "user’s HP is high.");
+ "Inflicts more damage if the\n"
+ "user's HP is high.");
static const u8 sSignalBeamDescription[] = _(
- "A strange beam attack that\n"
- "may confuse the foe.");
+ "A strange beam attack that\n"
+ "may confuse the foe.");
static const u8 sShadowPunchDescription[] = _(
- "An unavoidable punch that\n"
- "is thrown from shadows.");
+ "An unavoidable punch that\n"
+ "is thrown from shadows.");
static const u8 sExtrasensoryDescription[] = _(
- "Attacks with a peculiar\n"
- "power. May cause flinching.");
+ "Attacks with a peculiar\n"
+ "power. May cause flinching.");
static const u8 sSkyUppercutDescription[] = _(
- "An uppercut thrown as if\n"
- "leaping into the sky.");
+ "An uppercut thrown as if\n"
+ "leaping into the sky.");
static const u8 sSandTombDescription[] = _(
- "Traps and hurts the foe in\n"
- "quicksand for 2 to 5 turns.");
+ "Traps and hurts the foe in\n"
+ "quicksand for 2 to 5 turns.");
static const u8 sSheerColdDescription[] = _(
- "A chilling attack that\n"
- "causes fainting if it hits.");
+ "A chilling attack that\n"
+ "causes fainting if it hits.");
static const u8 sMuddyWaterDescription[] = _(
- "Attacks with muddy water.\n"
- "May lower accuracy.");
+ "Attacks with muddy water.\n"
+ "May lower accuracy.");
static const u8 sBulletSeedDescription[] = _(
- "Shoots 2 to 5 seeds in a row\n"
- "to strike the foe.");
+ "Shoots 2 to 5 seeds in a row\n"
+ "to strike the foe.");
static const u8 sAerialAceDescription[] = _(
- "An extremely speedy and\n"
- "unavoidable attack.");
+ "An extremely speedy and\n"
+ "unavoidable attack.");
static const u8 sIcicleSpearDescription[] = _(
- "Attacks the foe by firing\n"
- "2 to 5 icicles in a row.");
+ "Attacks the foe by firing\n"
+ "2 to 5 icicles in a row.");
static const u8 sIronDefenseDescription[] = _(
- "Hardens the body’s surface\n"
- "to sharply raise DEFENSE.");
+ "Hardens the body's surface\n"
+ "to sharply raise DEFENSE.");
static const u8 sBlockDescription[] = _(
- "Blocks the foe’s way to\n"
- "prevent escape.");
+ "Blocks the foe's way to\n"
+ "prevent escape.");
static const u8 sHowlDescription[] = _(
- "Howls to raise the spirit\n"
- "and boosts ATTACK.");
+ "Howls to raise the spirit\n"
+ "and boosts ATTACK.");
static const u8 sDragonClawDescription[] = _(
- "Slashes the foe with sharp\n"
- "claws.");
+ "Slashes the foe with sharp\n"
+ "claws.");
static const u8 sFrenzyPlantDescription[] = _(
- "Powerful, but leaves the\n"
- "user immobile the next turn.");
+ "Powerful, but leaves the\n"
+ "user immobile the next turn.");
static const u8 sBulkUpDescription[] = _(
- "Bulks up the body to boost\n"
- "both ATTACK and DEFENSE.");
+ "Bulks up the body to boost\n"
+ "both ATTACK and DEFENSE.");
static const u8 sBounceDescription[] = _(
- "Bounces up, then down the\n"
- "next turn. May paralyze.");
+ "Bounces up, then down the\n"
+ "next turn. May paralyze.");
static const u8 sMudShotDescription[] = _(
- "Hurls mud at the foe and\n"
- "reduces SPEED.");
+ "Hurls mud at the foe and\n"
+ "reduces SPEED.");
static const u8 sPoisonTailDescription[] = _(
- "Has a high critical-hit\n"
- "ratio. May also poison.");
+ "Has a high critical-hit\n"
+ "ratio. May also poison.");
static const u8 sCovetDescription[] = _(
- "Cutely begs to obtain an\n"
- "item held by the foe.");
+ "Cutely begs to obtain an\n"
+ "item held by the foe.");
static const u8 sVoltTackleDescription[] = _(
- "A life-risking tackle that\n"
- "slightly hurts the user.");
+ "A life-risking tackle that\n"
+ "slightly hurts the user.");
static const u8 sMagicalLeafDescription[] = _(
- "Attacks with a strange leaf\n"
- "that cannot be evaded.");
+ "Attacks with a strange leaf\n"
+ "that cannot be evaded.");
static const u8 sWaterSportDescription[] = _(
- "The user becomes soaked to\n"
- "raise resistance to fire.");
+ "The user becomes soaked to\n"
+ "raise resistance to fire.");
static const u8 sCalmMindDescription[] = _(
- "Raises SP. ATK and SP. DEF\n"
- "by focusing the mind.");
+ "Raises SP. ATK and SP. DEF\n"
+ "by focusing the mind.");
static const u8 sLeafBladeDescription[] = _(
- "Slashes with a sharp leaf.\n"
- "High critical-hit ratio.");
+ "Slashes with a sharp leaf.\n"
+ "High critical-hit ratio.");
static const u8 sDragonDanceDescription[] = _(
- "A mystical dance that ups\n"
- "ATTACK and SPEED.");
+ "A mystical dance that ups\n"
+ "ATTACK and SPEED.");
static const u8 sRockBlastDescription[] = _(
- "Hurls boulders at the foe\n"
- "2 to 5 times in a row.");
+ "Hurls boulders at the foe\n"
+ "2 to 5 times in a row.");
static const u8 sShockWaveDescription[] = _(
- "A fast and unavoidable\n"
- "electric attack.");
+ "A fast and unavoidable\n"
+ "electric attack.");
static const u8 sWaterPulseDescription[] = _(
- "Attacks with ultrasonic\n"
- "waves. May confuse the foe.");
+ "Attacks with ultrasonic\n"
+ "waves. May confuse the foe.");
static const u8 sDoomDesireDescription[] = _(
- "Summons strong sunlight to\n"
- "attack 2 turns later.");
+ "Summons strong sunlight to\n"
+ "attack 2 turns later.");
static const u8 sPsychoBoostDescription[] = _(
- "Allows a full-power attack,\n"
- "but sharply lowers SP. ATK.");
+ "Allows a full-power attack,\n"
+ "but 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] =
diff --git a/src/data/text/species_names.h b/src/data/text/species_names.h
index 840beb22b..25f2c9aa2 100644
--- a/src/data/text/species_names.h
+++ b/src/data/text/species_names.h
@@ -82,7 +82,7 @@ const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = {
[SPECIES_SLOWBRO] = _("SLOWBRO"),
[SPECIES_MAGNEMITE] = _("MAGNEMITE"),
[SPECIES_MAGNETON] = _("MAGNETON"),
- [SPECIES_FARFETCHD] = _("FARFETCH’D"),
+ [SPECIES_FARFETCHD] = _("FARFETCH'D"),
[SPECIES_DODUO] = _("DODUO"),
[SPECIES_DODRIO] = _("DODRIO"),
[SPECIES_SEEL] = _("SEEL"),
diff --git a/src/data/text/trainer_class_names.h b/src/data/text/trainer_class_names.h
index 7a126a128..dd750b354 100644
--- a/src/data/text/trainer_class_names.h
+++ b/src/data/text/trainer_class_names.h
@@ -1,73 +1,68 @@
-#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"),
+ [TRAINER_CLASS_PKMN_TRAINER_1] = _("{PKMN} TRAINER"),
+ [TRAINER_CLASS_PKMN_TRAINER_2] = _("{PKMN} TRAINER"),
+ [TRAINER_CLASS_HIKER] = _("HIKER"),
+ [TRAINER_CLASS_TEAM_AQUA] = _("TEAM AQUA"),
+ [TRAINER_CLASS_PKMN_BREEDER] = _("{PKMN} BREEDER"),
+ [TRAINER_CLASS_COOLTRAINER] = _("COOLTRAINER"),
+ [TRAINER_CLASS_BIRD_KEEPER] = _("BIRD KEEPER"),
+ [TRAINER_CLASS_COLLECTOR] = _("COLLECTOR"),
+ [TRAINER_CLASS_SWIMMER_M] = _("SWIMMER♂"),
+ [TRAINER_CLASS_TEAM_MAGMA] = _("TEAM MAGMA"),
+ [TRAINER_CLASS_EXPERT] = _("EXPERT"),
+ [TRAINER_CLASS_AQUA_ADMIN] = _("AQUA ADMIN"),
+ [TRAINER_CLASS_BLACK_BELT] = _("BLACK BELT"),
+ [TRAINER_CLASS_AQUA_LEADER] = _("AQUA LEADER"),
+ [TRAINER_CLASS_HEX_MANIAC] = _("HEX MANIAC"),
+ [TRAINER_CLASS_AROMA_LADY] = _("AROMA LADY"),
+ [TRAINER_CLASS_RUIN_MANIAC] = _("RUIN MANIAC"),
+ [TRAINER_CLASS_INTERVIEWER] = _("INTERVIEWER"),
+ [TRAINER_CLASS_TUBER_F] = _("TUBER"),
+ [TRAINER_CLASS_TUBER_M] = _("TUBER"),
+ [TRAINER_CLASS_LADY] = _("LADY"),
+ [TRAINER_CLASS_BEAUTY] = _("BEAUTY"),
+ [TRAINER_CLASS_RICH_BOY] = _("RICH BOY"),
+ [TRAINER_CLASS_POKEMANIAC] = _("POKéMANIAC"),
+ [TRAINER_CLASS_GUITARIST] = _("GUITARIST"),
+ [TRAINER_CLASS_KINDLER] = _("KINDLER"),
+ [TRAINER_CLASS_CAMPER] = _("CAMPER"),
+ [TRAINER_CLASS_PICNICKER] = _("PICNICKER"),
+ [TRAINER_CLASS_BUG_MANIAC] = _("BUG MANIAC"),
+ [TRAINER_CLASS_PSYCHIC] = _("PSYCHIC"),
+ [TRAINER_CLASS_GENTLEMAN] = _("GENTLEMAN"),
+ [TRAINER_CLASS_ELITE_FOUR] = _("ELITE FOUR"),
+ [TRAINER_CLASS_LEADER] = _("LEADER"),
+ [TRAINER_CLASS_SCHOOL_KID] = _("SCHOOL KID"),
+ [TRAINER_CLASS_SR_AND_JR] = _("SR. AND JR."),
+ [TRAINER_CLASS_WINSTRATE] = _("WINSTRATE"),
+ [TRAINER_CLASS_POKEFAN] = _("POKéFAN"),
+ [TRAINER_CLASS_YOUNGSTER] = _("YOUNGSTER"),
+ [TRAINER_CLASS_CHAMPION] = _("CHAMPION"),
+ [TRAINER_CLASS_FISHERMAN] = _("FISHERMAN"),
+ [TRAINER_CLASS_TRIATHLETE] = _("TRIATHLETE"),
+ [TRAINER_CLASS_DRAGON_TAMER] = _("DRAGON TAMER"),
+ [TRAINER_CLASS_NINJA_BOY] = _("NINJA BOY"),
+ [TRAINER_CLASS_BATTLE_GIRL] = _("BATTLE GIRL"),
+ [TRAINER_CLASS_PARASOL_LADY] = _("PARASOL LADY"),
+ [TRAINER_CLASS_SWIMMER_F] = _("SWIMMER♀"),
+ [TRAINER_CLASS_TWINS] = _("TWINS"),
+ [TRAINER_CLASS_SAILOR] = _("SAILOR"),
+ [TRAINER_CLASS_COOLTRAINER_UNUSED] = _("COOLTRAINER"),
+ [TRAINER_CLASS_MAGMA_ADMIN] = _("MAGMA ADMIN"),
+ [TRAINER_CLASS_PKMN_TRAINER_3] = _("{PKMN} TRAINER"),
+ [TRAINER_CLASS_BUG_CATCHER] = _("BUG CATCHER"),
+ [TRAINER_CLASS_PKMN_RANGER] = _("{PKMN} RANGER"),
+ [TRAINER_CLASS_MAGMA_LEADER] = _("MAGMA LEADER"),
+ [TRAINER_CLASS_LASS] = _("LASS"),
+ [TRAINER_CLASS_YOUNG_COUPLE] = _("YOUNG COUPLE"),
+ [TRAINER_CLASS_OLD_COUPLE] = _("OLD COUPLE"),
+ [TRAINER_CLASS_SIS_AND_BRO] = _("SIS AND BRO"),
+ [TRAINER_CLASS_SALON_MAIDEN] = _("SALON MAIDEN"),
+ [TRAINER_CLASS_DOME_ACE] = _("DOME ACE"),
+ [TRAINER_CLASS_PALACE_MAVEN] = _("PALACE MAVEN"),
+ [TRAINER_CLASS_ARENA_TYCOON] = _("ARENA TYCOON"),
+ [TRAINER_CLASS_FACTORY_HEAD] = _("FACTORY HEAD"),
+ [TRAINER_CLASS_PIKE_QUEEN] = _("PIKE QUEEN"),
+ [TRAINER_CLASS_PYRAMID_KING] = _("PYRAMID KING"),
+ [TRAINER_CLASS_PKMN_TRAINER_4] = _("{PKMN} TRAINER"),
};
-
-#endif
diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h
index b72726506..371e5a300 100644
--- a/src/data/trainer_graphics/front_pic_anims.h
+++ b/src/data/trainer_graphics/front_pic_anims.h
@@ -1,3 +1,5 @@
+#include "constants/trainers.h"
+
const union AnimCmd *const gTrainerFrontAnims_Hiker[] ={
gAnimCmd_General_Frame0,
};
@@ -202,11 +204,11 @@ const union AnimCmd *const gTrainerFrontAnims_SrAndJr[] ={
gAnimCmd_General_Frame0,
};
-const union AnimCmd *const gTrainerFrontAnims_WinstrateM[] ={
+const union AnimCmd *const gTrainerFrontAnims_PokefanM[] ={
gAnimCmd_General_Frame0,
};
-const union AnimCmd *const gTrainerFrontAnims_WinstrateF[] ={
+const union AnimCmd *const gTrainerFrontAnims_PokefanF[] ={
gAnimCmd_General_Frame0,
};
@@ -372,97 +374,97 @@ const union AnimCmd *const gTrainerFrontAnims_RubySapphireMay[] ={
const union AnimCmd *const *const gTrainerFrontAnimsPtrTable[] =
{
- gTrainerFrontAnims_Hiker, // TRAINER_PIC_HIKER
- gTrainerFrontAnims_AquaGruntM, // TRAINER_PIC_AQUA_GRUNT_M
- gTrainerFrontAnims_PokemonBreederF, // TRAINER_PIC_POKEMON_BREEDER_F
- gTrainerFrontAnims_CoolTrainerM, // TRAINER_PIC_COOL_TRAINER_M
- gTrainerFrontAnims_BirdKeeper, // TRAINER_PIC_BIRD_KEEPER
- gTrainerFrontAnims_Collector, // TRAINER_PIC_COLLECTOR
- gTrainerFrontAnims_AquaGruntF, // TRAINER_PIC_AQUA_GRUNT_F
- gTrainerFrontAnims_SwimmerM, // TRAINER_PIC_SWIMMER_M
- gTrainerFrontAnims_MagmaGruntM, // TRAINER_PIC_MAGMA_GRUNT_M
- gTrainerFrontAnims_ExpertM, // TRAINER_PIC_EXPERT_M
- gTrainerFrontAnims_AquaAdminM, // TRAINER_PIC_AQUA_ADMIN_M
- gTrainerFrontAnims_BlackBelt, // TRAINER_PIC_BLACK_BELT
- gTrainerFrontAnims_AquaAdminF, // TRAINER_PIC_AQUA_ADMIN_F
- gTrainerFrontAnims_AquaLeaderArchie, // TRAINER_PIC_AQUA_LEADER_ARCHIE
- gTrainerFrontAnims_HexManiac, // TRAINER_PIC_HEX_MANIAC
- gTrainerFrontAnims_AromaLady, // TRAINER_PIC_AROMA_LADY
- gTrainerFrontAnims_RuinManiac, // TRAINER_PIC_RUIN_MANIAC
- gTrainerFrontAnims_Interviewer, // TRAINER_PIC_INTERVIEWER
- gTrainerFrontAnims_TuberF, // TRAINER_PIC_TUBER_F
- gTrainerFrontAnims_TuberM, // TRAINER_PIC_TUBER_M
- gTrainerFrontAnims_CoolTrainerF, // TRAINER_PIC_COOL_TRAINER_F
- gTrainerFrontAnims_Lady, // TRAINER_PIC_LADY
- gTrainerFrontAnims_Beauty, // TRAINER_PIC_BEAUTY
- gTrainerFrontAnims_RichBoy, // TRAINER_PIC_RICH_BOY
- gTrainerFrontAnims_ExpertF, // TRAINER_PIC_EXPERT_F
- gTrainerFrontAnims_Pokemaniac, // TRAINER_PIC_POKEMANIAC
- gTrainerFrontAnims_MagmaGruntF, // TRAINER_PIC_MAGMA_GRUNT_F
- gTrainerFrontAnims_Guitarist, // TRAINER_PIC_GUITARIST
- gTrainerFrontAnims_Kindler, // TRAINER_PIC_KINDLER
- gTrainerFrontAnims_Camper, // TRAINER_PIC_CAMPER
- gTrainerFrontAnims_Picnicker, // TRAINER_PIC_PICNICKER
- gTrainerFrontAnims_BugManiac, // TRAINER_PIC_BUG_MANIAC
- gTrainerFrontAnims_PokemonBreederM, // TRAINER_PIC_POKEMON_BREEDER_M
- gTrainerFrontAnims_PsychicM, // TRAINER_PIC_PSYCHIC_M
- gTrainerFrontAnims_PsychicF, // TRAINER_PIC_PSYCHIC_F
- gTrainerFrontAnims_Gentleman, // TRAINER_PIC_GENTLEMAN
- gTrainerFrontAnims_EliteFourSidney, // TRAINER_PIC_ELITE_FOUR_SIDNEY
- gTrainerFrontAnims_EliteFourPhoebe, // TRAINER_PIC_ELITE_FOUR_PHOEBE
- gTrainerFrontAnims_EliteFourGlacia, // TRAINER_PIC_ELITE_FOUR_GLACIA
- gTrainerFrontAnims_EliteFourDrake, // TRAINER_PIC_ELITE_FOUR_DRAKE
- gTrainerFrontAnims_LeaderRoxanne, // TRAINER_PIC_LEADER_ROXANNE
- gTrainerFrontAnims_LeaderBrawly, // TRAINER_PIC_LEADER_BRAWLY
- gTrainerFrontAnims_LeaderWattson, // TRAINER_PIC_LEADER_WATTSON
- gTrainerFrontAnims_LeaderFlannery, // TRAINER_PIC_LEADER_FLANNERY
- gTrainerFrontAnims_LeaderNorman, // TRAINER_PIC_LEADER_NORMAN
- gTrainerFrontAnims_LeaderWinona, // TRAINER_PIC_LEADER_WINONA
- gTrainerFrontAnims_LeaderTateAndLiza, // TRAINER_PIC_LEADER_TATE_AND_LIZA
- gTrainerFrontAnims_LeaderJuan, // TRAINER_PIC_LEADER_JUAN
- gTrainerFrontAnims_SchoolKidM, // TRAINER_PIC_SCHOOL_KID_M
- gTrainerFrontAnims_SchoolKidF, // TRAINER_PIC_SCHOOL_KID_F
- gTrainerFrontAnims_SrAndJr, // TRAINER_PIC_SR_AND_JR
- gTrainerFrontAnims_WinstrateM, // TRAINER_PIC_WINSTRATE_M
- gTrainerFrontAnims_WinstrateF, // TRAINER_PIC_WINSTRATE_F
- gTrainerFrontAnims_Youngster, // TRAINER_PIC_YOUNGSTER
- gTrainerFrontAnims_ChampionWallace, // TRAINER_PIC_CHAMPION_WALLACE
- gTrainerFrontAnims_Fisherman, // TRAINER_PIC_FISHERMAN
- gTrainerFrontAnims_CyclingTriathleteM, // TRAINER_PIC_CYCLING_TRIATHLETE_M
- gTrainerFrontAnims_CyclingTriathleteF, // TRAINER_PIC_CYCLING_TRIATHLETE_F
- gTrainerFrontAnims_RunningTriathleteM, // TRAINER_PIC_RUNNING_TRIATHLETE_M
- gTrainerFrontAnims_RunningTriathleteF, // TRAINER_PIC_RUNNING_TRIATHLETE_F
- gTrainerFrontAnims_SwimmingTriathleteM, // TRAINER_PIC_SWIMMING_TRIATHLETE_M
- gTrainerFrontAnims_SwimmingTriathleteF, // TRAINER_PIC_SWIMMING_TRIATHLETE_F
- gTrainerFrontAnims_DragonTamer, // TRAINER_PIC_DRAGON_TAMER
- gTrainerFrontAnims_NinjaBoy, // TRAINER_PIC_NINJA_BOY
- gTrainerFrontAnims_BattleGirl, // TRAINER_PIC_BATTLE_GIRL
- gTrainerFrontAnims_ParasolLady, // TRAINER_PIC_PARASOL_LADY
- gTrainerFrontAnims_SwimmerF, // TRAINER_PIC_SWIMMER_F
- gTrainerFrontAnims_Twins, // TRAINER_PIC_TWINS
- gTrainerFrontAnims_Sailor, // TRAINER_PIC_SAILOR
- gTrainerFrontAnims_MagmaAdmin, // TRAINER_PIC_MAGMA_ADMIN
- gTrainerFrontAnims_Wally, // TRAINER_PIC_WALLY
- gTrainerFrontAnims_Brendan, // TRAINER_PIC_BRENDAN
- gTrainerFrontAnims_May, // TRAINER_PIC_MAY
- gTrainerFrontAnims_BugCatcher, // TRAINER_PIC_BUG_CATCHER
- gTrainerFrontAnims_PokemonRangerM, // TRAINER_PIC_POKEMON_RANGER_M
- gTrainerFrontAnims_PokemonRangerF, // TRAINER_PIC_POKEMON_RANGER_F
- gTrainerFrontAnims_MagmaLeaderMaxie, // TRAINER_PIC_MAGMA_LEADER_MAXIE
- gTrainerFrontAnims_Lass, // TRAINER_PIC_LASS
- gTrainerFrontAnims_YoungCouple, // TRAINER_PIC_YOUNG_COUPLE
- gTrainerFrontAnims_OldCouple, // TRAINER_PIC_OLD_COUPLE
- gTrainerFrontAnims_SisAndBro, // TRAINER_PIC_SIS_AND_BRO
- gTrainerFrontAnims_Steven, // TRAINER_PIC_STEVEN
- gTrainerFrontAnims_SalonMaidenAnabel, // TRAINER_PIC_SALON_MAIDEN_ANABEL
- gTrainerFrontAnims_DomeAceTucker, // TRAINER_PIC_DOME_ACE_TUCKER
- gTrainerFrontAnims_PalaceMavenSpenser, // TRAINER_PIC_PALACE_MAVEN_SPENSER
- gTrainerFrontAnims_ArenaTycoonGreta, // TRAINER_PIC_ARENA_TYCOON_GRETA
- gTrainerFrontAnims_FactoryHeadNoland, // TRAINER_PIC_FACTORY_HEAD_NOLAND
- gTrainerFrontAnims_PikeQueenLucy, // TRAINER_PIC_PIKE_QUEEN_LUCY
- gTrainerFrontAnims_PyramidKingBrandon, // TRAINER_PIC_PYRAMID_KING_BRANDON
- gTrainerFrontAnims_Red, // TRAINER_PIC_RED
- gTrainerFrontAnims_Leaf, // TRAINER_PIC_LEAF
- gTrainerFrontAnims_RubySapphireBrendan, // TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN
- gTrainerFrontAnims_RubySapphireMay, // TRAINER_PIC_RUBY_SAPPHIRE_MAY
+ [TRAINER_PIC_HIKER] = gTrainerFrontAnims_Hiker,
+ [TRAINER_PIC_AQUA_GRUNT_M] = gTrainerFrontAnims_AquaGruntM,
+ [TRAINER_PIC_POKEMON_BREEDER_F] = gTrainerFrontAnims_PokemonBreederF,
+ [TRAINER_PIC_COOLTRAINER_M] = gTrainerFrontAnims_CoolTrainerM,
+ [TRAINER_PIC_BIRD_KEEPER] = gTrainerFrontAnims_BirdKeeper,
+ [TRAINER_PIC_COLLECTOR] = gTrainerFrontAnims_Collector,
+ [TRAINER_PIC_AQUA_GRUNT_F] = gTrainerFrontAnims_AquaGruntF,
+ [TRAINER_PIC_SWIMMER_M] = gTrainerFrontAnims_SwimmerM,
+ [TRAINER_PIC_MAGMA_GRUNT_M] = gTrainerFrontAnims_MagmaGruntM,
+ [TRAINER_PIC_EXPERT_M] = gTrainerFrontAnims_ExpertM,
+ [TRAINER_PIC_AQUA_ADMIN_M] = gTrainerFrontAnims_AquaAdminM,
+ [TRAINER_PIC_BLACK_BELT] = gTrainerFrontAnims_BlackBelt,
+ [TRAINER_PIC_AQUA_ADMIN_F] = gTrainerFrontAnims_AquaAdminF,
+ [TRAINER_PIC_AQUA_LEADER_ARCHIE] = gTrainerFrontAnims_AquaLeaderArchie,
+ [TRAINER_PIC_HEX_MANIAC] = gTrainerFrontAnims_HexManiac,
+ [TRAINER_PIC_AROMA_LADY] = gTrainerFrontAnims_AromaLady,
+ [TRAINER_PIC_RUIN_MANIAC] = gTrainerFrontAnims_RuinManiac,
+ [TRAINER_PIC_INTERVIEWER] = gTrainerFrontAnims_Interviewer,
+ [TRAINER_PIC_TUBER_F] = gTrainerFrontAnims_TuberF,
+ [TRAINER_PIC_TUBER_M] = gTrainerFrontAnims_TuberM,
+ [TRAINER_PIC_COOLTRAINER_F] = gTrainerFrontAnims_CoolTrainerF,
+ [TRAINER_PIC_LADY] = gTrainerFrontAnims_Lady,
+ [TRAINER_PIC_BEAUTY] = gTrainerFrontAnims_Beauty,
+ [TRAINER_PIC_RICH_BOY] = gTrainerFrontAnims_RichBoy,
+ [TRAINER_PIC_EXPERT_F] = gTrainerFrontAnims_ExpertF,
+ [TRAINER_PIC_POKEMANIAC] = gTrainerFrontAnims_Pokemaniac,
+ [TRAINER_PIC_MAGMA_GRUNT_F] = gTrainerFrontAnims_MagmaGruntF,
+ [TRAINER_PIC_GUITARIST] = gTrainerFrontAnims_Guitarist,
+ [TRAINER_PIC_KINDLER] = gTrainerFrontAnims_Kindler,
+ [TRAINER_PIC_CAMPER] = gTrainerFrontAnims_Camper,
+ [TRAINER_PIC_PICNICKER] = gTrainerFrontAnims_Picnicker,
+ [TRAINER_PIC_BUG_MANIAC] = gTrainerFrontAnims_BugManiac,
+ [TRAINER_PIC_POKEMON_BREEDER_M] = gTrainerFrontAnims_PokemonBreederM,
+ [TRAINER_PIC_PSYCHIC_M] = gTrainerFrontAnims_PsychicM,
+ [TRAINER_PIC_PSYCHIC_F] = gTrainerFrontAnims_PsychicF,
+ [TRAINER_PIC_GENTLEMAN] = gTrainerFrontAnims_Gentleman,
+ [TRAINER_PIC_ELITE_FOUR_SIDNEY] = gTrainerFrontAnims_EliteFourSidney,
+ [TRAINER_PIC_ELITE_FOUR_PHOEBE] = gTrainerFrontAnims_EliteFourPhoebe,
+ [TRAINER_PIC_ELITE_FOUR_GLACIA] = gTrainerFrontAnims_EliteFourGlacia,
+ [TRAINER_PIC_ELITE_FOUR_DRAKE] = gTrainerFrontAnims_EliteFourDrake,
+ [TRAINER_PIC_LEADER_ROXANNE] = gTrainerFrontAnims_LeaderRoxanne,
+ [TRAINER_PIC_LEADER_BRAWLY] = gTrainerFrontAnims_LeaderBrawly,
+ [TRAINER_PIC_LEADER_WATTSON] = gTrainerFrontAnims_LeaderWattson,
+ [TRAINER_PIC_LEADER_FLANNERY] = gTrainerFrontAnims_LeaderFlannery,
+ [TRAINER_PIC_LEADER_NORMAN] = gTrainerFrontAnims_LeaderNorman,
+ [TRAINER_PIC_LEADER_WINONA] = gTrainerFrontAnims_LeaderWinona,
+ [TRAINER_PIC_LEADER_TATE_AND_LIZA] = gTrainerFrontAnims_LeaderTateAndLiza,
+ [TRAINER_PIC_LEADER_JUAN] = gTrainerFrontAnims_LeaderJuan,
+ [TRAINER_PIC_SCHOOL_KID_M] = gTrainerFrontAnims_SchoolKidM,
+ [TRAINER_PIC_SCHOOL_KID_F] = gTrainerFrontAnims_SchoolKidF,
+ [TRAINER_PIC_SR_AND_JR] = gTrainerFrontAnims_SrAndJr,
+ [TRAINER_PIC_POKEFAN_M] = gTrainerFrontAnims_PokefanM,
+ [TRAINER_PIC_POKEFAN_F] = gTrainerFrontAnims_PokefanF,
+ [TRAINER_PIC_YOUNGSTER] = gTrainerFrontAnims_Youngster,
+ [TRAINER_PIC_CHAMPION_WALLACE] = gTrainerFrontAnims_ChampionWallace,
+ [TRAINER_PIC_FISHERMAN] = gTrainerFrontAnims_Fisherman,
+ [TRAINER_PIC_CYCLING_TRIATHLETE_M] = gTrainerFrontAnims_CyclingTriathleteM,
+ [TRAINER_PIC_CYCLING_TRIATHLETE_F] = gTrainerFrontAnims_CyclingTriathleteF,
+ [TRAINER_PIC_RUNNING_TRIATHLETE_M] = gTrainerFrontAnims_RunningTriathleteM,
+ [TRAINER_PIC_RUNNING_TRIATHLETE_F] = gTrainerFrontAnims_RunningTriathleteF,
+ [TRAINER_PIC_SWIMMING_TRIATHLETE_M] = gTrainerFrontAnims_SwimmingTriathleteM,
+ [TRAINER_PIC_SWIMMING_TRIATHLETE_F] = gTrainerFrontAnims_SwimmingTriathleteF,
+ [TRAINER_PIC_DRAGON_TAMER] = gTrainerFrontAnims_DragonTamer,
+ [TRAINER_PIC_NINJA_BOY] = gTrainerFrontAnims_NinjaBoy,
+ [TRAINER_PIC_BATTLE_GIRL] = gTrainerFrontAnims_BattleGirl,
+ [TRAINER_PIC_PARASOL_LADY] = gTrainerFrontAnims_ParasolLady,
+ [TRAINER_PIC_SWIMMER_F] = gTrainerFrontAnims_SwimmerF,
+ [TRAINER_PIC_TWINS] = gTrainerFrontAnims_Twins,
+ [TRAINER_PIC_SAILOR] = gTrainerFrontAnims_Sailor,
+ [TRAINER_PIC_MAGMA_ADMIN] = gTrainerFrontAnims_MagmaAdmin,
+ [TRAINER_PIC_WALLY] = gTrainerFrontAnims_Wally,
+ [TRAINER_PIC_BRENDAN] = gTrainerFrontAnims_Brendan,
+ [TRAINER_PIC_MAY] = gTrainerFrontAnims_May,
+ [TRAINER_PIC_BUG_CATCHER] = gTrainerFrontAnims_BugCatcher,
+ [TRAINER_PIC_POKEMON_RANGER_M] = gTrainerFrontAnims_PokemonRangerM,
+ [TRAINER_PIC_POKEMON_RANGER_F] = gTrainerFrontAnims_PokemonRangerF,
+ [TRAINER_PIC_MAGMA_LEADER_MAXIE] = gTrainerFrontAnims_MagmaLeaderMaxie,
+ [TRAINER_PIC_LASS] = gTrainerFrontAnims_Lass,
+ [TRAINER_PIC_YOUNG_COUPLE] = gTrainerFrontAnims_YoungCouple,
+ [TRAINER_PIC_OLD_COUPLE] = gTrainerFrontAnims_OldCouple,
+ [TRAINER_PIC_SIS_AND_BRO] = gTrainerFrontAnims_SisAndBro,
+ [TRAINER_PIC_STEVEN] = gTrainerFrontAnims_Steven,
+ [TRAINER_PIC_SALON_MAIDEN_ANABEL] = gTrainerFrontAnims_SalonMaidenAnabel,
+ [TRAINER_PIC_DOME_ACE_TUCKER] = gTrainerFrontAnims_DomeAceTucker,
+ [TRAINER_PIC_PALACE_MAVEN_SPENSER] = gTrainerFrontAnims_PalaceMavenSpenser,
+ [TRAINER_PIC_ARENA_TYCOON_GRETA] = gTrainerFrontAnims_ArenaTycoonGreta,
+ [TRAINER_PIC_FACTORY_HEAD_NOLAND] = gTrainerFrontAnims_FactoryHeadNoland,
+ [TRAINER_PIC_PIKE_QUEEN_LUCY] = gTrainerFrontAnims_PikeQueenLucy,
+ [TRAINER_PIC_PYRAMID_KING_BRANDON] = gTrainerFrontAnims_PyramidKingBrandon,
+ [TRAINER_PIC_RED] = gTrainerFrontAnims_Red,
+ [TRAINER_PIC_LEAF] = gTrainerFrontAnims_Leaf,
+ [TRAINER_PIC_RS_BRENDAN] = gTrainerFrontAnims_RubySapphireBrendan,
+ [TRAINER_PIC_RS_MAY] = gTrainerFrontAnims_RubySapphireMay,
};
diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h
index db80c9d4f..d8f8c2492 100644
--- a/src/data/trainer_graphics/front_pic_tables.h
+++ b/src/data/trainer_graphics/front_pic_tables.h
@@ -148,8 +148,8 @@ const struct CompressedSpriteSheet gTrainerFrontPicTable[] =
gTrainerFrontPic_SchoolKidM, 0x800, 48,
gTrainerFrontPic_SchoolKidF, 0x800, 49,
gTrainerFrontPic_SrAndJr, 0x1000, 50,
- gTrainerFrontPic_WinstrateM, 0x1000, 51,
- gTrainerFrontPic_WinstrateF, 0x800, 52,
+ gTrainerFrontPic_PokefanM, 0x1000, 51,
+ gTrainerFrontPic_PokefanF, 0x800, 52,
gTrainerFrontPic_Youngster, 0x800, 53,
gTrainerFrontPic_ChampionWallace, 0x1000, 54,
gTrainerFrontPic_Fisherman, 0x800, 55,
@@ -245,8 +245,8 @@ const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] =
gTrainerPalette_SchoolKidM, 48,
gTrainerPalette_SchoolKidF, 49,
gTrainerPalette_SrAndJr, 50,
- gTrainerPalette_WinstrateM, 51,
- gTrainerPalette_WinstrateF, 52,
+ gTrainerPalette_PokefanM, 51,
+ gTrainerPalette_PokefanF, 52,
gTrainerPalette_Youngster, 53,
gTrainerPalette_ChampionWallace, 54,
gTrainerPalette_Fisherman, 55,
diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h
index 4993186d2..b4438e5b3 100644
--- a/src/data/trainer_parties.h
+++ b/src/data/trainer_parties.h
@@ -1,12437 +1,12436 @@
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sawyer1[] = {
- {
- .iv = 0,
- .lvl = 21,
- .species = SPECIES_GEODUDE,
- }
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_GEODUDE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt1[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_POOCHYENA,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_ZUBAT,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt4[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_CARVANHA,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_CARVANHA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt5[] = {
- {
- .iv = 0,
- .lvl = 36,
- .species = SPECIES_POOCHYENA,
- }
+ {
+ .iv = 0,
+ .lvl = 36,
+ .species = SPECIES_POOCHYENA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt6[] = {
- {
- .iv = 0,
- .lvl = 36,
- .species = SPECIES_CARVANHA,
- }
+ {
+ .iv = 0,
+ .lvl = 36,
+ .species = SPECIES_CARVANHA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt7[] = {
- {
- .iv = 0,
- .lvl = 36,
- .species = SPECIES_ZUBAT,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 36,
+ .species = SPECIES_CARVANHA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Declan[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_GYARADOS,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_GYARADOS,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt10[] = {
- {
- .iv = 0,
- .lvl = 11,
- .species = SPECIES_POOCHYENA,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_NUMEL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt17[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_ZUBAT,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_ZUBAT,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt18[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_CARVANHA,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 28,
+ .species = SPECIES_CARVANHA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt21[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_CARVANHA,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_CARVANHA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt22[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_ZUBAT,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_MARILL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Gwen[] = {
- {
- .iv = 0,
- .lvl = 26,
- .species = SPECIES_MARILL,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 200,
+ .lvl = 30,
+ .species = SPECIES_SABLEYE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hope[] = {
- {
- .iv = 100,
- .lvl = 45,
- .species = SPECIES_ROSELIA,
- }
+ {
+ .iv = 100,
+ .lvl = 45,
+ .species = SPECIES_ROSELIA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shannon[] = {
- {
- .iv = 100,
- .lvl = 45,
- .species = SPECIES_CLAYDOL,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_SABLEYE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tasha[] = {
- {
- .iv = 50,
- .lvl = 32,
- .species = SPECIES_SHUPPET,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_MARILL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sheila[] = {
- {
- .iv = 0,
- .lvl = 21,
- .species = SPECIES_SHROOMISH,
- }
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_SHROOMISH,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Shirley[] = {
- {
- .iv = 0,
- .lvl = 21,
- .species = SPECIES_NUMEL,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 100,
+ .lvl = 40,
+ .species = SPECIES_GOLDEEN,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bridget[] = {
- {
- .iv = 150,
- .lvl = 40,
- .species = SPECIES_AZUMARILL,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 31,
+ .species = SPECIES_RHYHORN,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt24[] = {
- {
- .iv = 0,
- .lvl = 20,
- .species = SPECIES_NUMEL,
- }
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_NUMEL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Steve2[] = {
- {
- .iv = 10,
- .lvl = 27,
- .species = SPECIES_LAIRON,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_CARVANHA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dominik[] = {
- {
- .iv = 0,
- .lvl = 26,
- .species = SPECIES_TENTACOOL,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_CARVANHA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jerome[] = {
- {
- .iv = 0,
- .lvl = 26,
- .species = SPECIES_TENTACRUEL,
- }
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_TENTACRUEL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Matthew[] = {
- {
- .iv = 0,
- .lvl = 26,
- .species = SPECIES_CARVANHA,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_CARVANHA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nolen[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_TENTACRUEL,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_TENTACRUEL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Stan[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_HORSEA,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_HORSEA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Barry[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_GYARADOS,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_GYARADOS,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Richard[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_PELIPPER,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_SHARPEDO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Franklin[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_SEALEO,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_SEALEO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kevin[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_SPHEAL,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_SPHEAL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jack[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_GYARADOS,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 10,
+ .lvl = 30,
+ .species = SPECIES_SHARPEDO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tony3[] = {
- {
- .iv = 20,
- .lvl = 33,
- .species = SPECIES_SHARPEDO,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 100,
+ .lvl = 19,
+ .species = SPECIES_MACHOP,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nob2[] = {
- {
- .iv = 110,
- .lvl = 27,
- .species = SPECIES_MACHOKE,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 100,
+ .lvl = 19,
+ .species = SPECIES_MACHOP,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Atsushi[] = {
- {
- .iv = 100,
- .lvl = 32,
- .species = SPECIES_HARIYAMA,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 100,
+ .lvl = 23,
+ .species = SPECIES_NUMEL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jace[] = {
- {
- .iv = 100,
- .lvl = 23,
- .species = SPECIES_SLUGMA,
- }
+ {
+ .iv = 100,
+ .lvl = 23,
+ .species = SPECIES_SLUGMA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Keegan[] = {
- {
- .iv = 120,
- .lvl = 23,
- .species = SPECIES_SLUGMA,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 21,
+ .species = SPECIES_SHROOMISH,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Travis[] = {
- {
- .iv = 0,
- .lvl = 18,
- .species = SPECIES_SANDSHREW,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 100,
+ .lvl = 36,
+ .species = SPECIES_KIRLIA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Virgil[] = {
- {
- .iv = 100,
- .lvl = 36,
- .species = SPECIES_RALTS,
- }
+ {
+ .iv = 100,
+ .lvl = 36,
+ .species = SPECIES_RALTS,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Blake[] = {
- {
- .iv = 100,
- .lvl = 36,
- .species = SPECIES_GIRAFARIG,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 100,
+ .lvl = 36,
+ .species = SPECIES_KIRLIA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Samantha[] = {
- {
- .iv = 100,
- .lvl = 36,
- .species = SPECIES_XATU,
- }
+ {
+ .iv = 100,
+ .lvl = 36,
+ .species = SPECIES_XATU,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maura[] = {
- {
- .iv = 100,
- .lvl = 36,
- .species = SPECIES_KADABRA,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 45,
+ .species = SPECIES_ZANGOOSE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Walter2[] = {
- {
- .iv = 10,
- .lvl = 34,
- .species = SPECIES_MANECTRIC,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 10,
+ .lvl = 9,
+ .species = SPECIES_RALTS,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Ted[] = {
- {
- .iv = 10,
- .lvl = 17,
- .species = SPECIES_RALTS,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_TRAPINCH,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dillon[] = {
- {
- .iv = 0,
- .lvl = 19,
- .species = SPECIES_ARON,
- }
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_ARON,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Calvin2[] = {
- {
- .iv = 10,
- .lvl = 27,
- .species = SPECIES_MIGHTYENA,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 16,
+ .species = SPECIES_MAGNEMITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin2[] = {
- {
- .iv = 10,
- .lvl = 30,
- .species = SPECIES_MAGNEMITE,
- }
+ {
+ .iv = 10,
+ .lvl = 30,
+ .species = SPECIES_MAGNEMITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin3[] = {
- {
- .iv = 20,
- .lvl = 33,
- .species = SPECIES_MAGNEMITE,
- }
+ {
+ .iv = 20,
+ .lvl = 33,
+ .species = SPECIES_MAGNEMITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin4[] = {
- {
- .iv = 30,
- .lvl = 36,
- .species = SPECIES_MAGNETON,
- }
+ {
+ .iv = 30,
+ .lvl = 36,
+ .species = SPECIES_MAGNETON,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Benjamin5[] = {
- {
- .iv = 40,
- .lvl = 39,
- .species = SPECIES_MAGNETON,
- }
+ {
+ .iv = 40,
+ .lvl = 39,
+ .species = SPECIES_MAGNETON,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail1[] = {
- {
- .iv = 0,
- .lvl = 16,
- .species = SPECIES_MAGNEMITE,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 10,
+ .lvl = 28,
+ .species = SPECIES_MAGNEMITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail3[] = {
- {
- .iv = 20,
- .lvl = 31,
- .species = SPECIES_MAGNEMITE,
- }
+ {
+ .iv = 20,
+ .lvl = 31,
+ .species = SPECIES_MAGNEMITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail4[] = {
- {
- .iv = 30,
- .lvl = 34,
- .species = SPECIES_MAGNETON,
- }
+ {
+ .iv = 30,
+ .lvl = 34,
+ .species = SPECIES_MAGNETON,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Abigail5[] = {
- {
- .iv = 40,
- .lvl = 37,
- .species = SPECIES_MAGNETON,
- }
+ {
+ .iv = 40,
+ .lvl = 37,
+ .species = SPECIES_MAGNETON,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan1[] = {
- {
- .iv = 0,
- .lvl = 17,
- .species = SPECIES_DODUO,
- }
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_DODUO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan2[] = {
- {
- .iv = 10,
- .lvl = 28,
- .species = SPECIES_DODUO,
- }
+ {
+ .iv = 10,
+ .lvl = 28,
+ .species = SPECIES_DODUO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan3[] = {
- {
- .iv = 20,
- .lvl = 31,
- .species = SPECIES_DODUO,
- }
+ {
+ .iv = 20,
+ .lvl = 31,
+ .species = SPECIES_DODUO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan4[] = {
- {
- .iv = 30,
- .lvl = 34,
- .species = SPECIES_DODRIO,
- }
+ {
+ .iv = 30,
+ .lvl = 34,
+ .species = SPECIES_DODRIO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dylan5[] = {
- {
- .iv = 40,
- .lvl = 37,
- .species = SPECIES_DODRIO,
- }
+ {
+ .iv = 40,
+ .lvl = 37,
+ .species = SPECIES_DODRIO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria1[] = {
- {
- .iv = 0,
- .lvl = 17,
- .species = SPECIES_DODUO,
- }
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_DODUO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria2[] = {
- {
- .iv = 10,
- .lvl = 28,
- .species = SPECIES_DODUO,
- }
+ {
+ .iv = 10,
+ .lvl = 28,
+ .species = SPECIES_DODUO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria3[] = {
- {
- .iv = 20,
- .lvl = 31,
- .species = SPECIES_DODUO,
- }
+ {
+ .iv = 20,
+ .lvl = 31,
+ .species = SPECIES_DODUO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria4[] = {
- {
- .iv = 30,
- .lvl = 34,
- .species = SPECIES_DODRIO,
- }
+ {
+ .iv = 30,
+ .lvl = 34,
+ .species = SPECIES_DODRIO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Maria5[] = {
- {
- .iv = 40,
- .lvl = 37,
- .species = SPECIES_DODRIO,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 10,
+ .lvl = 39,
+ .species = SPECIES_STARYU,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah3[] = {
- {
- .iv = 20,
- .lvl = 42,
- .species = SPECIES_STARYU,
- }
+ {
+ .iv = 20,
+ .lvl = 42,
+ .species = SPECIES_STARYU,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah4[] = {
- {
- .iv = 30,
- .lvl = 45,
- .species = SPECIES_STARMIE,
- }
+ {
+ .iv = 30,
+ .lvl = 45,
+ .species = SPECIES_STARMIE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isaiah5[] = {
- {
- .iv = 40,
- .lvl = 48,
- .species = SPECIES_STARMIE,
- }
+ {
+ .iv = 40,
+ .lvl = 48,
+ .species = SPECIES_STARMIE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isobel[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_STARYU,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_STARYU,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn1[] = {
- {
- .iv = 0,
- .lvl = 35,
- .species = SPECIES_STARYU,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 10,
+ .lvl = 39,
+ .species = SPECIES_STARYU,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn3[] = {
- {
- .iv = 20,
- .lvl = 42,
- .species = SPECIES_STARYU,
- }
+ {
+ .iv = 20,
+ .lvl = 42,
+ .species = SPECIES_STARYU,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn4[] = {
- {
- .iv = 30,
- .lvl = 45,
- .species = SPECIES_STARMIE,
- }
+ {
+ .iv = 30,
+ .lvl = 45,
+ .species = SPECIES_STARMIE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Katelyn5[] = {
- {
- .iv = 40,
- .lvl = 48,
- .species = SPECIES_STARMIE,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_TROPIUS,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Yasu[] = {
- {
- .iv = 0,
- .lvl = 26,
- .species = SPECIES_NINJASK,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 127,
+ .lvl = 13,
+ .species = SPECIES_MEDITITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Laura[] = {
- {
- .iv = 150,
- .lvl = 13,
- .species = SPECIES_MEDITITE,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 100,
+ .lvl = 27,
+ .species = SPECIES_MEDITITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Paula[] = {
- {
- .iv = 100,
- .lvl = 27,
- .species = SPECIES_BRELOOM,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 26,
+ .species = SPECIES_MARILL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kyla[] = {
- {
- .iv = 0,
- .lvl = 26,
- .species = SPECIES_WAILMER,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_WAILMER,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grace[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_MARILL,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_MARILL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tanya[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_LUVDISC,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_LUVDISC,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sharon[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_SEAKING,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_LUVDISC,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kara[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_SEAKING,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_SEAKING,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Dana[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_AZUMARILL,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 35,
+ .species = SPECIES_SEAKING,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny2[] = {
- {
- .iv = 0,
- .lvl = 38,
- .species = SPECIES_WAILMER,
- }
+ {
+ .iv = 0,
+ .lvl = 38,
+ .species = SPECIES_WAILMER,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jenny3[] = {
- {
- .iv = 0,
- .lvl = 41,
- .species = SPECIES_WAILMER,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 50,
+ .lvl = 39,
+ .species = SPECIES_CACTURNE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson2[] = {
- {
- .iv = 60,
- .lvl = 31,
- .species = SPECIES_BRELOOM,
- }
+ {
+ .iv = 60,
+ .lvl = 31,
+ .species = SPECIES_BRELOOM,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson3[] = {
- {
- .iv = 70,
- .lvl = 34,
- .species = SPECIES_BRELOOM,
- }
+ {
+ .iv = 70,
+ .lvl = 34,
+ .species = SPECIES_BRELOOM,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Jackson4[] = {
- {
- .iv = 80,
- .lvl = 37,
- .species = SPECIES_BRELOOM,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 100,
+ .lvl = 13,
+ .species = SPECIES_MACHOP,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lilith[] = {
- {
- .iv = 150,
- .lvl = 13,
- .species = SPECIES_MEDITITE,
- }
+ {
+ .iv = 150,
+ .lvl = 13,
+ .species = SPECIES_MEDITITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Cristian[] = {
- {
- .iv = 200,
- .lvl = 13,
- .species = SPECIES_MAKUHITA,
- }
+ {
+ .iv = 200,
+ .lvl = 13,
+ .species = SPECIES_MAKUHITA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Sylvia[] = {
- {
- .iv = 100,
- .lvl = 36,
- .species = SPECIES_MEDITITE,
- }
+ {
+ .iv = 100,
+ .lvl = 36,
+ .species = SPECIES_MEDITITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leonardo[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_CARVANHA,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 35,
+ .species = SPECIES_TENTACRUEL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt31[] = {
- {
- .iv = 0,
- .lvl = 20,
- .species = SPECIES_ZUBAT,
- }
+ {
+ .iv = 0,
+ .lvl = 20,
+ .species = SPECIES_ZUBAT,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clarence[] = {
- {
- .iv = 0,
- .lvl = 34,
- .species = SPECIES_SHARPEDO,
- }
+ {
+ .iv = 0,
+ .lvl = 34,
+ .species = SPECIES_SHARPEDO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Terry[] = {
- {
- .iv = 0,
- .lvl = 37,
- .species = SPECIES_GIRAFARIG,
- }
+ {
+ .iv = 0,
+ .lvl = 37,
+ .species = SPECIES_GIRAFARIG,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nate[] = {
- {
- .iv = 100,
- .lvl = 36,
- .species = SPECIES_SPOINK,
- }
+ {
+ .iv = 100,
+ .lvl = 36,
+ .species = SPECIES_SPOINK,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Kathleen[] = {
- {
- .iv = 100,
- .lvl = 36,
- .species = SPECIES_KADABRA,
- }
+ {
+ .iv = 100,
+ .lvl = 36,
+ .species = SPECIES_KADABRA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Clifford[] = {
- {
- .iv = 0,
- .lvl = 36,
- .species = SPECIES_GIRAFARIG,
- }
+ {
+ .iv = 0,
+ .lvl = 36,
+ .species = SPECIES_GIRAFARIG,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Nicholas[] = {
- {
- .iv = 0,
- .lvl = 36,
- .species = SPECIES_WOBBUFFET,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_BALTOY,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt34[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_ZUBAT,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_ZUBAT,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt35[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_MIGHTYENA,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_MIGHTYENA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt36[] = {
- {
- .iv = 0,
- .lvl = 32,
- .species = SPECIES_BALTOY,
- }
+ {
+ .iv = 0,
+ .lvl = 32,
+ .species = SPECIES_BALTOY,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Macey[] = {
- {
- .iv = 0,
- .lvl = 36,
- .species = SPECIES_NATU,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 9,
+ .species = SPECIES_MAGIKARP,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hailey[] = {
- {
- .iv = 0,
- .lvl = 13,
- .species = SPECIES_MARILL,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_MAGNEMITE,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Marcos[] = {
- {
- .iv = 100,
- .lvl = 15,
- .species = SPECIES_VOLTORB,
- }
+ {
+ .iv = 100,
+ .lvl = 15,
+ .species = SPECIES_VOLTORB,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Rhett[] = {
- {
- .iv = 100,
- .lvl = 15,
- .species = SPECIES_MAKUHITA,
- }
+ {
+ .iv = 100,
+ .lvl = 15,
+ .species = SPECIES_MAKUHITA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tyron[] = {
- {
- .iv = 0,
- .lvl = 19,
- .species = SPECIES_SANDSHREW,
- }
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_SANDSHREW,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Celina[] = {
- {
- .iv = 0,
- .lvl = 18,
- .species = SPECIES_ROSELIA,
- }
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_ROSELIA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Bianca[] = {
- {
- .iv = 0,
- .lvl = 18,
- .species = SPECIES_SHROOMISH,
- }
+ {
+ .iv = 0,
+ .lvl = 18,
+ .species = SPECIES_SHROOMISH,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Hayden[] = {
- {
- .iv = 0,
- .lvl = 18,
- .species = SPECIES_NUMEL,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 19,
+ .species = SPECIES_BARBOACH,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Charlotte[] = {
- {
- .iv = 0,
- .lvl = 19,
- .species = SPECIES_NUZLEAF,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ZUBAT,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt39[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_POOCHYENA,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_POOCHYENA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt40[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_NUMEL,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MIGHTYENA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt44[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_ZUBAT,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ZUBAT,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt45[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_POOCHYENA,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_POOCHYENA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt46[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_ZUBAT,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ZUBAT,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt47[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_MIGHTYENA,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MIGHTYENA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt48[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_BALTOY,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_BALTOY,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt49[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_NUMEL,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_NUMEL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt50[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_ZUBAT,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_ZUBAT,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt51[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_MIGHTYENA,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_MIGHTYENA,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt52[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_NUMEL,
- }
+ {
+ .iv = 0,
+ .lvl = 29,
+ .species = SPECIES_NUMEL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Grunt53[] = {
- {
- .iv = 0,
- .lvl = 29,
- .species = SPECIES_BALTOY,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 15,
+ .species = SPECIES_TENTACOOL,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Isabelle[] = {
- {
- .iv = 0,
- .lvl = 15,
- .species = SPECIES_MARILL,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_DODUO,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandi[] = {
- {
- .iv = 0,
- .lvl = 17,
- .species = SPECIES_RALTS,
- }
+ {
+ .iv = 0,
+ .lvl = 17,
+ .species = SPECIES_RALTS,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Aisha[] = {
- {
- .iv = 0,
- .lvl = 17,
- .species = SPECIES_MEDITITE,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .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
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_BELDUM,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Tucker[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_BELDUM,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_BELDUM,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Spenser[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_BELDUM,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_BELDUM,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Greta[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_BELDUM,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_BELDUM,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Noland[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_BELDUM,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_BELDUM,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Lucy[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_BELDUM,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_BELDUM,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brandon[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_BELDUM,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .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,
- }
+ {
+ .iv = 0,
+ .lvl = 41,
+ .species = SPECIES_WOBBUFFET,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Red[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_CHARMANDER,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_CHARMANDER,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Leaf[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_BULBASAUR,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_BULBASAUR,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_Brendan16[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_GROUDON,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_GROUDON,
+ }
};
const struct TrainerMonNoItemDefaultMoves gTrainerParty_May16[] = {
- {
- .iv = 0,
- .lvl = 5,
- .species = SPECIES_KYOGRE,
- }
+ {
+ .iv = 0,
+ .lvl = 5,
+ .species = SPECIES_KYOGRE,
+ }
};
-
diff --git a/src/data/trainers.h b/src/data/trainers.h
index 214a72df1..7ec297eb3 100644
--- a/src/data/trainers.h
+++ b/src/data/trainers.h
@@ -156,9 +156,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MARCEL] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("MARCEL"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -534,9 +534,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_FELIX] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("FELIX"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -800,7 +800,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_1] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -814,7 +814,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_AUSTINA] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("AUSTINA"),
@@ -828,7 +828,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_GWEN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("GWEN"),
@@ -842,7 +842,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_2] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -856,7 +856,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_3] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -870,7 +870,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_4] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -884,7 +884,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_LOLA_5] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("LOLA"),
@@ -898,7 +898,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_1] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -912,7 +912,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_SIMON] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("SIMON"),
@@ -926,7 +926,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_CHARLIE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("CHARLIE"),
@@ -940,7 +940,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_2] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -954,7 +954,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_3] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -968,7 +968,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_4] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -982,7 +982,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_RICKY_5] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("RICKY"),
@@ -996,9 +996,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_RANDALL] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("RANDALL"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1010,9 +1010,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_PARKER] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("PARKER"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1024,9 +1024,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_GEORGE] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("GEORGE"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1038,9 +1038,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BERKE] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("BERKE"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1052,9 +1052,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BRAXTON] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("BRAXTON"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1066,9 +1066,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_VINCENT] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("VINCENT"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1080,9 +1080,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_LEROY] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("LEROY"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1094,9 +1094,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_1] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1108,9 +1108,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_EDGAR] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("EDGAR"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1122,9 +1122,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_ALBERT] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("ALBERT"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1136,9 +1136,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_SAMUEL] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("SAMUEL"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1150,9 +1150,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_VITO] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("VITO"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1164,9 +1164,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_OWEN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("OWEN"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1178,9 +1178,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_2] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1192,9 +1192,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_3] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1206,9 +1206,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_4] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1220,9 +1220,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WILTON_5] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WILTON"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1234,9 +1234,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WARREN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("WARREN"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1248,9 +1248,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MARY] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("MARY"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1262,9 +1262,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_ALEXIA] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("ALEXIA"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1276,9 +1276,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JODY] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("JODY"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1290,9 +1290,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_WENDY] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("WENDY"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1304,9 +1304,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_KEIRA] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("KEIRA"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1318,9 +1318,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_1] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1332,9 +1332,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JENNIFER] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("JENNIFER"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1346,9 +1346,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_HOPE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("HOPE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1360,9 +1360,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_SHANNON] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("SHANNON"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1374,9 +1374,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MICHELLE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("MICHELLE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1388,9 +1388,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CAROLINE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CAROLINE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1402,9 +1402,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JULIE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("JULIE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1416,9 +1416,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_2] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1430,9 +1430,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_3] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1444,9 +1444,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_4] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -1458,9 +1458,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_BROOKE_5] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("BROOKE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -4092,7 +4092,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_WINSTRATE,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("VICTOR"),
.items = {},
.doubleBattle = FALSE,
@@ -4106,7 +4106,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4120,7 +4120,7 @@ const struct Trainer gTrainers[] = {
.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,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("COLTON"),
.items = {},
.doubleBattle = FALSE,
@@ -4134,7 +4134,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4148,7 +4148,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4162,7 +4162,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4176,7 +4176,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("MIGUEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4190,7 +4190,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_WINSTRATE,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("VICTORIA"),
.items = {},
.doubleBattle = FALSE,
@@ -4204,7 +4204,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("VANESSA"),
.items = {},
.doubleBattle = FALSE,
@@ -4218,7 +4218,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("BETHANY"),
.items = {},
.doubleBattle = FALSE,
@@ -4232,7 +4232,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4246,7 +4246,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4260,7 +4260,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4274,7 +4274,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4288,7 +4288,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_F,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ISABEL"),
.items = {},
.doubleBattle = FALSE,
@@ -4538,9 +4538,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_QUINCY] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("QUINCY"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -4552,9 +4552,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_KATELYNN] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("KATELYNN"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -5840,9 +5840,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_DIANNE] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("DIANNE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -5854,7 +5854,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_JANI] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("JANI"),
@@ -7032,7 +7032,7 @@ const struct Trainer gTrainers[] = {
.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,
+ .trainerPic = TRAINER_PIC_POKEFAN_F,
.trainerName = _("ANNIKA"),
.items = {},
.doubleBattle = FALSE,
@@ -7044,9 +7044,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JAZMYN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_2,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER_UNUSED,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("JAZMYN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -7114,9 +7114,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MARLEY] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("MARLEY"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -7562,9 +7562,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_MITCHELL] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("MITCHELL"),
.items = {},
.doubleBattle = FALSE,
@@ -7646,9 +7646,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_HALLE] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("HALLE"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -8080,9 +8080,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_ATHENA] =
{
.partyFlags = F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("ATHENA"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -8374,9 +8374,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_JONATHAN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("JONATHAN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -9074,9 +9074,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_GERALD] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("GERALD"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -9382,9 +9382,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_ALEXA] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("ALEXA"),
.items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -9396,9 +9396,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_RUBEN] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("RUBEN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -9760,7 +9760,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_HAILEY] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_1,
+ .trainerClass = TRAINER_CLASS_TUBER_F,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_F,
.trainerName = _("HAILEY"),
@@ -9774,7 +9774,7 @@ const struct Trainer gTrainers[] = {
[TRAINER_CHANDLER] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_TUBER_2,
+ .trainerClass = TRAINER_CLASS_TUBER_M,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_GIRL,
.trainerPic = TRAINER_PIC_TUBER_M,
.trainerName = _("CHANDLER"),
@@ -9790,7 +9790,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = F_TRAINER_PARTY_HELD_ITEM,
.trainerClass = TRAINER_CLASS_POKEFAN,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_TWINS,
- .trainerPic = TRAINER_PIC_WINSTRATE_M,
+ .trainerPic = TRAINER_PIC_POKEFAN_M,
.trainerName = _("KALEB"),
.items = {},
.doubleBattle = FALSE,
@@ -10264,9 +10264,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_DARCY] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("DARCY"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -10376,9 +10376,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CAROLINA] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CAROLINA"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -10670,9 +10670,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_LEONEL] =
{
.partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_M,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_M,
.trainerName = _("LEONEL"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -10740,9 +10740,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_1] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11594,9 +11594,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_2] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11608,9 +11608,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_3] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11622,9 +11622,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_4] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11636,9 +11636,9 @@ const struct Trainer gTrainers[] = {
[TRAINER_CRISTIN_5] =
{
.partyFlags = 0,
- .trainerClass = TRAINER_CLASS_COOLTRAINER_1,
+ .trainerClass = TRAINER_CLASS_COOLTRAINER,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_COOL,
- .trainerPic = TRAINER_PIC_COOL_TRAINER_F,
+ .trainerPic = TRAINER_PIC_COOLTRAINER_F,
.trainerName = _("CRISTIN"),
.items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE},
.doubleBattle = FALSE,
@@ -11946,7 +11946,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_4,
.encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE,
- .trainerPic = TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN,
+ .trainerPic = TRAINER_PIC_RS_BRENDAN,
.trainerName = _("BRENDAN"),
.items = {},
.doubleBattle = FALSE,
@@ -11960,7 +11960,7 @@ const struct Trainer gTrainers[] = {
.partyFlags = 0,
.trainerClass = TRAINER_CLASS_PKMN_TRAINER_4,
.encounterMusic_gender = F_TRAINER_FEMALE | TRAINER_ENCOUNTER_MUSIC_MALE,
- .trainerPic = TRAINER_PIC_RUBY_SAPPHIRE_MAY,
+ .trainerPic = TRAINER_PIC_RS_MAY,
.trainerName = _("MAY"),
.items = {},
.doubleBattle = FALSE,
diff --git a/src/data2b.c b/src/data2b.c
index 3be2bdba7..bb1baa266 100644
--- a/src/data2b.c
+++ b/src/data2b.c
@@ -1,7 +1,8 @@
#include "global.h"
#include "data2.h"
#include "graphics.h"
-#include "malloc.h"
+#include "alloc.h"
+#include "constants/species.h"
const u16 gUnknown_082FF1D8[] = INCBIN_U16("graphics/link/minigame_digits.gbapal");
const u32 gUnknown_082FF1F8[] = INCBIN_U32("graphics/link/minigame_digits.4bpp.lz");
diff --git a/src/daycare.c b/src/daycare.c
index 2356b36f5..131540f6e 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -19,6 +19,7 @@
#include "task.h"
#include "window.h"
#include "list_menu.h"
+#include "overworld.h"
#define EGG_MOVES_ARRAY_COUNT 10
#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50
@@ -39,12 +40,8 @@ extern const u8 gDaycareText_PlayOther[];
extern u8 GetCursorSelectionMonId(void);
extern u16 ItemIdToBattleMoveId(u16);
-extern s32 ListMenuHandleInputGetItemId(u8);
-extern void DestroyListMenuTask(u8, u16*, u16*);
extern void sub_819746C(u8, bool8);
-extern void NewMenuHelpers_DrawStdWindowFrame(u8, bool8);
extern void sub_81B9328(void);
-extern void CB2_ReturnToField(void);
// this file's functions
static void ClearDaycareMonMail(struct DayCareMail *mail);
@@ -535,7 +532,7 @@ static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv)
s32 i, j;
u8 temp[NUM_STATS];
- ivs[selectedIv] = 0xff;
+ ivs[selectedIv] = 0xFF;
for (i = 0; i < NUM_STATS; i++)
{
temp[i] = ivs[i];
@@ -544,7 +541,7 @@ static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv)
j = 0;
for (i = 0; i < NUM_STATS; i++)
{
- if (temp[i] != 0xff)
+ if (temp[i] != 0xFF)
ivs[j++] = temp[i];
}
}
@@ -684,7 +681,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggFatherMoves[i] == sHatchedEggEggMoves[j])
{
- if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xffff)
+ if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]);
break;
}
@@ -703,7 +700,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01_FOCUS_PUNCH + j) && CanMonLearnTMHM(egg, j))
{
- if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xffff)
+ if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]);
}
}
@@ -728,7 +725,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
if (sHatchedEggLevelUpMoves[j] != MOVE_NONE && sHatchedEggFinalMoves[i] == sHatchedEggLevelUpMoves[j])
{
- if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == 0xffff)
+ if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == 0xFFFF)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFinalMoves[i]);
break;
}
diff --git a/src/decompress.c b/src/decompress.c
index da1df436b..24d23209f 100644
--- a/src/decompress.c
+++ b/src/decompress.c
@@ -2,7 +2,7 @@
#include "decompress.h"
#include "constants/species.h"
#include "text.h"
-#include "malloc.h"
+#include "alloc.h"
#include "pokemon.h"
EWRAM_DATA ALIGNED(4) u8 gDecompressionBuffer[0x4000] = {0};
@@ -122,346 +122,346 @@ void sub_803471C()
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x24\n\
- mov r9, r0\n\
- str r1, [sp]\n\
- str r2, [sp, 0x4]\n\
- adds r5, r3, 0\n\
- movs r0, 0x1\n\
- mov r1, r9\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0803473C\n\
- b _080348D4\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x24\n\
+ mov r9, r0\n\
+ str r1, [sp]\n\
+ str r2, [sp, 0x4]\n\
+ adds r5, r3, 0\n\
+ movs r0, 0x1\n\
+ mov r1, r9\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _0803473C\n\
+ b _080348D4\n\
_0803473C:\n\
- asrs r0, r1, 1\n\
- adds r0, 0x4\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- str r0, [sp, 0x8]\n\
- movs r0, 0\n\
- ldr r2, [sp]\n\
- cmp r0, r2\n\
- blt _08034750\n\
- b _08034964\n\
+ asrs r0, r1, 1\n\
+ adds r0, 0x4\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ str r0, [sp, 0x8]\n\
+ movs r0, 0\n\
+ ldr r2, [sp]\n\
+ cmp r0, r2\n\
+ blt _08034750\n\
+ b _08034964\n\
_08034750:\n\
- movs r4, 0x8\n\
- subs r1, r4, r1\n\
- str r1, [sp, 0x10]\n\
+ movs r4, 0x8\n\
+ subs r1, r4, r1\n\
+ str r1, [sp, 0x10]\n\
_08034756:\n\
- movs r7, 0\n\
- adds r0, 0x1\n\
- str r0, [sp, 0x14]\n\
- ldr r0, [sp, 0x10]\n\
- cmp r7, r0\n\
- bge _080347D2\n\
- ldr r1, [sp, 0x8]\n\
- lsls r1, 8\n\
- str r1, [sp, 0x18]\n\
- movs r2, 0\n\
- mov r10, r2\n\
- mov r0, r9\n\
- movs r4, 0x8\n\
- subs r0, r4, r0\n\
- str r0, [sp, 0xC]\n\
+ movs r7, 0\n\
+ adds r0, 0x1\n\
+ str r0, [sp, 0x14]\n\
+ ldr r0, [sp, 0x10]\n\
+ cmp r7, r0\n\
+ bge _080347D2\n\
+ ldr r1, [sp, 0x8]\n\
+ lsls r1, 8\n\
+ str r1, [sp, 0x18]\n\
+ movs r2, 0\n\
+ mov r10, r2\n\
+ mov r0, r9\n\
+ movs r4, 0x8\n\
+ subs r0, r4, r0\n\
+ str r0, [sp, 0xC]\n\
_08034774:\n\
- movs r3, 0\n\
- asrs r0, r7, 1\n\
- adds r1, r7, 0\n\
- movs r2, 0x1\n\
- ands r1, r2\n\
- str r1, [sp, 0x20]\n\
- lsls r0, 8\n\
- mov r8, r0\n\
- mov r12, r5\n\
+ movs r3, 0\n\
+ asrs r0, r7, 1\n\
+ adds r1, r7, 0\n\
+ movs r2, 0x1\n\
+ ands r1, r2\n\
+ str r1, [sp, 0x20]\n\
+ lsls r0, 8\n\
+ mov r8, r0\n\
+ mov r12, r5\n\
_08034786:\n\
- lsls r1, r3, 5\n\
- ldr r4, [sp, 0x18]\n\
- adds r0, r5, r4\n\
- adds r0, r1\n\
- mov r1, r8\n\
- adds r2, r0, r1\n\
- mov r1, r12\n\
- add r1, r8\n\
- movs r6, 0xF\n\
+ lsls r1, r3, 5\n\
+ ldr r4, [sp, 0x18]\n\
+ adds r0, r5, r4\n\
+ adds r0, r1\n\
+ mov r1, r8\n\
+ adds r2, r0, r1\n\
+ mov r1, r12\n\
+ add r1, r8\n\
+ movs r6, 0xF\n\
_08034798:\n\
- ldr r4, [sp, 0x20]\n\
- cmp r4, 0\n\
- bne _080347A8\n\
- strb r4, [r1]\n\
- add r4, sp, 0x20\n\
- ldrb r4, [r4]\n\
- strb r4, [r2, 0x10]\n\
- b _080347B6\n\
+ ldr r4, [sp, 0x20]\n\
+ cmp r4, 0\n\
+ bne _080347A8\n\
+ strb r4, [r1]\n\
+ add r4, sp, 0x20\n\
+ ldrb r4, [r4]\n\
+ strb r4, [r2, 0x10]\n\
+ b _080347B6\n\
_080347A8:\n\
- mov r0, r10\n\
- strb r0, [r1, 0x10]\n\
- movs r4, 0x80\n\
- lsls r4, 1\n\
- adds r4, r2, r4\n\
- str r4, [sp, 0x1C]\n\
- strb r0, [r4]\n\
+ mov r0, r10\n\
+ strb r0, [r1, 0x10]\n\
+ movs r4, 0x80\n\
+ lsls r4, 1\n\
+ adds r4, r2, r4\n\
+ str r4, [sp, 0x1C]\n\
+ strb r0, [r4]\n\
_080347B6:\n\
- adds r2, 0x1\n\
- adds r1, 0x1\n\
- subs r6, 0x1\n\
- cmp r6, 0\n\
- bge _08034798\n\
- movs r0, 0x20\n\
- add r12, r0\n\
- adds r3, 0x1\n\
- cmp r3, 0x7\n\
- ble _08034786\n\
- adds r7, 0x1\n\
- ldr r1, [sp, 0xC]\n\
- cmp r7, r1\n\
- blt _08034774\n\
+ adds r2, 0x1\n\
+ adds r1, 0x1\n\
+ subs r6, 0x1\n\
+ cmp r6, 0\n\
+ bge _08034798\n\
+ movs r0, 0x20\n\
+ add r12, r0\n\
+ adds r3, 0x1\n\
+ cmp r3, 0x7\n\
+ ble _08034786\n\
+ adds r7, 0x1\n\
+ ldr r1, [sp, 0xC]\n\
+ cmp r7, r1\n\
+ blt _08034774\n\
_080347D2:\n\
- movs r7, 0\n\
- movs r2, 0\n\
+ movs r7, 0\n\
+ movs r2, 0\n\
_080347D6:\n\
- movs r6, 0\n\
- adds r4, r7, 0x1\n\
- mov r8, r4\n\
- lsls r4, r7, 5\n\
+ movs r6, 0\n\
+ adds r4, r7, 0x1\n\
+ mov r8, r4\n\
+ lsls r4, r7, 5\n\
_080347DE:\n\
- adds r0, r6, 0x1\n\
- mov r10, r0\n\
- lsls r1, r6, 8\n\
- adds r0, r1, 0\n\
- adds r0, 0xC0\n\
- adds r0, r5, r0\n\
- adds r0, r4\n\
- adds r1, r5, r1\n\
- adds r1, r4\n\
- movs r3, 0x1F\n\
+ adds r0, r6, 0x1\n\
+ mov r10, r0\n\
+ lsls r1, r6, 8\n\
+ adds r0, r1, 0\n\
+ adds r0, 0xC0\n\
+ adds r0, r5, r0\n\
+ adds r0, r4\n\
+ adds r1, r5, r1\n\
+ adds r1, r4\n\
+ movs r3, 0x1F\n\
_080347F2:\n\
- strb r2, [r1]\n\
- strb r2, [r0]\n\
- adds r0, 0x1\n\
- adds r1, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _080347F2\n\
- mov r6, r10\n\
- cmp r6, 0x7\n\
- ble _080347DE\n\
- mov r7, r8\n\
- cmp r7, 0x1\n\
- ble _080347D6\n\
- mov r1, r9\n\
- cmp r1, 0x5\n\
- bne _08034818\n\
- movs r2, 0x90\n\
- lsls r2, 1\n\
- adds r5, r2\n\
+ strb r2, [r1]\n\
+ strb r2, [r0]\n\
+ adds r0, 0x1\n\
+ adds r1, 0x1\n\
+ subs r3, 0x1\n\
+ cmp r3, 0\n\
+ bge _080347F2\n\
+ mov r6, r10\n\
+ cmp r6, 0x7\n\
+ ble _080347DE\n\
+ mov r7, r8\n\
+ cmp r7, 0x1\n\
+ ble _080347D6\n\
+ mov r1, r9\n\
+ cmp r1, 0x5\n\
+ bne _08034818\n\
+ movs r2, 0x90\n\
+ lsls r2, 1\n\
+ adds r5, r2\n\
_08034818:\n\
- movs r7, 0\n\
- cmp r7, r9\n\
- bge _080348AE\n\
+ movs r7, 0\n\
+ cmp r7, r9\n\
+ bge _080348AE\n\
_0803481E:\n\
- movs r3, 0\n\
- adds r7, 0x1\n\
- mov r8, r7\n\
- cmp r3, r9\n\
- bge _0803488E\n\
+ movs r3, 0\n\
+ adds r7, 0x1\n\
+ mov r8, r7\n\
+ cmp r3, r9\n\
+ bge _0803488E\n\
_08034828:\n\
- adds r3, 0x1\n\
- mov r10, r3\n\
- ldr r4, [sp, 0x4]\n\
- adds r4, 0x20\n\
- adds r7, r5, 0\n\
- adds r7, 0x20\n\
- movs r0, 0x12\n\
- adds r0, r5\n\
- mov r12, r0\n\
- ldr r2, [sp, 0x4]\n\
- adds r3, r5, 0\n\
- movs r6, 0x3\n\
+ adds r3, 0x1\n\
+ mov r10, r3\n\
+ ldr r4, [sp, 0x4]\n\
+ adds r4, 0x20\n\
+ adds r7, r5, 0\n\
+ adds r7, 0x20\n\
+ movs r0, 0x12\n\
+ adds r0, r5\n\
+ mov r12, r0\n\
+ ldr r2, [sp, 0x4]\n\
+ adds r3, r5, 0\n\
+ movs r6, 0x3\n\
_08034840:\n\
- ldrb r0, [r2]\n\
- mov r1, r12\n\
- strb r0, [r1]\n\
- ldrb r0, [r2, 0x1]\n\
- strb r0, [r1, 0x1]\n\
- ldrb r0, [r2, 0x2]\n\
- strb r0, [r1, 0x1E]\n\
- ldrb r0, [r2, 0x3]\n\
- strb r0, [r1, 0x1F]\n\
- movs r0, 0x81\n\
- lsls r0, 1\n\
- adds r1, r3, r0\n\
- ldrb r0, [r2, 0x10]\n\
- strb r0, [r1]\n\
- ldr r0, =0x00000103\n\
- adds r1, r3, r0\n\
- ldrb r0, [r2, 0x11]\n\
- strb r0, [r1]\n\
- movs r0, 0x90\n\
- lsls r0, 1\n\
- adds r1, r3, r0\n\
- ldrb r0, [r2, 0x12]\n\
- strb r0, [r1]\n\
- ldr r0, =0x00000121\n\
- adds r1, r3, r0\n\
- ldrb r0, [r2, 0x13]\n\
- strb r0, [r1]\n\
- movs r1, 0x4\n\
- add r12, r1\n\
- adds r2, 0x4\n\
- adds r3, 0x4\n\
- subs r6, 0x1\n\
- cmp r6, 0\n\
- bge _08034840\n\
- str r4, [sp, 0x4]\n\
- adds r5, r7, 0\n\
- mov r3, r10\n\
- cmp r3, r9\n\
- blt _08034828\n\
+ ldrb r0, [r2]\n\
+ mov r1, r12\n\
+ strb r0, [r1]\n\
+ ldrb r0, [r2, 0x1]\n\
+ strb r0, [r1, 0x1]\n\
+ ldrb r0, [r2, 0x2]\n\
+ strb r0, [r1, 0x1E]\n\
+ ldrb r0, [r2, 0x3]\n\
+ strb r0, [r1, 0x1F]\n\
+ movs r0, 0x81\n\
+ lsls r0, 1\n\
+ adds r1, r3, r0\n\
+ ldrb r0, [r2, 0x10]\n\
+ strb r0, [r1]\n\
+ ldr r0, =0x00000103\n\
+ adds r1, r3, r0\n\
+ ldrb r0, [r2, 0x11]\n\
+ strb r0, [r1]\n\
+ movs r0, 0x90\n\
+ lsls r0, 1\n\
+ adds r1, r3, r0\n\
+ ldrb r0, [r2, 0x12]\n\
+ strb r0, [r1]\n\
+ ldr r0, =0x00000121\n\
+ adds r1, r3, r0\n\
+ ldrb r0, [r2, 0x13]\n\
+ strb r0, [r1]\n\
+ movs r1, 0x4\n\
+ add r12, r1\n\
+ adds r2, 0x4\n\
+ adds r3, 0x4\n\
+ subs r6, 0x1\n\
+ cmp r6, 0\n\
+ bge _08034840\n\
+ str r4, [sp, 0x4]\n\
+ adds r5, r7, 0\n\
+ mov r3, r10\n\
+ cmp r3, r9\n\
+ blt _08034828\n\
_0803488E:\n\
- mov r2, r9\n\
- cmp r2, 0x7\n\
- bne _080348A0\n\
- adds r5, 0x20\n\
- b _080348A8\n\
- .pool\n\
+ mov r2, r9\n\
+ cmp r2, 0x7\n\
+ bne _080348A0\n\
+ adds r5, 0x20\n\
+ b _080348A8\n\
+ .pool\n\
_080348A0:\n\
- mov r4, r9\n\
- cmp r4, 0x5\n\
- bne _080348A8\n\
- adds r5, 0x60\n\
+ mov r4, r9\n\
+ cmp r4, 0x5\n\
+ bne _080348A8\n\
+ adds r5, 0x60\n\
_080348A8:\n\
- mov r7, r8\n\
- cmp r7, r9\n\
- blt _0803481E\n\
+ mov r7, r8\n\
+ cmp r7, r9\n\
+ blt _0803481E\n\
_080348AE:\n\
- mov r0, r9\n\
- cmp r0, 0x7\n\
- bne _080348BC\n\
- movs r1, 0x80\n\
- lsls r1, 1\n\
- adds r5, r1\n\
- b _080348C8\n\
+ mov r0, r9\n\
+ cmp r0, 0x7\n\
+ bne _080348BC\n\
+ movs r1, 0x80\n\
+ lsls r1, 1\n\
+ adds r5, r1\n\
+ b _080348C8\n\
_080348BC:\n\
- mov r2, r9\n\
- cmp r2, 0x5\n\
- bne _080348C8\n\
- movs r4, 0xF0\n\
- lsls r4, 1\n\
- adds r5, r4\n\
+ mov r2, r9\n\
+ cmp r2, 0x5\n\
+ bne _080348C8\n\
+ movs r4, 0xF0\n\
+ lsls r4, 1\n\
+ adds r5, r4\n\
_080348C8:\n\
- ldr r0, [sp, 0x14]\n\
- ldr r1, [sp]\n\
- cmp r0, r1\n\
- bge _080348D2\n\
- b _08034756\n\
+ ldr r0, [sp, 0x14]\n\
+ ldr r1, [sp]\n\
+ cmp r0, r1\n\
+ bge _080348D2\n\
+ b _08034756\n\
_080348D2:\n\
- b _08034964\n\
+ b _08034964\n\
_080348D4:\n\
- movs r6, 0\n\
- ldr r2, [sp]\n\
- cmp r6, r2\n\
- bge _08034964\n\
+ movs r6, 0\n\
+ ldr r2, [sp]\n\
+ cmp r6, r2\n\
+ bge _08034964\n\
_080348DC:\n\
- adds r6, 0x1\n\
- mov r10, r6\n\
- mov r4, r9\n\
- cmp r4, 0x6\n\
- bne _080348F4\n\
- movs r0, 0\n\
- movs r3, 0xFF\n\
+ adds r6, 0x1\n\
+ mov r10, r6\n\
+ mov r4, r9\n\
+ cmp r4, 0x6\n\
+ bne _080348F4\n\
+ movs r0, 0\n\
+ movs r3, 0xFF\n\
_080348EA:\n\
- strb r0, [r5]\n\
- adds r5, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _080348EA\n\
+ strb r0, [r5]\n\
+ adds r5, 0x1\n\
+ subs r3, 0x1\n\
+ cmp r3, 0\n\
+ bge _080348EA\n\
_080348F4:\n\
- movs r7, 0\n\
- cmp r7, r9\n\
- bge _08034948\n\
+ movs r7, 0\n\
+ cmp r7, r9\n\
+ bge _08034948\n\
_080348FA:\n\
- adds r7, 0x1\n\
- mov r8, r7\n\
- mov r1, r9\n\
- lsls r0, r1, 5\n\
- cmp r1, 0x6\n\
- bne _08034914\n\
- movs r1, 0\n\
- movs r3, 0x1F\n\
+ adds r7, 0x1\n\
+ mov r8, r7\n\
+ mov r1, r9\n\
+ lsls r0, r1, 5\n\
+ cmp r1, 0x6\n\
+ bne _08034914\n\
+ movs r1, 0\n\
+ movs r3, 0x1F\n\
_0803490A:\n\
- strb r1, [r5]\n\
- adds r5, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _0803490A\n\
+ strb r1, [r5]\n\
+ adds r5, 0x1\n\
+ subs r3, 0x1\n\
+ cmp r3, 0\n\
+ bge _0803490A\n\
_08034914:\n\
- adds r1, r0, 0\n\
- cmp r1, 0\n\
- ble _0803492E\n\
- adds r3, r1, 0\n\
+ adds r1, r0, 0\n\
+ cmp r1, 0\n\
+ ble _0803492E\n\
+ adds r3, r1, 0\n\
_0803491C:\n\
- ldr r2, [sp, 0x4]\n\
- ldrb r0, [r2]\n\
- strb r0, [r5]\n\
- adds r2, 0x1\n\
- str r2, [sp, 0x4]\n\
- adds r5, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bne _0803491C\n\
+ ldr r2, [sp, 0x4]\n\
+ ldrb r0, [r2]\n\
+ strb r0, [r5]\n\
+ adds r2, 0x1\n\
+ str r2, [sp, 0x4]\n\
+ adds r5, 0x1\n\
+ subs r3, 0x1\n\
+ cmp r3, 0\n\
+ bne _0803491C\n\
_0803492E:\n\
- mov r4, r9\n\
- cmp r4, 0x6\n\
- bne _08034942\n\
- movs r0, 0\n\
- movs r3, 0x1F\n\
+ mov r4, r9\n\
+ cmp r4, 0x6\n\
+ bne _08034942\n\
+ movs r0, 0\n\
+ movs r3, 0x1F\n\
_08034938:\n\
- strb r0, [r5]\n\
- adds r5, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _08034938\n\
+ strb r0, [r5]\n\
+ adds r5, 0x1\n\
+ subs r3, 0x1\n\
+ cmp r3, 0\n\
+ bge _08034938\n\
_08034942:\n\
- mov r7, r8\n\
- cmp r7, r9\n\
- blt _080348FA\n\
+ mov r7, r8\n\
+ cmp r7, r9\n\
+ blt _080348FA\n\
_08034948:\n\
- mov r0, r9\n\
- cmp r0, 0x6\n\
- bne _0803495C\n\
- movs r0, 0\n\
- movs r3, 0xFF\n\
+ mov r0, r9\n\
+ cmp r0, 0x6\n\
+ bne _0803495C\n\
+ movs r0, 0\n\
+ movs r3, 0xFF\n\
_08034952:\n\
- strb r0, [r5]\n\
- adds r5, 0x1\n\
- subs r3, 0x1\n\
- cmp r3, 0\n\
- bge _08034952\n\
+ strb r0, [r5]\n\
+ adds r5, 0x1\n\
+ subs r3, 0x1\n\
+ cmp r3, 0\n\
+ bge _08034952\n\
_0803495C:\n\
- mov r6, r10\n\
- ldr r1, [sp]\n\
- cmp r6, r1\n\
- blt _080348DC\n\
+ mov r6, r10\n\
+ ldr r1, [sp]\n\
+ cmp r6, r1\n\
+ blt _080348DC\n\
_08034964:\n\
- add sp, 0x24\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\
+ add sp, 0x24\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\
.syntax divided");
}
u32 GetDecompressedDataSize(const u32 *ptr)
{
- const u8 *ptr8 = (const u8 *)ptr;
+ const u8 *ptr8 = (const u8 *)ptr;
return (ptr8[3] << 16) | (ptr8[2] << 8) | (ptr8[1]);
}
diff --git a/src/decoration.c b/src/decoration.c
index eb85b4f5c..dd691721a 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "constants/decorations.h"
#include "decompress.h"
-#include "malloc.h"
+#include "alloc.h"
#include "text.h"
#include "string_util.h"
#include "international_string_util.h"
@@ -16,7 +16,7 @@
#include "field_weather.h"
#include "field_player_avatar.h"
#include "field_camera.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "event_object_movement.h"
#include "list_menu.h"
#include "menu_helpers.h"
@@ -312,7 +312,7 @@ const struct SpriteFrameImage sDecorSelectorSpriteFrameImages = {
};
const struct SpriteTemplate sDecorSelectorSpriteTemplate = {
- 0xffff,
+ 0xFFFF,
OVERWORLD_PLACE_DECOR_SELECTOR_PAL_TAG,
&sDecorSelectorOam,
sDecorSelectorAnims,
diff --git a/src/dewford_trend.c b/src/dewford_trend.c
index 3050ebecf..cad5ef9c2 100644
--- a/src/dewford_trend.c
+++ b/src/dewford_trend.c
@@ -3,7 +3,7 @@
#include "easy_chat.h"
#include "event_data.h"
#include "link.h"
-#include "malloc.h"
+#include "alloc.h"
#include "random.h"
#include "text.h"
#include "tv.h"
diff --git a/src/diploma.c b/src/diploma.c
index f8556eb7d..b3d5a48fa 100644
--- a/src/diploma.c
+++ b/src/diploma.c
@@ -5,7 +5,7 @@
#include "gpu_regs.h"
#include "scanline_effect.h"
#include "task.h"
-#include "malloc.h"
+#include "alloc.h"
#include "decompress.h"
#include "bg.h"
#include "window.h"
diff --git a/src/easy_chat.c b/src/easy_chat.c
index e4233fb7f..c4bc02e42 100644
--- a/src/easy_chat.c
+++ b/src/easy_chat.c
@@ -1,7 +1,7 @@
// Includes
#include "global.h"
-#include "malloc.h"
+#include "alloc.h"
#include "constants/songs.h"
#include "sound.h"
#include "overworld.h"
@@ -51,6 +51,9 @@ EWRAM_DATA struct
u16 ecWordBuffer[9];
} *gUnknown_0203A118 = NULL;
+EWRAM_DATA void *gUnknown_0203A11C = 0;
+EWRAM_DATA void *gUnknown_0203A120 = 0;
+
// Static ROM declarations
static void sub_811A2C0(u8);
diff --git a/src/effects_1.c b/src/effects_1.c
deleted file mode 100644
index a8687bc38..000000000
--- a/src/effects_1.c
+++ /dev/null
@@ -1,2093 +0,0 @@
-#include "global.h"
-#include "battle_anim.h"
-#include "constants/rgb.h"
-
-extern void sub_80FE840(struct Sprite *);
-extern void sub_80FE8E0(struct Sprite *);
-extern void sub_80FE930(struct Sprite *);
-extern void sub_80FE988(struct Sprite *);
-extern void sub_80FEAD8(struct Sprite *);
-extern void sub_80FEB44(struct Sprite *);
-extern void sub_80FEC48(struct Sprite *);
-extern void sub_80FED28(struct Sprite *);
-extern void sub_80FEE78(struct Sprite *);
-extern void sub_80FEF44(struct Sprite *);
-extern void sub_80FEFFC(struct Sprite *);
-extern void AnimMoveTwisterParticle(struct Sprite *);
-extern void sub_80FF0F4(struct Sprite *);
-extern void sub_80FF374(struct Sprite *);
-extern void sub_80FF698(struct Sprite *);
-extern void sub_80FF768(struct Sprite *);
-extern void sub_80FF7EC(struct Sprite *);
-extern void sub_80FF934(struct Sprite *);
-extern void sub_80FFB18(struct Sprite *);
-extern void sub_80FFBF4(struct Sprite *);
-extern void sub_80FFC70(struct Sprite *);
-extern void sub_80FFCB4(struct Sprite *);
-extern void sub_80FFDBC(struct Sprite *);
-extern void sub_8100640(struct Sprite *);
-extern void sub_8100898(struct Sprite *);
-extern void sub_8100A50(struct Sprite *);
-extern void sub_81009F8(struct Sprite *);
-extern void sub_8100A94(struct Sprite *);
-extern void sub_8100AE0(struct Sprite *);
-extern void sub_8100B88(struct Sprite *);
-extern void sub_8100E1C(struct Sprite *);
-extern void sub_8100EF0(struct Sprite *);
-extern void sub_81010CC(struct Sprite *);
-extern void sub_810130C(struct Sprite *);
-extern void sub_810135C(struct Sprite *);
-extern void sub_8101440(struct Sprite *);
-extern void sub_81014F4(struct Sprite *);
-extern void sub_81015AC(struct Sprite *);
-extern void sub_8101898(struct Sprite *);
-extern void sub_8101940(struct Sprite *);
-extern void sub_8101B90(struct Sprite *);
-extern void sub_8101F40(struct Sprite *);
-extern void sub_8101FA8(struct Sprite *);
-extern void sub_8101FF0(struct Sprite *);
-extern void sub_81020D8(struct Sprite *);
-extern void sub_810217C(struct Sprite *);
-extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
-extern void sub_80A77C8(struct Sprite *);
-extern void sub_8102268(struct Sprite *);
-extern void sub_810234C(struct Sprite *);
-extern void sub_81024E0(struct Sprite *);
-extern void sub_8102540(struct Sprite *);
-extern void sub_80A77C8(struct Sprite *);
-extern void sub_8102844(struct Sprite *);
-extern void sub_8102BCC(struct Sprite *);
-extern void sub_8102CD4(struct Sprite *);
-extern void sub_8102EB0(struct Sprite *);
-extern void sub_8102FB8(struct Sprite *);
-extern void sub_8103028(struct Sprite *);
-extern void sub_8103164(struct Sprite *);
-extern void sub_8103208(struct Sprite *);
-extern void sub_8103284(struct Sprite *);
-extern void sub_8103390(struct Sprite *);
-
-const union AnimCmd gUnknown_085920F0[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(2, 5),
- ANIMCMD_FRAME(4, 5),
- ANIMCMD_FRAME(6, 5),
- ANIMCMD_FRAME(8, 5),
- ANIMCMD_FRAME(10, 5),
- ANIMCMD_FRAME(12, 5),
- ANIMCMD_FRAME(14, 5),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd *const gUnknown_08592114[] =
-{
- gUnknown_085920F0,
-};
-
-const struct SpriteTemplate gSleepPowderParticleSpriteTemplate =
-{
- .tileTag = ANIM_TAG_SLEEP_POWDER,
- .paletteTag = ANIM_TAG_SLEEP_POWDER,
- .oam = &gUnknown_08524944,
- .anims = gUnknown_08592114,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FE840,
-};
-
-const struct SpriteTemplate gStunSporeParticleSpriteTemplate =
-{
- .tileTag = ANIM_TAG_STUN_SPORE,
- .paletteTag = ANIM_TAG_STUN_SPORE,
- .oam = &gUnknown_08524944,
- .anims = gUnknown_08592114,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FE840,
-};
-
-const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate =
-{
- .tileTag = ANIM_TAG_POISON_POWDER,
- .paletteTag = ANIM_TAG_POISON_POWDER,
- .oam = &gUnknown_08524944,
- .anims = gUnknown_08592114,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FE840,
-};
-
-const union AnimCmd gUnknown_08592160[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592168[] =
-{
- ANIMCMD_FRAME(1, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592170[] =
-{
- ANIMCMD_FRAME(2, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592178[] =
-{
- ANIMCMD_FRAME(3, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592180[] =
-{
- ANIMCMD_FRAME(4, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592188[] =
-{
- ANIMCMD_FRAME(5, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592190[] =
-{
- ANIMCMD_FRAME(6, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592198[] =
-{
- ANIMCMD_FRAME(7, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085921A0[] =
-{
- ANIMCMD_FRAME(8, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_085921A8[] =
-{
- gUnknown_08592160,
- gUnknown_08592168,
- gUnknown_08592170,
- gUnknown_08592178,
- gUnknown_08592180,
- gUnknown_08592188,
- gUnknown_08592190,
-};
-
-const union AnimCmd *const gUnknown_085921C4[] =
-{
- gUnknown_08592198,
-};
-
-const union AnimCmd *const gUnknown_085921C8[] =
-{
- gUnknown_085921A0,
-};
-
-const union AffineAnimCmd gUnknown_085921CC[] = {
- AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
- AFFINEANIMCMD_JUMP(0),
-};
-
-const union AffineAnimCmd *const gUnknown_085921DC[] = {
- gUnknown_085921CC,
-};
-
-const struct SpriteTemplate gUnknown_085921E0 =
-{
- .tileTag = ANIM_TAG_ORBS,
- .paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524A8C,
- .anims = gUnknown_085921C8,
- .images = NULL,
- .affineAnims = gUnknown_085921DC,
- .callback = sub_80FE8E0,
-};
-
-const struct SpriteTemplate gUnknown_085921F8 =
-{
- .tileTag = ANIM_TAG_ORBS,
- .paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085921A8,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FE930,
-};
-
-const struct SpriteTemplate gUnknown_08592210 =
-{
- .tileTag = ANIM_TAG_ORBS,
- .paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085921C4,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FE988,
-};
-
-const union AffineAnimCmd gUnknown_08592228[] = {
- AFFINEANIMCMD_FRAME(320, 320, 0, 0),
- AFFINEANIMCMD_FRAME(-14, -14, 0, 1),
- AFFINEANIMCMD_JUMP(1),
-};
-
-const union AffineAnimCmd *const gUnknown_08592240[] = {
- gUnknown_08592228,
-};
-
-const struct SpriteTemplate gUnknown_08592244 =
-{
- .tileTag = ANIM_TAG_GRAY_ORB,
- .paletteTag = ANIM_TAG_GRAY_ORB,
- .oam = &gUnknown_085249C4,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_08592240,
- .callback = sub_80FE8E0,
-};
-
-const union AffineAnimCmd gUnknown_0859225C[] = {
- AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
- AFFINEANIMCMD_JUMP(0),
-};
-
-const union AffineAnimCmd *const gUnknown_0859226C[] = {
- gUnknown_0859225C,
-};
-
-const struct SpriteTemplate gUnknown_08592270 =
-{
- .tileTag = ANIM_TAG_ORBS,
- .paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524A8C,
- .anims = gUnknown_085921C8,
- .images = NULL,
- .affineAnims = gUnknown_0859226C,
- .callback = sub_80FEAD8,
-};
-
-const struct SpriteTemplate gUnknown_08592288 =
-{
- .tileTag = ANIM_TAG_ORBS,
- .paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_085921A8,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEB44,
-};
-
-const union AnimCmd gUnknown_085922A0[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085922A8[] =
-{
- ANIMCMD_FRAME(4, 7),
- ANIMCMD_FRAME(8, 7),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd *const gUnknown_085922B4[] =
-{
- gUnknown_085922A0,
- gUnknown_085922A8,
-};
-
-const struct SpriteTemplate gLeechSeedSpriteTemplate =
-{
- .tileTag = ANIM_TAG_SEED,
- .paletteTag = ANIM_TAG_SEED,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_085922B4,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEC48,
-};
-
-const union AnimCmd gUnknown_085922D4[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085922DC[] =
-{
- ANIMCMD_FRAME(4, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_085922E4[] =
-{
- gUnknown_085922D4,
- gUnknown_085922DC,
-};
-
-const struct SpriteTemplate gUnknown_085922EC =
-{
- .tileTag = ANIM_TAG_SPORE,
- .paletteTag = ANIM_TAG_SPORE,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_085922E4,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FED28,
-};
-
-const union AnimCmd gUnknown_08592304[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_0859230C[] =
-{
- ANIMCMD_FRAME(4, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592314[] =
-{
- gUnknown_08592304,
-};
-
-const union AnimCmd *const gUnknown_08592318[] =
-{
- gUnknown_0859230C,
-};
-
-const struct SpriteTemplate gUnknown_0859231C =
-{
- .tileTag = ANIM_TAG_FLOWER,
- .paletteTag = ANIM_TAG_FLOWER,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592314,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEE78,
-};
-
-const struct SpriteTemplate gUnknown_08592334 =
-{
- .tileTag = ANIM_TAG_FLOWER,
- .paletteTag = ANIM_TAG_FLOWER,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_08592318,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEF44,
-};
-
-const union AnimCmd gUnknown_0859234C[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(4, 5),
- ANIMCMD_FRAME(8, 5),
- ANIMCMD_FRAME(12, 5),
- ANIMCMD_FRAME(16, 5),
- ANIMCMD_FRAME(20, 5),
- ANIMCMD_FRAME(16, 5),
- ANIMCMD_FRAME(12, 5),
- ANIMCMD_FRAME(8, 5),
- ANIMCMD_FRAME(4, 5),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd gUnknown_08592378[] =
-{
- ANIMCMD_FRAME(24, 5),
- ANIMCMD_FRAME(28, 5),
- ANIMCMD_FRAME(32, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592388[] =
-{
- gUnknown_0859234C,
- gUnknown_08592378,
-};
-
-const struct SpriteTemplate gUnknown_08592390 =
-{
- .tileTag = ANIM_TAG_LEAF,
- .paletteTag = ANIM_TAG_LEAF,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592388,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FEFFC,
-};
-
-const struct SpriteTemplate gUnknown_085923A8 =
-{
- .tileTag = ANIM_TAG_LEAF,
- .paletteTag = ANIM_TAG_LEAF,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592388,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = AnimMoveTwisterParticle,
-};
-
-const union AnimCmd gUnknown_085923C0[] =
-{
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
- ANIMCMD_FRAME(0, 3, .vFlip = TRUE, .hFlip = TRUE),
- ANIMCMD_FRAME(0, 3, .vFlip = TRUE),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd *const gUnknown_085923D4[] =
-{
- gUnknown_085923C0,
-};
-
-const struct SpriteTemplate gUnknown_085923D8 =
-{
- .tileTag = ANIM_TAG_RAZOR_LEAF,
- .paletteTag = ANIM_TAG_RAZOR_LEAF,
- .oam = &gUnknown_08524934,
- .anims = gUnknown_085923D4,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FF0F4,
-};
-
-const union AffineAnimCmd gUnknown_085923F0[] = {
- AFFINEANIMCMD_FRAME(0, 0, 0, 1),
- AFFINEANIMCMD_JUMP(0),
-};
-
-const union AffineAnimCmd *const gUnknown_08592400[] = {
- gUnknown_085923F0,
-};
-
-const struct SpriteTemplate gSwiftStarSpriteTemplate =
-{
- .tileTag = ANIM_TAG_YELLOW_STAR,
- .paletteTag = ANIM_TAG_YELLOW_STAR,
- .oam = &gUnknown_08524974,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_08592400,
- .callback = sub_80FF0F4,
-};
-
-const union AnimCmd gUnknown_0859241C[] =
-{
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_FRAME(64, 4),
- ANIMCMD_FRAME(96, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592430[] =
-{
- ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(64, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(96, 4, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592444[] =
-{
- gUnknown_0859241C,
- gUnknown_08592430,
-};
-
-const union AffineAnimCmd gUnknown_0859244C[] = {
- AFFINEANIMCMD_FRAME(256, 256, 0, 0),
- AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
- AFFINEANIMCMD_FRAME(11, 0, 0, 6),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_0859246C[] = {
- AFFINEANIMCMD_FRAME(-256, 256, 0, 0),
- AFFINEANIMCMD_FRAME(11, 0, 0, 6),
- AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd *const gUnknown_0859248C[] = {
- gUnknown_0859244C,
- gUnknown_0859246C,
-};
-
-const struct SpriteTemplate gUnknown_08592494 =
-{
- .tileTag = ANIM_TAG_TENDRILS,
- .paletteTag = ANIM_TAG_TENDRILS,
- .oam = &gUnknown_0852499C,
- .anims = gUnknown_08592444,
- .images = NULL,
- .affineAnims = gUnknown_0859248C,
- .callback = sub_80FF374,
-};
-
-const union AffineAnimCmd gUnknown_085924AC[] = {
- AFFINEANIMCMD_FRAME(0, 0, 0, 0),
- AFFINEANIMCMD_FRAME(48, 48, 0, 14),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_085924C4[] = {
- AFFINEANIMCMD_FRAME(-16, -16, 0, 1),
- AFFINEANIMCMD_JUMP(0),
-};
-
-const union AffineAnimCmd *const gUnknown_085924D4[] = {
- gUnknown_085924AC,
- gUnknown_085924C4,
-};
-
-const struct SpriteTemplate gUnknown_085924DC =
-{
- .tileTag = ANIM_TAG_ORBS,
- .paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_085249CC,
- .anims = gUnknown_085921C8,
- .images = NULL,
- .affineAnims = gUnknown_085924D4,
- .callback = sub_80FF698,
-};
-
-const union AnimCmd gUnknown_085924F4[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(16, 7),
- ANIMCMD_FRAME(32, 7),
- ANIMCMD_FRAME(48, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592508[] =
-{
- ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 7, .hFlip = TRUE),
- ANIMCMD_FRAME(48, 7, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_0859251C[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(16, 7),
- ANIMCMD_FRAME(32, 7),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_0859252C[] =
-{
- ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 7, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_0859253C[] =
-{
- gUnknown_085924F4,
- gUnknown_08592508,
- gUnknown_0859251C,
- gUnknown_0859252C,
-};
-
-const struct SpriteTemplate gUnknown_0859254C =
-{
- .tileTag = ANIM_TAG_ROOTS,
- .paletteTag = ANIM_TAG_ROOTS,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_0859253C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FF768,
-};
-
-const struct SpriteTemplate gUnknown_08592564 =
-{
- .tileTag = ANIM_TAG_ROOTS,
- .paletteTag = ANIM_TAG_ROOTS,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_0859253C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FF7EC,
-};
-
-const union AnimCmd gUnknown_0859257C[] =
-{
- ANIMCMD_FRAME(3, 3),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd *const gUnknown_08592588[] =
-{
- gUnknown_0859257C,
-};
-
-const struct SpriteTemplate gUnknown_0859258C =
-{
- .tileTag = ANIM_TAG_ORBS,
- .paletteTag = ANIM_TAG_ORBS,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_08592588,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FF934,
-};
-
-const union AnimCmd gUnknown_085925A4[] =
-{
- ANIMCMD_FRAME(0, 30),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_085925AC[] =
-{
- gUnknown_085925A4,
-};
-
-const union AffineAnimCmd gUnknown_085925B0[] = {
- AFFINEANIMCMD_FRAME(0, 0, -4, 10),
- AFFINEANIMCMD_FRAME(0, 0, 4, 20),
- AFFINEANIMCMD_FRAME(0, 0, -4, 10),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_085925D0[] = {
- AFFINEANIMCMD_FRAME(0, 0, -1, 2),
- AFFINEANIMCMD_FRAME(0, 0, 1, 4),
- AFFINEANIMCMD_FRAME(0, 0, -1, 4),
- AFFINEANIMCMD_FRAME(0, 0, 1, 4),
- AFFINEANIMCMD_FRAME(0, 0, -1, 4),
- AFFINEANIMCMD_FRAME(0, 0, 1, 2),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd *const gUnknown_08592608[] = {
- gUnknown_085925B0,
- gUnknown_085925D0,
-};
-
-const struct SpriteTemplate gUnknown_08592610 =
-{
- .tileTag = ANIM_TAG_ITEM_BAG,
- .paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085925AC,
- .images = NULL,
- .affineAnims = gUnknown_08592608,
- .callback = sub_80FFB18,
-};
-
-const struct SpriteTemplate gBattleAnimSpriteTemplate_8592628 =
-{
- .tileTag = ANIM_TAG_ITEM_BAG,
- .paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085925AC,
- .images = NULL,
- .affineAnims = gUnknown_08592608,
- .callback = sub_80FFBF4,
-};
-
-const union AnimCmd gUnknown_08592640[] =
-{
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(4, 4),
- ANIMCMD_FRAME(8, 4),
- ANIMCMD_FRAME(12, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592654[] =
-{
- gUnknown_08592640,
-};
-
-const struct SpriteTemplate gUnknown_08592658 =
-{
- .tileTag = ANIM_TAG_GREEN_SPARKLE,
- .paletteTag = ANIM_TAG_GREEN_SPARKLE,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592654,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80FFC70,
-};
-
-const struct SpriteTemplate gUnknown_08592670 =
-{
- .tileTag = ANIM_TAG_ITEM_BAG,
- .paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085925AC,
- .images = NULL,
- .affineAnims = gUnknown_08592608,
- .callback = sub_80FFCB4,
-};
-
-const union AffineAnimCmd gUnknown_08592688[] = {
- AFFINEANIMCMD_FRAME(0, 0, 0, 3),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_08592698[] = {
- AFFINEANIMCMD_FRAME(0, -10, 0, 3),
- AFFINEANIMCMD_FRAME(0, -6, 0, 3),
- AFFINEANIMCMD_FRAME(0, -2, 0, 3),
- AFFINEANIMCMD_FRAME(0, 0, 0, 3),
- AFFINEANIMCMD_FRAME(0, 2, 0, 3),
- AFFINEANIMCMD_FRAME(0, 6, 0, 3),
- AFFINEANIMCMD_FRAME(0, 10, 0, 3),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd *const gUnknown_085926D8[] = {
- gUnknown_08592688,
- gUnknown_08592698,
- gUnknown_085925B0,
- gUnknown_085925D0,
-};
-
-const struct SpriteTemplate gUnknown_085926E8 =
-{
- .tileTag = ANIM_TAG_ITEM_BAG,
- .paletteTag = ANIM_TAG_ITEM_BAG,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_085925AC,
- .images = NULL,
- .affineAnims = gUnknown_085926D8,
- .callback = sub_80FFDBC,
-};
-
-const s8 gUnknown_08592700[][3] =
-{
- {5, 24, 1},
- {0, 4, 0},
- {8, 16, -1},
- {0, 2, 0},
- {8, 16, 1},
- {0, 2, 0},
- {8, 16, 1},
- {0, 2, 0},
- {8, 16, 1},
- {0, 16, 0},
- {0, 0, 127},
-};
-
-const union AnimCmd gUnknown_08592724[] =
-{
- ANIMCMD_FRAME(28, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_0859272C[] =
-{
- ANIMCMD_FRAME(32, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592734[] =
-{
- ANIMCMD_FRAME(20, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_0859273C[] =
-{
- ANIMCMD_FRAME(28, 1, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592744[] =
-{
- ANIMCMD_FRAME(16, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_0859274C[] =
-{
- ANIMCMD_FRAME(16, 1, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592754[] =
-{
- ANIMCMD_FRAME(28, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_0859275C[] =
-{
- gUnknown_08592724,
- gUnknown_0859272C,
- gUnknown_08592734,
- gUnknown_0859273C,
- gUnknown_08592744,
- gUnknown_0859274C,
- gUnknown_08592754,
-};
-
-const struct SpriteTemplate gUnknown_08592778 =
-{
- .tileTag = ANIM_TAG_LEAF,
- .paletteTag = ANIM_TAG_LEAF,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_0859275C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SpriteCallbackDummy,
-};
-
-const union AffineAnimCmd gUnknown_08592790[] = {
- AFFINEANIMCMD_FRAME(256, 256, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, 4, 1),
- AFFINEANIMCMD_JUMP(1),
-};
-
-const union AffineAnimCmd *const gUnknown_085927A8[] = {
- gUnknown_08592790,
-};
-
-const struct SpriteTemplate gUnknown_085927AC =
-{
- .tileTag = ANIM_TAG_FLOWER,
- .paletteTag = ANIM_TAG_FLOWER,
- .oam = &gUnknown_08524904,
- .anims = gUnknown_08592318,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100640,
-};
-
-const struct SpriteTemplate gUnknown_085927C4 =
-{
- .tileTag = ANIM_TAG_FLOWER,
- .paletteTag = ANIM_TAG_FLOWER,
- .oam = &gUnknown_0852496C,
- .anims = gUnknown_08592314,
- .images = NULL,
- .affineAnims = gUnknown_085927A8,
- .callback = sub_8100640,
-};
-
-const union AffineAnimCmd gUnknown_085927DC[] = {
- AFFINEANIMCMD_FRAME(256, 256, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, -10, 1),
- AFFINEANIMCMD_JUMP(1),
-};
-
-const union AffineAnimCmd gUnknown_085927F4[] = {
- AFFINEANIMCMD_FRAME(192, 192, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, -12, 1),
- AFFINEANIMCMD_JUMP(1),
-};
-
-const union AffineAnimCmd gUnknown_0859280C[] = {
- AFFINEANIMCMD_FRAME(143, 143, 0, 0),
- AFFINEANIMCMD_FRAME(0, 0, -15, 1),
- AFFINEANIMCMD_JUMP(1),
-};
-
-const union AffineAnimCmd *const gUnknown_08592824[] = {
- gUnknown_085927DC,
-};
-
-const union AffineAnimCmd *const gUnknown_08592828[] = {
- gUnknown_085927F4,
-};
-
-const union AffineAnimCmd *const gUnknown_0859282C[] = {
- gUnknown_0859280C,
-};
-
-const struct SpriteTemplate gUnknown_08592830 =
-{
- .tileTag = ANIM_TAG_SPARKLE_6,
- .paletteTag = ANIM_TAG_SPARKLE_6,
- .oam = &gUnknown_0852496C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_08592824,
- .callback = sub_8100640,
-};
-
-const struct SpriteTemplate gUnknown_08592848 =
-{
- .tileTag = ANIM_TAG_SPARKLE_6,
- .paletteTag = ANIM_TAG_SPARKLE_6,
- .oam = &gUnknown_0852496C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_08592828,
- .callback = sub_8100640,
-};
-
-const struct SpriteTemplate gUnknown_08592860 =
-{
- .tileTag = ANIM_TAG_SPARKLE_6,
- .paletteTag = ANIM_TAG_SPARKLE_6,
- .oam = &gUnknown_0852496C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_0859282C,
- .callback = sub_8100640,
-};
-
-// sMagicalLeafBlendColors
-const u16 gUnknown_08592878[] =
-{
- RGB(31, 0, 0),
- RGB(31, 19, 0),
- RGB(31, 31, 0),
- RGB(0, 31, 0),
- RGB(5, 14, 31),
- RGB(22, 10, 31),
- RGB(22, 21, 31),
-};
-
-const struct SpriteTemplate gUnknown_08592888 =
-{
- .tileTag = ANIM_TAG_GREEN_SPIKE,
- .paletteTag = ANIM_TAG_GREEN_SPIKE,
- .oam = &gUnknown_0852496C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100898,
-};
-
-const union AnimCmd gUnknown_085928A0[] =
-{
- ANIMCMD_FRAME(64, 3),
- ANIMCMD_FRAME(80, 3),
- ANIMCMD_FRAME(96, 3),
- ANIMCMD_FRAME(112, 6),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085928B4[] =
-{
- ANIMCMD_FRAME(64, 3, .hFlip = TRUE),
- ANIMCMD_FRAME(80, 3, .hFlip = TRUE),
- ANIMCMD_FRAME(96, 3, .hFlip = TRUE),
- ANIMCMD_FRAME(112, 6, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_085928C8[] =
-{
- gUnknown_085928A0,
- gUnknown_085928B4,
-};
-
-const struct SpriteTemplate gUnknown_085928D0 =
-{
- .tileTag = ANIM_TAG_SLAM_HIT,
- .paletteTag = ANIM_TAG_SLAM_HIT,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_085928C8,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100A50,
-};
-
-const struct SpriteTemplate gUnknown_085928E8 =
-{
- .tileTag = ANIM_TAG_WHIP_HIT,
- .paletteTag = ANIM_TAG_WHIP_HIT,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_085928C8,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100A50,
-};
-
-const union AnimCmd gUnknown_08592900[] =
-{
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_FRAME(48, 4),
- ANIMCMD_FRAME(64, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592918[] =
-{
- gUnknown_08592900,
-};
-
-const struct SpriteTemplate gUnknown_0859291C =
-{
- .tileTag = ANIM_TAG_UNUSED_HIT,
- .paletteTag = ANIM_TAG_UNUSED_HIT,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592918,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81009F8,
-};
-
-const struct SpriteTemplate gUnknown_08592934 =
-{
- .tileTag = ANIM_TAG_UNUSED_HIT_2,
- .paletteTag = ANIM_TAG_UNUSED_HIT_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592918,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81009F8,
-};
-
-const union AffineAnimCmd gUnknown_0859294C[] = {
- AFFINEANIMCMD_FRAME(256, 256, 0, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_0859295C[] = {
- AFFINEANIMCMD_FRAME(256, 256, 32, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_0859296C[] = {
- AFFINEANIMCMD_FRAME(256, 256, 64, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_0859297C[] = {
- AFFINEANIMCMD_FRAME(256, 256, 96, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_0859298C[] = {
- AFFINEANIMCMD_FRAME(256, 256, -128, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_0859299C[] = {
- AFFINEANIMCMD_FRAME(256, 256, -96, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_085929AC[] = {
- AFFINEANIMCMD_FRAME(256, 256, -64, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_085929BC[] = {
- AFFINEANIMCMD_FRAME(256, 256, -32, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd *const gUnknown_085929CC[] = {
- gUnknown_0859294C,
- gUnknown_0859295C,
- gUnknown_0859296C,
- gUnknown_0859297C,
- gUnknown_0859298C,
- gUnknown_0859299C,
- gUnknown_085929AC,
- gUnknown_085929BC,
-};
-
-const struct SpriteTemplate gUnknown_085929EC =
-{
- .tileTag = ANIM_TAG_HANDS_AND_FEET,
- .paletteTag = ANIM_TAG_HANDS_AND_FEET,
- .oam = &gUnknown_08524974,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_085929CC,
- .callback = sub_8100A94,
-};
-
-const union AnimCmd gUnknown_08592A04[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(16, 5),
- ANIMCMD_FRAME(32, 5),
- ANIMCMD_FRAME(48, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592A18[] =
-{
- gUnknown_08592A04,
-};
-
-const struct SpriteTemplate gCuttingSliceSpriteTemplate =
-{
- .tileTag = ANIM_TAG_CUT,
- .paletteTag = ANIM_TAG_CUT,
- .oam = &gUnknown_08524A34,
- .anims = gUnknown_08592A18,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100AE0,
-};
-
-const struct SpriteTemplate gUnknown_08592A34 =
-{
- .tileTag = ANIM_TAG_CUT,
- .paletteTag = ANIM_TAG_CUT,
- .oam = &gUnknown_08524A34,
- .anims = gUnknown_08592A18,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100B88,
-};
-
-const union AnimCmd gUnknown_08592A4C[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A54[] =
-{
- ANIMCMD_FRAME(4, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A5C[] =
-{
- ANIMCMD_FRAME(8, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A64[] =
-{
- ANIMCMD_FRAME(12, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A6C[] =
-{
- ANIMCMD_FRAME(16, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A74[] =
-{
- ANIMCMD_FRAME(20, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A7C[] =
-{
- ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A84[] =
-{
- ANIMCMD_FRAME(4, 1, .vFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A8C[] =
-{
- ANIMCMD_FRAME(8, 1, .vFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592A94[] =
-{
- ANIMCMD_FRAME(12, 1, .vFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592A9C[] =
-{
- gUnknown_08592A4C,
- gUnknown_08592A54,
- gUnknown_08592A5C,
- gUnknown_08592A64,
- gUnknown_08592A6C,
- gUnknown_08592A74,
- gUnknown_08592A7C,
- gUnknown_08592A84,
- gUnknown_08592A8C,
- gUnknown_08592A94,
-};
-
-const struct SpriteTemplate gUnknown_08592AC4 =
-{
- .tileTag = ANIM_TAG_MUSIC_NOTES,
- .paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592A9C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100E1C,
-};
-
-const struct SpriteTemplate gUnknown_08592ADC =
-{
- .tileTag = ANIM_TAG_PROTECT,
- .paletteTag = ANIM_TAG_PROTECT,
- .oam = &gUnknown_08524A3C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8100EF0,
-};
-
-const union AffineAnimCmd gUnknown_08592AF4[] =
-{
- AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_08592B04[] =
-{
- AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12),
- AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
- AFFINEANIMCMD_FRAME(0x0, 0x0, -2, 24),
- AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
- AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12),
- AFFINEANIMCMD_JUMP(0),
-};
-
-const union AffineAnimCmd *const gUnknown_08592B34[] =
-{
- gUnknown_08592AF4,
- gUnknown_08592B04,
-};
-
-const struct SpriteTemplate gUnknown_08592B3C =
-{
- .tileTag = ANIM_TAG_MILK_BOTTLE,
- .paletteTag = ANIM_TAG_MILK_BOTTLE,
- .oam = &gUnknown_08524A94,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_08592B34,
- .callback = sub_81010CC,
-};
-
-const union AnimCmd gUnknown_08592B54[] =
-{
- ANIMCMD_FRAME(0, 7),
- ANIMCMD_FRAME(16, 7),
- ANIMCMD_FRAME(32, 7),
- ANIMCMD_FRAME(48, 7),
- ANIMCMD_FRAME(64, 7),
- ANIMCMD_FRAME(80, 7),
- ANIMCMD_FRAME(96, 7),
- ANIMCMD_FRAME(112, 7),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd *const gUnknown_08592B78[] =
-{
- gUnknown_08592B54,
-};
-
-const struct SpriteTemplate gUnknown_08592B7C =
-{
- .tileTag = ANIM_TAG_SPARKLE_2,
- .paletteTag = ANIM_TAG_SPARKLE_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592B78,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810130C,
-};
-
-const struct SpriteTemplate gUnknown_08592B94 =
-{
- .tileTag = ANIM_TAG_SPARKLE_2,
- .paletteTag = ANIM_TAG_SPARKLE_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592B78,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810135C,
-};
-
-const union AnimCmd gUnknown_08592BAC[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_FRAME(4, 10),
- ANIMCMD_FRAME(8, 10),
- ANIMCMD_FRAME(12, 10),
- ANIMCMD_FRAME(16, 26),
- ANIMCMD_FRAME(16, 5),
- ANIMCMD_FRAME(20, 5),
- ANIMCMD_FRAME(24, 15),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592BD0[] =
-{
- ANIMCMD_FRAME(0, 10, .hFlip = TRUE),
- ANIMCMD_FRAME(4, 10, .hFlip = TRUE),
- ANIMCMD_FRAME(8, 10, .hFlip = TRUE),
- ANIMCMD_FRAME(12, 10, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 26, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 5, .hFlip = TRUE),
- ANIMCMD_FRAME(20, 5, .hFlip = TRUE),
- ANIMCMD_FRAME(24, 15, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592BF4[] =
-{
- gUnknown_08592BAC,
- gUnknown_08592BD0,
-};
-
-const struct SpriteTemplate gUnknown_08592BFC =
-{
- .tileTag = ANIM_TAG_UNUSED_BUBBLE_BURST,
- .paletteTag = ANIM_TAG_UNUSED_BUBBLE_BURST,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592BF4,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101440,
-};
-
-const union AnimCmd gUnknown_08592C14[] =
-{
- ANIMCMD_FRAME(0, 40),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592C1C[] =
-{
- gUnknown_08592C14,
-};
-
-const union AffineAnimCmd gUnknown_08592C20[] =
-{
- AFFINEANIMCMD_FRAME(0x14, 0x14, -30, 0),
- AFFINEANIMCMD_FRAME(0x8, 0x8, 1, 24),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_08592C20_2[] =
-{
- AFFINEANIMCMD_LOOP(0),
- AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 24),
- AFFINEANIMCMD_LOOP(10),
-};
-
-const union AffineAnimCmd gUnknown_08592C50[] =
-{
- AFFINEANIMCMD_FRAME(0x14, 0x14, 30, 0),
- AFFINEANIMCMD_FRAME(0x8, 0x8, -1, 24),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_08592C50_2[] =
-{
- AFFINEANIMCMD_LOOP(0),
- AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 24),
- AFFINEANIMCMD_LOOP(10),
-};
-
-const union AffineAnimCmd *const gUnknown_08592C80[] =
-{
- gUnknown_08592C20,
- gUnknown_08592C50,
-};
-
-const struct SpriteTemplate gUnknown_08592C88 =
-{
- .tileTag = ANIM_TAG_LETTER_Z,
- .paletteTag = ANIM_TAG_LETTER_Z,
- .oam = &gUnknown_08524974,
- .anims = gUnknown_08592C1C,
- .images = NULL,
- .affineAnims = gUnknown_08592C80,
- .callback = sub_81014F4,
-};
-
-const struct SpriteTemplate gUnknown_08592CA0 =
-{
- .tileTag = ANIM_TAG_LOCK_ON,
- .paletteTag = ANIM_TAG_LOCK_ON,
- .oam = &gUnknown_08524914,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81015AC,
-};
-
-const struct SpriteTemplate gUnknown_08592CB8 =
-{
- .tileTag = ANIM_TAG_LOCK_ON,
- .paletteTag = ANIM_TAG_LOCK_ON,
- .oam = &gUnknown_0852490C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101898,
-};
-
-const s8 gUnknown_08592CD0[][2] =
-{
- { 64, 64},
- { 0, -64},
- {-64, 64},
- { 32, -32},
-};
-
-const struct SpriteTemplate gUnknown_08592CD8 =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101940,
-};
-
-const struct SpriteTemplate gUnknown_08592CF0 =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101B90,
-};
-
-const union AnimCmd gUnknown_08592D08[] =
-{
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_FRAME(48, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592D1C[] =
-{
- ANIMCMD_FRAME(48, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592D24[] =
-{
- gUnknown_08592D08,
- gUnknown_08592D1C,
-};
-
-const struct SpriteTemplate gUnknown_08592D2C =
-{
- .tileTag = ANIM_TAG_SLASH,
- .paletteTag = ANIM_TAG_SLASH,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592D24,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101F40,
-};
-
-const struct SpriteTemplate gUnknown_08592D44 =
-{
- .tileTag = ANIM_TAG_SLASH_2,
- .paletteTag = ANIM_TAG_SLASH_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592D24,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101FA8,
-};
-
-const struct SpriteTemplate gUnknown_08592D5C =
-{
- .tileTag = ANIM_TAG_SLASH_2,
- .paletteTag = ANIM_TAG_SLASH_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592D24,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8101FF0,
-};
-
-const union AnimCmd gUnknown_08592D74[] =
-{
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(8, 12),
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(24, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592D88[] =
-{
- gUnknown_08592D74,
-};
-
-const struct SpriteTemplate gUnknown_08592D8C =
-{
- .tileTag = ANIM_TAG_FOCUS_ENERGY,
- .paletteTag = ANIM_TAG_FOCUS_ENERGY,
- .oam = &gUnknown_08524954,
- .anims = gUnknown_08592D88,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81020D8,
-};
-
-const union AnimCmd gUnknown_08592DA4[] =
-{
- ANIMCMD_FRAME(0, 18),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(16, 18),
- ANIMCMD_FRAME(0, 6),
- ANIMCMD_FRAME(16, 6),
- ANIMCMD_FRAME(32, 18),
- ANIMCMD_FRAME(16, 6),
- ANIMCMD_FRAME(32, 6),
- ANIMCMD_FRAME(48, 18),
- ANIMCMD_FRAME(32, 6),
- ANIMCMD_FRAME(48, 6),
- ANIMCMD_FRAME(64, 18),
- ANIMCMD_FRAME(48, 6),
- ANIMCMD_FRAME(64, 54),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592DE0[] =
-{
- gUnknown_08592DA4,
-};
-
-const struct SpriteTemplate gUnknown_08592DE4 =
-{
- .tileTag = ANIM_TAG_SPHERE_TO_CUBE,
- .paletteTag = ANIM_TAG_SPHERE_TO_CUBE,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592DE0,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810217C,
-};
-
-const struct SpriteTemplate gUnknown_08592DFC =
-{
- .tileTag = ANIM_TAG_BLACK_BALL,
- .paletteTag = ANIM_TAG_BLACK_BALL,
- .oam = &gUnknown_08524904,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = TranslateAnimSpriteToTargetMonLocation,
-};
-
-const union AnimCmd gUnknown_08592E14[] =
-{
- ANIMCMD_FRAME(0, 3),
- ANIMCMD_FRAME(16, 3),
- ANIMCMD_FRAME(32, 3),
- ANIMCMD_FRAME(48, 3),
- ANIMCMD_FRAME(64, 3),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592E2C[] =
-{
- gUnknown_08592E14,
-};
-
-const struct SpriteTemplate gUnknown_08592E30 =
-{
- .tileTag = ANIM_TAG_GRAY_SMOKE,
- .paletteTag = ANIM_TAG_GRAY_SMOKE,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592E2C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
-};
-
-const union AnimCmd gUnknown_08592E48[] =
-{
- ANIMCMD_FRAME(3, 5),
- ANIMCMD_FRAME(2, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592E5C[] =
-{
- gUnknown_08592E48,
-};
-
-const union AffineAnimCmd gUnknown_08592E60[] =
-{
- AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd *const gUnknown_08592E70[] =
-{
- gUnknown_08592E60,
-};
-
-const struct SpriteTemplate gUnknown_08592E74 =
-{
- .tileTag = ANIM_TAG_CONVERSION,
- .paletteTag = ANIM_TAG_CONVERSION,
- .oam = &gUnknown_08524AE4,
- .anims = gUnknown_08592E5C,
- .images = NULL,
- .affineAnims = gUnknown_08592E70,
- .callback = sub_8102268,
-};
-
-const union AnimCmd gUnknown_08592E8C[] =
-{
- ANIMCMD_FRAME(0, 5),
- ANIMCMD_FRAME(1, 5),
- ANIMCMD_FRAME(2, 5),
- ANIMCMD_FRAME(3, 5),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592EA0[] =
-{
- gUnknown_08592E8C,
-};
-
-const struct SpriteTemplate gUnknown_08592EA4 =
-{
- .tileTag = ANIM_TAG_CONVERSION,
- .paletteTag = ANIM_TAG_CONVERSION,
- .oam = &gUnknown_08524AE4,
- .anims = gUnknown_08592EA0,
- .images = NULL,
- .affineAnims = gUnknown_08592E70,
- .callback = sub_810234C,
-};
-
-const struct SpriteTemplate gUnknown_08592EBC =
-{
- .tileTag = ANIM_TAG_MOON,
- .paletteTag = ANIM_TAG_MOON,
- .oam = &gUnknown_08524A3C,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81024E0,
-};
-
-const union AnimCmd gUnknown_08592ED4[] =
-{
- ANIMCMD_FRAME(0, 8),
- ANIMCMD_FRAME(4, 8),
- ANIMCMD_FRAME(8, 8),
- ANIMCMD_FRAME(12, 8),
- ANIMCMD_JUMP(0),
-};
-
-const union AnimCmd *const gUnknown_08592EE8[] =
-{
- gUnknown_08592ED4,
-};
-
-const struct SpriteTemplate gBattleAnimSpriteTemplate_8592EEC =
-{
- .tileTag = ANIM_TAG_GREEN_SPARKLE,
- .paletteTag = ANIM_TAG_GREEN_SPARKLE,
- .oam = &gUnknown_0852490C,
- .anims = gUnknown_08592EE8,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8102540,
-};
-
-const union AnimCmd gUnknown_08592F04[] =
-{
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(16, 2),
- ANIMCMD_FRAME(32, 2),
- ANIMCMD_FRAME(48, 3),
- ANIMCMD_FRAME(64, 5),
- ANIMCMD_FRAME(80, 3),
- ANIMCMD_FRAME(96, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592F28[] =
-{
- gUnknown_08592F04,
-};
-
-const struct SpriteTemplate gUnknown_08592F2C =
-{
- .tileTag = ANIM_TAG_BLUE_STAR,
- .paletteTag = ANIM_TAG_BLUE_STAR,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592F28,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80A77C8,
-};
-
-const struct SpriteTemplate gUnknown_08592F44 =
-{
- .tileTag = ANIM_TAG_HORN_HIT,
- .paletteTag = ANIM_TAG_HORN_HIT,
- .oam = &gUnknown_08524914,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8102844,
-};
-
-const union AnimCmd gUnknown_08592F5C[] =
-{
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(16, 2),
- ANIMCMD_FRAME(32, 2),
- ANIMCMD_FRAME(48, 2),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592F70[] =
-{
- gUnknown_08592F5C,
-};
-
-const struct SpriteTemplate gUnknown_08592F74 =
-{
- .tileTag = ANIM_TAG_FANG_ATTACK,
- .paletteTag = ANIM_TAG_FANG_ATTACK,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08592F70,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8102BCC,
-};
-
-const union AnimCmd gUnknown_08592F8C[] =
-{
- ANIMCMD_FRAME(0, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592F94[] =
-{
- ANIMCMD_FRAME(4, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592F9C[] =
-{
- ANIMCMD_FRAME(8, 41),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592FA4[] =
-{
- ANIMCMD_FRAME(12, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592FAC[] =
-{
- ANIMCMD_FRAME(16, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592FB4[] =
-{
- ANIMCMD_FRAME(20, 10),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592FBC[] =
-{
- ANIMCMD_FRAME(0, 10, .vFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_08592FC4[] =
-{
- ANIMCMD_FRAME(4, 10, .vFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08592FCC[] =
-{
- gUnknown_08592F8C,
- gUnknown_08592F94,
- gUnknown_08592F9C,
- gUnknown_08592FA4,
- gUnknown_08592FAC,
- gUnknown_08592FB4,
- gUnknown_08592FBC,
- gUnknown_08592FC4,
-};
-
-const union AffineAnimCmd gUnknown_08592FEC[] =
-{
- AFFINEANIMCMD_FRAME(0xC, 0xC, 0, 16),
- AFFINEANIMCMD_FRAME(0xFFF4, 0xFFF4, 0, 16),
- AFFINEANIMCMD_JUMP(0),
-};
-
-const union AffineAnimCmd *const gUnknown_08593004[] =
-{
- gUnknown_08592FEC,
-};
-
-const struct SpriteTemplate gUnknown_08593008 =
-{
- .tileTag = ANIM_TAG_MUSIC_NOTES,
- .paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_085249CC,
- .anims = gUnknown_08592FCC,
- .images = NULL,
- .affineAnims = gUnknown_08593004,
- .callback = sub_8102CD4,
-};
-
-const u16 gUnknown_08593020[][6] =
-{
- {10072, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)},
- {10097, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)},
- {10185, RGB(31, 31, 31), RGB(31, 31, 24), RGB(31, 31, 17), RGB(31, 31, 10), RGB(31, 31, 3)},
- {10175, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)},
-};
-
-const struct SpriteTemplate gUnknown_08593050 =
-{
- .tileTag = ANIM_TAG_MUSIC_NOTES,
- .paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_085249CC,
- .anims = gUnknown_08592FCC,
- .images = NULL,
- .affineAnims = gUnknown_08593004,
- .callback = sub_8102EB0,
-};
-
-const struct SpriteTemplate gUnknown_08593068 =
-{
- .tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
- .paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
- .oam = &gUnknown_08524914,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8102FB8,
-};
-
-const union AffineAnimCmd gUnknown_08593080[] =
-{
- AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0),
- AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 1),
- AFFINEANIMCMD_JUMP(1),
-};
-
-const union AffineAnimCmd *const gUnknown_08593098[] =
-{
- gUnknown_08593080,
-};
-
-const struct SpriteTemplate gUnknown_0859309C =
-{
- .tileTag = ANIM_TAG_MUSIC_NOTES,
- .paletteTag = ANIM_TAG_MUSIC_NOTES,
- .oam = &gUnknown_085249CC,
- .anims = gUnknown_08592FCC,
- .images = NULL,
- .affineAnims = gUnknown_08593098,
- .callback = sub_8103028,
-};
-
-const union AnimCmd gUnknown_085930B4[] =
-{
- ANIMCMD_FRAME(0, 2, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 2, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 2, .hFlip = TRUE),
- ANIMCMD_FRAME(48, 2, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085930C8[] =
-{
- ANIMCMD_FRAME(48, 2, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 2, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 2, .hFlip = TRUE),
- ANIMCMD_FRAME(0, 2, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085930DC[] =
-{
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_FRAME(16, 2),
- ANIMCMD_FRAME(32, 2),
- ANIMCMD_FRAME(48, 2),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085930F0[] =
-{
- ANIMCMD_FRAME(48, 2),
- ANIMCMD_FRAME(32, 2),
- ANIMCMD_FRAME(16, 2),
- ANIMCMD_FRAME(0, 2),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_08593104[] =
-{
- gUnknown_085930B4,
- gUnknown_085930DC,
- gUnknown_085930C8,
- gUnknown_085930F0,
-};
-
-const struct SpriteTemplate gUnknown_08593114 =
-{
- .tileTag = ANIM_TAG_THOUGHT_BUBBLE,
- .paletteTag = ANIM_TAG_THOUGHT_BUBBLE,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_08593104,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8103164,
-};
-
-const union AffineAnimCmd gUnknown_0859312C[] =
-{
- AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
- AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_08593144[] =
-{
- AFFINEANIMCMD_FRAME(0x0, 0x0, 4, 11),
- AFFINEANIMCMD_FRAME(0x0, 0x0, -4, 11),
- AFFINEANIMCMD_LOOP(2),
- AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 0, 8),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd gUnknown_08593144_2[] =
-{
- AFFINEANIMCMD_FRAME(16, 16, 0, 0),
- AFFINEANIMCMD_FRAME(30, 30, 0, 8),
- AFFINEANIMCMD_FRAME(0, 0, 0, 16),
- AFFINEANIMCMD_LOOP(0),
- AFFINEANIMCMD_FRAME(0, 0, 4, 11),
- AFFINEANIMCMD_FRAME(0, 0, -4, 11),
- AFFINEANIMCMD_LOOP(2),
- AFFINEANIMCMD_FRAME(-30, -30, 0, 8),
- AFFINEANIMCMD_END,
-};
-
-const union AffineAnimCmd *const gUnknown_085931B4[] =
-{
- gUnknown_0859312C,
- gUnknown_08593144,
-};
-
-const struct SpriteTemplate gUnknown_085931BC =
-{
- .tileTag = ANIM_TAG_FINGER,
- .paletteTag = ANIM_TAG_FINGER,
- .oam = &gUnknown_085249D4,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_085931B4,
- .callback = sub_8103208,
-};
-
-const struct SpriteTemplate gUnknown_085931D4 =
-{
- .tileTag = ANIM_TAG_FINGER,
- .paletteTag = ANIM_TAG_FINGER,
- .oam = &gUnknown_08524974,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gUnknown_085931B4,
- .callback = sub_8103284,
-};
-
-const union AnimCmd gUnknown_085931EC[] =
-{
- ANIMCMD_FRAME(0, 1),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085931F4[] =
-{
- ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_085931FC[] =
-{
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(0, 4),
- ANIMCMD_FRAME(16, 4),
- ANIMCMD_FRAME(32, 4),
- ANIMCMD_END,
-};
-
-const union AnimCmd gUnknown_0859321C[] =
-{
- ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(16, 4, .hFlip = TRUE),
- ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
- ANIMCMD_END,
-};
-
-const union AnimCmd *const gUnknown_0859323C[] =
-{
- gUnknown_085931EC,
- gUnknown_085931F4,
- gUnknown_085931FC,
- gUnknown_0859321C,
-};
-
-const struct SpriteTemplate gUnknown_0859324C =
-{
- .tileTag = ANIM_TAG_FINGER_2,
- .paletteTag = ANIM_TAG_FINGER_2,
- .oam = &gUnknown_08524914,
- .anims = gUnknown_0859323C,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8103390,
-};
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index 4b7ee9a61..ed25a2c68 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -17,7 +17,7 @@
#include "menu.h"
#include "trig.h"
#include "random.h"
-#include "malloc.h"
+#include "alloc.h"
#include "dma3.h"
#include "gpu_regs.h"
#include "bg.h"
@@ -30,7 +30,7 @@
#include "field_weather.h"
#include "international_string_util.h"
#include "naming_screen.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "battle.h" // to get rid of later
struct EggHatchData
@@ -60,7 +60,7 @@ extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
extern const u8 gText_HatchedFromEgg[];
extern const u8 gText_NickHatchPrompt[];
-extern void play_some_sound(void);
+extern void PlayRainSoundEffect(void);
extern u16 sub_80D22D0(void);
extern u8 CountPartyAliveNonEggMonsExcept(u8);
@@ -581,7 +581,7 @@ static void Task_EggHatchPlayBGM(u8 taskID)
if (gTasks[taskID].data[0] == 0)
{
StopMapMusic();
- play_some_sound();
+ PlayRainSoundEffect();
}
if (gTasks[taskID].data[0] == 1)
PlayBGM(MUS_ME_SHINKA);
diff --git a/src/event_data.c b/src/event_data.c
index 8a998fe26..f6a1cde78 100644
--- a/src/event_data.c
+++ b/src/event_data.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "event_data.h"
+#include "pokedex.h"
#define TEMP_FLAGS_SIZE 0x4
#define TEMP_UPPER_FLAGS_SIZE 0x8
@@ -67,7 +68,7 @@ void EnableNationalPokedex(void)
gSaveBlock2Ptr->pokedex.nationalMagic = 0xDA;
*nationalDexVar = 0x302;
FlagSet(FLAG_SYS_NATIONAL_DEX);
- gSaveBlock2Ptr->pokedex.unknown1 = 1;
+ gSaveBlock2Ptr->pokedex.mode = DEX_MODE_NATIONAL;
gSaveBlock2Ptr->pokedex.order = 0;
sub_80BB358();
}
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index cd5a547a9..ef125e564 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -9,7 +9,7 @@
#include "field_effect_helpers.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
-#include "malloc.h"
+#include "alloc.h"
#include "mauville_old_man.h"
#include "metatile_behavior.h"
#include "overworld.h"
@@ -27,6 +27,28 @@
// this file was known as evobjmv.c in Game Freak's original source
+#define movement_type_def(setup, table) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
+void setup(struct Sprite *sprite)\
+{\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
+}\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
+{\
+ return table[sprite->data[1]](eventObject, sprite);\
+}
+
+#define movement_type_empty_callback(setup) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
+void setup(struct Sprite *sprite)\
+{\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
+}\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
+{\
+ return 0;\
+}
+
EWRAM_DATA u8 sCurrentReflectionType = 0;
EWRAM_DATA u16 sCurrentSpecialObjectPaletteTag = 0;
EWRAM_DATA struct LockedAnimEventObjects *gLockedAnimEventObjects = {0};
@@ -120,255 +142,255 @@ void (*const gCameraObjectFuncs[])(struct Sprite *) = {
// movement type callbacks
static void (*const sMovementTypeCallbacks[])(struct Sprite *) =
{
- MovementType_None, // MOVEMENT_TYPE_NONE
- MovementType_LookAround, // MOVEMENT_TYPE_LOOK_AROUND
- MovementType_WanderAround, // MOVEMENT_TYPE_WANDER_AROUND
- MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
- MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
- MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
- MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
- MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_UP
- MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_DOWN
- MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_LEFT
- MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_RIGHT
- MovementType_Player, // MOVEMENT_TYPE_PLAYER
- MovementType_BerryTreeGrowth, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
- MovementType_FaceDownAndUp, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
- MovementType_FaceLeftAndRight, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
- MovementType_FaceUpAndLeft, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
- MovementType_FaceUpAndRight, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
- MovementType_FaceDownAndLeft, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
- MovementType_FaceDownAndRight, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
- MovementType_FaceDownUpAndLeft, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
- MovementType_FaceDownUpAndRight, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
- MovementType_FaceUpRightAndLeft, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
- MovementType_FaceDownRightAndLeft, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
- MovementType_RotateCounterclockwise, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
- MovementType_RotateClockwise, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
- MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
- MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
- MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
- MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
- MovementType_WalkSequenceUpRightLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
- MovementType_WalkSequenceRightLeftDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
- MovementType_WalkSequenceDownUpRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
- MovementType_WalkSequenceLeftDownUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
- MovementType_WalkSequenceUpLeftRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
- MovementType_WalkSequenceLeftRightDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
- MovementType_WalkSequenceDownUpLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
- MovementType_WalkSequenceRightDownUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
- MovementType_WalkSequenceLeftUpDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
- MovementType_WalkSequenceUpDownRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
- MovementType_WalkSequenceRightLeftUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
- MovementType_WalkSequenceDownRightLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
- MovementType_WalkSequenceRightUpDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
- MovementType_WalkSequenceUpDownLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
- MovementType_WalkSequenceLeftRightUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
- MovementType_WalkSequenceDownLeftRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
- MovementType_WalkSequenceUpLeftDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
- MovementType_WalkSequenceDownRightUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
- MovementType_WalkSequenceLeftDownRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
- MovementType_WalkSequenceRightUpLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
- MovementType_WalkSequenceUpRightDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
- MovementType_WalkSequenceDownLeftUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
- MovementType_WalkSequenceLeftUpRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
- MovementType_WalkSequenceRightDownLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
- MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER
- MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
- MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
- MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
- MovementType_TreeDisguise, // MOVEMENT_TYPE_TREE_DISGUISE
- MovementType_MountainDisguise, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
- MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
- MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
- MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
- MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
- MovementType_Hidden, // MOVEMENT_TYPE_HIDDEN
- MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
- MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
- MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
- MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
- MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
- MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
- MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
- MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
- MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
- MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
- MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
- MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
- MovementType_Invisible, // MOVEMENT_TYPE_INVISIBLE
- MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN
- MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP
- MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT
- MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT
+ [MOVEMENT_TYPE_NONE] = MovementType_None,
+ [MOVEMENT_TYPE_LOOK_AROUND] = MovementType_LookAround,
+ [MOVEMENT_TYPE_WANDER_AROUND] = MovementType_WanderAround,
+ [MOVEMENT_TYPE_WANDER_UP_AND_DOWN] = MovementType_WanderUpAndDown,
+ [MOVEMENT_TYPE_WANDER_DOWN_AND_UP] = MovementType_WanderUpAndDown,
+ [MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT] = MovementType_WanderLeftAndRight,
+ [MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT] = MovementType_WanderLeftAndRight,
+ [MOVEMENT_TYPE_FACE_UP] = MovementType_FaceDirection,
+ [MOVEMENT_TYPE_FACE_DOWN] = MovementType_FaceDirection,
+ [MOVEMENT_TYPE_FACE_LEFT] = MovementType_FaceDirection,
+ [MOVEMENT_TYPE_FACE_RIGHT] = MovementType_FaceDirection,
+ [MOVEMENT_TYPE_PLAYER] = MovementType_Player,
+ [MOVEMENT_TYPE_BERRY_TREE_GROWTH] = MovementType_BerryTreeGrowth,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_UP] = MovementType_FaceDownAndUp,
+ [MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT] = MovementType_FaceLeftAndRight,
+ [MOVEMENT_TYPE_FACE_UP_AND_LEFT] = MovementType_FaceUpAndLeft,
+ [MOVEMENT_TYPE_FACE_UP_AND_RIGHT] = MovementType_FaceUpAndRight,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_LEFT] = MovementType_FaceDownAndLeft,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT] = MovementType_FaceDownAndRight,
+ [MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT] = MovementType_FaceDownUpAndLeft,
+ [MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT] = MovementType_FaceDownUpAndRight,
+ [MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT] = MovementType_FaceUpRightAndLeft,
+ [MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT] = MovementType_FaceDownRightAndLeft,
+ [MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE] = MovementType_RotateCounterclockwise,
+ [MOVEMENT_TYPE_ROTATE_CLOCKWISE] = MovementType_RotateClockwise,
+ [MOVEMENT_TYPE_WALK_UP_AND_DOWN] = MovementType_WalkBackAndForth,
+ [MOVEMENT_TYPE_WALK_DOWN_AND_UP] = MovementType_WalkBackAndForth,
+ [MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT] = MovementType_WalkBackAndForth,
+ [MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT] = MovementType_WalkBackAndForth,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN] = MovementType_WalkSequenceUpRightLeftDown,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP] = MovementType_WalkSequenceRightLeftDownUp,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT] = MovementType_WalkSequenceDownUpRightLeft,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT] = MovementType_WalkSequenceLeftDownUpRight,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN] = MovementType_WalkSequenceUpLeftRightDown,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP] = MovementType_WalkSequenceLeftRightDownUp,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT] = MovementType_WalkSequenceDownUpLeftRight,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT] = MovementType_WalkSequenceRightDownUpLeft,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT] = MovementType_WalkSequenceLeftUpDownRight,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT] = MovementType_WalkSequenceUpDownRightLeft,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN] = MovementType_WalkSequenceRightLeftUpDown,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP] = MovementType_WalkSequenceDownRightLeftUp,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT] = MovementType_WalkSequenceRightUpDownLeft,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT] = MovementType_WalkSequenceUpDownLeftRight,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN] = MovementType_WalkSequenceLeftRightUpDown,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP] = MovementType_WalkSequenceDownLeftRightUp,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT] = MovementType_WalkSequenceUpLeftDownRight,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT] = MovementType_WalkSequenceDownRightUpLeft,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP] = MovementType_WalkSequenceLeftDownRightUp,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN] = MovementType_WalkSequenceRightUpLeftDown,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT] = MovementType_WalkSequenceUpRightDownLeft,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT] = MovementType_WalkSequenceDownLeftUpRight,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN] = MovementType_WalkSequenceLeftUpRightDown,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP] = MovementType_WalkSequenceRightDownLeftUp,
+ [MOVEMENT_TYPE_COPY_PLAYER] = MovementType_CopyPlayer,
+ [MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE] = MovementType_CopyPlayer,
+ [MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE] = MovementType_CopyPlayer,
+ [MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE] = MovementType_CopyPlayer,
+ [MOVEMENT_TYPE_TREE_DISGUISE] = MovementType_TreeDisguise,
+ [MOVEMENT_TYPE_MOUNTAIN_DISGUISE] = MovementType_MountainDisguise,
+ [MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS] = MovementType_CopyPlayerInGrass,
+ [MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS] = MovementType_CopyPlayerInGrass,
+ [MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS] = MovementType_CopyPlayerInGrass,
+ [MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = MovementType_CopyPlayerInGrass,
+ [MOVEMENT_TYPE_HIDDEN] = MovementType_Hidden,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_DOWN] = MovementType_WalkInPlace,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_UP] = MovementType_WalkInPlace,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = MovementType_WalkInPlace,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = MovementType_WalkInPlace,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = MovementType_JogInPlace,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_UP] = MovementType_JogInPlace,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = MovementType_JogInPlace,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = MovementType_JogInPlace,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_DOWN] = MovementType_RunInPlace,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_UP] = MovementType_RunInPlace,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_LEFT] = MovementType_RunInPlace,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT] = MovementType_RunInPlace,
+ [MOVEMENT_TYPE_INVISIBLE] = MovementType_Invisible,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = MovementType_WalkSlowlyInPlace,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = MovementType_WalkSlowlyInPlace,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = MovementType_WalkSlowlyInPlace,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = MovementType_WalkSlowlyInPlace,
};
const u8 gRangedMovementTypes[] = {
- 0, // MOVEMENT_TYPE_NONE
- 0, // MOVEMENT_TYPE_LOOK_AROUND
- 1, // MOVEMENT_TYPE_WANDER_AROUND
- 1, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
- 1, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
- 1, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
- 1, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
- 0, // MOVEMENT_TYPE_FACE_UP
- 0, // MOVEMENT_TYPE_FACE_DOWN
- 0, // MOVEMENT_TYPE_FACE_LEFT
- 0, // MOVEMENT_TYPE_FACE_RIGHT
- 0, // MOVEMENT_TYPE_PLAYER
- 0, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
- 0, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
- 0, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
- 0, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
- 0, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
- 0, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
- 0, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
- 0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
- 0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
- 0, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
- 0, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
- 0, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
- 0, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
- 1, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
- 1, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
- 1, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
- 1, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
- 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
- 1, // MOVEMENT_TYPE_COPY_PLAYER
- 1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
- 1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
- 1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
- 0, // MOVEMENT_TYPE_TREE_DISGUISE
- 0, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
- 1, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
- 1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
- 1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
- 1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
- 0, // MOVEMENT_TYPE_HIDDEN
- 0, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
- 0, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
- 0, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
- 0, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
- 0, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
- 0, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
- 0, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
- 0, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
- 0, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
- 0, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
- 0, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
- 0, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
- 0, // MOVEMENT_TYPE_INVISIBLE
- 0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN
- 0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP
- 0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT
- 0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT
+ [MOVEMENT_TYPE_NONE] = 0,
+ [MOVEMENT_TYPE_LOOK_AROUND] = 0,
+ [MOVEMENT_TYPE_WANDER_AROUND] = 1,
+ [MOVEMENT_TYPE_WANDER_UP_AND_DOWN] = 1,
+ [MOVEMENT_TYPE_WANDER_DOWN_AND_UP] = 1,
+ [MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT] = 1,
+ [MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT] = 1,
+ [MOVEMENT_TYPE_FACE_UP] = 0,
+ [MOVEMENT_TYPE_FACE_DOWN] = 0,
+ [MOVEMENT_TYPE_FACE_LEFT] = 0,
+ [MOVEMENT_TYPE_FACE_RIGHT] = 0,
+ [MOVEMENT_TYPE_PLAYER] = 0,
+ [MOVEMENT_TYPE_BERRY_TREE_GROWTH] = 0,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_UP] = 0,
+ [MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT] = 0,
+ [MOVEMENT_TYPE_FACE_UP_AND_LEFT] = 0,
+ [MOVEMENT_TYPE_FACE_UP_AND_RIGHT] = 0,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_LEFT] = 0,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT] = 0,
+ [MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT] = 0,
+ [MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT] = 0,
+ [MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT] = 0,
+ [MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT] = 0,
+ [MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE] = 0,
+ [MOVEMENT_TYPE_ROTATE_CLOCKWISE] = 0,
+ [MOVEMENT_TYPE_WALK_UP_AND_DOWN] = 1,
+ [MOVEMENT_TYPE_WALK_DOWN_AND_UP] = 1,
+ [MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT] = 1,
+ [MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN] = 1,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP] = 1,
+ [MOVEMENT_TYPE_COPY_PLAYER] = 1,
+ [MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE] = 1,
+ [MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE] = 1,
+ [MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE] = 1,
+ [MOVEMENT_TYPE_TREE_DISGUISE] = 0,
+ [MOVEMENT_TYPE_MOUNTAIN_DISGUISE] = 0,
+ [MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS] = 1,
+ [MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS] = 1,
+ [MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS] = 1,
+ [MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = 1,
+ [MOVEMENT_TYPE_HIDDEN] = 0,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_DOWN] = 0,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_UP] = 0,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = 0,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = 0,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = 0,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_UP] = 0,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = 0,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = 0,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_DOWN] = 0,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_UP] = 0,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_LEFT] = 0,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT] = 0,
+ [MOVEMENT_TYPE_INVISIBLE] = 0,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = 0,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = 0,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = 0,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = 0,
};
const u8 gInitialMovementTypeFacingDirections[] = {
- DIR_SOUTH, // MOVEMENT_TYPE_NONE
- DIR_SOUTH, // MOVEMENT_TYPE_LOOK_AROUND
- DIR_SOUTH, // MOVEMENT_TYPE_WANDER_AROUND
- DIR_NORTH, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN
- DIR_SOUTH, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP
- DIR_WEST, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT
- DIR_EAST, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT
- DIR_NORTH, // MOVEMENT_TYPE_FACE_UP
- DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN
- DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT
- DIR_EAST, // MOVEMENT_TYPE_FACE_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_PLAYER
- DIR_SOUTH, // MOVEMENT_TYPE_BERRY_TREE_GROWTH
- DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_UP
- DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT
- DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_LEFT
- DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT
- DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT
- DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT
- DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE
- DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_CLOCKWISE
- DIR_NORTH, // MOVEMENT_TYPE_WALK_UP_AND_DOWN
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_DOWN_AND_UP
- DIR_WEST, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT
- DIR_EAST, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT
- DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN
- DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT
- DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT
- DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN
- DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT
- DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT
- DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT
- DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT
- DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP
- DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT
- DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT
- DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP
- DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT
- DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP
- DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN
- DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
- DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
- DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP
- DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER
- DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE
- DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE
- DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE
- DIR_SOUTH, // MOVEMENT_TYPE_TREE_DISGUISE
- DIR_SOUTH, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE
- DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS
- DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS
- DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS
- DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS
- DIR_SOUTH, // MOVEMENT_TYPE_HIDDEN
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN
- DIR_NORTH, // MOVEMENT_TYPE_WALK_IN_PLACE_UP
- DIR_WEST, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT
- DIR_EAST, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN
- DIR_NORTH, // MOVEMENT_TYPE_JOG_IN_PLACE_UP
- DIR_WEST, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT
- DIR_EAST, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN
- DIR_NORTH, // MOVEMENT_TYPE_RUN_IN_PLACE_UP
- DIR_WEST, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT
- DIR_EAST, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT
- DIR_SOUTH, // MOVEMENT_TYPE_INVISIBLE
- DIR_SOUTH, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN
- DIR_NORTH, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP
- DIR_WEST, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT
- DIR_EAST, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT
+ [MOVEMENT_TYPE_NONE] = DIR_SOUTH,
+ [MOVEMENT_TYPE_LOOK_AROUND] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WANDER_AROUND] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WANDER_UP_AND_DOWN] = DIR_NORTH,
+ [MOVEMENT_TYPE_WANDER_DOWN_AND_UP] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT] = DIR_WEST,
+ [MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT] = DIR_EAST,
+ [MOVEMENT_TYPE_FACE_UP] = DIR_NORTH,
+ [MOVEMENT_TYPE_FACE_DOWN] = DIR_SOUTH,
+ [MOVEMENT_TYPE_FACE_LEFT] = DIR_WEST,
+ [MOVEMENT_TYPE_FACE_RIGHT] = DIR_EAST,
+ [MOVEMENT_TYPE_PLAYER] = DIR_SOUTH,
+ [MOVEMENT_TYPE_BERRY_TREE_GROWTH] = DIR_SOUTH,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_UP] = DIR_SOUTH,
+ [MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT] = DIR_WEST,
+ [MOVEMENT_TYPE_FACE_UP_AND_LEFT] = DIR_NORTH,
+ [MOVEMENT_TYPE_FACE_UP_AND_RIGHT] = DIR_NORTH,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_LEFT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT] = DIR_NORTH,
+ [MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE] = DIR_SOUTH,
+ [MOVEMENT_TYPE_ROTATE_CLOCKWISE] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_UP_AND_DOWN] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_DOWN_AND_UP] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT] = DIR_EAST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP] = DIR_EAST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT] = DIR_EAST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN] = DIR_EAST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT] = DIR_EAST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN] = DIR_EAST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP] = DIR_EAST,
+ [MOVEMENT_TYPE_COPY_PLAYER] = DIR_NORTH,
+ [MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE] = DIR_SOUTH,
+ [MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE] = DIR_WEST,
+ [MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE] = DIR_EAST,
+ [MOVEMENT_TYPE_TREE_DISGUISE] = DIR_SOUTH,
+ [MOVEMENT_TYPE_MOUNTAIN_DISGUISE] = DIR_SOUTH,
+ [MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS] = DIR_NORTH,
+ [MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS] = DIR_SOUTH,
+ [MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS] = DIR_WEST,
+ [MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS] = DIR_EAST,
+ [MOVEMENT_TYPE_HIDDEN] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_DOWN] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_UP] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_LEFT] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT] = DIR_EAST,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_DOWN] = DIR_SOUTH,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_UP] = DIR_NORTH,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_LEFT] = DIR_WEST,
+ [MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT] = DIR_EAST,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_DOWN] = DIR_SOUTH,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_UP] = DIR_NORTH,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_LEFT] = DIR_WEST,
+ [MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT] = DIR_EAST,
+ [MOVEMENT_TYPE_INVISIBLE] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN] = DIR_SOUTH,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP] = DIR_NORTH,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT] = DIR_WEST,
+ [MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT] = DIR_EAST,
};
#define EVENT_OBJ_PAL_TAG_0 0x1103
@@ -646,181 +668,181 @@ const s16 gMovementDelaysShort[] = {32, 48, 64, 80};
#include "data/field_event_obj/movement_type_func_tables.h"
const u8 gFaceDirectionAnimNums[] = {
- 0, // DIR_NONE
- 0, // DIR_SOUTH
- 1, // DIR_NORTH
- 2, // DIR_WEST
- 3, // DIR_EAST
- 0, // DIR_SOUTHWEST
- 0, // DIR_SOUTHEAST
- 1, // DIR_NORTHWEST
- 1, // DIR_NORTHEAST
+ [DIR_NONE] = 0,
+ [DIR_SOUTH] = 0,
+ [DIR_NORTH] = 1,
+ [DIR_WEST] = 2,
+ [DIR_EAST] = 3,
+ [DIR_SOUTHWEST] = 0,
+ [DIR_SOUTHEAST] = 0,
+ [DIR_NORTHWEST] = 1,
+ [DIR_NORTHEAST] = 1,
};
const u8 gMoveDirectionAnimNums[] = {
- 4, // DIR_NONE
- 4, // DIR_SOUTH
- 5, // DIR_NORTH
- 6, // DIR_WEST
- 7, // DIR_EAST
- 4, // DIR_SOUTHWEST
- 4, // DIR_SOUTHEAST
- 5, // DIR_NORTHWEST
- 5, // DIR_NORTHEAST
+ [DIR_NONE] = 4,
+ [DIR_SOUTH] = 4,
+ [DIR_NORTH] = 5,
+ [DIR_WEST] = 6,
+ [DIR_EAST] = 7,
+ [DIR_SOUTHWEST] = 4,
+ [DIR_SOUTHEAST] = 4,
+ [DIR_NORTHWEST] = 5,
+ [DIR_NORTHEAST] = 5,
};
const u8 gMoveDirectionFastAnimNums[] = {
- 8, // DIR_NONE
- 8, // DIR_SOUTH
- 9, // DIR_NORTH
- 10, // DIR_WEST
- 11, // DIR_EAST
- 8, // DIR_SOUTHWEST
- 8, // DIR_SOUTHEAST
- 9, // DIR_NORTHWEST
- 9, // DIR_NORTHEAST
+ [DIR_NONE] = 8,
+ [DIR_SOUTH] = 8,
+ [DIR_NORTH] = 9,
+ [DIR_WEST] = 10,
+ [DIR_EAST] = 11,
+ [DIR_SOUTHWEST] = 8,
+ [DIR_SOUTHEAST] = 8,
+ [DIR_NORTHWEST] = 9,
+ [DIR_NORTHEAST] = 9,
};
const u8 gMoveDirectionFasterAnimNums[] = {
- 12, // DIR_NONE
- 12, // DIR_SOUTH
- 13, // DIR_NORTH
- 14, // DIR_WEST
- 15, // DIR_EAST
- 12, // DIR_SOUTHWEST
- 12, // DIR_SOUTHEAST
- 13, // DIR_NORTHWEST
- 13, // DIR_NORTHEAST
+ [DIR_NONE] = 12,
+ [DIR_SOUTH] = 12,
+ [DIR_NORTH] = 13,
+ [DIR_WEST] = 14,
+ [DIR_EAST] = 15,
+ [DIR_SOUTHWEST] = 12,
+ [DIR_SOUTHEAST] = 12,
+ [DIR_NORTHWEST] = 13,
+ [DIR_NORTHEAST] = 13,
};
const u8 gMoveDirectionFastestAnimNums[] = {
- 16, // DIR_NONE
- 16, // DIR_SOUTH
- 17, // DIR_NORTH
- 18, // DIR_WEST
- 19, // DIR_EAST
- 16, // DIR_SOUTHWEST
- 16, // DIR_SOUTHEAST
- 17, // DIR_NORTHWEST
- 17, // DIR_NORTHEAST
+ [DIR_NONE] = 16,
+ [DIR_SOUTH] = 16,
+ [DIR_NORTH] = 17,
+ [DIR_WEST] = 18,
+ [DIR_EAST] = 19,
+ [DIR_SOUTHWEST] = 16,
+ [DIR_SOUTHEAST] = 16,
+ [DIR_NORTHWEST] = 17,
+ [DIR_NORTHEAST] = 17,
};
const u8 gJumpSpecialDirectionAnimNums[] = { // used for jumping onto surf mon
- 20, // DIR_NONE
- 20, // DIR_SOUTH
- 21, // DIR_NORTH
- 22, // DIR_WEST
- 23, // DIR_EAST
- 20, // DIR_SOUTHWEST
- 20, // DIR_SOUTHEAST
- 21, // DIR_NORTHWEST
- 21, // DIR_NORTHEAST
+ [DIR_NONE] = 20,
+ [DIR_SOUTH] = 20,
+ [DIR_NORTH] = 21,
+ [DIR_WEST] = 22,
+ [DIR_EAST] = 23,
+ [DIR_SOUTHWEST] = 20,
+ [DIR_SOUTHEAST] = 20,
+ [DIR_NORTHWEST] = 21,
+ [DIR_NORTHEAST] = 21,
};
const u8 gAcroWheelieDirectionAnimNums[] = {
- 20, // DIR_NONE
- 20, // DIR_SOUTH
- 21, // DIR_NORTH
- 22, // DIR_WEST
- 23, // DIR_EAST
- 20, // DIR_SOUTHWEST
- 20, // DIR_SOUTHEAST
- 21, // DIR_NORTHWEST
- 21, // DIR_NORTHEAST
+ [DIR_NONE] = 20,
+ [DIR_SOUTH] = 20,
+ [DIR_NORTH] = 21,
+ [DIR_WEST] = 22,
+ [DIR_EAST] = 23,
+ [DIR_SOUTHWEST] = 20,
+ [DIR_SOUTHEAST] = 20,
+ [DIR_NORTHWEST] = 21,
+ [DIR_NORTHEAST] = 21,
};
const u8 gUnrefAnimNums_08375633[] = {
- 24, // DIR_NONE
- 24, // DIR_SOUTH
- 25, // DIR_NORTH
- 26, // DIR_WEST
- 27, // DIR_EAST
- 24, // DIR_SOUTHWEST
- 24, // DIR_SOUTHEAST
- 25, // DIR_NORTHWEST
- 25, // DIR_NORTHEAST
+ [DIR_NONE] = 24,
+ [DIR_SOUTH] = 24,
+ [DIR_NORTH] = 25,
+ [DIR_WEST] = 26,
+ [DIR_EAST] = 27,
+ [DIR_SOUTHWEST] = 24,
+ [DIR_SOUTHEAST] = 24,
+ [DIR_NORTHWEST] = 25,
+ [DIR_NORTHEAST] = 25,
};
const u8 gAcroEndWheelieDirectionAnimNums[] = {
- 28, // DIR_NONE
- 28, // DIR_SOUTH
- 29, // DIR_NORTH
- 30, // DIR_WEST
- 31, // DIR_EAST
- 28, // DIR_SOUTHWEST
- 28, // DIR_SOUTHEAST
- 29, // DIR_NORTHWEST
- 29, // DIR_NORTHEAST
+ [DIR_NONE] = 28,
+ [DIR_SOUTH] = 28,
+ [DIR_NORTH] = 29,
+ [DIR_WEST] = 30,
+ [DIR_EAST] = 31,
+ [DIR_SOUTHWEST] = 28,
+ [DIR_SOUTHEAST] = 28,
+ [DIR_NORTHWEST] = 29,
+ [DIR_NORTHEAST] = 29,
};
const u8 gAcroUnusedActionDirectionAnimNums[] = {
- 32, // DIR_NONE
- 32, // DIR_SOUTH
- 33, // DIR_NORTH
- 34, // DIR_WEST
- 35, // DIR_EAST
- 32, // DIR_SOUTHWEST
- 32, // DIR_SOUTHEAST
- 33, // DIR_NORTHWEST
- 33, // DIR_NORTHEAST
+ [DIR_NONE] = 32,
+ [DIR_SOUTH] = 32,
+ [DIR_NORTH] = 33,
+ [DIR_WEST] = 34,
+ [DIR_EAST] = 35,
+ [DIR_SOUTHWEST] = 32,
+ [DIR_SOUTHEAST] = 32,
+ [DIR_NORTHWEST] = 33,
+ [DIR_NORTHEAST] = 33,
};
const u8 gAcroWheeliePedalDirectionAnimNums[] = {
- 36, // DIR_NONE
- 36, // DIR_SOUTH
- 37, // DIR_NORTH
- 38, // DIR_WEST
- 39, // DIR_EAST
- 36, // DIR_SOUTHWEST
- 36, // DIR_SOUTHEAST
- 37, // DIR_NORTHWEST
- 37, // DIR_NORTHEAST
+ [DIR_NONE] = 36,
+ [DIR_SOUTH] = 36,
+ [DIR_NORTH] = 37,
+ [DIR_WEST] = 38,
+ [DIR_EAST] = 39,
+ [DIR_SOUTHWEST] = 36,
+ [DIR_SOUTHEAST] = 36,
+ [DIR_NORTHWEST] = 37,
+ [DIR_NORTHEAST] = 37,
};
const u8 gFishingDirectionAnimNums[] = {
- 0, // DIR_NONE
- 0, // DIR_SOUTH
- 1, // DIR_NORTH
- 2, // DIR_WEST
- 3, // DIR_EAST
- 0, // DIR_SOUTHWEST
- 0, // DIR_SOUTHEAST
- 1, // DIR_NORTHWEST
- 1, // DIR_NORTHEAST
+ [DIR_NONE] = 0,
+ [DIR_SOUTH] = 0,
+ [DIR_NORTH] = 1,
+ [DIR_WEST] = 2,
+ [DIR_EAST] = 3,
+ [DIR_SOUTHWEST] = 0,
+ [DIR_SOUTHEAST] = 0,
+ [DIR_NORTHWEST] = 1,
+ [DIR_NORTHEAST] = 1,
};
const u8 gFishingNoCatchDirectionAnimNums[] = {
- 4, // DIR_NONE
- 4, // DIR_SOUTH
- 5, // DIR_NORTH
- 6, // DIR_WEST
- 7, // DIR_EAST
- 4, // DIR_SOUTHWEST
- 4, // DIR_SOUTHEAST
- 5, // DIR_NORTHWEST
- 5, // DIR_NORTHEAST
+ [DIR_NONE] = 4,
+ [DIR_SOUTH] = 4,
+ [DIR_NORTH] = 5,
+ [DIR_WEST] = 6,
+ [DIR_EAST] = 7,
+ [DIR_SOUTHWEST] = 4,
+ [DIR_SOUTHEAST] = 4,
+ [DIR_NORTHWEST] = 5,
+ [DIR_NORTHEAST] = 5,
};
const u8 gFishingBiteDirectionAnimNums[] = {
- 8, // DIR_NONE
- 8, // DIR_SOUTH
- 9, // DIR_NORTH
- 10, // DIR_WEST
- 11, // DIR_EAST
- 8, // DIR_SOUTHWEST
- 8, // DIR_SOUTHEAST
- 9, // DIR_NORTHWEST
- 9, // DIR_NORTHEAST
+ [DIR_NONE] = 8,
+ [DIR_SOUTH] = 8,
+ [DIR_NORTH] = 9,
+ [DIR_WEST] = 10,
+ [DIR_EAST] = 11,
+ [DIR_SOUTHWEST] = 8,
+ [DIR_SOUTHEAST] = 8,
+ [DIR_NORTHWEST] = 9,
+ [DIR_NORTHEAST] = 9,
};
const u8 gRunningDirectionAnimNums[] = {
- 20, // DIR_NONE
- 20, // DIR_SOUTH
- 21, // DIR_NORTH
- 22, // DIR_WEST
- 23, // DIR_EAST
- 20, // DIR_SOUTHWEST
- 20, // DIR_SOUTHEAST
- 21, // DIR_NORTHWEST
- 21, // DIR_NORTHEAST
+ [DIR_NONE] = 20,
+ [DIR_SOUTH] = 20,
+ [DIR_NORTH] = 21,
+ [DIR_WEST] = 22,
+ [DIR_EAST] = 23,
+ [DIR_SOUTHWEST] = 20,
+ [DIR_SOUTHEAST] = 20,
+ [DIR_NORTHWEST] = 21,
+ [DIR_NORTHEAST] = 21,
};
const u8 gTrainerFacingDirectionMovementTypes[] = {
- MOVEMENT_TYPE_FACE_DOWN, // DIR_NONE
- MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTH
- MOVEMENT_TYPE_FACE_UP, // DIR_NORTH
- MOVEMENT_TYPE_FACE_LEFT, // DIR_WEST
- MOVEMENT_TYPE_FACE_RIGHT, // DIR_EAST
- MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHWEST
- MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHEAST
- MOVEMENT_TYPE_FACE_UP, // DIR_NORTHWEST
- MOVEMENT_TYPE_FACE_UP, // DIR_NORTHEAST
+ [DIR_NONE] = MOVEMENT_TYPE_FACE_DOWN,
+ [DIR_SOUTH] = MOVEMENT_TYPE_FACE_DOWN,
+ [DIR_NORTH] = MOVEMENT_TYPE_FACE_UP,
+ [DIR_WEST] = MOVEMENT_TYPE_FACE_LEFT,
+ [DIR_EAST] = MOVEMENT_TYPE_FACE_RIGHT,
+ [DIR_SOUTHWEST] = MOVEMENT_TYPE_FACE_DOWN,
+ [DIR_SOUTHEAST] = MOVEMENT_TYPE_FACE_DOWN,
+ [DIR_NORTHWEST] = MOVEMENT_TYPE_FACE_UP,
+ [DIR_NORTHEAST] = MOVEMENT_TYPE_FACE_UP,
};
bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = {
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 0d2072a15..1070c69e9 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -2,7 +2,7 @@
#include "evolution_scene.h"
#include "evolution_graphics.h"
#include "sprite.h"
-#include "malloc.h"
+#include "alloc.h"
#include "task.h"
#include "palette.h"
#include "main.h"
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index ae598045e..7b17413d3 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -8,10 +8,9 @@
#include "event_scripts.h"
#include "fieldmap.h"
#include "field_control_avatar.h"
-#include "field_fadetransition.h"
#include "field_player_avatar.h"
#include "field_poison.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "field_specials.h"
#include "fldeff_80F9BCC.h"
#include "item_menu.h"
diff --git a/src/field_effect.c b/src/field_effect.c
index a26d43030..1442c611a 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -6,7 +6,7 @@
#include "field_effect.h"
#include "field_effect_helpers.h"
#include "field_player_avatar.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "field_weather.h"
#include "fieldmap.h"
#include "fldeff_groundshake.h"
@@ -244,7 +244,7 @@ extern void pal_fill_for_maplights(void);
extern void sub_80E1558(u8);
extern void sub_80E1570(void);
extern bool8 sub_80E1584(void);
-extern void sub_80AF0B4(void);
+extern void WarpFadeScreen(void);
// .rodata
const u32 gNewGameBirchPic[] = INCBIN_U32("graphics/birch_speech/birch.4bpp");
@@ -305,7 +305,7 @@ const union AnimCmd *const gNewGameBirchImageAnimTable[] = {
};
const struct SpriteTemplate gNewGameBirchObjectTemplate = {
- .tileTag = 0xffff,
+ .tileTag = 0xFFFF,
.paletteTag = 4102,
.oam = &gNewGameBirchOamAttributes,
.anims = gNewGameBirchImageAnimTable,
@@ -383,7 +383,7 @@ const union AnimCmd *const gSpriteAnimTable_855C300[] = {
};
const struct SpriteTemplate gSpriteTemplate_855C304 = {
- .tileTag = 0xffff,
+ .tileTag = 0xFFFF,
.paletteTag = 4103,
.oam = &gOamData_855C218,
.anims = gSpriteAnimTable_855C2F8,
@@ -393,7 +393,7 @@ const struct SpriteTemplate gSpriteTemplate_855C304 = {
};
const struct SpriteTemplate gSpriteTemplate_855C31C = {
- .tileTag = 0xffff,
+ .tileTag = 0xFFFF,
.paletteTag = 4100,
.oam = &gOamData_855C220,
.anims = gSpriteAnimTable_855C2F8,
@@ -403,7 +403,7 @@ const struct SpriteTemplate gSpriteTemplate_855C31C = {
};
const struct SpriteTemplate gSpriteTemplate_855C334 = {
- .tileTag = 0xffff,
+ .tileTag = 0xFFFF,
.paletteTag = 4112,
.oam = &gOamData_855C220,
.anims = gSpriteAnimTable_855C300,
@@ -413,7 +413,7 @@ const struct SpriteTemplate gSpriteTemplate_855C334 = {
};
const struct SpriteTemplate gSpriteTemplate_855C34C = {
- .tileTag = 0xffff,
+ .tileTag = 0xFFFF,
.paletteTag = 4112,
.oam = &gOamData_855C26C,
.anims = gSpriteAnimTable_855C300,
@@ -773,7 +773,7 @@ u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subprio
u16 spriteId = CreateMonPicSprite_HandleDeoxys(species, d, g, 1, x, y, 0, spritePalette->tag);
PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10);
if (spriteId == 0xFFFF)
- return 0x40;
+ return MAX_SPRITES;
else
return spriteId;
}
@@ -1593,8 +1593,8 @@ static void sub_80B7004(struct Task *task)
static void sub_80B7050(void)
{
- music_something();
- sub_80AF0B4();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
}
static void sub_80B7060(void)
@@ -1943,8 +1943,8 @@ static bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, str
static bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite)
{
- music_something();
- sub_80AF0B4();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
task->data[0]++;
return FALSE;
}
@@ -2099,8 +2099,8 @@ static bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, str
{
if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
{
- music_something();
- sub_80AF0B4();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
task->data[0]++;
}
return FALSE;
@@ -2161,8 +2161,8 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task)
u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH};
if (task->data[14] != 0 && (--task->data[14]) == 0)
{
- music_something();
- sub_80AF0B4();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
}
eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
@@ -2314,8 +2314,8 @@ static void TeleportFieldEffectTask3(struct Task *task)
if (task->data[4] >= 0xa8)
{
task->data[0]++;
- music_something();
- sub_80AF0B4();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
}
}
@@ -2501,10 +2501,8 @@ static void sub_80B8584(struct Task *task)
static void sub_80B85F8(struct Task *task)
{
- u16 offset;
- u16 delta;
- offset = ((REG_BG0CNT >> 2) << 14);
- delta = ((REG_BG0CNT >> 8) << 11);
+ u16 offset = ((REG_BG0CNT >> 2) << 14);
+ u16 delta = ((REG_BG0CNT >> 8) << 11);
CpuCopy16(gFieldMoveStreaksTiles, (void *)(VRAM + offset), 0x200);
CpuFill32(0, (void *)(VRAM + delta), 0x800);
LoadPalette(gFieldMoveStreaksPalette, 0xf0, 0x20);
@@ -2580,8 +2578,7 @@ static void sub_80B871C(struct Task *task)
static void sub_80B8770(struct Task *task)
{
- u16 bg0cnt;
- bg0cnt = (REG_BG0CNT >> 8) << 11;
+ u16 bg0cnt = (REG_BG0CNT >> 8) << 11;
CpuFill32(0, (void *)VRAM + bg0cnt, 0x800);
task->data[1] = 0xf1;
task->data[2] = 0xa1;
@@ -2603,9 +2600,8 @@ static void overworld_bg_setup_2(struct Task *task)
static void sub_80B880C(void)
{
- struct Task *task;
IntrCallback callback;
- task = &gTasks[FindTaskIdByFunc(sub_80B8554)];
+ struct Task *task = &gTasks[FindTaskIdByFunc(sub_80B8554)];
LoadWordFromTwoHalfwords((u16 *)&task->data[13], (u32 *)&callback);
callback();
SetGpuReg(REG_OFFSET_WIN0H, task->data[1]);
@@ -2735,7 +2731,6 @@ static void sub_80B8B28(struct Task *task)
task->data[3] += 16;
}
-#ifdef NONMATCHING
static bool8 sub_80B8B38(struct Task *task)
{
u16 i;
@@ -2752,116 +2747,18 @@ static bool8 sub_80B8B38(struct Task *task)
dstOffs = (32 - dstOffs) & 0x1f;
srcOffs = (32 - task->data[4]) & 0x1f;
dest = (u16 *)(VRAM + 0x140 + (u16)task->data[12]);
- for (i=0; i<10; i++)
+ for (i = 0; i < 10; i++)
{
- dest[dstOffs + i * 32] = gDarknessFieldMoveStreaksTilemap[srcOffs + i * 32] | 0xf000;
+ dest[dstOffs + i * 32] = gDarknessFieldMoveStreaksTilemap[srcOffs + i * 32];
+ dest[dstOffs + i * 32] |= 0xf000;
+
dest[((dstOffs + 1) & 0x1f) + i * 32] = gDarknessFieldMoveStreaksTilemap[((srcOffs + 1) & 0x1f) + i * 32] | 0xf000;
+ dest[((dstOffs + 1) & 0x1f) + i * 32] |= 0xf000;
}
task->data[4] += 2;
}
return FALSE;
}
-#else
-NAKED
-static bool8 sub_80B8B38(struct Task *task)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tsub sp, 0x4\n"
- "\tadds r5, r0, 0\n"
- "\tldrh r2, [r5, 0x10]\n"
- "\tmovs r1, 0x10\n"
- "\tldrsh r0, [r5, r1]\n"
- "\tcmp r0, 0x1F\n"
- "\tble _08088724\n"
- "\tmovs r0, 0x1\n"
- "\tb _080887A8\n"
- "_08088724:\n"
- "\tldrh r0, [r5, 0xE]\n"
- "\tlsls r0, 16\n"
- "\tasrs r3, r0, 19\n"
- "\tmovs r1, 0x1F\n"
- "\tands r3, r1\n"
- "\tmovs r4, 0x10\n"
- "\tldrsh r0, [r5, r4]\n"
- "\tcmp r3, r0\n"
- "\tblt _080887A6\n"
- "\tmovs r0, 0x20\n"
- "\tsubs r3, r0, r3\n"
- "\tands r3, r1\n"
- "\tsubs r0, r2\n"
- "\tmov r12, r0\n"
- "\tmov r7, r12\n"
- "\tands r7, r1\n"
- "\tmov r12, r7\n"
- "\tldrh r0, [r5, 0x20]\n"
- "\tldr r1, _080887B8 @ =0x06000140\n"
- "\tadds r1, r0\n"
- "\tmov r8, r1\n"
- "\tmovs r4, 0\n"
- "\tldr r7, _080887BC @ =gDarknessFieldMoveStreaksTilemap\n"
- "\tmov r10, r7\n"
- "\tmovs r0, 0xF0\n"
- "\tlsls r0, 8\n"
- "\tmov r9, r0\n"
- "\tadds r1, r3, 0x1\n"
- "\tmovs r0, 0x1F\n"
- "\tands r1, r0\n"
- "\tstr r1, [sp]\n"
- "\tmov r6, r12\n"
- "\tadds r6, 0x1\n"
- "\tands r6, r0\n"
- "_08088768:\n"
- "\tlsls r1, r4, 5\n"
- "\tadds r2, r1, r3\n"
- "\tlsls r2, 1\n"
- "\tadd r2, r8\n"
- "\tmov r7, r12\n"
- "\tadds r0, r7, r1\n"
- "\tlsls r0, 1\n"
- "\tadd r0, r10\n"
- "\tldrh r0, [r0]\n"
- "\tmov r7, r9\n"
- "\torrs r0, r7\n"
- "\tstrh r0, [r2]\n"
- "\tldr r0, [sp]\n"
- "\tadds r2, r1, r0\n"
- "\tlsls r2, 1\n"
- "\tadd r2, r8\n"
- "\tadds r1, r6, r1\n"
- "\tlsls r1, 1\n"
- "\tadd r1, r10\n"
- "\tldrh r0, [r1]\n"
- "\tmov r1, r9\n"
- "\torrs r0, r1\n"
- "\tstrh r0, [r2]\n"
- "\tadds r0, r4, 0x1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r4, r0, 16\n"
- "\tcmp r4, 0x9\n"
- "\tbls _08088768\n"
- "\tldrh r0, [r5, 0x10]\n"
- "\tadds r0, 0x2\n"
- "\tstrh r0, [r5, 0x10]\n"
- "_080887A6:\n"
- "\tmovs r0, 0\n"
- "_080887A8:\n"
- "\tadd sp, 0x4\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r1}\n"
- "\tbx r1\n"
- "\t.align 2, 0\n"
- "_080887B8: .4byte 0x06000140\n"
- "_080887BC: .4byte gDarknessFieldMoveStreaksTilemap");
-}
-#endif
static bool8 sub_80B8BF0(struct Task *task)
{
@@ -2877,7 +2774,7 @@ static bool8 sub_80B8BF0(struct Task *task)
{
dstOffs = (task->data[1] >> 3) & 0x1f;
dest = (u16 *)(VRAM + 0x140 + (u16)task->data[12]);
- for (i=0; i<10; i++)
+ for (i = 0; i < 10; i++)
{
dest[dstOffs + i * 32] = 0xf000;
dest[((dstOffs + 1) & 0x1f) + i * 32] = 0xf000;
@@ -2913,7 +2810,8 @@ static void sub_80B8CC0(struct Sprite *sprite)
if (sprite->data[6])
{
PlayCry2(sprite->data[0], 0, 0x7d, 0xa);
- } else
+ }
+ else
{
PlayCry1(sprite->data[0], 0);
}
@@ -2933,7 +2831,8 @@ static void sub_80B8D20(struct Sprite *sprite)
if (sprite->pos1.x < -0x40)
{
sprite->data[7] = 1;
- } else
+ }
+ else
{
sprite->pos1.x -= 20;
}
@@ -2941,8 +2840,7 @@ static void sub_80B8D20(struct Sprite *sprite)
u8 FldEff_UseSurf(void)
{
- u8 taskId;
- taskId = CreateTask(sub_80B8D84, 0xff);
+ u8 taskId = CreateTask(sub_80B8D84, 0xff);
gTasks[taskId].data[15] = gFieldEffectArguments[0];
Overworld_ClearSavedMusic();
Overworld_ChangeMusicTo(MUS_NAMINORI);
@@ -3031,13 +2929,12 @@ static void sub_80B8F24(struct Task *task)
}
}
-#ifdef NONMATCHING
u8 sub_80B8F98(void)
{
- u8 spriteId, i, j, k, l;
- struct Sprite *sprite;
- spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[36], 0x78, -0x18, 1);
- sprite = &gSprites[spriteId];
+ u8 i, j, k;
+ u8 spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[36], 0x78, -0x18, 1);
+ struct Sprite *sprite = &gSprites[spriteId];
+
sprite->oam.priority = 1;
sprite->oam.paletteNum = 4;
sprite->data[0] = 0;
@@ -3048,7 +2945,7 @@ u8 sub_80B8F98(void)
sprite->data[5] = 0;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(14, 14));
- SetGpuReg(REG_OFFSET_WININ, 0x3F3F);
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
LoadPalette(gUnknown_0855B610, 0xC0, sizeof(gUnknown_0855B610));
SetGpuReg(REG_OFFSET_BG0VOFS, 120);
for (i = 3; i < 15; i++)
@@ -3060,156 +2957,20 @@ u8 sub_80B8F98(void)
}
for (k = 0; k < 90; k++)
{
- for (l = 0; l < 8; l++)
+ for (i = 0; i < 8; i++)
{
- *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + l * 4) = (gUnknown_0855B630[k * 32 + l * 4 + 1] << 8) + gUnknown_0855B630[k * 32 + l * 4];
- *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + l * 4 + 2) = (gUnknown_0855B630[k * 32 + l * 4 + 3] << 8) + gUnknown_0855B630[k * 32 + l * 4 + 2];
+ *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + i * 4) = (gUnknown_0855B630[k * 32 + i * 4 + 1] << 8) + gUnknown_0855B630[k * 32 + i * 4];
+ *(u16*)(VRAM + 0x8000 + (k + 1) * 32 + i * 4 + 2) = (gUnknown_0855B630[k * 32 + i * 4 + 3] << 8) + gUnknown_0855B630[k * 32 + i * 4 + 2];
}
}
return spriteId;
}
-#else
-NAKED
-u8 sub_80B8F98(void)
-{
- asm_unified("push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- ldr r0, =gFieldEffectObjectTemplatePointers\n\
- adds r0, 0x90\n\
- ldr r0, [r0]\n\
- movs r2, 0x18\n\
- negs r2, r2\n\
- movs r1, 0x78\n\
- movs r3, 0x1\n\
- bl CreateSprite\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r8, r0\n\
- lsls r1, r0, 4\n\
- add r1, r8\n\
- lsls r1, 2\n\
- ldr r0, =gSprites\n\
- adds r1, r0\n\
- ldrb r2, [r1, 0x5]\n\
- movs r0, 0xD\n\
- negs r0, r0\n\
- ands r0, r2\n\
- movs r2, 0x4\n\
- orrs r0, r2\n\
- movs r2, 0xF\n\
- ands r0, r2\n\
- movs r2, 0x40\n\
- orrs r0, r2\n\
- strb r0, [r1, 0x5]\n\
- movs r2, 0\n\
- strh r2, [r1, 0x2E]\n\
- strh r2, [r1, 0x30]\n\
- strh r2, [r1, 0x32]\n\
- ldr r0, =0x0000ffff\n\
- strh r0, [r1, 0x34]\n\
- ldrh r0, [r1, 0x22]\n\
- strh r0, [r1, 0x36]\n\
- strh r2, [r1, 0x38]\n\
- ldr r1, =0x00003e41\n\
- movs r0, 0x50\n\
- bl SetGpuReg\n\
- ldr r1, =0x00000e0e\n\
- movs r0, 0x52\n\
- bl SetGpuReg\n\
- ldr r1, =0x00003f3f\n\
- movs r0, 0x48\n\
- bl SetGpuReg\n\
- ldr r0, =gUnknown_0855B610\n\
- movs r1, 0xC0\n\
- movs r2, 0x20\n\
- bl LoadPalette\n\
- movs r0, 0x12\n\
- movs r1, 0x78\n\
- bl SetGpuReg\n\
- movs r4, 0x3\n\
- ldr r7, =0x0600f800\n\
- ldr r0, =0x0000bff4\n\
- adds r6, r0, 0\n\
-_080B901A:\n\
- movs r2, 0xC\n\
- lsls r0, r4, 1\n\
- lsls r5, r4, 5\n\
- adds r0, r4\n\
- lsls r3, r0, 1\n\
-_080B9024:\n\
- adds r0, r5, r2\n\
- lsls r0, 1\n\
- adds r0, r7\n\
- adds r1, r2, r6\n\
- adds r1, r3, r1\n\
- adds r1, 0x1\n\
- strh r1, [r0]\n\
- adds r0, r2, 0x1\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- cmp r2, 0x11\n\
- bls _080B9024\n\
- adds r0, r4, 0x1\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0xE\n\
- bls _080B901A\n\
- movs r0, 0\n\
- ldr r5, =gUnknown_0855B630\n\
-_080B904A:\n\
- movs r4, 0\n\
- adds r7, r0, 0x1\n\
- lsls r6, r0, 5\n\
-_080B9050:\n\
- lsls r1, r4, 2\n\
- adds r1, r6, r1\n\
- ldr r0, =0x06008020\n\
- adds r3, r1, r0\n\
- adds r0, r1, 0x1\n\
- adds r0, r5\n\
- ldrb r2, [r0]\n\
- lsls r2, 8\n\
- adds r0, r1, r5\n\
- ldrb r0, [r0]\n\
- adds r0, r2\n\
- strh r0, [r3]\n\
- ldr r0, =0x06008022\n\
- adds r3, r1, r0\n\
- adds r0, r1, 0x3\n\
- adds r0, r5\n\
- ldrb r2, [r0]\n\
- lsls r2, 8\n\
- adds r1, 0x2\n\
- adds r1, r5\n\
- ldrb r0, [r1]\n\
- adds r0, r2\n\
- strh r0, [r3]\n\
- adds r0, r4, 0x1\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r4, 0x7\n\
- bls _080B9050\n\
- lsls r0, r7, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x59\n\
- bls _080B904A\n\
- mov r0, r8\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .pool");
-}
-#endif // NONMATCHING
u8 FldEff_NPCFlyOut(void)
{
- u8 spriteId;
- struct Sprite *sprite;
- spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[26], 0x78, 0, 1);
- sprite = &gSprites[spriteId];
+ u8 spriteId = CreateSprite(gFieldEffectObjectTemplatePointers[26], 0x78, 0, 1);
+ struct Sprite *sprite = &gSprites[spriteId];
+
sprite->oam.paletteNum = 0;
sprite->oam.priority = 1;
sprite->callback = sub_80B9128;
@@ -3221,6 +2982,7 @@ u8 FldEff_NPCFlyOut(void)
static void sub_80B9128(struct Sprite *sprite)
{
struct Sprite *npcSprite;
+
sprite->pos2.x = Cos(sprite->data[2], 0x8c);
sprite->pos2.y = Sin(sprite->data[2], 0x48);
sprite->data[2] = (sprite->data[2] + 4) & 0xff;
@@ -3241,8 +3003,7 @@ static void sub_80B9128(struct Sprite *sprite)
u8 FldEff_UseFly(void)
{
- u8 taskId;
- taskId = CreateTask(sub_80B91D4, 0xfe);
+ u8 taskId = CreateTask(sub_80B91D4, 0xfe);
gTasks[taskId].data[1] = gFieldEffectArguments[0];
return 0;
}
@@ -3266,8 +3027,7 @@ static void sub_80B91D4(u8 taskId)
static void sub_80B9204(struct Task *task)
{
- struct EventObject *eventObject;
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[15] = gPlayerAvatar.flags;
@@ -3281,8 +3041,7 @@ static void sub_80B9204(struct Task *task)
static void sub_80B925C(struct Task *task)
{
- struct EventObject *eventObject;
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[0]++;
@@ -3293,10 +3052,9 @@ static void sub_80B925C(struct Task *task)
static void sub_80B92A0(struct Task *task)
{
- struct EventObject *eventObject;
if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
{
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if (task->data[15] & 0x08)
{
sub_81555AC(eventObject->fieldEffectSpriteId, 2);
@@ -3320,8 +3078,7 @@ static void sub_80B92F8(struct Task *task)
static void sub_80B933C(struct Task *task)
{
- struct EventObject *eventObject;
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearHeldMovementIfFinished(eventObject))
{
task->data[0]++;
@@ -3332,10 +3089,9 @@ static void sub_80B933C(struct Task *task)
static void sub_80B9390(struct Task *task)
{
- struct EventObject *eventObject;
if ((++task->data[2]) >= 8)
{
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(0x03));
StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16);
eventObject->inanimate = 1;
@@ -3351,10 +3107,9 @@ static void sub_80B9390(struct Task *task)
static void sub_80B9418(struct Task *task)
{
- struct EventObject *eventObject;
if ((++task->data[2]) >= 10)
{
- eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
+ struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId];
EventObjectClearHeldMovementIfActive(eventObject);
eventObject->inanimate = 0;
eventObject->hasShadow = 0;
@@ -3368,7 +3123,7 @@ static void sub_80B9474(struct Task *task)
{
if (sub_80B9508(task->data[1]))
{
- sub_80AF0B4();
+ WarpFadeScreen();
task->data[0]++;
}
}
@@ -3469,13 +3224,12 @@ static void sub_80B957C(struct Sprite *sprite)
static void sub_80B963C(struct Sprite *sprite)
{
- struct Sprite *sprite1;
sprite->pos2.x = Cos(sprite->data[2], 0x8c);
sprite->pos2.y = Sin(sprite->data[2], 0x48);
sprite->data[2] = (sprite->data[2] + 4) & 0xff;
- if (sprite->data[6] != 0x40)
+ if (sprite->data[6] != MAX_SPRITES)
{
- sprite1 = &gSprites[sprite->data[6]];
+ struct Sprite *sprite1 = &gSprites[sprite->data[6]];
sprite1->coordOffsetEnabled = 0;
sprite1->pos1.x = sprite->pos1.x + sprite->pos2.x;
sprite1->pos1.y = sprite->pos1.y + sprite->pos2.y - 8;
@@ -3837,7 +3591,7 @@ const union AnimCmd *const gSpriteAnimTable_855C5DC[] = {
};
const struct SpriteTemplate gUnknown_0855C5EC = {
- .tileTag = 0xffff,
+ .tileTag = 0xFFFF,
.paletteTag = 4378,
.oam = &gOamData_855C218,
.anims = gSpriteAnimTable_855C5DC,
@@ -3855,7 +3609,7 @@ void sub_80B9D24(struct Sprite* sprite)
for (i = 0; i < 4; i++)
{
u8 spriteId = CreateSprite(&gUnknown_0855C5EC, xPos, yPos, 0);
- if (spriteId != 0x40)
+ if (spriteId != MAX_SPRITES)
{
StartSpriteAnim(&gSprites[spriteId], i);
gSprites[spriteId].data[0] = i;
@@ -3868,22 +3622,22 @@ static void sub_80B9DB8(struct Sprite* sprite)
{
switch (sprite->data[0])
{
- case 0:
- sprite->pos1.x -= 16;
- sprite->pos1.y -= 12;
- break;
- case 1:
- sprite->pos1.x += 16;
- sprite->pos1.y -= 12;
- break;
- case 2:
- sprite->pos1.x -= 16;
- sprite->pos1.y += 12;
- break;
- case 3:
- sprite->pos1.x += 16;
- sprite->pos1.y += 12;
- break;
+ case 0:
+ sprite->pos1.x -= 16;
+ sprite->pos1.y -= 12;
+ break;
+ case 1:
+ sprite->pos1.x += 16;
+ sprite->pos1.y -= 12;
+ break;
+ case 2:
+ sprite->pos1.x -= 16;
+ sprite->pos1.y += 12;
+ break;
+ case 3:
+ sprite->pos1.x += 16;
+ sprite->pos1.y += 12;
+ break;
}
if ((u16)(sprite->pos1.x + 4) > 0xF8 || sprite->pos1.y < -4 || sprite->pos1.y > 0xA4)
DestroySprite(sprite);
diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c
index 1f90c02b9..3046eccd5 100755
--- a/src/field_effect_helpers.c
+++ b/src/field_effect_helpers.c
@@ -1007,15 +1007,15 @@ void UpdateSurfBlobFieldEffect(struct Sprite *sprite)
static void SynchroniseSurfAnim(struct EventObject *eventObject, struct Sprite *sprite)
{
u8 surfBlobDirectionAnims[] = {
- 0, // DIR_NONE
- 0, // DIR_SOUTH
- 1, // DIR_NORTH
- 2, // DIR_WEST
- 3, // DIR_EAST
- 0,
- 0,
- 1,
- 1,
+ [DIR_NONE] = 0,
+ [DIR_SOUTH] = 0,
+ [DIR_NORTH] = 1,
+ [DIR_WEST] = 2,
+ [DIR_EAST] = 3,
+ [DIR_SOUTHWEST] = 0,
+ [DIR_SOUTHEAST] = 0,
+ [DIR_NORTHWEST] = 1,
+ [DIR_NORTHEAST] = 1,
};
if (sub_8155640(sprite) == 0)
@@ -1547,150 +1547,35 @@ void WaitFieldEffectSpriteAnim(struct Sprite *sprite)
UpdateEventObjectSpriteVisibility(sprite, FALSE);
}
-#ifdef NONMATCHING
-static void sub_81561FC(struct Sprite *sprite /*r6*/, u8 z, u8 offset)
+static void sub_81561FC(struct Sprite *sprite, u8 z, u8 offset)
{
u8 i;
- s16 xlo;
- s16 xhi;
- s16 lx;
- s16 lyhi;
- s16 ly;
- s16 ylo;
- s16 yhi;
- struct EventObject *eventObject; // r4
- const struct EventObjectGraphicsInfo *graphicsInfo; // destroyed
- struct Sprite *linkedSprite; // r5
+ s16 var, xhi, lyhi, yhi, ylo;
+ const struct EventObjectGraphicsInfo *graphicsInfo; // Unused Variable
+ struct Sprite *linkedSprite;
SetObjectSubpriorityByZCoord(z, sprite, offset);
- for (i = 0; i < 16; i ++)
+ for (i = 0; i < EVENT_OBJECTS_COUNT; i ++)
{
- eventObject = &gEventObjects[i];
+ struct EventObject *eventObject = &gEventObjects[i];
if (eventObject->active)
{
graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId);
linkedSprite = &gSprites[eventObject->spriteId];
xhi = sprite->pos1.x + sprite->centerToCornerVecX;
- xlo = sprite->pos1.x - sprite->centerToCornerVecX;
- lx = linkedSprite->pos1.x;
- if (xhi < lx && xlo > lx)
+ var = sprite->pos1.x - sprite->centerToCornerVecX;
+ if (xhi < linkedSprite->pos1.x && var > linkedSprite->pos1.x)
{
lyhi = linkedSprite->pos1.y + linkedSprite->centerToCornerVecY;
- ly = linkedSprite->pos1.y;
+ var = linkedSprite->pos1.y;
ylo = sprite->pos1.y - sprite->centerToCornerVecY;
yhi = ylo + linkedSprite->centerToCornerVecY;
- if ((lyhi < yhi || lyhi < ylo) && ly > yhi)
+ if ((lyhi < yhi || lyhi < ylo) && var > yhi && sprite->subpriority <= linkedSprite->subpriority)
{
- if (sprite->subpriority <= linkedSprite->subpriority)
- {
- sprite->subpriority = linkedSprite->subpriority + 2;
- break;
- }
+ sprite->subpriority = linkedSprite->subpriority + 2;
+ break;
}
}
}
}
}
-#else
-NAKED void sub_81561FC(struct Sprite *sprite /*r6*/, u8 z, u8 offset)
-{
- asm_unified("push {r4-r7,lr}\n\
- adds r6, r0, 0\n\
- adds r0, r1, 0\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- adds r1, r6, 0\n\
- bl SetObjectSubpriorityByZCoord\n\
- movs r7, 0\n\
-_08156212:\n\
- lsls r0, r7, 3\n\
- adds r0, r7\n\
- lsls r0, 2\n\
- ldr r1, =gEventObjects\n\
- adds r4, r0, r1\n\
- ldrb r0, [r4]\n\
- lsls r0, 31\n\
- cmp r0, 0\n\
- beq _081562B4\n\
- ldrb r0, [r4, 0x5]\n\
- bl GetEventObjectGraphicsInfo\n\
- ldrb r1, [r4, 0x4]\n\
- lsls r0, r1, 4\n\
- adds r0, r1\n\
- lsls r0, 2\n\
- ldr r1, =gSprites\n\
- adds r5, r0, r1\n\
- adds r0, r6, 0\n\
- adds r0, 0x28\n\
- movs r2, 0\n\
- ldrsb r2, [r0, r2]\n\
- ldrh r0, [r6, 0x20]\n\
- adds r1, r0, r2\n\
- subs r0, r2\n\
- lsls r0, 16\n\
- lsrs r4, r0, 16\n\
- lsls r1, 16\n\
- asrs r1, 16\n\
- movs r0, 0x20\n\
- ldrsh r2, [r5, r0]\n\
- cmp r1, r2\n\
- bge _081562B4\n\
- lsls r0, r4, 16\n\
- asrs r0, 16\n\
- cmp r0, r2\n\
- ble _081562B4\n\
- adds r0, r5, 0\n\
- adds r0, 0x29\n\
- movs r3, 0\n\
- ldrsb r3, [r0, r3]\n\
- ldrh r2, [r5, 0x22]\n\
- adds r2, r3\n\
- ldrh r4, [r5, 0x22]\n\
- adds r0, r6, 0\n\
- adds r0, 0x29\n\
- movs r1, 0\n\
- ldrsb r1, [r0, r1]\n\
- ldrh r0, [r6, 0x22]\n\
- subs r0, r1\n\
- lsls r0, 16\n\
- asrs r0, 16\n\
- adds r3, r0, r3\n\
- lsls r2, 16\n\
- asrs r2, 16\n\
- lsls r3, 16\n\
- asrs r3, 16\n\
- cmp r2, r3\n\
- blt _0815628C\n\
- cmp r2, r0\n\
- bge _081562B4\n\
-_0815628C:\n\
- lsls r0, r4, 16\n\
- asrs r0, 16\n\
- cmp r0, r3\n\
- ble _081562B4\n\
- adds r2, r6, 0\n\
- adds r2, 0x43\n\
- adds r0, r5, 0\n\
- adds r0, 0x43\n\
- ldrb r1, [r0]\n\
- ldrb r0, [r2]\n\
- cmp r0, r1\n\
- bhi _081562B4\n\
- adds r0, r1, 0x2\n\
- strb r0, [r2]\n\
- b _081562BE\n\
- .pool\n\
-_081562B4:\n\
- adds r0, r7, 0x1\n\
- lsls r0, 24\n\
- lsrs r7, r0, 24\n\
- cmp r7, 0xF\n\
- bls _08156212\n\
-_081562BE:\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0");
-}
-#endif
diff --git a/src/field_region_map.c b/src/field_region_map.c
index 40f48e668..d49ce3a4e 100644
--- a/src/field_region_map.c
+++ b/src/field_region_map.c
@@ -3,7 +3,7 @@
#include "gpu_regs.h"
#include "international_string_util.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "palette.h"
#include "region_map.h"
diff --git a/src/field_screen.c b/src/field_screen.c
deleted file mode 100644
index 2d33d237f..000000000
--- a/src/field_screen.c
+++ /dev/null
@@ -1,15 +0,0 @@
-
-// Includes
-#include "global.h"
-
-// Static type declarations
-
-// Static RAM declarations
-IWRAM_DATA u8 *gUnknown_03000F50;
-IWRAM_DATA u32 filler_03000f54;
-
-// Static ROM declarations
-
-// .rodata
-
-// .text
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
new file mode 100644
index 000000000..b0572b393
--- /dev/null
+++ b/src/field_screen_effect.c
@@ -0,0 +1,1261 @@
+#include "global.h"
+#include "cable_club.h"
+#include "event_data.h"
+#include "fieldmap.h"
+#include "field_camera.h"
+#include "field_door.h"
+#include "field_effect.h"
+#include "event_object_movement.h"
+#include "field_player_avatar.h"
+#include "field_screen_effect.h"
+#include "field_special_scene.h"
+#include "field_weather.h"
+// #include "fldeff_flash.h"
+#include "gpu_regs.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "load_save.h"
+#include "main.h"
+#include "menu.h"
+#include "event_obj_lock.h"
+#include "metatile_behavior.h"
+#include "palette.h"
+#include "overworld.h"
+#include "scanline_effect.h"
+#include "script.h"
+#include "sound.h"
+#include "start_menu.h"
+#include "task.h"
+#include "text.h"
+#include "constants/event_object_movement_constants.h"
+#include "constants/songs.h"
+#include "constants/rgb.h"
+
+extern bool32 sub_81D6534(void);
+extern bool8 walkrun_is_standing_still(void);
+extern void ScriptUnfreezeEventObjects(void);
+extern void sub_81BE72C(void);
+extern void sub_80FB768(void);
+extern void sub_808D194(void);
+extern void sub_808D1C8(void);
+extern bool32 sub_808D1B4(void);
+extern bool32 sub_808D1E8(void);
+extern void sub_80B6B68(void);
+extern void sub_80B6E4C(u8, u8);
+extern void sub_80B75D8(u8);
+extern void sub_80B7A74(u8);
+extern void sub_808C0A8(u8);
+extern u8 GetMapPairFadeToType(u8, u8);
+extern u8 GetMapPairFadeFromType(u8, u8);
+
+extern const u16 gUnknown_82EC7CC[];
+
+// This file's functions.
+static void sub_8080B9C(u8);
+static void task_map_chg_seq_0807E20C(u8);
+static void task_map_chg_seq_0807E2CC(u8);
+static void task0A_fade_n_map_maybe(u8);
+static void sub_808115C(u8);
+static void palette_bg_faded_fill_white(void);
+static void sub_80AF438(u8);
+static bool32 sub_80AF71C(void);
+static void task0A_mpl_807E31C(u8 taskId);
+static void sub_80AFA0C(u8 taskId);
+static void sub_80AFA88(u8 taskId);
+static void task50_0807F0C8(u8);
+
+// const
+const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
+const s32 gMaxFlashLevel = 8;
+
+const struct ScanlineEffectParams sFlashEffectParams =
+{
+ (void *)REG_ADDR_WIN0H,
+ ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1,
+ 1
+};
+
+// code
+static void palette_bg_faded_fill_white(void)
+{
+ CpuFastFill16(RGB_WHITE, gPlttBufferFaded, PLTT_SIZE);
+}
+
+static void palette_bg_faded_fill_black(void)
+{
+ CpuFastFill16(RGB_BLACK, gPlttBufferFaded, PLTT_SIZE);
+}
+
+void pal_fill_for_maplights(void)
+{
+ u8 previousMapType = GetLastUsedWarpMapType();
+ switch (GetMapPairFadeFromType(previousMapType, Overworld_GetMapTypeOfSaveblockLocation()))
+ {
+ case 0:
+ palette_bg_faded_fill_black();
+ FadeScreen(FADE_FROM_BLACK, 0);
+ break;
+ case 1:
+ palette_bg_faded_fill_white();
+ FadeScreen(FADE_FROM_WHITE, 0);
+ }
+}
+
+static void sub_80AF08C(void)
+{
+ palette_bg_faded_fill_white();
+ FadeScreen(FADE_FROM_WHITE, 8);
+}
+
+void pal_fill_black(void)
+{
+ palette_bg_faded_fill_black();
+ FadeScreen(FADE_FROM_BLACK, 0);
+}
+
+void WarpFadeScreen(void)
+{
+ u8 currentMapType = Overworld_GetMapTypeOfSaveblockLocation();
+ switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType))
+ {
+ case 0:
+ FadeScreen(FADE_TO_BLACK, 0);
+ break;
+ case 1:
+ FadeScreen(FADE_TO_WHITE, 0);
+ }
+}
+
+static void sub_80AF0F4(u8 arg)
+{
+ sub_808C0A8(!arg);
+}
+
+static void task0A_nop_for_a_while(u8 taskId)
+{
+ if (sub_80AF71C() == TRUE)
+ DestroyTask(taskId);
+}
+
+void sub_80AF128(void)
+{
+ ScriptContext2_Enable();
+ Overworld_PlaySpecialMapMusic();
+ pal_fill_black();
+ CreateTask(task0A_nop_for_a_while, 10);
+}
+
+static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
+{
+ if (sub_80AF71C() == TRUE)
+ {
+ DestroyTask(taskID);
+ EnableBothScriptContexts();
+ }
+}
+
+void sub_80AF168(void)
+{
+ ScriptContext2_Enable();
+ Overworld_PlaySpecialMapMusic();
+ pal_fill_black();
+ CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
+}
+
+void sub_80AF188(void)
+{
+ ScriptContext2_Enable();
+ pal_fill_black();
+ CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
+}
+
+static void task_mpl_807DD60(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[1] = sub_80B3050();
+ task->data[0]++;
+ break;
+ case 1:
+ if (gTasks[task->data[1]].isActive != TRUE)
+ {
+ pal_fill_for_maplights();
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (sub_80AF71C() == TRUE)
+ {
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80AF214(void)
+{
+ ScriptContext2_Enable();
+ Overworld_PlaySpecialMapMusic();
+ palette_bg_faded_fill_black();
+ CreateTask(task_mpl_807DD60, 10);
+}
+
+static void sub_80AF234(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_800ADF8();
+ task->data[0]++;
+ break;
+ case 1:
+ if (!sub_800A520())
+ {
+ if (++task->data[1] > 1800)
+ sub_8011170(0x6000);
+ }
+ else
+ {
+ pal_fill_for_maplights();
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (sub_80AF71C() == TRUE)
+ {
+ sub_8009F18();
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80AF2B4(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_800ADF8();
+ task->data[0]++;
+ break;
+ case 1:
+ if (sub_800A520())
+ {
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ sub_8009F18();
+ sub_8086C2C();
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void sub_80AF314(void)
+{
+ ScriptContext2_Enable();
+ Overworld_PlaySpecialMapMusic();
+ palette_bg_faded_fill_black();
+ CreateTask(sub_80AF234, 10);
+}
+
+static void sub_80AF334(void)
+{
+ s16 x, y;
+ u8 behavior;
+ TaskFunc func;
+
+ PlayerGetDestCoords(&x, &y);
+ behavior = MapGridGetMetatileBehaviorAt(x, y);
+ if (MetatileBehavior_IsDoor(behavior) == TRUE)
+ func = sub_80AF438;
+ else if (MetatileBehavior_IsNonAnimDoor(behavior) == TRUE)
+ func = task_map_chg_seq_0807E20C;
+ else
+ func = task_map_chg_seq_0807E2CC;
+ CreateTask(func, 10);
+}
+
+void mapldr_default(void)
+{
+ Overworld_PlaySpecialMapMusic();
+ pal_fill_for_maplights();
+ sub_80AF334();
+ ScriptContext2_Enable();
+}
+
+void sub_80AF3B0(void)
+{
+ Overworld_PlaySpecialMapMusic();
+ sub_80AF08C();
+ sub_80AF334();
+ ScriptContext2_Enable();
+}
+
+void sub_80AF3C8(void)
+{
+ if (!sub_81D6534())
+ Overworld_PlaySpecialMapMusic();
+ pal_fill_black();
+ sub_80AF334();
+ ScriptContext2_Enable();
+}
+
+void sub_80AF3E8(void)
+{
+ Overworld_PlaySpecialMapMusic();
+ pal_fill_for_maplights();
+ PlaySE(SE_TK_WARPOUT);
+ CreateTask(task0A_mpl_807E31C, 10);
+ ScriptContext2_Enable();
+}
+
+void sub_80AF40C(void)
+{
+ Overworld_PlaySpecialMapMusic();
+ pal_fill_for_maplights();
+ PlaySE(SE_TK_WARPOUT);
+ CreateTask(task_map_chg_seq_0807E2CC, 10);
+ ScriptContext2_Enable();
+ sub_8085540(0xE);
+}
+
+static void sub_80AF438(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ s16 *x = &task->data[2];
+ s16 *y = &task->data[3];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_80AF0F4(0);
+ FreezeEventObjects();
+ PlayerGetDestCoords(x, y);
+ FieldSetDoorOpened(*x, *y);
+ task->data[0] = 1;
+ break;
+ case 1:
+ if (sub_80AF71C())
+ {
+ u8 eventObjId;
+ sub_80AF0F4(1);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_DOWN);
+ task->data[0] = 2;
+ }
+ break;
+ case 2:
+ if (walkrun_is_standing_still())
+ {
+ u8 eventObjId;
+ task->data[1] = FieldAnimateDoorClose(*x, *y);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]);
+ task->data[0] = 3;
+ }
+ break;
+ case 3:
+ if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
+ {
+ UnfreezeEventObjects();
+ task->data[0] = 4;
+ }
+ break;
+ case 4:
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void task_map_chg_seq_0807E20C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ s16 *x = &task->data[2];
+ s16 *y = &task->data[3];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_80AF0F4(0);
+ FreezeEventObjects();
+ PlayerGetDestCoords(x, y);
+ task->data[0] = 1;
+ break;
+ case 1:
+ if (sub_80AF71C())
+ {
+ u8 eventObjId;
+ sub_80AF0F4(1);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ EventObjectSetHeldMovement(&gEventObjects[eventObjId], GetWalkNormalMovementAction(GetPlayerFacingDirection()));
+ task->data[0] = 2;
+ }
+ break;
+ case 2:
+ if (walkrun_is_standing_still())
+ {
+ UnfreezeEventObjects();
+ task->data[0] = 3;
+ }
+ break;
+ case 3:
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void task_map_chg_seq_0807E2CC(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ FreezeEventObjects();
+ ScriptContext2_Enable();
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (sub_80AF71C())
+ {
+ UnfreezeEventObjects();
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+static void sub_80AF660(u8 taskId)
+{
+ if (sub_80AF71C() == TRUE)
+ {
+ DestroyTask(taskId);
+ CreateTask(sub_809FA34, 80);
+ }
+}
+
+void sub_80AF688(void)
+{
+ pal_fill_black();
+ CreateTask(sub_80AF660, 0x50);
+ ScriptContext2_Enable();
+}
+
+bool8 sub_80AF6A4(void)
+{
+ sub_809FA18();
+ return FALSE;
+}
+
+static void task_mpl_807E3C8(u8 taskId)
+{
+ if (sub_80AF71C() == 1)
+ {
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ ScriptUnfreezeEventObjects();
+ }
+}
+
+void sub_80AF6D4(void)
+{
+ ScriptContext2_Enable();
+ pal_fill_black();
+ CreateTask(task_mpl_807E3C8, 10);
+}
+
+void sub_80AF6F0(void)
+{
+ ScriptContext2_Enable();
+ Overworld_PlaySpecialMapMusic();
+ pal_fill_black();
+ CreateTask(task_mpl_807E3C8, 10);
+}
+
+static bool32 PaletteFadeActive(void)
+{
+ return gPaletteFade.active;
+}
+
+static bool32 sub_80AF71C(void)
+{
+ if (IsWeatherNotFadingIn() == TRUE)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+void sub_80AF734(void)
+{
+ ScriptContext2_Enable();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
+ PlayRainSoundEffect();
+ PlaySE(SE_KAIDAN);
+ gFieldCallback = mapldr_default;
+ CreateTask(sub_80AFA0C, 10);
+}
+
+void sp13E_warp_to_last_warp(void)
+{
+ ScriptContext2_Enable();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
+ PlayRainSoundEffect();
+ gFieldCallback = mapldr_default;
+ CreateTask(sub_80AFA0C, 10);
+}
+
+void sub_80AF79C(void)
+{
+ ScriptContext2_Enable();
+ TryFadeOutOldMapMusic();
+ FadeScreen(FADE_TO_WHITE, 8);
+ PlayRainSoundEffect();
+ gFieldCallback = sub_80AF3B0;
+ CreateTask(sub_80AFA0C, 10);
+}
+
+void sub_80AF7D0(void)
+{
+ ScriptContext2_Enable();
+ gFieldCallback = mapldr_default;
+ CreateTask(sub_80AFA88, 10);
+}
+
+void sp13F_fall_to_last_warp(void)
+{
+ sp13E_warp_to_last_warp();
+ gFieldCallback = sub_80B6B68;
+}
+
+void sub_80AF80C(u8 metatileBehavior)
+{
+ ScriptContext2_Enable();
+ sub_80B6E4C(metatileBehavior, 10);
+}
+
+void sub_80AF828(void)
+{
+ ScriptContext2_Enable();
+ sub_80B75D8(10);
+}
+
+void sub_80AF838(void)
+{
+ ScriptContext2_Enable();
+ sub_80B7A74(10);
+}
+
+void sub_80AF848(void)
+{
+ ScriptContext2_Enable();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
+ PlaySE(SE_TK_WARPIN);
+ CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = sub_80AF3E8;
+}
+
+void sub_80AF87C(void)
+{
+ sub_8085540(1);
+ ScriptContext2_Enable();
+ SaveEventObjects();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
+ PlaySE(SE_TK_WARPIN);
+ CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = sub_80AF40C;
+}
+
+void sub_80AF8B8(void)
+{
+ ScriptContext2_Enable();
+ WarpFadeScreen();
+ CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = sub_80FB768;
+}
+
+static void sub_80AF8E0(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ ScriptContext2_Enable();
+ task->data[0]++;
+ break;
+ case 1:
+ if (!PaletteFadeActive() && BGMusicStopped())
+ task->data[0]++;
+ break;
+ case 2:
+ WarpIntoMap();
+ SetMainCallback2(sub_8086074);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void sub_80AF948(void)
+{
+ ScriptContext2_Enable();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
+ PlaySE(SE_KAIDAN);
+ CreateTask(sub_80AF8E0, 10);
+}
+
+static void sub_80AF96C(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ ClearLinkCallback_2();
+ FadeScreen(FADE_TO_BLACK, 0);
+ TryFadeOutOldMapMusic();
+ PlaySE(SE_KAIDAN);
+ data[0]++;
+ break;
+ case 1:
+ if (!PaletteFadeActive() && BGMusicStopped())
+ {
+ sub_800AC34();
+ data[0]++;
+ }
+ break;
+ case 2:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ WarpIntoMap();
+ SetMainCallback2(CB2_LoadMap);
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80AF9F8(void)
+{
+ CreateTask(sub_80AF96C, 10);
+}
+
+static void sub_80AFA0C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ FreezeEventObjects();
+ ScriptContext2_Enable();
+ task->data[0]++;
+ break;
+ case 1:
+ if (!PaletteFadeActive())
+ {
+ if (task->data[1] == 0)
+ {
+ sub_81BE72C();
+ task->data[1] = 1;
+ }
+ if (BGMusicStopped())
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ WarpIntoMap();
+ SetMainCallback2(CB2_LoadMap);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void sub_80AFA88(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ s16 *x = &task->data[2];
+ s16 *y = &task->data[3];
+
+ switch (task->data[0])
+ {
+ case 0:
+ FreezeEventObjects();
+ PlayerGetDestCoords(x, y);
+ PlaySE(GetDoorSoundEffect(*x, *y - 1));
+ task->data[1] = FieldAnimateDoorOpen(*x, *y - 1);
+ task->data[0] = 1;
+ break;
+ case 1:
+ if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
+ {
+ u8 eventObjId;
+ eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ EventObjectClearHeldMovementIfActive(&gEventObjects[eventObjId]);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ EventObjectSetHeldMovement(&gEventObjects[eventObjId], MOVEMENT_ACTION_WALK_NORMAL_UP);
+ task->data[0] = 2;
+ }
+ break;
+ case 2:
+ if (walkrun_is_standing_still())
+ {
+ u8 eventObjId;
+ task->data[1] = FieldAnimateDoorClose(*x, *y - 1);
+ eventObjId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0);
+ EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId]);
+ sub_80AF0F4(0);
+ task->data[0] = 3;
+ }
+ break;
+ case 3:
+ if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
+ {
+ task->data[0] = 4;
+ }
+ break;
+ case 4:
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
+ PlayRainSoundEffect();
+ task->data[0] = 0;
+ task->func = sub_80AFA0C;
+ break;
+ }
+}
+
+static void task0A_fade_n_map_maybe(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ FreezeEventObjects();
+ ScriptContext2_Enable();
+ task->data[0]++;
+ break;
+ case 1:
+ if (!PaletteFadeActive() && BGMusicStopped())
+ {
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ WarpIntoMap();
+ SetMainCallback2(sub_8086024);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void sub_80AFC60(void)
+{
+ ScriptContext2_Enable();
+ TryFadeOutOldMapMusic();
+ WarpFadeScreen();
+ PlayRainSoundEffect();
+ PlaySE(SE_KAIDAN);
+ gFieldCallback = sub_80AF3C8;
+ CreateTask(task0A_fade_n_map_maybe, 10);
+}
+
+static void SetFlashScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right)
+{
+ if (y <= 160)
+ {
+ if (left < 0)
+ left = 0;
+ if (left > 255)
+ left = 255;
+ if (right < 0)
+ right = 0;
+ if (right > 255)
+ right = 255;
+ dest[y] = (left << 8) | right;
+ }
+}
+
+static void SetFlashScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 centerY, s32 radius)
+{
+ s32 r = radius;
+ s32 v2 = radius;
+ s32 v3 = 0;
+ while (r >= v3)
+ {
+ SetFlashScanlineEffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r);
+ SetFlashScanlineEffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r);
+ SetFlashScanlineEffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3);
+ SetFlashScanlineEffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3);
+ v2 -= (v3 * 2) - 1;
+ v3++;
+ if (v2 < 0)
+ {
+ v2 += 2 * (r - 1);
+ r--;
+ }
+ }
+}
+
+static void SetFlash2ScanlineEffectWindowBoundary(u16 *dest, u32 y, s32 left, s32 right)
+{
+ if (y <= 160)
+ {
+ if (left < 0)
+ left = 0;
+ if (left > 240)
+ left = 240;
+ if (right < 0)
+ right = 0;
+ if (right > 240)
+ right = 240;
+ dest[y] = (left << 8) | right;
+ }
+}
+
+static void SetFlash2ScanlineEffectWindowBoundaries(u16 *dest, s32 centerX, s32 centerY, s32 radius)
+{
+ s32 r = radius;
+ s32 v2 = radius;
+ s32 v3 = 0;
+ while (r >= v3)
+ {
+ SetFlash2ScanlineEffectWindowBoundary(dest, centerY - v3, centerX - r, centerX + r);
+ SetFlash2ScanlineEffectWindowBoundary(dest, centerY + v3, centerX - r, centerX + r);
+ SetFlash2ScanlineEffectWindowBoundary(dest, centerY - r, centerX - v3, centerX + v3);
+ SetFlash2ScanlineEffectWindowBoundary(dest, centerY + r, centerX - v3, centerX + v3);
+ v2 -= (v3 * 2) - 1;
+ v3++;
+ if (v2 < 0)
+ {
+ v2 += 2 * (r - 1);
+ r--;
+ }
+ }
+}
+
+#define tFlashCenterX data[1]
+#define tFlashCenterY data[2]
+#define tCurFlashRadius data[3]
+#define tDestFlashRadius data[4]
+#define tFlashRadiusDelta data[5]
+#define tClearScanlineEffect data[6]
+
+static void UpdateFlashLevelEffect(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ SetFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
+ data[0] = 1;
+ break;
+ case 1:
+ SetFlashScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
+ data[0] = 0;
+ tCurFlashRadius += tFlashRadiusDelta;
+ if (tCurFlashRadius > tDestFlashRadius)
+ {
+ if (tClearScanlineEffect == 1)
+ {
+ ScanlineEffect_Stop();
+ data[0] = 2;
+ }
+ else
+ {
+ DestroyTask(taskId);
+ }
+ }
+ break;
+ case 2:
+ ScanlineEffect_Clear();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void UpdateFlash2LevelEffect(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ SetFlash2ScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
+ data[0] = 1;
+ break;
+ case 1:
+ SetFlash2ScanlineEffectWindowBoundaries(gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer], tFlashCenterX, tFlashCenterY, tCurFlashRadius);
+ data[0] = 0;
+ tCurFlashRadius += tFlashRadiusDelta;
+ if (tCurFlashRadius > tDestFlashRadius)
+ {
+ if (tClearScanlineEffect == 1)
+ {
+ ScanlineEffect_Stop();
+ data[0] = 2;
+ }
+ else
+ {
+ DestroyTask(taskId);
+ }
+ }
+ break;
+ case 2:
+ ScanlineEffect_Clear();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void sub_80AFF90(u8 taskId)
+{
+ if (!FuncIsActiveTask(UpdateFlashLevelEffect))
+ {
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_80AFFB8(void)
+{
+ if (!FuncIsActiveTask(sub_80AFF90))
+ CreateTask(sub_80AFF90, 80);
+}
+
+static u8 sub_80AFFDC(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta)
+{
+ u8 taskId = CreateTask(UpdateFlashLevelEffect, 80);
+ s16 *data = gTasks[taskId].data;
+
+ tCurFlashRadius = initialFlashRadius;
+ tDestFlashRadius = destFlashRadius;
+ tFlashCenterX = centerX;
+ tFlashCenterY = centerY;
+ tClearScanlineEffect = clearScanlineEffect;
+
+ if (initialFlashRadius < destFlashRadius)
+ tFlashRadiusDelta = delta;
+ else
+ tFlashRadiusDelta = -delta;
+
+ return taskId;
+}
+
+static u8 sub_80B003C(s32 centerX, s32 centerY, s32 initialFlashRadius, s32 destFlashRadius, s32 clearScanlineEffect, u8 delta)
+{
+ u8 taskId = CreateTask(UpdateFlash2LevelEffect, 80);
+ s16 *data = gTasks[taskId].data;
+
+ tCurFlashRadius = initialFlashRadius;
+ tDestFlashRadius = destFlashRadius;
+ tFlashCenterX = centerX;
+ tFlashCenterY = centerY;
+ tClearScanlineEffect = clearScanlineEffect;
+
+ if (initialFlashRadius < destFlashRadius)
+ tFlashRadiusDelta = delta;
+ else
+ tFlashRadiusDelta = -delta;
+
+ return taskId;
+}
+
+#undef tCurFlashRadius
+#undef tDestFlashRadius
+#undef tFlashRadiusDelta
+#undef tClearScanlineEffect
+
+void sub_80B009C(u8 flashLevel)
+{
+ u8 curFlashLevel = Overworld_GetFlashLevel();
+ u8 value = 0;
+ if (!flashLevel)
+ value = 1;
+ sub_80AFFDC(120, 80, sFlashLevelPixelRadii[curFlashLevel], sFlashLevelPixelRadii[flashLevel], value, 1);
+ sub_80AFFB8();
+ ScriptContext2_Enable();
+}
+
+void WriteFlashScanlineEffectBuffer(u8 flashLevel)
+{
+ if (flashLevel)
+ {
+ SetFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], 120, 80, sFlashLevelPixelRadii[flashLevel]);
+ CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480);
+ }
+}
+
+void door_upload_tiles(void)
+{
+ SetFlashScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], 120, 80, gSaveBlock2Ptr->frontier.field_E68);
+ CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480);
+}
+
+static void task0A_mpl_807E31C(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ FreezeEventObjects();
+ ScriptContext2_Enable();
+ sub_808D194();
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ if (sub_80AF71C() && sub_808D1B4() != TRUE)
+ {
+ UnfreezeEventObjects();
+ ScriptContext2_Disable();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+static void sub_80B01BC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ FreezeEventObjects();
+ ScriptContext2_Enable();
+ PlaySE(SE_TK_WARPIN);
+ sub_808D1C8();
+ task->data[0]++;
+ break;
+ case 1:
+ if (!sub_808D1E8())
+ {
+ WarpFadeScreen();
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (!PaletteFadeActive() && BGMusicStopped())
+ task->data[0]++;
+ break;
+ case 3:
+ WarpIntoMap();
+ SetMainCallback2(CB2_LoadMap);
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void sub_80B0244(void)
+{
+ ScriptContext2_Enable();
+ CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = sub_80AF3E8;
+}
+
+void sub_80B0268(void)
+{
+ ScriptContext2_Enable();
+ gFieldCallback = mapldr_default;
+ CreateTask(sub_80B01BC, 10);
+}
+
+static void sub_80B028C(u8 a1)
+{
+ int i;
+ u16 color[1];
+
+ if (!a1)
+ color[0] = RGB_RED;
+ else
+ color[0] = RGB_BLUE;
+
+ for (i = 0; i < 16; i++)
+ {
+ LoadPalette(color, 0xF0 + i, 2);
+ }
+}
+
+static bool8 sub_80B02C8(u16 a1)
+{
+ u8 lo = REG_BLDALPHA & 0xFF;
+ u8 hi = REG_BLDALPHA >> 8;
+
+ if (a1)
+ {
+ if (lo)
+ {
+ lo--;
+ }
+ }
+ else
+ {
+ if (hi < 0x10)
+ {
+ hi++;
+ }
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(lo, hi));
+
+ if (lo == 0 && hi == 0x10)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void sub_80B0318(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ data[6] = REG_DISPCNT;
+ data[7] = REG_BLDCNT;
+ data[8] = REG_BLDALPHA;
+ data[9] = REG_WININ;
+ data[10] = REG_WINOUT;
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN1_ON);
+ SetGpuRegBits(REG_OFFSET_BLDCNT, gUnknown_82EC7CC[0]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 7));
+ SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
+ SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ);
+ sub_8199C30(0, 0, 0, 0x1E, 0x14, 0xF);
+ schedule_bg_copy_tilemap_to_vram(0);
+ SetFlash2ScanlineEffectWindowBoundaries(&gScanlineEffectRegBuffers[0][0], data[2], data[3], 1);
+ CpuFastSet(&gScanlineEffectRegBuffers[0], &gScanlineEffectRegBuffers[1], 480);
+ ScanlineEffect_SetParams(sFlashEffectParams);
+ data[0] = 1;
+ break;
+ case 1:
+ sub_8199DF0(0, 17, 0, 1);
+ sub_80B028C(data[1]);
+ sub_80B003C(data[2], data[3], 1, 160, 1, 2);
+ data[0] = 2;
+ break;
+ case 2:
+ if (!FuncIsActiveTask(UpdateFlash2LevelEffect))
+ {
+ EnableBothScriptContexts();
+ data[0] = 3;
+ }
+ break;
+ case 3:
+ InstallCameraPanAheadCallback();
+ SetCameraPanningCallback(NULL);
+ data[5] = 0;
+ data[4] = 4;
+ data[0] = 4;
+ break;
+ case 4:
+ data[4]--;
+ if (!data[4])
+ {
+ s32 panning;
+ data[4] = 4;
+ data[5] ^= 1;
+ if (data[5])
+ panning = 4;
+ else
+ panning = -4;
+ SetCameraPanning(0, panning);
+ }
+ break;
+ case 6:
+ InstallCameraPanAheadCallback();
+ data[4] = 8;
+ data[0] = 7;
+ break;
+ case 7:
+ data[4]--;
+ if (!data[4])
+ {
+ data[4] = 8;
+ data[5] ^= 1;
+ if (sub_80B02C8(data[5]) == TRUE)
+ {
+ data[0] = 5;
+ sub_8199DF0(0, 0, 0, 1);
+ }
+ }
+ break;
+ case 5:
+ SetGpuReg(REG_OFFSET_WIN0H, 255);
+ SetGpuReg(REG_OFFSET_DISPCNT, data[6]);
+ SetGpuReg(REG_OFFSET_BLDCNT, data[7]);
+ SetGpuReg(REG_OFFSET_BLDALPHA, data[8]);
+ SetGpuReg(REG_OFFSET_WININ, data[9]);
+ SetGpuReg(REG_OFFSET_WINOUT, data[10]);
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+void sub_80B0534(void)
+{
+ u8 taskId = CreateTask(sub_80B0318, 80);
+ s16 *data = gTasks[taskId].data;
+
+ if (gSpecialVar_Result == 0)
+ {
+ data[1] = 0;
+ data[2] = 104;
+ }
+ else if (gSpecialVar_Result == 1)
+ {
+ data[1] = 1;
+ data[2] = 136;
+ }
+ else if (gSpecialVar_Result == 2)
+ {
+ data[1] = 0;
+ data[2] = 120;
+ }
+ else
+ {
+ data[1] = 1;
+ data[2] = 120;
+ }
+
+ data[3] = 80;
+}
+
+void sub_80B058C(void)
+{
+ u8 taskId = FindTaskIdByFunc(sub_80B0318);
+ gTasks[taskId].data[0] = 6;
+}
+
+void sub_80B05B4(void)
+{
+ Overworld_FadeOutMapMusic();
+ CreateTask(task50_0807F0C8, 80);
+}
+
+static void task50_0807F0C8(u8 taskId)
+{
+ if (BGMusicStopped() == TRUE)
+ {
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+ }
+}
diff --git a/src/field_specials.c b/src/field_specials.c
index 562127890..3a50e272e 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -12,7 +12,7 @@
#include "field_effect.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "field_specials.h"
#include "field_weather.h"
#include "international_string_util.h"
@@ -20,7 +20,7 @@
#include "link.h"
#include "list_menu.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "match_call.h"
#include "menu.h"
#include "overworld.h"
@@ -1691,26 +1691,36 @@ const struct WindowTemplate gUnknown_085B2BAC = {
};
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
+ 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 };
+const u16 gUnknown_085B2BF4[][3] =
+{
+ {0x0329, 0x032a, 0x032b},
+ {0x0331, 0x0332, 0x0333},
+ {0x0339, 0x033a, 0x033b},
+};
+const u16 gUnknown_085B2C06[][3] =
+{
+ {0x0329, 0x032b, 0x032a},
+ {0x0331, 0x0333, 0x0332},
+ {0x0339, 0x033b, 0x033a},
+};
void SetDepartmentStoreFloorVar(void)
{
@@ -1866,9 +1876,6 @@ static void sub_8139C2C(u16 a1, u8 a2)
}
}
-// 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;
@@ -1883,7 +1890,7 @@ static void sub_8139C80(u8 taskId)
{
for (x = 0; x < 3; x++)
{
- MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2BF4[y * 3 + data[0] % 3] | 0xC00);
+ MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2BF4[y][data[0] % 3] | 0xC00);
}
}
}
@@ -1893,7 +1900,7 @@ static void sub_8139C80(u8 taskId)
{
for (x = 0; x < 3; x++)
{
- MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2C06[y * 3 + data[0] % 3] | 0xC00);
+ MapGridSetMetatileIdAt(x + 8, y + 7, gUnknown_085B2C06[y][data[0] % 3] | 0xC00);
}
}
}
@@ -1906,148 +1913,6 @@ static void sub_8139C80(u8 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)
{
@@ -2069,7 +1934,7 @@ void sub_8139D98(void)
}
gSpecialVar_0x8006 = 0;
- gSpecialVar_0x8007 = ivStorage[STAT_HP];
+ gSpecialVar_0x8007 = ivStorage[STAT_HP];
for (i = 1; i < NUM_STATS; i++)
{
@@ -2092,7 +1957,7 @@ void sub_8139D98(void)
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 };
+ 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 = (gLastUsedWarp.mapGroup << 8) + gLastUsedWarp.mapNum;
@@ -3081,10 +2946,10 @@ void sub_813AA44(void)
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 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,
@@ -3976,7 +3841,7 @@ bool32 sub_813B9C0(void)
MAP_TRADE_CENTER,
MAP_RECORD_CORNER,
MAP_DOUBLE_BATTLE_COLOSSEUM,
- 0xffff
+ 0xFFFF
};
int i;
diff --git a/src/field_weather.c b/src/field_weather.c
new file mode 100644
index 000000000..f0615dabf
--- /dev/null
+++ b/src/field_weather.c
@@ -0,0 +1,1095 @@
+#include "global.h"
+#include "constants/songs.h"
+#include "constants/weather.h"
+#include "constants/rgb.h"
+#include "util.h"
+#include "event_object_movement.h"
+#include "field_weather.h"
+#include "main.h"
+#include "menu.h"
+#include "palette.h"
+#include "random.h"
+#include "script.h"
+#include "start_menu.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "gpu_regs.h"
+
+#define MACRO1(color) ((((color) >> 1) & 0xF) | (((color) >> 2) & 0xF0) | (((color) >> 3) & 0xF00))
+
+enum
+{
+ GAMMA_NONE,
+ GAMMA_NORMAL,
+ GAMMA_ALT,
+};
+
+struct RGBColor
+{
+ u16 r:5;
+ u16 g:5;
+ u16 b:5;
+};
+
+struct WeatherPaletteData
+{
+ u16 gammaShiftColors[8][0x1000]; // 0x1000 is the number of bytes that make up all palettes.
+};
+
+struct WeatherCallbacks
+{
+ void (*initVars)(void);
+ void (*main)(void);
+ void (*initAll)(void);
+ bool8 (*finish)(void);
+};
+
+// This file's functions.
+static bool8 LightenSpritePaletteInFog(u8);
+static void BuildGammaShiftTables(void);
+static void UpdateWeatherGammaShift(void);
+static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex);
+static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaIndex, u8 blendCoeff, u16 blendColor);
+static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 blendColor);
+static void ApplyFogBlend(u8 blendCoeff, u16 blendColor);
+static bool8 FadeInScreen_RainShowShade(void);
+static bool8 FadeInScreen_Drought(void);
+static bool8 FadeInScreen_Fog1(void);
+static void FadeInScreenWithWeather(void);
+static void DoNothing(void);
+static void Task_WeatherInit(u8 taskId);
+static void Task_WeatherMain(u8 taskId);
+static void None_Init(void);
+static void None_Main(void);
+static u8 None_Finish(void);
+
+// EWRAM
+EWRAM_DATA struct Weather gWeather = {0};
+EWRAM_DATA static u8 sFieldEffectPaletteGammaTypes[32] = {0};
+
+// IWRAM bss
+IWRAM_DATA static const u8 *sPaletteGammaTypes;
+
+// CONST
+extern const u16 gUnknown_0854014C[][4096];
+
+// This is a pointer to gWeather. All code in this file accesses gWeather directly,
+// while code in other field weather files accesses gWeather through this pointer.
+// This is likely the result of compiler optimization, since using the pointer in
+// this file produces the same result as accessing gWeather directly.
+struct Weather *const gWeatherPtr = &gWeather;
+
+static const struct WeatherCallbacks sWeatherFuncs[] =
+{
+ {None_Init, None_Main, None_Init, None_Finish},
+ {Clouds_InitVars, Clouds_Main, Clouds_InitAll, Clouds_Finish},
+ {Weather2_InitVars, Weather2_Main, Weather2_InitAll, Weather2_Finish},
+ {LightRain_InitVars, LightRain_Main, LightRain_InitAll, LightRain_Finish},
+ {Snow_InitVars, Snow_Main, Snow_InitAll, Snow_Finish},
+ {MedRain_InitVars, Rain_Main, MedRain_InitAll, Rain_Finish},
+ {Fog1_InitVars, Fog1_Main, Fog1_InitAll, Fog1_Finish},
+ {Ash_InitVars, Ash_Main, Ash_InitAll, Ash_Finish},
+ {Sandstorm_InitVars, Sandstorm_Main, Sandstorm_InitAll, Sandstorm_Finish},
+ {Fog2_InitVars, Fog2_Main, Fog2_InitAll, Fog2_Finish},
+ {Fog1_InitVars, Fog1_Main, Fog1_InitAll, Fog1_Finish},
+ {Shade_InitVars, Shade_Main, Shade_InitAll, Shade_Finish},
+ {Drought_InitVars, Drought_Main, Drought_InitAll, Drought_Finish},
+ {HeavyRain_InitVars, Rain_Main, HeavyRain_InitAll, Rain_Finish},
+ {Bubbles_InitVars, Bubbles_Main, Bubbles_InitAll, Bubbles_Finish},
+};
+
+void (*const gWeatherPalStateFuncs[])(void) =
+{
+ UpdateWeatherGammaShift, // WEATHER_PAL_STATE_CHANGING_WEATHER
+ FadeInScreenWithWeather, // WEATHER_PAL_STATE_SCREEN_FADING_IN
+ DoNothing, // WEATHER_PAL_STATE_SCREEN_FADING_OUT
+ DoNothing, // WEATHER_PAL_STATE_IDLE
+};
+
+// This table specifies which of the gamma shift tables should be
+// applied to each of the background and sprite palettes.
+static const u8 sBasePaletteGammaTypes[32] =
+{
+ // background palettes
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NONE,
+ GAMMA_NONE,
+ // sprite palettes
+ GAMMA_ALT,
+ GAMMA_NORMAL,
+ GAMMA_ALT,
+ GAMMA_ALT,
+ GAMMA_ALT,
+ GAMMA_ALT,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_ALT,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+ GAMMA_NORMAL,
+};
+
+const u16 gUnknown_083970E8[] = INCBIN_U16("graphics/weather/0.gbapal");
+
+// code
+void StartWeather(void)
+{
+ if (!FuncIsActiveTask(Task_WeatherMain))
+ {
+ u8 index = AllocSpritePalette(0x1200);
+ CpuCopy32(gUnknown_083970E8, &gPlttBufferUnfaded[0x100 + index * 16], 32);
+ BuildGammaShiftTables();
+ gWeatherPtr->altGammaSpritePalIndex = index;
+ gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(0x1201);
+ gWeatherPtr->rainSpriteCount = 0;
+ gWeatherPtr->unknown_6D8 = 0;
+ gWeatherPtr->cloudSpritesCreated = 0;
+ gWeatherPtr->snowflakeSpriteCount = 0;
+ gWeatherPtr->ashSpritesCreated = 0;
+ gWeatherPtr->fog1SpritesCreated = 0;
+ gWeatherPtr->fog2SpritesCreated = 0;
+ gWeatherPtr->sandstormSprites1Created = 0;
+ gWeatherPtr->sandstormSprites2Created = 0;
+ gWeatherPtr->unknown_72E = 0;
+ gWeatherPtr->lightenedFogSpritePalsCount = 0;
+ Weather_SetBlendCoeffs(16, 0);
+ gWeatherPtr->currWeather = 0;
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
+ gWeatherPtr->readyForInit = FALSE;
+ gWeatherPtr->weatherChangeComplete = TRUE;
+ gWeatherPtr->taskId = CreateTask(Task_WeatherInit, 80);
+ }
+}
+
+void ChangeWeather(u8 weather)
+{
+ if (weather != WEATHER_RAIN_LIGHT && weather != WEATHER_RAIN_MED && weather != WEATHER_RAIN_HEAVY)
+ {
+ PlayRainSoundEffect();
+ }
+
+ if (gWeatherPtr->nextWeather != weather && gWeatherPtr->currWeather == weather)
+ {
+ sWeatherFuncs[weather].initVars();
+ }
+
+ gWeatherPtr->weatherChangeComplete = FALSE;
+ gWeatherPtr->nextWeather = weather;
+ gWeatherPtr->finishStep = 0;
+}
+
+void sub_80AB104(u8 weather)
+{
+ PlayRainSoundEffect();
+ gWeatherPtr->currWeather = weather;
+ gWeatherPtr->nextWeather = weather;
+}
+
+void sub_80AB130(u8 weather)
+{
+ PlayRainSoundEffect();
+ gWeatherPtr->currWeather = weather;
+ gWeatherPtr->nextWeather = weather;
+ gWeatherPtr->readyForInit = TRUE;
+}
+
+static void Task_WeatherInit(u8 taskId)
+{
+ // Waits until it's ok to initialize weather.
+ // When the screen fades in, this is set to TRUE.
+ if (gWeatherPtr->readyForInit)
+ {
+ sWeatherFuncs[gWeatherPtr->currWeather].initAll();
+ gTasks[taskId].func = Task_WeatherMain;
+ }
+}
+
+static void Task_WeatherMain(u8 taskId)
+{
+ if (gWeatherPtr->currWeather != gWeatherPtr->nextWeather)
+ {
+ if (!sWeatherFuncs[gWeatherPtr->currWeather].finish() && gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT)
+ {
+ // Finished cleaning up previous weather. Now transition to next weather.
+ sWeatherFuncs[gWeatherPtr->nextWeather].initVars();
+ gWeatherPtr->gammaStepFrameCounter = 0;
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_CHANGING_WEATHER;
+ gWeatherPtr->currWeather = gWeatherPtr->nextWeather;
+ gWeatherPtr->weatherChangeComplete = TRUE;
+ }
+ }
+ else
+ {
+ sWeatherFuncs[gWeatherPtr->currWeather].main();
+ }
+
+ gWeatherPalStateFuncs[gWeatherPtr->palProcessingState]();
+}
+
+static void None_Init(void)
+{
+ gWeatherPtr->gammaTargetIndex = 0;
+ gWeatherPtr->gammaStepDelay = 0;
+}
+
+static void None_Main(void)
+{
+}
+
+static u8 None_Finish(void)
+{
+ return 0;
+}
+
+// Builds two tables that contain gamma shifts for palette colors.
+// It's unclear why the two tables aren't declared as const arrays, since
+// this function always builds the same two tables.
+static void BuildGammaShiftTables(void)
+{
+ u16 v0;
+ u8 (*gammaTable)[32];
+ u16 v2;
+ u16 v4;
+ u16 v5;
+ u16 gammaIndex;
+ u16 v9;
+ u32 v10;
+ u16 v11;
+ s16 dunno;
+
+ sPaletteGammaTypes = sBasePaletteGammaTypes;
+ for (v0 = 0; v0 <= 1; v0++)
+ {
+ if (v0 == 0)
+ gammaTable = gWeatherPtr->gammaShifts;
+ else
+ gammaTable = gWeatherPtr->altGammaShifts;
+
+ for (v2 = 0; v2 < 32; v2++)
+ {
+ v4 = v2 << 8;
+ if (v0 == 0)
+ v5 = (v2 << 8) / 16;
+ else
+ v5 = 0;
+ for (gammaIndex = 0; gammaIndex <= 2; gammaIndex++)
+ {
+ v4 = (v4 - v5);
+ gammaTable[gammaIndex][v2] = v4 >> 8;
+ }
+ v9 = v4;
+ v10 = 0x1f00 - v4;
+ if ((0x1f00 - v4) < 0)
+ {
+ v10 += 0xf;
+ }
+ v11 = v10 >> 4;
+ if (v2 < 12)
+ {
+ for (; gammaIndex < 19; gammaIndex++)
+ {
+ v4 += v11;
+ dunno = v4 - v9;
+ if (dunno > 0)
+ v4 -= (dunno + ((u16)dunno >> 15)) >> 1;
+ gammaTable[gammaIndex][v2] = v4 >> 8;
+ if (gammaTable[gammaIndex][v2] > 0x1f)
+ gammaTable[gammaIndex][v2] = 0x1f;
+ }
+ }
+ else
+ {
+ for (; gammaIndex < 19; gammaIndex++)
+ {
+ v4 += v11;
+ gammaTable[gammaIndex][v2] = v4 >> 8;
+ if (gammaTable[gammaIndex][v2] > 0x1f)
+ gammaTable[gammaIndex][v2] = 0x1f;
+ }
+ }
+ }
+ }
+}
+
+// When the weather is changing, it gradually updates the palettes
+// towards the desired gamma shift.
+static void UpdateWeatherGammaShift(void)
+{
+ if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT)
+ {
+ if (gWeatherPtr->gammaIndex == gWeatherPtr->gammaTargetIndex)
+ {
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
+ }
+ else
+ {
+ if (++gWeatherPtr->gammaStepFrameCounter >= gWeatherPtr->gammaStepDelay)
+ {
+ gWeatherPtr->gammaStepFrameCounter = 0;
+ if (gWeatherPtr->gammaIndex < gWeatherPtr->gammaTargetIndex)
+ gWeatherPtr->gammaIndex++;
+ else
+ gWeatherPtr->gammaIndex--;
+
+ ApplyGammaShift(0, 32, gWeatherPtr->gammaIndex);
+ }
+ }
+ }
+}
+
+static void FadeInScreenWithWeather(void)
+{
+ if (++gWeatherPtr->unknown_6CB > 1)
+ gWeatherPtr->unknown_6CA = 0;
+
+ switch (gWeatherPtr->currWeather)
+ {
+ case WEATHER_RAIN_LIGHT:
+ case WEATHER_RAIN_MED:
+ case WEATHER_RAIN_HEAVY:
+ case WEATHER_SNOW:
+ case WEATHER_SHADE:
+ if (FadeInScreen_RainShowShade() == FALSE)
+ {
+ gWeatherPtr->gammaIndex = 3;
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
+ }
+ break;
+ case WEATHER_DROUGHT:
+ if (FadeInScreen_Drought() == FALSE)
+ {
+ gWeatherPtr->gammaIndex = -6;
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
+ }
+ break;
+ case WEATHER_FOG_1:
+ if (FadeInScreen_Fog1() == FALSE)
+ {
+ gWeatherPtr->gammaIndex = 0;
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
+ }
+ break;
+ case WEATHER_ASH:
+ case WEATHER_SANDSTORM:
+ case WEATHER_FOG_2:
+ case WEATHER_FOG_3:
+ default:
+ if (!gPaletteFade.active)
+ {
+ gWeatherPtr->gammaIndex = gWeatherPtr->gammaTargetIndex;
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
+ }
+ break;
+ }
+}
+
+static bool8 FadeInScreen_RainShowShade(void)
+{
+ if (gWeatherPtr->fadeScreenCounter == 16)
+ return FALSE;
+
+ if (++gWeatherPtr->fadeScreenCounter >= 16)
+ {
+ ApplyGammaShift(0, 32, 3);
+ gWeatherPtr->fadeScreenCounter = 16;
+ return FALSE;
+ }
+
+ ApplyGammaShiftWithBlend(0, 32, 3, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor);
+ return TRUE;
+}
+
+static bool8 FadeInScreen_Drought(void)
+{
+ if (gWeatherPtr->fadeScreenCounter == 16)
+ return FALSE;
+
+ if (++gWeatherPtr->fadeScreenCounter >= 16)
+ {
+ ApplyGammaShift(0, 32, -6);
+ gWeatherPtr->fadeScreenCounter = 16;
+ return FALSE;
+ }
+
+ ApplyDroughtGammaShiftWithBlend(-6, 16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor);
+ return TRUE;
+}
+
+static bool8 FadeInScreen_Fog1(void)
+{
+ if (gWeatherPtr->fadeScreenCounter == 16)
+ return FALSE;
+
+ gWeatherPtr->fadeScreenCounter++;
+ ApplyFogBlend(16 - gWeatherPtr->fadeScreenCounter, gWeatherPtr->fadeDestColor);
+ return TRUE;
+}
+
+static void DoNothing(void)
+{ }
+
+static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex)
+{
+ u16 curPalIndex;
+ u16 palOffset;
+ u8 *gammaTable;
+ u16 i;
+
+ if (gammaIndex > 0)
+ {
+ gammaIndex--;
+ palOffset = startPalIndex * 16;
+ numPalettes += startPalIndex;
+ curPalIndex = startPalIndex;
+
+ // Loop through the speficied palette range and apply necessary gamma shifts to the colors.
+ while (curPalIndex < numPalettes)
+ {
+ if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE)
+ {
+ // No palette change.
+ CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16));
+ palOffset += 16;
+ }
+ else
+ {
+ u8 r, g, b;
+
+ if (sPaletteGammaTypes[curPalIndex] == GAMMA_ALT || curPalIndex - 16 == gWeatherPtr->altGammaSpritePalIndex)
+ gammaTable = gWeatherPtr->altGammaShifts[gammaIndex];
+ else
+ gammaTable = gWeatherPtr->gammaShifts[gammaIndex];
+
+ for (i = 0; i < 16; i++)
+ {
+ // Apply gamma shift to the original color.
+ struct RGBColor baseColor = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset];
+ r = gammaTable[baseColor.r];
+ g = gammaTable[baseColor.g];
+ b = gammaTable[baseColor.b];
+ gPlttBufferFaded[palOffset++] = (b << 10) | (g << 5) | r;
+ }
+ }
+
+ curPalIndex++;
+ }
+ }
+ else if (gammaIndex < 0)
+ {
+ // A negative gammIndex value means that the blending will come from the special Drought weather's palette tables.
+ gammaIndex = -gammaIndex - 1;
+ palOffset = startPalIndex * 16;
+ numPalettes += startPalIndex;
+ curPalIndex = startPalIndex;
+
+ while (curPalIndex < numPalettes)
+ {
+ if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE)
+ {
+ // No palette change.
+ CpuFastCopy(gPlttBufferUnfaded + palOffset, gPlttBufferFaded + palOffset, 16 * sizeof(u16));
+ palOffset += 16;
+ }
+ else
+ {
+ for (i = 0; i < 16; i++)
+ {
+ gPlttBufferFaded[palOffset] = gUnknown_0854014C[gammaIndex][MACRO1(gPlttBufferUnfaded[palOffset])];
+ palOffset++;
+ }
+ }
+
+ curPalIndex++;
+ }
+ }
+ else
+ {
+ // No palette blending.
+ CpuFastCopy(gPlttBufferUnfaded + startPalIndex * 16, gPlttBufferFaded + startPalIndex * 16, numPalettes * 16 * sizeof(u16));
+ }
+}
+
+static void ApplyGammaShiftWithBlend(u8 startPalIndex, u8 numPalettes, s8 gammaIndex, u8 blendCoeff, u16 blendColor)
+{
+ u16 palOffset;
+ u16 curPalIndex;
+ u16 i;
+ struct RGBColor color = *(struct RGBColor *)&blendColor;
+ u8 rBlend = color.r;
+ u8 gBlend = color.g;
+ u8 bBlend = color.b;
+
+ palOffset = startPalIndex * 16;
+ numPalettes += startPalIndex;
+ gammaIndex--;
+ curPalIndex = startPalIndex;
+
+ while (curPalIndex < numPalettes)
+ {
+ if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE)
+ {
+ // No gamma shift. Simply blend the colors.
+ BlendPalette(palOffset, 16, blendCoeff, blendColor);
+ palOffset += 16;
+ }
+ else
+ {
+ u8 *gammaTable;
+
+ if (sPaletteGammaTypes[curPalIndex] == GAMMA_NORMAL)
+ gammaTable = gWeatherPtr->gammaShifts[gammaIndex];
+ else
+ gammaTable = gWeatherPtr->altGammaShifts[gammaIndex];
+
+ for (i = 0; i < 16; i++)
+ {
+ struct RGBColor baseColor = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset];
+ u8 r = gammaTable[baseColor.r];
+ u8 g = gammaTable[baseColor.g];
+ u8 b = gammaTable[baseColor.b];
+
+ // Apply gamma shift and target blend color to the original color.
+ r += ((rBlend - r) * blendCoeff) >> 4;
+ g += ((gBlend - g) * blendCoeff) >> 4;
+ b += ((bBlend - b) * blendCoeff) >> 4;
+ gPlttBufferFaded[palOffset++] = (b << 10) | (g << 5) | r;
+ }
+ }
+
+ curPalIndex++;
+ }
+}
+
+static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 blendColor)
+{
+ struct RGBColor color;
+ u8 rBlend;
+ u8 gBlend;
+ u8 bBlend;
+ u16 curPalIndex;
+ u16 palOffset;
+ u16 i;
+
+ gammaIndex = -gammaIndex - 1;
+ color = *(struct RGBColor *)&blendColor;
+ rBlend = color.r;
+ gBlend = color.g;
+ bBlend = color.b;
+ palOffset = 0;
+ for (curPalIndex = 0; curPalIndex < 32; curPalIndex++)
+ {
+ if (sPaletteGammaTypes[curPalIndex] == GAMMA_NONE)
+ {
+ // No gamma shift. Simply blend the colors.
+ BlendPalette(palOffset, 16, blendCoeff, blendColor);
+ palOffset += 16;
+ }
+ else
+ {
+ for (i = 0; i < 16; i++)
+ {
+ u32 offset;
+ struct RGBColor color1;
+ struct RGBColor color2;
+ u8 r1, g1, b1;
+ u8 r2, g2, b2;
+
+ color1 = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset];
+ r1 = color1.r;
+ g1 = color1.g;
+ b1 = color1.b;
+
+ offset = ((b1 & 0x1E) << 7) | ((g1 & 0x1E) << 3) | ((r1 & 0x1E) >> 1);
+ color2 = *(struct RGBColor *)&gUnknown_0854014C[gammaIndex][offset];
+ r2 = color2.r;
+ g2 = color2.g;
+ b2 = color2.b;
+
+ r2 += ((rBlend - r2) * blendCoeff) >> 4;
+ g2 += ((gBlend - g2) * blendCoeff) >> 4;
+ b2 += ((bBlend - b2) * blendCoeff) >> 4;
+
+ gPlttBufferFaded[palOffset++] = (b2 << 10) | (g2 << 5) | r2;
+ }
+ }
+ }
+}
+
+static void ApplyFogBlend(u8 blendCoeff, u16 blendColor)
+{
+ struct RGBColor color;
+ u8 rBlend;
+ u8 gBlend;
+ u8 bBlend;
+ u16 curPalIndex;
+
+ BlendPalette(0, 256, blendCoeff, blendColor);
+ color = *(struct RGBColor *)&blendColor;
+ rBlend = color.r;
+ gBlend = color.g;
+ bBlend = color.b;
+
+ for (curPalIndex = 16; curPalIndex < 32; curPalIndex++)
+ {
+ if (LightenSpritePaletteInFog(curPalIndex))
+ {
+ u16 palEnd = (curPalIndex + 1) * 16;
+ u16 palOffset = curPalIndex * 16;
+
+ while (palOffset < palEnd)
+ {
+ struct RGBColor color = *(struct RGBColor *)&gPlttBufferUnfaded[palOffset];
+ u8 r = color.r;
+ u8 g = color.g;
+ u8 b = color.b;
+
+ r += ((28 - r) * 3) >> 2;
+ g += ((31 - g) * 3) >> 2;
+ b += ((28 - b) * 3) >> 2;
+
+ r += ((rBlend - r) * blendCoeff) >> 4;
+ g += ((gBlend - g) * blendCoeff) >> 4;
+ b += ((bBlend - b) * blendCoeff) >> 4;
+
+ gPlttBufferFaded[palOffset] = (b << 10) | (g << 5) | r;
+ palOffset++;
+ }
+ }
+ else
+ {
+ BlendPalette(curPalIndex * 16, 16, blendCoeff, blendColor);
+ }
+ }
+}
+
+static void MarkFogSpritePalToLighten(u8 paletteIndex)
+{
+ if (gWeatherPtr->lightenedFogSpritePalsCount < 6)
+ {
+ gWeatherPtr->lightenedFogSpritePals[gWeatherPtr->lightenedFogSpritePalsCount] = paletteIndex;
+ gWeatherPtr->lightenedFogSpritePalsCount++;
+ }
+}
+
+static bool8 LightenSpritePaletteInFog(u8 paletteIndex)
+{
+ u16 i;
+
+ for (i = 0; i < gWeatherPtr->lightenedFogSpritePalsCount; i++)
+ {
+ if (gWeatherPtr->lightenedFogSpritePals[i] == paletteIndex)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void sub_80ABC48(s8 gammaIndex)
+{
+ if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE)
+ {
+ ApplyGammaShift(0, 32, gammaIndex);
+ gWeatherPtr->gammaIndex = gammaIndex;
+ }
+}
+
+void sub_80ABC7C(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay)
+{
+ if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_IDLE)
+ {
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_CHANGING_WEATHER;
+ gWeatherPtr->gammaIndex = gammaIndex;
+ gWeatherPtr->gammaTargetIndex = gammaTargetIndex;
+ gWeatherPtr->gammaStepFrameCounter = 0;
+ gWeatherPtr->gammaStepDelay = gammaStepDelay;
+ sub_80ABC48(gammaIndex);
+ }
+}
+
+void FadeScreen(u8 mode, s8 delay)
+{
+ u32 fadeColor;
+ bool8 fadeOut;
+ bool8 useWeatherPal;
+
+ switch (mode)
+ {
+ case FADE_FROM_BLACK:
+ fadeColor = RGB_BLACK;
+ fadeOut = FALSE;
+ break;
+ case FADE_FROM_WHITE:
+ fadeColor = RGB_WHITEALPHA;
+ fadeOut = FALSE;
+ break;
+ case FADE_TO_BLACK:
+ fadeColor = RGB_BLACK;
+ fadeOut = TRUE;
+ break;
+ case FADE_TO_WHITE:
+ fadeColor = RGB_WHITEALPHA;
+ fadeOut = TRUE;
+ break;
+ default:
+ return;
+ }
+
+ switch (gWeatherPtr->currWeather)
+ {
+ case WEATHER_RAIN_LIGHT:
+ case WEATHER_RAIN_MED:
+ case WEATHER_RAIN_HEAVY:
+ case WEATHER_SNOW:
+ case WEATHER_FOG_1:
+ case WEATHER_SHADE:
+ case WEATHER_DROUGHT:
+ useWeatherPal = TRUE;
+ break;
+ default:
+ useWeatherPal = FALSE;
+ break;
+ }
+
+ if (fadeOut)
+ {
+ if (useWeatherPal)
+ CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
+
+ BeginNormalPaletteFade(0xFFFFFFFF, delay, 0, 16, fadeColor);
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_SCREEN_FADING_OUT;
+ }
+ else
+ {
+ gWeatherPtr->fadeDestColor = fadeColor;
+ if (useWeatherPal)
+ gWeatherPtr->fadeScreenCounter = 0;
+ else
+ BeginNormalPaletteFade(0xFFFFFFFF, delay, 16, 0, fadeColor);
+
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_SCREEN_FADING_IN;
+ gWeatherPtr->unknown_6CA = 1;
+ gWeatherPtr->unknown_6CB = 0;
+ Weather_SetBlendCoeffs(gWeatherPtr->currBlendEVA, gWeatherPtr->currBlendEVB);
+ gWeatherPtr->readyForInit = TRUE;
+ }
+}
+
+bool8 IsWeatherNotFadingIn(void)
+{
+ return (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_IN);
+}
+
+void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex)
+{
+ u16 paletteIndex = 16 + spritePaletteIndex;
+ u16 i;
+
+ switch (gWeatherPtr->palProcessingState)
+ {
+ case WEATHER_PAL_STATE_SCREEN_FADING_IN:
+ if (gWeatherPtr->unknown_6CA != 0)
+ {
+ if (gWeatherPtr->currWeather == WEATHER_FOG_1)
+ MarkFogSpritePalToLighten(paletteIndex);
+ paletteIndex *= 16;
+ for (i = 0; i < 16; i++)
+ gPlttBufferFaded[paletteIndex + i] = gWeatherPtr->fadeDestColor;
+ }
+ break;
+ case WEATHER_PAL_STATE_SCREEN_FADING_OUT:
+ paletteIndex *= 16;
+ CpuFastCopy(gPlttBufferFaded + paletteIndex, gPlttBufferUnfaded + paletteIndex, 32);
+ BlendPalette(paletteIndex, 16, gPaletteFade.y, gPaletteFade.blendColor);
+ break;
+ // WEATHER_PAL_STATE_CHANGING_WEATHER
+ // WEATHER_PAL_STATE_CHANGING_IDLE
+ default:
+ if (gWeatherPtr->currWeather != WEATHER_FOG_1)
+ {
+ ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex);
+ }
+ else
+ {
+ paletteIndex *= 16;
+ BlendPalette(paletteIndex, 16, 12, RGB(28, 31, 28));
+ }
+ break;
+ }
+}
+
+void ApplyWeatherGammaShiftToPal(u8 paletteIndex)
+{
+ ApplyGammaShift(paletteIndex, 1, gWeatherPtr->gammaIndex);
+}
+
+u8 sub_80ABF20(void)
+{
+ if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_SCREEN_FADING_IN)
+ return gWeatherPtr->unknown_6CA;
+ else
+ return 0;
+}
+
+void LoadCustomWeatherSpritePalette(const u16 *palette)
+{
+ LoadPalette(palette, 0x100 + gWeatherPtr->weatherPicSpritePalIndex * 16, 32);
+ UpdateSpritePaletteWithWeather(gWeatherPtr->weatherPicSpritePalIndex);
+}
+
+static void LoadDroughtWeatherPalette(u8 *gammaIndexPtr, u8 *a1)
+{
+ *gammaIndexPtr = 0x20;
+ *a1 = 0x20;
+}
+
+void ResetDroughtWeatherPaletteLoading(void)
+{
+ gWeatherPtr->loadDroughtPalsIndex = 1;
+ gWeatherPtr->loadDroughtPalsOffset = 1;
+}
+
+bool8 LoadDroughtWeatherPalettes(void)
+{
+ if (gWeatherPtr->loadDroughtPalsIndex < 32)
+ {
+ LoadDroughtWeatherPalette(&gWeatherPtr->loadDroughtPalsIndex, &gWeatherPtr->loadDroughtPalsOffset);
+ if (gWeatherPtr->loadDroughtPalsIndex < 32)
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void sub_80ABFE0(s8 gammaIndex)
+{
+ sub_80ABC48(-gammaIndex - 1);
+}
+
+void sub_80ABFF0(void)
+{
+ gWeatherPtr->unknown_73C = 0;
+ gWeatherPtr->unknown_740 = 0;
+ gWeatherPtr->unknown_742 = 0;
+ gWeatherPtr->unknown_73E = 0;
+}
+
+void sub_80AC01C(void)
+{
+ switch (gWeatherPtr->unknown_742)
+ {
+ case 0:
+ if (++gWeatherPtr->unknown_740 > 5)
+ {
+ gWeatherPtr->unknown_740 = 0;
+ sub_80ABFE0(gWeatherPtr->unknown_73C++);
+ if (gWeatherPtr->unknown_73C > 5)
+ {
+ gWeatherPtr->unknown_73E = gWeatherPtr->unknown_73C;
+ gWeatherPtr->unknown_742 = 1;
+ gWeatherPtr->unknown_740 = 0x3C;
+ }
+ }
+ break;
+ case 1:
+ gWeatherPtr->unknown_740 = (gWeatherPtr->unknown_740 + 3) & 0x7F;
+ gWeatherPtr->unknown_73C = ((gSineTable[gWeatherPtr->unknown_740] - 1) >> 6) + 2;
+ if (gWeatherPtr->unknown_73C != gWeatherPtr->unknown_73E)
+ sub_80ABFE0(gWeatherPtr->unknown_73C);
+ gWeatherPtr->unknown_73E = gWeatherPtr->unknown_73C;
+ break;
+ case 2:
+ if (++gWeatherPtr->unknown_740 > 5)
+ {
+ gWeatherPtr->unknown_740 = 0;
+ sub_80ABFE0(--gWeatherPtr->unknown_73C);
+ if (gWeatherPtr->unknown_73C == 3)
+ gWeatherPtr->unknown_742 = 0;
+ }
+ break;
+ }
+}
+
+void Weather_SetBlendCoeffs(u8 eva, u8 evb)
+{
+ gWeatherPtr->currBlendEVA = eva;
+ gWeatherPtr->currBlendEVB = evb;
+ gWeatherPtr->targetBlendEVA = eva;
+ gWeatherPtr->targetBlendEVB = evb;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(eva, evb));
+}
+
+void Weather_SetTargetBlendCoeffs(u8 eva, u8 evb, int delay)
+{
+ gWeatherPtr->targetBlendEVA = eva;
+ gWeatherPtr->targetBlendEVB = evb;
+ gWeatherPtr->blendDelay = delay;
+ gWeatherPtr->blendFrameCounter = 0;
+ gWeatherPtr->blendUpdateCounter = 0;
+}
+
+bool8 Weather_UpdateBlend(void)
+{
+ if (gWeatherPtr->currBlendEVA == gWeatherPtr->targetBlendEVA
+ && gWeatherPtr->currBlendEVB == gWeatherPtr->targetBlendEVB)
+ return TRUE;
+
+ if (++gWeatherPtr->blendFrameCounter > gWeatherPtr->blendDelay)
+ {
+ gWeatherPtr->blendFrameCounter = 0;
+ gWeatherPtr->blendUpdateCounter++;
+
+ // Update currBlendEVA and currBlendEVB on alternate frames
+ if (gWeatherPtr->blendUpdateCounter & 1)
+ {
+ if (gWeatherPtr->currBlendEVA < gWeatherPtr->targetBlendEVA)
+ gWeatherPtr->currBlendEVA++;
+ else if (gWeatherPtr->currBlendEVA > gWeatherPtr->targetBlendEVA)
+ gWeatherPtr->currBlendEVA--;
+ }
+ else
+ {
+ if (gWeatherPtr->currBlendEVB < gWeatherPtr->targetBlendEVB)
+ gWeatherPtr->currBlendEVB++;
+ else if (gWeatherPtr->currBlendEVB > gWeatherPtr->targetBlendEVB)
+ gWeatherPtr->currBlendEVB--;
+ }
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gWeatherPtr->currBlendEVA, gWeatherPtr->currBlendEVB));
+
+ if (gWeatherPtr->currBlendEVA == gWeatherPtr->targetBlendEVA
+ && gWeatherPtr->currBlendEVB == gWeatherPtr->targetBlendEVB)
+ return TRUE;
+
+ return FALSE;
+}
+
+void sub_80AC274(u8 a)
+{
+ switch (a)
+ {
+ case 1:
+ SetWeather(WEATHER_CLOUDS);
+ break;
+ case 2:
+ SetWeather(WEATHER_SUNNY);
+ break;
+ case 3:
+ SetWeather(WEATHER_RAIN_LIGHT);
+ break;
+ case 4:
+ SetWeather(WEATHER_SNOW);
+ break;
+ case 5:
+ SetWeather(WEATHER_RAIN_MED);
+ break;
+ case 6:
+ SetWeather(WEATHER_FOG_1);
+ break;
+ case 7:
+ SetWeather(WEATHER_FOG_2);
+ break;
+ case 8:
+ SetWeather(WEATHER_ASH);
+ break;
+ case 9:
+ SetWeather(WEATHER_SANDSTORM);
+ break;
+ case 10:
+ SetWeather(WEATHER_SHADE);
+ break;
+ }
+}
+
+u8 GetCurrentWeather(void)
+{
+ return gWeatherPtr->currWeather;
+}
+
+void SetRainStrengthFromSoundEffect(u16 soundEffect)
+{
+ if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_SCREEN_FADING_OUT)
+ {
+ switch (soundEffect)
+ {
+ case SE_T_KOAME:
+ gWeatherPtr->rainStrength = 0;
+ break;
+ case SE_T_OOAME:
+ gWeatherPtr->rainStrength = 1;
+ break;
+ case SE_T_AME:
+ gWeatherPtr->rainStrength = 2;
+ break;
+ default:
+ return;
+ }
+
+ PlaySE(soundEffect);
+ }
+}
+
+void PlayRainSoundEffect(void)
+{
+ if (IsSpecialSEPlaying())
+ {
+ switch (gWeatherPtr->rainStrength)
+ {
+ case 0:
+ PlaySE(SE_T_KOAME_E);
+ break;
+ case 1:
+ PlaySE(SE_T_OOAME_E);
+ break;
+ case 2:
+ default:
+ PlaySE(SE_T_AME_E);
+ break;
+ }
+ }
+}
+
+u8 IsWeatherChangeComplete(void)
+{
+ return gWeatherPtr->weatherChangeComplete;
+}
+
+void SetWeatherScreenFadeOut(void)
+{
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_SCREEN_FADING_OUT;
+}
+
+void sub_80AC3E4(void)
+{
+ gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE;
+}
+
+void PreservePaletteInWeather(u8 preservedPalIndex)
+{
+ CpuCopy16(sBasePaletteGammaTypes, sFieldEffectPaletteGammaTypes, 32);
+ sFieldEffectPaletteGammaTypes[preservedPalIndex] = GAMMA_NONE;
+ sPaletteGammaTypes = sFieldEffectPaletteGammaTypes;
+}
+
+void ResetPreservedPalettesInWeather(void)
+{
+ sPaletteGammaTypes = sBasePaletteGammaTypes;
+}
diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c
new file mode 100644
index 000000000..2ec51a722
--- /dev/null
+++ b/src/field_weather_effect.c
@@ -0,0 +1,2471 @@
+#include "global.h"
+#include "event_object_movement.h"
+#include "field_weather.h"
+#include "overworld.h"
+#include "random.h"
+#include "script.h"
+#include "constants/weather.h"
+#include "constants/songs.h"
+#include "sound.h"
+#include "sprite.h"
+#include "task.h"
+#include "trig.h"
+#include "gpu_regs.h"
+
+// This file's functions.
+void sub_80AC6B4(struct Sprite *);
+
+// EWRAM
+EWRAM_DATA static u8 gUnknown_02038BC4 = 0;
+EWRAM_DATA static u16 gUnknown_02038BC6 = 0;
+
+// CONST
+const u16 gUnknown_0854C290[] = INCBIN_U16("graphics/weather/1.gbapal");
+const u16 gUnknown_0854C2B0[] = INCBIN_U16("graphics/weather/2.gbapal");
+const u8 gWeatherFog2Tiles[] = INCBIN_U8("graphics/weather/fog2.4bpp");
+const u8 gWeatherFog1Tiles[] = INCBIN_U8("graphics/weather/fog1.4bpp");
+const u8 gWeatherCloudTiles[] = INCBIN_U8("graphics/weather/cloud.4bpp");
+const u8 gWeatherSnow1Tiles[] = INCBIN_U8("graphics/weather/snow0.4bpp");
+const u8 gWeatherSnow2Tiles[] = INCBIN_U8("graphics/weather/snow1.4bpp");
+const u8 gWeatherBubbleTiles[] = INCBIN_U8("graphics/weather/bubble.4bpp");
+const u8 gWeatherAshTiles[] = INCBIN_U8("graphics/weather/ash.4bpp");
+const u8 gWeatherRainTiles[] = INCBIN_U8("graphics/weather/rain.4bpp");
+const u8 gWeatherSandstormTiles[] = INCBIN_U8("graphics/weather/sandstorm.4bpp");
+
+static const struct Coords16 gUnknown_0854FB50[] =
+{
+ { 0, 66},
+ { 5, 73},
+ {10, 78},
+};
+
+static const struct SpriteSheet sCloudSpriteSheet = {gWeatherCloudTiles, sizeof(gWeatherCloudTiles), 0x1200};
+
+static const struct OamData gOamData_839A9DC =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 3,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd gSpriteAnim_839A9E4[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_839A9EC[] =
+{
+ gSpriteAnim_839A9E4,
+};
+
+static const struct SpriteTemplate sCloudSpriteTemplate =
+{
+ .tileTag = 4608,
+ .paletteTag = 4609,
+ .oam = &gOamData_839A9DC,
+ .anims = gSpriteAnimTable_839A9EC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80AC6B4,
+};
+
+//------------------------------------------------------------------------------
+// Clouds
+//------------------------------------------------------------------------------
+
+void Clouds_InitVars(void)
+{
+ gWeatherPtr->gammaTargetIndex = 0;
+ gWeatherPtr->gammaStepDelay = 20;
+ gWeatherPtr->weatherGfxLoaded = FALSE;
+ gWeatherPtr->initStep = 0;
+ if (gWeatherPtr->cloudSpritesCreated == FALSE)
+ Weather_SetBlendCoeffs(0, 16);
+}
+
+void Clouds_InitAll(void)
+{
+ Clouds_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Clouds_Main();
+}
+
+void CreateCloudSprites(void);
+
+void Clouds_Main(void)
+{
+ switch (gWeatherPtr->initStep)
+ {
+ case 0:
+ CreateCloudSprites();
+ gWeatherPtr->initStep++;
+ break;
+ case 1:
+ Weather_SetTargetBlendCoeffs(12, 8, 1);
+ gWeatherPtr->initStep++;
+ break;
+ case 2:
+ if (Weather_UpdateBlend())
+ {
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ }
+ break;
+ }
+}
+
+void sub_807E0A0(void);
+
+bool8 Clouds_Finish(void)
+{
+ switch (gWeatherPtr->finishStep)
+ {
+ case 0:
+ Weather_SetTargetBlendCoeffs(0, 16, 1);
+ gWeatherPtr->finishStep++;
+ return TRUE;
+ case 1:
+ if (Weather_UpdateBlend())
+ {
+ sub_807E0A0();
+ gWeatherPtr->finishStep++;
+ }
+ return TRUE;
+ }
+ return FALSE;
+}
+
+//------------------------------------------------------------------------------
+// Weather 2
+//------------------------------------------------------------------------------
+
+void Weather2_InitVars(void)
+{
+ gWeatherPtr->gammaTargetIndex = 0;
+ gWeatherPtr->gammaStepDelay = 20;
+}
+
+void Weather2_InitAll(void)
+{
+ Weather2_InitVars();
+}
+
+void Weather2_Main(void)
+{
+}
+
+bool8 Weather2_Finish(void)
+{
+ return 0;
+}
+
+void CreateCloudSprites(void)
+{
+ u16 i;
+
+ if (gWeatherPtr->cloudSpritesCreated == TRUE)
+ return;
+ LoadSpriteSheet(&sCloudSpriteSheet);
+ LoadCustomWeatherSpritePalette(gUnknown_0854C290);
+ for (i = 0; i < 3; i++)
+ {
+ u8 spriteId = CreateSprite(&sCloudSpriteTemplate, 0, 0, 0xFF);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ struct Sprite *sprite;
+
+ gWeatherPtr->sprites.s1.cloudSprites[i] = &gSprites[spriteId];
+ sprite = gWeatherPtr->sprites.s1.cloudSprites[i];
+ sub_8093038(gUnknown_0854FB50[i].x + 7, gUnknown_0854FB50[i].y + 7, &sprite->pos1.x, &sprite->pos1.y);
+ sprite->coordOffsetEnabled = TRUE;
+ }
+ else
+ {
+ gWeatherPtr->sprites.s1.cloudSprites[i] = NULL;
+ }
+ }
+ gWeatherPtr->cloudSpritesCreated = TRUE;
+}
+
+void sub_807E0A0(void)
+{
+ u16 i;
+
+ if (gWeatherPtr->cloudSpritesCreated == FALSE)
+ return;
+ for (i = 0; i < 3; i++)
+ {
+ if (gWeatherPtr->sprites.s1.cloudSprites[i] != NULL)
+ DestroySprite(gWeatherPtr->sprites.s1.cloudSprites[i]);
+ }
+ FreeSpriteTilesByTag(0x1200);
+ gWeatherPtr->cloudSpritesCreated = FALSE;
+}
+
+void sub_80AC6B4(struct Sprite *sprite)
+{
+ sprite->data[0] = (sprite->data[0] + 1) & 1;
+ if (sprite->data[0] != 0)
+ sprite->pos1.x--;
+}
+
+//------------------------------------------------------------------------------
+// Drought
+//------------------------------------------------------------------------------
+
+void Drought_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = FALSE;
+ gWeatherPtr->gammaTargetIndex = 0;
+ gWeatherPtr->gammaStepDelay = 0;
+}
+
+void Drought_InitAll(void)
+{
+ Drought_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Drought_Main();
+}
+
+void Drought_Main(void)
+{
+ switch (gWeatherPtr->initStep)
+ {
+ case 0:
+ if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_CHANGING_WEATHER)
+ gWeatherPtr->initStep++;
+ break;
+ case 1:
+ ResetDroughtWeatherPaletteLoading();
+ gWeatherPtr->initStep++;
+ break;
+ case 2:
+ if (LoadDroughtWeatherPalettes() == FALSE)
+ gWeatherPtr->initStep++;
+ break;
+ case 3:
+ sub_80ABFF0();
+ gWeatherPtr->initStep++;
+ break;
+ case 4:
+ sub_80AC01C();
+ if (gWeatherPtr->unknown_73C == 6)
+ {
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ }
+ break;
+ default:
+ sub_80AC01C();
+ break;
+ }
+}
+
+bool8 Drought_Finish(void)
+{
+ return 0;
+}
+
+void task50_0807B6D4(u8);
+
+void sub_80AC81C(void)
+{
+ CreateTask(task50_0807B6D4, 0x50);
+}
+
+#define tState data[0]
+#define tBlendY data[1]
+#define tBlendDelay data[2]
+#define tWinRange data[3]
+
+void task50_0807B6D4(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->tState)
+ {
+ case 0:
+ task->tBlendY = 0;
+ task->tBlendDelay = 0;
+ task->tWinRange = REG_WININ;
+ SetGpuReg(REG_OFFSET_WININ, WIN_RANGE(63, 63));
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_EFFECT_LIGHTEN);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ task->tState++;
+ // fall through
+ case 1:
+ task->tBlendY += 3;
+ if (task->tBlendY > 16)
+ task->tBlendY = 16;
+ SetGpuReg(REG_OFFSET_BLDY, task->tBlendY);
+ if (task->tBlendY >= 16)
+ task->tState++;
+ break;
+ case 2:
+ task->tBlendDelay++;
+ if (task->tBlendDelay > 9)
+ {
+ task->tBlendDelay = 0;
+ task->tBlendY--;
+ if (task->tBlendY <= 0)
+ {
+ task->tBlendY = 0;
+ task->tState++;
+ }
+ SetGpuReg(REG_OFFSET_BLDY, task->tBlendY);
+ }
+ break;
+ case 3:
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ SetGpuReg(REG_OFFSET_WININ, task->tWinRange);
+ task->tState++;
+ break;
+ case 4:
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+#undef tState
+#undef tBlendY
+#undef tBlendDelay
+#undef tWinRange
+
+//------------------------------------------------------------------------------
+// Light Rain
+//------------------------------------------------------------------------------
+
+void LightRain_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = FALSE;
+ gWeatherPtr->unknown_6D6 = 0;
+ gWeatherPtr->unknown_6DB = 8;
+ gWeatherPtr->unknown_6DC = 0;
+ gWeatherPtr->unknown_6D9 = 10;
+ gWeatherPtr->gammaTargetIndex = 3;
+ gWeatherPtr->gammaStepDelay = 20;
+ SetRainStrengthFromSoundEffect(SE_T_KOAME);
+}
+
+void LightRain_InitAll(void)
+{
+ LightRain_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ LightRain_Main();
+}
+
+void LoadRainSpriteSheet(void);
+u8 CreateRainSprite(void);
+u8 sub_807E8E8(void);
+
+void LightRain_Main(void)
+{
+ switch (gWeatherPtr->initStep)
+ {
+ case 0:
+ LoadRainSpriteSheet();
+ gWeatherPtr->initStep++;
+ break;
+ case 1:
+ if (CreateRainSprite() == 0)
+ gWeatherPtr->initStep++;
+ break;
+ case 2:
+ if (sub_807E8E8() == FALSE)
+ {
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ }
+ break;
+ }
+}
+
+void DestroyRainSprites(void);
+
+bool8 LightRain_Finish(void)
+{
+ switch (gWeatherPtr->finishStep)
+ {
+ case 0:
+ if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT
+ || gWeatherPtr->nextWeather == WEATHER_RAIN_MED
+ || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY)
+ {
+ gWeatherPtr->finishStep = 0xFF;
+ return FALSE;
+ }
+ else
+ {
+ gWeatherPtr->unknown_6D9 = 0;
+ gWeatherPtr->finishStep++;
+ }
+ // fall through
+ case 1:
+ if (sub_807E8E8() == FALSE)
+ {
+ DestroyRainSprites();
+ gWeatherPtr->finishStep++;
+ return FALSE;
+ }
+ return TRUE;
+ }
+ return FALSE;
+}
+
+// defined below
+extern const s16 gUnknown_0839AABC[][2];
+extern const u16 gUnknown_0839AAC4[][2];
+
+void sub_807E4EC(struct Sprite *sprite)
+{
+ u32 randVal;
+ u16 r6;
+ s32 r4;
+ s32 r0;
+
+ if (sprite->data[1] == 0)
+ sprite->data[1] = 361;
+ randVal = sprite->data[1] * 1103515245 + 12345;
+ sprite->data[1] = ((randVal & 0x7FFF0000) >> 16) % 600;
+
+ r6 = gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][0];
+
+ r4 = sprite->data[1] % 30;
+ sprite->data[2] = r4 * 8; // useless assignment
+
+ r0 = sprite->data[1] / 30;
+ sprite->data[3] = r0 * 8; // useless assignment
+
+ sprite->data[2] = r4;
+ sprite->data[2] <<= 7;
+
+ sprite->data[3] = r0;
+ sprite->data[3] <<= 7;
+
+ sprite->data[2] -= gUnknown_0839AABC[gWeatherPtr->unknown_6DC][0] * r6;
+ sprite->data[3] -= gUnknown_0839AABC[gWeatherPtr->unknown_6DC][1] * r6;
+
+ StartSpriteAnim(sprite, 0);
+ sprite->data[4] = 0;
+ sprite->coordOffsetEnabled = FALSE;
+ sprite->data[0] = r6;
+}
+
+void sub_807E5C0(struct Sprite *sprite)
+{
+ if (sprite->data[4] == 0)
+ {
+ sprite->data[2] += gUnknown_0839AABC[gWeatherPtr->unknown_6DC][0];
+ sprite->data[3] += gUnknown_0839AABC[gWeatherPtr->unknown_6DC][1];
+ sprite->pos1.x = sprite->data[2] >> 4;
+ sprite->pos1.y = sprite->data[3] >> 4;
+
+ if (sprite->data[5] != 0
+ && (sprite->pos1.x >= -8 && sprite->pos1.x <= 248)
+ && sprite->pos1.y >= -16 && sprite->pos1.y <= 176)
+ sprite->invisible = FALSE;
+ else
+ sprite->invisible = TRUE;
+
+ sprite->data[0]--;
+ if (sprite->data[0] == 0)
+ {
+ StartSpriteAnim(sprite, gWeatherPtr->unknown_6DC + 1);
+ sprite->data[4] = 1;
+ sprite->pos1.x -= gSpriteCoordOffsetX;
+ sprite->pos1.y -= gSpriteCoordOffsetY;
+ sprite->coordOffsetEnabled = TRUE;
+ }
+ }
+ else if (sprite->animEnded)
+ {
+ sprite->invisible = TRUE;
+ sub_807E4EC(sprite);
+ }
+}
+
+void sub_807E6C4(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ sub_807E4EC(sprite);
+ sprite->callback = sub_807E5C0;
+ }
+ else
+ {
+ sprite->data[0]--;
+ }
+}
+
+void sub_807E6F0(struct Sprite *sprite, u16 b)
+{
+ u16 r8 = gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][0];
+ u16 r6 = b / (gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][1] + r8);
+ u16 r4 = b % (gUnknown_0839AAC4[gWeatherPtr->unknown_6DC][1] + r8);
+
+ while (--r6 != 0xFFFF)
+ sub_807E4EC(sprite);
+ if (r4 < r8)
+ {
+ while (--r4 != 0xFFFF)
+ sub_807E5C0(sprite);
+ sprite->data[6] = 0;
+ }
+ else
+ {
+ sprite->data[0] = r4 - r8;
+ sprite->invisible = TRUE;
+ sprite->data[6] = 1;
+ }
+}
+
+extern const struct SpriteSheet sRainSpriteSheet; // defined below
+
+void LoadRainSpriteSheet(void)
+{
+ LoadSpriteSheet(&sRainSpriteSheet);
+}
+
+static const struct Coords16 sRainSpriteCoords[] =
+{
+ { 0, 0},
+ { 0, 160},
+ { 0, 64},
+ {144, 224},
+ {144, 128},
+ { 32, 32},
+ { 32, 192},
+ { 32, 96},
+ { 72, 128},
+ { 72, 32},
+ { 72, 192},
+ {216, 96},
+ {216, 0},
+ {104, 160},
+ {104, 64},
+ {104, 224},
+ {144, 0},
+ {144, 160},
+ {144, 64},
+ { 32, 224},
+ { 32, 128},
+ { 72, 32},
+ { 72, 192},
+ { 48, 96},
+};
+
+static const struct OamData gOamData_839AA68 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 2,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 2,
+ .affineParam = 0,
+};
+
+static const union AnimCmd gSpriteAnim_839AA70[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gSpriteAnim_839AA78[] =
+{
+ ANIMCMD_FRAME(8, 3),
+ ANIMCMD_FRAME(32, 2),
+ ANIMCMD_FRAME(40, 2),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AA88[] =
+{
+ ANIMCMD_FRAME(8, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(24, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_839AA98[] =
+{
+ gSpriteAnim_839AA70,
+ gSpriteAnim_839AA78,
+ gSpriteAnim_839AA88,
+};
+
+static const struct SpriteTemplate sRainSpriteTemplate =
+{
+ .tileTag = 4614,
+ .paletteTag = 4608,
+ .oam = &gOamData_839AA68,
+ .anims = gSpriteAnimTable_839AA98,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807E5C0,
+};
+
+const s16 gUnknown_0839AABC[][2] =
+{
+ {-104, 208},
+ {-160, 320},
+};
+
+const u16 gUnknown_0839AAC4[][2] =
+{
+ {18, 7},
+ {12, 10},
+};
+
+static const struct SpriteSheet sRainSpriteSheet = {gWeatherRainTiles, sizeof(gWeatherRainTiles), 0x1206};
+
+static const struct OamData gOamData_839AAD4 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const struct SpriteFrameImage gSpriteImageTable_839AADC[] =
+{
+ {gWeatherSnow1Tiles, sizeof(gWeatherSnow1Tiles)},
+ {gWeatherSnow2Tiles, sizeof(gWeatherSnow2Tiles)},
+};
+
+static const union AnimCmd gSpriteAnim_839AAEC[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AAF4[] =
+{
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_839AAFC[] =
+{
+ gSpriteAnim_839AAEC,
+ gSpriteAnim_839AAF4,
+};
+
+void sub_807ED48(struct Sprite *);
+static const struct SpriteTemplate sSnowflakeSpriteTemplate =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 4608,
+ .oam = &gOamData_839AAD4,
+ .anims = gSpriteAnimTable_839AAFC,
+ .images = gSpriteImageTable_839AADC,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807ED48,
+};
+
+// unused data
+static const u16 unusedData_839AB1C[] = {0, 6, 6, 12, 18, 42, 300, 300};
+
+static const struct OamData gOamData_839AB2C =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd gSpriteAnim_839AB34[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB3C[] =
+{
+ ANIMCMD_FRAME(32, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB44[] =
+{
+ ANIMCMD_FRAME(64, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB4C[] =
+{
+ ANIMCMD_FRAME(96, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB54[] =
+{
+ ANIMCMD_FRAME(128, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_839AB5C[] =
+{
+ ANIMCMD_FRAME(160, 16),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_839AB64[] =
+{
+ gSpriteAnim_839AB34,
+ gSpriteAnim_839AB3C,
+ gSpriteAnim_839AB44,
+ gSpriteAnim_839AB4C,
+ gSpriteAnim_839AB54,
+ gSpriteAnim_839AB5C,
+};
+
+static const union AffineAnimCmd gSpriteAffineAnim_839AB7C[] =
+{
+ AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_839AB8C[] =
+{
+ gSpriteAffineAnim_839AB7C,
+};
+
+static void Fog1SpriteCallback(struct Sprite *);
+static const struct SpriteTemplate sFog1SpriteTemplate =
+{
+ .tileTag = 4609,
+ .paletteTag = 4608,
+ .oam = &gOamData_839AB2C,
+ .anims = gSpriteAnimTable_839AB64,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_839AB8C,
+ .callback = Fog1SpriteCallback,
+};
+
+bool8 CreateRainSprite(void)
+{
+ u8 spriteNum;
+ u8 spriteId;
+
+ if (gWeatherPtr->rainSpriteCount == 24)
+ return FALSE;
+
+ spriteNum = gWeatherPtr->rainSpriteCount;
+ spriteId = CreateSpriteAtEnd(&sRainSpriteTemplate,
+ sRainSpriteCoords[spriteNum].x, sRainSpriteCoords[spriteNum].y, 78);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[5] = 0;
+ gSprites[spriteId].data[1] = spriteNum * 145;
+ while (gSprites[spriteId].data[1] >= 600)
+ gSprites[spriteId].data[1] -= 600;
+ sub_807E4EC(&gSprites[spriteId]);
+ sub_807E6F0(&gSprites[spriteId], spriteNum * 9);
+ gSprites[spriteId].invisible = TRUE;
+ gWeatherPtr->sprites.s1.rainSprites[spriteNum] = &gSprites[spriteId];
+ }
+ else
+ {
+ gWeatherPtr->sprites.s1.rainSprites[spriteNum] = NULL;
+ }
+
+ if (++gWeatherPtr->rainSpriteCount == 24)
+ {
+ u16 i;
+
+ for (i = 0; i < 24; i++)
+ {
+ if (gWeatherPtr->sprites.s1.rainSprites[i] != NULL)
+ {
+ if (gWeatherPtr->sprites.s1.rainSprites[i]->data[6] == 0)
+ gWeatherPtr->sprites.s1.rainSprites[i]->callback = sub_807E5C0;
+ else
+ gWeatherPtr->sprites.s1.rainSprites[i]->callback = sub_807E6C4;
+ }
+ }
+ return FALSE;
+ }
+ return TRUE;
+}
+
+bool8 sub_807E8E8(void)
+{
+ if (gWeatherPtr->unknown_6D8 == gWeatherPtr->unknown_6D9)
+ return FALSE;
+
+ if (++gWeatherPtr->unknown_6D6 > gWeatherPtr->unknown_6DB)
+ {
+ gWeatherPtr->unknown_6D6 = 0;
+ if (gWeatherPtr->unknown_6D8 < gWeatherPtr->unknown_6D9)
+ {
+ gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8++]->data[5] = 1;
+ }
+ else
+ {
+ gWeatherPtr->unknown_6D8--;
+ gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8]->data[5] = 0;
+ gWeatherPtr->sprites.s1.rainSprites[gWeatherPtr->unknown_6D8]->invisible = TRUE;
+ }
+ }
+ return TRUE;
+}
+
+void DestroyRainSprites(void)
+{
+ u16 i;
+
+ for (i = 0; i < gWeatherPtr->rainSpriteCount; i++)
+ {
+ if (gWeatherPtr->sprites.s1.rainSprites[i] != NULL)
+ DestroySprite(gWeatherPtr->sprites.s1.rainSprites[i]);
+ }
+ gWeatherPtr->rainSpriteCount = 0;
+ FreeSpriteTilesByTag(0x1206);
+}
+
+//------------------------------------------------------------------------------
+// Snow
+//------------------------------------------------------------------------------
+
+void Snow_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = FALSE;
+ gWeatherPtr->gammaTargetIndex = 3;
+ gWeatherPtr->gammaStepDelay = 20;
+ gWeatherPtr->unknown_6E5 = 16;
+ gWeatherPtr->unknown_6E0 = 0;
+}
+
+void Snow_Main(void);
+void sub_807ED48(struct Sprite *);
+
+void Snow_InitAll(void)
+{
+ Snow_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ {
+ u16 i;
+
+ Snow_Main();
+ for (i = 0; i < gWeatherPtr->snowflakeSpriteCount; i++)
+ {
+ sub_807ED48(gWeatherPtr->sprites.s1.snowflakeSprites[i]);
+ }
+ }
+}
+
+u8 snowflakes_progress(void);
+
+void Snow_Main(void)
+{
+ if (gWeatherPtr->initStep == 0 && snowflakes_progress() == FALSE)
+ {
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ }
+}
+
+bool8 Snow_Finish(void)
+{
+ switch (gWeatherPtr->finishStep)
+ {
+ case 0:
+ gWeatherPtr->unknown_6E5 = 0;
+ gWeatherPtr->unknown_6E0 = 0;
+ gWeatherPtr->finishStep++;
+ // fall through
+ case 1:
+ if (snowflakes_progress() == FALSE)
+ {
+ gWeatherPtr->finishStep++;
+ return FALSE;
+ }
+ return TRUE;
+ }
+ return FALSE;
+}
+
+bool8 CreateSnowflakeSprite(void);
+bool8 RemoveSnowflakeSprite(void);
+
+bool8 snowflakes_progress(void)
+{
+ if (gWeatherPtr->snowflakeSpriteCount == gWeatherPtr->unknown_6E5)
+ return FALSE;
+
+ gWeatherPtr->unknown_6E0++;
+ if (gWeatherPtr->unknown_6E0 > 36)
+ {
+ gWeatherPtr->unknown_6E0 = 0;
+ if (gWeatherPtr->snowflakeSpriteCount < gWeatherPtr->unknown_6E5)
+ CreateSnowflakeSprite();
+ else
+ RemoveSnowflakeSprite();
+ }
+ return (gWeatherPtr->snowflakeSpriteCount != gWeatherPtr->unknown_6E5);
+}
+
+void sub_807EC40(struct Sprite *);
+
+bool8 CreateSnowflakeSprite(void)
+{
+ u8 spriteId = CreateSpriteAtEnd(&sSnowflakeSpriteTemplate, 0, 0, 78);
+
+ if (spriteId == MAX_SPRITES)
+ return FALSE;
+ gSprites[spriteId].data[4] = gWeatherPtr->snowflakeSpriteCount;
+ sub_807EC40(&gSprites[spriteId]);
+ gSprites[spriteId].coordOffsetEnabled = TRUE;
+ gWeatherPtr->sprites.s1.snowflakeSprites[gWeatherPtr->snowflakeSpriteCount++] = &gSprites[spriteId];
+ return TRUE;
+}
+
+bool8 RemoveSnowflakeSprite(void)
+{
+ if (gWeatherPtr->snowflakeSpriteCount != 0)
+ {
+ DestroySprite(gWeatherPtr->sprites.s1.snowflakeSprites[--gWeatherPtr->snowflakeSpriteCount]);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void sub_807EC40(struct Sprite *sprite)
+{
+ u16 r4 = ((sprite->data[4] * 5) & 7) * 30 + (Random() % 30);
+ u16 r6;
+
+ sprite->pos1.y = -3 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
+ sprite->pos1.x = r4 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
+ sprite->data[0] = sprite->pos1.y * 128;
+ sprite->pos2.x = 0;
+ r6 = Random();
+ sprite->data[1] = (r6 & 3) * 5 + 64;
+ sprite->data[7] = (r6 & 3) * 5 + 64;
+ StartSpriteAnim(sprite, (r6 & 1) ? 0 : 1);
+ sprite->data[3] = 0;
+ sprite->data[2] = ((r6 & 3) == 0) ? 2 : 1;
+ sprite->data[6] = (r6 & 0x1F) + 210;
+ sprite->data[5] = 0;
+}
+
+void sub_807ECEC(struct Sprite *sprite)
+{
+ if (gWeatherPtr->unknown_6E2 > 18)
+ {
+ sprite->invisible = FALSE;
+ sprite->callback = sub_807ED48;
+ sprite->pos1.y = 0xFA - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
+ sprite->data[0] = sprite->pos1.y * 128;
+ gWeatherPtr->unknown_6E2 = 0;
+ }
+}
+
+void sub_807ED48(struct Sprite *sprite)
+{
+ s16 r3;
+ s16 r2;
+
+ sprite->data[0] += sprite->data[1];
+ sprite->pos1.y = sprite->data[0] >> 7;
+ sprite->data[3] = (sprite->data[3] + sprite->data[2]) & 0xFF;
+ sprite->pos2.x = gSineTable[sprite->data[3]] / 64;
+
+ r3 = (sprite->pos1.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX) & 0x1FF;
+ if (r3 & 0x100)
+ r3 |= -0x100; // hmm... what is this?
+ if (r3 < -3)
+ sprite->pos1.x = 242 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
+ else if (r3 > 242)
+ sprite->pos1.x = -3 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX);
+
+ r2 = (sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF;
+ if (r2 > 163 && r2 < 171)
+ {
+ sprite->pos1.y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY);
+ sprite->data[0] = sprite->pos1.y * 128;
+ sprite->data[5] = 0;
+ sprite->data[6] = 220;
+ }
+ else if (r2 > 242 && r2 < 250)
+ {
+ sprite->pos1.y = 163;
+ sprite->data[0] = sprite->pos1.y * 128;
+ sprite->data[5] = 0;
+ sprite->data[6] = 220;
+ sprite->invisible = TRUE;
+ sprite->callback = sub_807ECEC;
+ }
+
+ sprite->data[5]++;
+ if (sprite->data[5] == sprite->data[6])
+ {
+ sub_807EC40(sprite);
+ sprite->pos1.y = 250;
+ sprite->invisible = TRUE;
+ sprite->callback = sub_807ECEC;
+ }
+}
+
+//------------------------------------------------------------------------------
+// Medium Rain
+//------------------------------------------------------------------------------
+
+void MedRain_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = FALSE;
+ gWeatherPtr->unknown_6D6 = 0;
+ gWeatherPtr->unknown_6DB = 4;
+ gWeatherPtr->unknown_6DC = 0;
+ gWeatherPtr->unknown_6D9 = 16;
+ gWeatherPtr->gammaTargetIndex = 3;
+ gWeatherPtr->gammaStepDelay = 20;
+ gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment
+ gWeatherPtr->unknown_6ED = 0;
+ SetRainStrengthFromSoundEffect(SE_T_AME);
+}
+
+void Rain_Main(void);
+
+void MedRain_InitAll(void)
+{
+ MedRain_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Rain_Main();
+}
+
+//------------------------------------------------------------------------------
+// Heavy Rain
+//------------------------------------------------------------------------------
+
+void HeavyRain_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = FALSE;
+ gWeatherPtr->unknown_6D6 = 0;
+ gWeatherPtr->unknown_6DB = 4;
+ gWeatherPtr->unknown_6DC = 1;
+ gWeatherPtr->unknown_6D9 = 24;
+ gWeatherPtr->gammaTargetIndex = 3;
+ gWeatherPtr->gammaStepDelay = 20;
+ gWeatherPtr->weatherGfxLoaded = FALSE; // duplicate assignment
+ SetRainStrengthFromSoundEffect(SE_T_OOAME);
+}
+
+void HeavyRain_InitAll(void)
+{
+ HeavyRain_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Rain_Main();
+}
+
+void UpdateThunderSound(void);
+void SetThunderCounter(u16);
+
+void Rain_Main(void)
+{
+ UpdateThunderSound();
+ switch (gWeatherPtr->initStep)
+ {
+ case 0:
+ LoadRainSpriteSheet();
+ gWeatherPtr->initStep++;
+ break;
+ case 1:
+ if (CreateRainSprite())
+ break;
+ gWeatherPtr->initStep++;
+ break;
+ case 2:
+ if (sub_807E8E8())
+ break;
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ break;
+ case 3:
+ if (gWeatherPtr->palProcessingState == WEATHER_PAL_STATE_CHANGING_WEATHER)
+ break;
+ gWeatherPtr->initStep = 6;
+ break;
+ case 4:
+ gWeatherPtr->unknown_6EA = 1;
+ gWeatherPtr->unknown_6E6 = (Random() % 360) + 360;
+ gWeatherPtr->initStep++;
+ // fall through
+ case 5:
+ if (--gWeatherPtr->unknown_6E6 != 0)
+ break;
+ gWeatherPtr->initStep++;
+ break;
+ case 6:
+ gWeatherPtr->unknown_6EA = 1;
+ gWeatherPtr->unknown_6EB = Random() % 2;
+ gWeatherPtr->initStep++;
+ break;
+ case 7:
+ gWeatherPtr->unknown_6EC = (Random() & 1) + 1;
+ gWeatherPtr->initStep++;
+ // fall through
+ case 8:
+ sub_80ABC48(19);
+ if (gWeatherPtr->unknown_6EB == 0 && gWeatherPtr->unknown_6EC == 1)
+ SetThunderCounter(20);
+ gWeatherPtr->unknown_6E6 = (Random() % 3) + 6;
+ gWeatherPtr->initStep++;
+ break;
+ case 9:
+ if (--gWeatherPtr->unknown_6E6 != 0)
+ break;
+ sub_80ABC48(3);
+ gWeatherPtr->unknown_6EA = 1;
+ if (--gWeatherPtr->unknown_6EC != 0)
+ {
+ gWeatherPtr->unknown_6E6 = (Random() % 16) + 60;
+ gWeatherPtr->initStep = 10;
+ }
+ else if (gWeatherPtr->unknown_6EB == 0)
+ {
+ gWeatherPtr->initStep = 4;
+ }
+ else
+ {
+ gWeatherPtr->initStep = 11;
+ }
+ break;
+ case 10:
+ if (--gWeatherPtr->unknown_6E6 != 0)
+ break;
+ gWeatherPtr->initStep = 8;
+ break;
+ case 11:
+ gWeatherPtr->unknown_6E6 = (Random() % 16) + 60;
+ gWeatherPtr->initStep++;
+ break;
+ case 12:
+ if (--gWeatherPtr->unknown_6E6 != 0)
+ break;
+ SetThunderCounter(100);
+ sub_80ABC48(19);
+ // Why use "% 16" everywhere else and "& 0xF" here. So dumb.
+ gWeatherPtr->unknown_6E6 = (Random() & 0xF) + 30;
+ gWeatherPtr->initStep++;
+ break;
+ case 13:
+ if (--gWeatherPtr->unknown_6E6 != 0)
+ break;
+ sub_80ABC7C(19, 3, 5);
+ gWeatherPtr->initStep++;
+ break;
+ case 14:
+ if (gWeatherPtr->palProcessingState != WEATHER_PAL_STATE_IDLE)
+ break;
+ gWeatherPtr->unknown_6EA = 1;
+ gWeatherPtr->initStep = 4;
+ break;
+ }
+}
+
+bool8 Rain_Finish(void)
+{
+ switch (gWeatherPtr->finishStep)
+ {
+ case 0:
+ gWeatherPtr->unknown_6EA = 0;
+ gWeatherPtr->finishStep++;
+ // fall through
+ case 1:
+ Rain_Main();
+ if (gWeatherPtr->unknown_6EA != 0)
+ {
+ if (gWeatherPtr->nextWeather == WEATHER_RAIN_LIGHT
+ || gWeatherPtr->nextWeather == WEATHER_RAIN_MED
+ || gWeatherPtr->nextWeather == WEATHER_RAIN_HEAVY)
+ return FALSE;
+ gWeatherPtr->unknown_6D9 = 0;
+ gWeatherPtr->finishStep++;
+ }
+ break;
+ case 2:
+ if (sub_807E8E8())
+ break;
+ DestroyRainSprites();
+ gWeatherPtr->unknown_6ED = 0;
+ gWeatherPtr->finishStep++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+ return TRUE;
+}
+
+void SetThunderCounter(u16 max)
+{
+ if (gWeatherPtr->unknown_6ED == 0)
+ {
+ gWeatherPtr->thunderCounter = Random() % max;
+ gWeatherPtr->unknown_6ED = 1;
+ }
+}
+
+void UpdateThunderSound(void)
+{
+ if (gWeatherPtr->unknown_6ED == 1)
+ {
+ if (gWeatherPtr->thunderCounter == 0)
+ {
+ if (IsSEPlaying())
+ return;
+ if (Random() & 1)
+ PlaySE(SE_T_KAMI);
+ else
+ PlaySE(SE_T_KAMI2);
+ gWeatherPtr->unknown_6ED = 0;
+ }
+ else
+ {
+ gWeatherPtr->thunderCounter--;
+ }
+ }
+}
+
+//------------------------------------------------------------------------------
+// Fog 1
+//------------------------------------------------------------------------------
+
+void Fog1_Main(void);
+static void CreateFog1Sprites(void);
+static void DestroyFog1Sprites(void);
+
+void Fog1_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = FALSE;
+ gWeatherPtr->gammaTargetIndex = 0;
+ gWeatherPtr->gammaStepDelay = 20;
+ if (gWeatherPtr->fog1SpritesCreated == 0)
+ {
+ gWeatherPtr->unknown_6F0 = 0;
+ gWeatherPtr->unknown_6F2 = 0;
+ gWeatherPtr->fog1ScrollPosX = 0;
+ Weather_SetBlendCoeffs(0, 16);
+ }
+}
+
+void Fog1_InitAll(void)
+{
+ Fog1_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Fog1_Main();
+}
+
+void Fog1_Main(void)
+{
+ gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->unknown_6F2) & 0xFF;
+ if (++gWeatherPtr->unknown_6F0 > 3)
+ {
+ gWeatherPtr->unknown_6F0 = 0;
+ gWeatherPtr->unknown_6F2++;
+ }
+ switch (gWeatherPtr->initStep)
+ {
+ case 0:
+ CreateFog1Sprites();
+ if (gWeatherPtr->currWeather == WEATHER_FOG_1)
+ Weather_SetTargetBlendCoeffs(12, 8, 3);
+ else
+ Weather_SetTargetBlendCoeffs(4, 16, 0);
+ gWeatherPtr->initStep++;
+ break;
+ case 1:
+ if (Weather_UpdateBlend())
+ {
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ }
+ break;
+ }
+}
+
+bool8 Fog1_Finish(void)
+{
+ gWeatherPtr->fog1ScrollPosX = (gSpriteCoordOffsetX - gWeatherPtr->unknown_6F2) & 0xFF;
+ if (++gWeatherPtr->unknown_6F0 > 3)
+ {
+ gWeatherPtr->unknown_6F0 = 0;
+ gWeatherPtr->unknown_6F2++;
+ }
+ switch (gWeatherPtr->finishStep)
+ {
+ case 0:
+ Weather_SetTargetBlendCoeffs(0, 16, 3);
+ gWeatherPtr->finishStep++;
+ break;
+ case 1:
+ if (!Weather_UpdateBlend())
+ break;
+ gWeatherPtr->finishStep++;
+ break;
+ case 2:
+ DestroyFog1Sprites();
+ gWeatherPtr->finishStep++;
+ break;
+ default:
+ return FALSE;
+ }
+ return TRUE;
+}
+
+#define sprColumn data[0]
+
+static void Fog1SpriteCallback(struct Sprite *sprite)
+{
+ sprite->pos2.y = (u8)gSpriteCoordOffsetY;
+ sprite->pos1.x = gWeatherPtr->fog1ScrollPosX + 32 + sprite->sprColumn * 64;
+ if (sprite->pos1.x > 0x10F)
+ {
+ sprite->pos1.x = 480 + gWeatherPtr->fog1ScrollPosX - (4 - sprite->sprColumn) * 64;
+ sprite->pos1.x &= 0x1FF;
+ }
+}
+
+static void CreateFog1Sprites(void)
+{
+ u16 i;
+
+ if (!gWeatherPtr->fog1SpritesCreated)
+ {
+ struct SpriteSheet fog1SpriteSheet = {gWeatherFog1Tiles, sizeof(gWeatherFog1Tiles), 0x1201};
+
+ LoadSpriteSheet(&fog1SpriteSheet);
+ for (i = 0; i < 20; i++)
+ {
+ u8 spriteId = CreateSpriteAtEnd(&sFog1SpriteTemplate, 0, 0, 0xFF);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ struct Sprite *sprite = &gSprites[spriteId];
+
+ sprite->sprColumn = i % 5;
+ sprite->pos1.x = (i % 5) * 64 + 32;
+ sprite->pos1.y = (i / 5) * 64 + 32;
+ gWeatherPtr->sprites.s2.fog1Sprites[i] = sprite;
+ }
+ else
+ {
+ gWeatherPtr->sprites.s2.fog1Sprites[i] = NULL;
+ }
+ }
+ gWeatherPtr->fog1SpritesCreated = TRUE;
+ }
+}
+
+#undef sprColumn
+
+static void DestroyFog1Sprites(void)
+{
+ u16 i;
+
+ if (gWeatherPtr->fog1SpritesCreated)
+ {
+ for (i = 0; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.fog1Sprites[i] != NULL)
+ DestroySprite(gWeatherPtr->sprites.s2.fog1Sprites[i]);
+ }
+ FreeSpriteTilesByTag(0x1201);
+ gWeatherPtr->fog1SpritesCreated = 0;
+ }
+}
+
+//------------------------------------------------------------------------------
+// Volcanic ash
+//------------------------------------------------------------------------------
+
+void Ash_Main(void);
+void LoadAshSpriteSheet(void);
+void CreateAshSprites(void);
+void DestroyAshSprites(void);
+
+void Ash_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = FALSE;
+ gWeatherPtr->gammaTargetIndex = 0;
+ gWeatherPtr->gammaStepDelay = 20;
+ gWeatherPtr->unknown_6FE = 20;
+ if (!gWeatherPtr->ashSpritesCreated)
+ {
+ Weather_SetBlendCoeffs(0, 16);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(64, 63)); // Those aren't even valid coefficients!
+ }
+}
+
+void Ash_InitAll(void)
+{
+ Ash_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Ash_Main();
+}
+
+void Ash_Main(void)
+{
+ gWeatherPtr->unknown_6FC = gSpriteCoordOffsetX & 0x1FF;
+ while (gWeatherPtr->unknown_6FC > 0xEF)
+ gWeatherPtr->unknown_6FC -= 0xF0;
+ switch (gWeatherPtr->initStep)
+ {
+ case 0:
+ LoadAshSpriteSheet();
+ gWeatherPtr->initStep++;
+ break;
+ case 1:
+ if (!gWeatherPtr->ashSpritesCreated)
+ CreateAshSprites();
+ Weather_SetTargetBlendCoeffs(16, 0, 1);
+ gWeatherPtr->initStep++;
+ break;
+ case 2:
+ if (!Weather_UpdateBlend())
+ break;
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ break;
+ default:
+ Weather_UpdateBlend();
+ break;
+ }
+}
+
+bool8 Ash_Finish(void)
+{
+ switch (gWeatherPtr->finishStep)
+ {
+ case 0:
+ Weather_SetTargetBlendCoeffs(0, 16, 1);
+ gWeatherPtr->finishStep++;
+ break;
+ case 1:
+ if (!Weather_UpdateBlend())
+ break;
+ DestroyAshSprites();
+ gWeatherPtr->finishStep++;
+ break;
+ case 2:
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ gWeatherPtr->finishStep++;
+ return FALSE;
+ default:
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static const struct SpriteSheet sAshSpriteSheet = {gWeatherAshTiles, sizeof(gWeatherAshTiles), 0x1202};
+
+void LoadAshSpriteSheet(void)
+{
+ LoadSpriteSheet(&sAshSpriteSheet);
+}
+
+const struct OamData gOamData_839ABB8 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 15,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_839ABC0[] =
+{
+ ANIMCMD_FRAME(0, 60),
+ ANIMCMD_FRAME(64, 60),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gSpriteAnimTable_839ABCC[] =
+{
+ gSpriteAnim_839ABC0,
+};
+
+void sub_807FAA8(struct Sprite *);
+static const struct SpriteTemplate sAshSpriteTemplate =
+{
+ .tileTag = 4610,
+ .paletteTag = 4608,
+ .oam = &gOamData_839ABB8,
+ .anims = gSpriteAnimTable_839ABCC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_807FAA8,
+};
+
+void CreateAshSprites(void)
+{
+ u8 i;
+
+ if (!gWeatherPtr->ashSpritesCreated)
+ {
+ for (i = 0; i < 20; i++)
+ {
+ u8 spriteId = CreateSpriteAtEnd(&sAshSpriteTemplate, 0, 0, 0x4E);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ struct Sprite *sprite = &gSprites[spriteId];
+
+ sprite->data[1] = 0;
+ sprite->data[2] = (u8)(i % 5);
+ sprite->data[3] = (u8)(i / 5);
+ sprite->data[0] = sprite->data[3] * 64 + 32;
+ gWeatherPtr->sprites.s2.ashSprites[i] = sprite;
+ }
+ else
+ {
+ gWeatherPtr->sprites.s2.ashSprites[i] = NULL;
+ }
+ }
+ gWeatherPtr->ashSpritesCreated = TRUE;
+ }
+}
+
+void DestroyAshSprites(void)
+{
+ u16 i;
+
+ if (gWeatherPtr->ashSpritesCreated)
+ {
+ for (i = 0; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.ashSprites[i] != NULL)
+ DestroySprite(gWeatherPtr->sprites.s2.ashSprites[i]);
+ }
+ FreeSpriteTilesByTag(0x1202);
+ gWeatherPtr->ashSpritesCreated = FALSE;
+ }
+}
+
+void sub_807FAA8(struct Sprite *sprite)
+{
+ sprite->data[1]++;
+ if (sprite->data[1] > 5)
+ {
+ sprite->data[1] = 0;
+ sprite->data[0]++;
+ }
+ sprite->pos1.y = gSpriteCoordOffsetY + sprite->data[0];
+ sprite->pos1.x = gWeatherPtr->unknown_6FC + 32 + sprite->data[2] * 64;
+ if (sprite->pos1.x > 271)
+ {
+ sprite->pos1.x = gWeatherPtr->unknown_6FC + 0x1E0 - (4 - sprite->data[2]) * 64;
+ sprite->pos1.x &= 0x1FF;
+ }
+}
+
+//------------------------------------------------------------------------------
+// Fog 2
+//------------------------------------------------------------------------------
+
+void Fog2_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = 0;
+ gWeatherPtr->gammaTargetIndex = 0;
+ gWeatherPtr->gammaStepDelay = 20;
+ gWeatherPtr->unknown_6F0 = 0;
+ gWeatherPtr->unknown_6F2 = 1;
+ if (gWeatherPtr->fog2SpritesCreated == 0)
+ {
+ gWeatherPtr->unknown_71C = 0;
+ gWeatherPtr->unknown_71E = 0;
+ gWeatherPtr->unknown_720 = 0;
+ gWeatherPtr->unknown_722 = 0;
+ gWeatherPtr->unknown_718 = 0;
+ gWeatherPtr->unknown_71A = 0;
+ Weather_SetBlendCoeffs(0, 16);
+ }
+}
+
+void Fog2_Main(void);
+
+void Fog2_InitAll(void)
+{
+ Fog2_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Fog2_Main();
+}
+
+void sub_807FC9C(void);
+void CreateFog2Sprites(void);
+
+void Fog2_Main(void)
+{
+ sub_807FC9C();
+ switch (gWeatherPtr->initStep)
+ {
+ case 0:
+ CreateFog2Sprites();
+ gWeatherPtr->initStep++;
+ break;
+ case 1:
+ Weather_SetTargetBlendCoeffs(12, 8, 8);
+ gWeatherPtr->initStep++;
+ break;
+ case 2:
+ if (!Weather_UpdateBlend())
+ break;
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ break;
+ }
+}
+
+void DestroyFog2Sprites(void);
+
+bool8 Fog2_Finish(void)
+{
+ sub_807FC9C();
+ switch (gWeatherPtr->finishStep)
+ {
+ case 0:
+ Weather_SetTargetBlendCoeffs(0, 16, 1);
+ gWeatherPtr->finishStep++;
+ break;
+ case 1:
+ if (!Weather_UpdateBlend())
+ break;
+ gWeatherPtr->finishStep++;
+ break;
+ case 2:
+ DestroyFog2Sprites();
+ gWeatherPtr->finishStep++;
+ break;
+ default:
+ return FALSE;
+ }
+ return TRUE;
+}
+
+void sub_807FC9C(void)
+{
+ if (++gWeatherPtr->unknown_71C > 2)
+ {
+ gWeatherPtr->unknown_720++;
+ gWeatherPtr->unknown_71C = 0;
+ }
+
+ if (++gWeatherPtr->unknown_71E > 4)
+ {
+ gWeatherPtr->unknown_722++;
+ gWeatherPtr->unknown_71E = 0;
+ }
+
+ gWeatherPtr->unknown_718 = (gSpriteCoordOffsetX - gWeatherPtr->unknown_720) & 0xFF;
+ gWeatherPtr->unknown_71A = gSpriteCoordOffsetY + gWeatherPtr->unknown_722;
+}
+
+extern const struct SpriteTemplate sFog2SpriteTemplate; // defined below
+
+void CreateFog2Sprites(void)
+{
+ u16 i;
+
+ if (!gWeatherPtr->fog2SpritesCreated)
+ {
+ struct SpriteSheet fog2SpriteSheet = {gWeatherFog2Tiles, sizeof(gWeatherFog2Tiles), 0x1203};
+
+ LoadSpriteSheet(&fog2SpriteSheet);
+ for (i = 0; i < 20; i++)
+ {
+ u8 spriteId = CreateSpriteAtEnd(&sFog2SpriteTemplate, 0, (i / 5) * 64, 0xFF);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ struct Sprite *sprite = &gSprites[spriteId];
+
+ sprite->data[0] = i % 5;
+ sprite->data[1] = i / 5;
+ gWeatherPtr->sprites.s2.fog2Sprites[i] = sprite;
+ }
+ else
+ {
+ gWeatherPtr->sprites.s2.fog2Sprites[i] = NULL;
+ }
+ }
+ gWeatherPtr->fog2SpritesCreated = TRUE;
+ }
+}
+
+const struct OamData gOamData_839ABF0 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_839ABF8[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_839AC00[] =
+{
+ gSpriteAnim_839ABF8,
+};
+
+void Fog2SpriteCallback(struct Sprite *);
+const struct SpriteTemplate sFog2SpriteTemplate =
+{
+ .tileTag = 4611,
+ .paletteTag = 4608,
+ .oam = &gOamData_839ABF0,
+ .anims = gSpriteAnimTable_839AC00,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = Fog2SpriteCallback,
+};
+
+void DestroyFog2Sprites(void)
+{
+ u16 i;
+
+ if (gWeatherPtr->fog2SpritesCreated)
+ {
+ for (i = 0; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.fog2Sprites[i] != NULL)
+ DestroySprite(gWeatherPtr->sprites.s2.fog2Sprites[i]);
+ }
+ FreeSpriteTilesByTag(0x1203);
+ gWeatherPtr->fog2SpritesCreated = FALSE;
+ }
+}
+
+void Fog2SpriteCallback(struct Sprite *sprite)
+{
+ sprite->pos2.y = gWeatherPtr->unknown_71A;
+ sprite->pos1.x = gWeatherPtr->unknown_718 + 32 + sprite->data[0] * 64;
+ if (sprite->pos1.x > 271)
+ {
+ sprite->pos1.x = gWeatherPtr->unknown_718 + 0x1E0 - (4 - sprite->data[0]) * 64;
+ sprite->pos1.x &= 0x1FF;
+ }
+}
+
+//------------------------------------------------------------------------------
+// Sandstorm
+//------------------------------------------------------------------------------
+
+void Sandstorm_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->weatherGfxLoaded = 0;
+ gWeatherPtr->gammaTargetIndex = 0;
+ gWeatherPtr->gammaStepDelay = 20;
+ if (gWeatherPtr->sandstormSprites1Created == 0)
+ {
+ gWeatherPtr->unknown_704 = gWeatherPtr->unknown_708 = 0;
+ gWeatherPtr->unknown_712 = 8;
+ gWeatherPtr->unknown_714 = 0;
+ // Dead code. How does the compiler not optimize this out?
+ if (gWeatherPtr->unknown_712 > 0x5F)
+ gWeatherPtr->unknown_712 = 0x80 - gWeatherPtr->unknown_712;
+ Weather_SetBlendCoeffs(0, 16);
+ }
+}
+
+void Sandstorm_Main(void);
+
+void Sandstorm_InitAll(void)
+{
+ Sandstorm_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Sandstorm_Main();
+}
+
+void sub_808002C(void);
+void sub_8080064(void);
+void CreateSandstormSprites_1(void);
+void CreateSandstormSprites_2(void);
+
+void Sandstorm_Main(void)
+{
+ sub_8080064();
+ sub_808002C();
+ if (gWeatherPtr->unknown_712 > 0x5F)
+ gWeatherPtr->unknown_712 = 32;
+ switch (gWeatherPtr->initStep)
+ {
+ case 0:
+ CreateSandstormSprites_1();
+ CreateSandstormSprites_2();
+ gWeatherPtr->initStep++;
+ break;
+ case 1:
+ Weather_SetTargetBlendCoeffs(16, 0, 0);
+ gWeatherPtr->initStep++;
+ break;
+ case 2:
+ if (!Weather_UpdateBlend())
+ break;
+ gWeatherPtr->weatherGfxLoaded = TRUE;
+ gWeatherPtr->initStep++;
+ break;
+ }
+}
+
+void sub_80800E4(void);
+
+bool8 Sandstorm_Finish(void)
+{
+ sub_8080064();
+ sub_808002C();
+ switch (gWeatherPtr->finishStep)
+ {
+ case 0:
+ Weather_SetTargetBlendCoeffs(0, 16, 0);
+ gWeatherPtr->finishStep++;
+ break;
+ case 1:
+ if (!Weather_UpdateBlend())
+ break;
+ gWeatherPtr->finishStep++;
+ break;
+ case 2:
+ sub_80800E4();
+ gWeatherPtr->finishStep++;
+ break;
+ default:
+ return FALSE;
+ }
+ return TRUE;
+}
+
+void sub_808002C(void)
+{
+ if (gWeatherPtr->unknown_714++ > 4)
+ {
+ gWeatherPtr->unknown_712++;
+ gWeatherPtr->unknown_714 = 0;
+ }
+}
+
+void sub_8080064(void)
+{
+ gWeatherPtr->unknown_704 -= gSineTable[gWeatherPtr->unknown_712] * 4;
+ gWeatherPtr->unknown_708 -= gSineTable[gWeatherPtr->unknown_712];
+ gWeatherPtr->unknown_70E = (gSpriteCoordOffsetX + (gWeatherPtr->unknown_704 >> 8)) & 0xFF;
+ gWeatherPtr->unknown_710 = gSpriteCoordOffsetY + (gWeatherPtr->unknown_708 >> 8);
+}
+
+void sub_80800E4(void)
+{
+ u16 i;
+
+ if (gWeatherPtr->sandstormSprites1Created)
+ {
+ for (i = 0; i < 20; i++)
+ {
+ if (gWeatherPtr->sprites.s2.sandstormSprites1[i] != NULL)
+ DestroySprite(gWeatherPtr->sprites.s2.sandstormSprites1[i]);
+ }
+ gWeatherPtr->sandstormSprites1Created = FALSE;
+ FreeSpriteTilesByTag(0x1204);
+ }
+
+ if (gWeatherPtr->sandstormSprites2Created)
+ {
+ for (i = 0; i < 5; i++)
+ {
+ if (gWeatherPtr->sprites.s2.sandstormSprites2[i] != NULL)
+ DestroySprite(gWeatherPtr->sprites.s2.sandstormSprites2[i]);
+ }
+ gWeatherPtr->sandstormSprites2Created = FALSE;
+ }
+}
+
+const struct OamData gOamData_839AC1C =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 1,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_839AC24[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_839AC2C[] =
+{
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_839AC34[] =
+{
+ gSpriteAnim_839AC24,
+ gSpriteAnim_839AC2C,
+};
+
+void SandstormSpriteCallback1(struct Sprite *);
+const struct SpriteTemplate sSandstormSpriteTemplate =
+{
+ .tileTag = 4612,
+ .paletteTag = 4609,
+ .oam = &gOamData_839AC1C,
+ .anims = gSpriteAnimTable_839AC34,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SandstormSpriteCallback1,
+};
+
+static const struct SpriteSheet sSandstormSpriteSheet = {gWeatherSandstormTiles, sizeof(gWeatherSandstormTiles), 0x1204};
+
+void CreateSandstormSprites_1(void)
+{
+ u16 i;
+
+ if (!gWeatherPtr->sandstormSprites1Created)
+ {
+ LoadSpriteSheet(&sSandstormSpriteSheet);
+ LoadCustomWeatherSpritePalette(gUnknown_0854C2B0);
+ for (i = 0; i < 20; i++)
+ {
+ u8 spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, 0, (i / 5) * 64, 1);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ gWeatherPtr->sprites.s2.sandstormSprites1[i] = &gSprites[spriteId];
+ gWeatherPtr->sprites.s2.sandstormSprites1[i]->data[0] = i % 5;
+ gWeatherPtr->sprites.s2.sandstormSprites1[i]->data[1] = i / 5;
+ }
+ else
+ {
+ gWeatherPtr->sprites.s2.sandstormSprites1[i] = NULL;
+ }
+ }
+ gWeatherPtr->sandstormSprites1Created = TRUE;
+ }
+}
+
+const u16 gUnknown_0839AC5C[] = {0, 120, 80, 160, 40, 0};
+
+void SandstormSpriteCallback2(struct Sprite *);
+
+void CreateSandstormSprites_2(void)
+{
+ u16 i;
+
+ if (!gWeatherPtr->sandstormSprites2Created)
+ {
+ for (i = 0; i < 5; i++)
+ {
+ u8 spriteId = CreateSpriteAtEnd(&sSandstormSpriteTemplate, i * 48 + 24, 208, 1);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ gWeatherPtr->sprites.s2.sandstormSprites2[i] = &gSprites[spriteId];
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->oam.size = 2;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[1] = i * 51;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[0] = 8;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[2] = 0;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[4] = 0x6730;
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->data[3] = gUnknown_0839AC5C[i];
+ StartSpriteAnim(gWeatherPtr->sprites.s2.sandstormSprites2[i], 1);
+ CalcCenterToCornerVec(gWeatherPtr->sprites.s2.sandstormSprites2[i], 0, 2, 0);
+ gWeatherPtr->sprites.s2.sandstormSprites2[i]->callback = SandstormSpriteCallback2;
+ }
+ else
+ {
+ gWeatherPtr->sprites.s2.sandstormSprites2[i] = NULL;
+ }
+ gWeatherPtr->sandstormSprites2Created = TRUE;
+ }
+ }
+}
+
+void SandstormSpriteCallback1(struct Sprite *sprite)
+{
+ sprite->pos2.y = gWeatherPtr->unknown_710;
+ sprite->pos1.x = gWeatherPtr->unknown_70E + 32 + sprite->data[0] * 64;
+ if (sprite->pos1.x > 271)
+ {
+ sprite->pos1.x = gWeatherPtr->unknown_70E + 0x1E0 - (4 - sprite->data[0]) * 64;
+ sprite->pos1.x &= 0x1FF;
+ }
+}
+
+void SandstormSpriteCallback3(struct Sprite *);
+
+void SandstormSpriteCallback2(struct Sprite *sprite)
+{
+ if (--sprite->data[3] == -1)
+ sprite->callback = SandstormSpriteCallback3;
+}
+
+void SandstormSpriteCallback3(struct Sprite *sprite)
+{
+ u32 x;
+ u32 y;
+
+ if (--sprite->pos1.y < -48)
+ {
+ sprite->pos1.y = 208;
+ sprite->data[0] = 4;
+ }
+ x = sprite->data[0] * gSineTable[sprite->data[1]];
+ y = sprite->data[0] * gSineTable[sprite->data[1] + 64];
+ sprite->pos2.x = x >> 8;
+ sprite->pos2.y = y >> 8;
+ sprite->data[1] = (sprite->data[1] + 10) & 0xFF;
+ if (++sprite->data[2] > 8)
+ {
+ sprite->data[2] = 0;
+ sprite->data[0]++;
+ }
+}
+
+//------------------------------------------------------------------------------
+// Shade
+//------------------------------------------------------------------------------
+
+void Shade_InitVars(void)
+{
+ gWeatherPtr->initStep = 0;
+ gWeatherPtr->gammaTargetIndex = 3;
+ gWeatherPtr->gammaStepDelay = 20;
+}
+
+void Shade_InitAll(void)
+{
+ Shade_InitVars();
+}
+
+void Shade_Main(void)
+{
+}
+
+bool8 Shade_Finish(void)
+{
+ return FALSE;
+}
+
+//------------------------------------------------------------------------------
+// Weather 14
+//------------------------------------------------------------------------------
+
+const u8 gUnknown_0839AC68[] = {40, 90, 60, 90, 2, 60, 40, 30};
+
+const struct SpriteSheet gWeatherBubbleSpriteSheet = {gWeatherBubbleTiles, sizeof(gWeatherBubbleTiles), 0x1205};
+
+void Bubbles_InitVars(void)
+{
+ Fog1_InitVars();
+ if (gWeatherPtr->unknown_72E == 0)
+ {
+ LoadSpriteSheet(&gWeatherBubbleSpriteSheet);
+ gWeatherPtr->unknown_728 = 0;
+ gWeatherPtr->unknown_726 = gUnknown_0839AC68[0];
+ gWeatherPtr->unknown_72A = 0;
+ gWeatherPtr->unknown_72C = 0;
+ }
+}
+
+void Bubbles_Main(void);
+
+void Bubbles_InitAll(void)
+{
+ Bubbles_InitVars();
+ while (gWeatherPtr->weatherGfxLoaded == FALSE)
+ Bubbles_Main();
+}
+
+void sub_8080588(u16);
+
+void Bubbles_Main(void)
+{
+ Fog1_Main();
+ if (++gWeatherPtr->unknown_726 > gUnknown_0839AC68[gWeatherPtr->unknown_728])
+ {
+ gWeatherPtr->unknown_726 = 0;
+ if (++gWeatherPtr->unknown_728 > 7)
+ gWeatherPtr->unknown_728 = 0;
+ sub_8080588(gWeatherPtr->unknown_72A);
+ if (++gWeatherPtr->unknown_72A > 12)
+ gWeatherPtr->unknown_72A = 0;
+ }
+}
+
+void sub_8080610(void);
+
+bool8 Bubbles_Finish(void)
+{
+ if (!Fog1_Finish())
+ {
+ sub_8080610();
+ return FALSE;
+ }
+ return TRUE;
+}
+
+const s16 gUnknown_0839AC78[][2] =
+{
+ {120, 160},
+ {376, 160},
+ { 40, 140},
+ {296, 140},
+ {180, 130},
+ {436, 130},
+ { 60, 160},
+ {436, 160},
+ {220, 180},
+ {476, 180},
+ { 10, 90},
+ {266, 90},
+ {256, 160},
+};
+
+const union AnimCmd gSpriteAnim_839ACAC[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_FRAME(1, 16),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_839ACB8[] =
+{
+ gSpriteAnim_839ACAC,
+};
+
+extern const struct OamData gUnknown_08524904;
+
+void unc_0807DAB4(struct Sprite *);
+const struct SpriteTemplate gSpriteTemplate_839ACBC =
+{
+ .tileTag = 4613,
+ .paletteTag = 4608,
+ .oam = &gUnknown_08524904,
+ .anims = gSpriteAnimTable_839ACB8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = unc_0807DAB4,
+};
+
+void sub_8080588(u16 a)
+{
+ s16 x = gUnknown_0839AC78[a][0];
+ s16 y = gUnknown_0839AC78[a][1] - gSpriteCoordOffsetY;
+ u8 spriteId = CreateSpriteAtEnd(
+ &gSpriteTemplate_839ACBC,
+ x,
+ y,
+ 0);
+
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.priority = 1;
+ gSprites[spriteId].coordOffsetEnabled = TRUE;
+ gSprites[spriteId].data[0] = 0;
+ gSprites[spriteId].data[1] = 0;
+ gSprites[spriteId].data[2] = 0;
+ gWeatherPtr->unknown_72C++;
+ }
+}
+
+void sub_8080610(void)
+{
+ u16 i;
+
+ if (gWeatherPtr->unknown_72C != 0)
+ {
+ for (i = 0; i < 64; i++)
+ {
+ if (gSprites[i].template == &gSpriteTemplate_839ACBC)
+ DestroySprite(&gSprites[i]);
+ }
+ FreeSpriteTilesByTag(0x1205);
+ gWeatherPtr->unknown_72C = 0;
+ }
+}
+
+void unc_0807DAB4(struct Sprite *sprite)
+{
+ ++sprite->data[0];
+ if (++sprite->data[0] > 8) // double increment
+ {
+ sprite->data[0] = 0;
+ if (sprite->data[1] == 0)
+ {
+ if (++sprite->pos2.x > 4)
+ sprite->data[1] = 1;
+ }
+ else
+ {
+ if (--sprite->pos2.x <= 0)
+ sprite->data[1] = 0;
+ }
+ }
+ sprite->pos1.y -= 3;
+ if (++sprite->data[2] > 0x77)
+ DestroySprite(sprite);
+}
+
+//------------------------------------------------------------------------------
+
+static void sub_80AEC94(u32 a0, u32 a1)
+{
+ gUnknown_02038BC4 = a0;
+ gUnknown_02038BC6 = a1;
+}
+
+static void sub_80AECA8(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ if (data[15]-- <= 0)
+ {
+ ChangeWeather(data[1]);
+ gUnknown_02038BC4 = data[1];
+ data[15] = 600;
+ data[0]++;
+ }
+ break;
+ case 1:
+ if (data[15]-- <= 0)
+ {
+ ChangeWeather(data[2]);
+ gUnknown_02038BC4 = data[2];
+ data[15] = 600;
+ data[0] = 0;
+ }
+ break;
+ }
+}
+
+static void sub_80AED28(void)
+{
+ u8 taskId = CreateTask(sub_80AECA8, 0);
+ s16 *data = gTasks[taskId].data;
+
+ data[15] = 600;
+ if (gUnknown_02038BC4 == WEATHER_RAIN_HEAVY)
+ {
+ data[1] = WEATHER_DROUGHT;
+ data[2] = WEATHER_RAIN_HEAVY;
+ }
+ else if (gUnknown_02038BC4 == WEATHER_DROUGHT)
+ {
+ data[1] = WEATHER_RAIN_HEAVY;
+ data[2] = WEATHER_DROUGHT;
+ }
+ else
+ {
+ gUnknown_02038BC4 = WEATHER_RAIN_HEAVY;
+ data[1] = WEATHER_DROUGHT;
+ data[2] = WEATHER_RAIN_HEAVY;
+ }
+}
+
+static u8 TranslateWeatherNum(u8);
+static void UpdateRainCounter(u8, u8);
+
+void SetSav1Weather(u32 weather)
+{
+ u8 oldWeather = gSaveBlock1Ptr->weather;
+ gSaveBlock1Ptr->weather = TranslateWeatherNum(weather);
+ UpdateRainCounter(gSaveBlock1Ptr->weather, oldWeather);
+}
+
+u8 GetSav1Weather(void)
+{
+ return gSaveBlock1Ptr->weather;
+}
+
+void SetSav1WeatherFromCurrMapHeader(void)
+{
+ u8 oldWeather = gSaveBlock1Ptr->weather;
+ gSaveBlock1Ptr->weather = TranslateWeatherNum(gMapHeader.weather);
+ UpdateRainCounter(gSaveBlock1Ptr->weather, oldWeather);
+}
+
+void SetWeather(u32 weather)
+{
+ SetSav1Weather(weather);
+ ChangeWeather(GetSav1Weather());
+}
+
+void SetWeather_Unused(u32 weather)
+{
+ SetSav1Weather(weather);
+ sub_80AB104(GetSav1Weather());
+}
+
+void DoCurrentWeather(void)
+{
+ u8 weather = GetSav1Weather();
+
+ if (weather == WEATHER_15)
+ {
+ if (!FuncIsActiveTask(sub_80AECA8))
+ sub_80AED28();
+ weather = gUnknown_02038BC4;
+ }
+ else
+ {
+ if (FuncIsActiveTask(sub_80AECA8))
+ DestroyTask(FindTaskIdByFunc(sub_80AECA8));
+ gUnknown_02038BC4 = WEATHER_RAIN_HEAVY;
+ }
+ ChangeWeather(weather);
+}
+
+void sub_80AEE84(void)
+{
+ u8 weather = GetSav1Weather();
+
+ if (weather == WEATHER_15)
+ {
+ if (!FuncIsActiveTask(sub_80AECA8))
+ sub_80AED28();
+ weather = gUnknown_02038BC4;
+ }
+ else
+ {
+ if (FuncIsActiveTask(sub_80AECA8))
+ DestroyTask(FindTaskIdByFunc(sub_80AECA8));
+ gUnknown_02038BC4 = WEATHER_RAIN_HEAVY;
+ }
+ sub_80AB104(weather);
+}
+
+static const u8 sWeatherCycleRoute119[] =
+{
+ WEATHER_SUNNY,
+ WEATHER_RAIN_LIGHT,
+ WEATHER_RAIN_MED,
+ WEATHER_RAIN_LIGHT,
+};
+static const u8 sWeatherCycleRoute123[] =
+{
+ WEATHER_SUNNY,
+ WEATHER_SUNNY,
+ WEATHER_RAIN_LIGHT,
+ WEATHER_SUNNY,
+};
+
+static u8 TranslateWeatherNum(u8 weather)
+{
+ switch (weather)
+ {
+ case WEATHER_NONE: return WEATHER_NONE;
+ case WEATHER_CLOUDS: return WEATHER_CLOUDS;
+ case WEATHER_SUNNY: return WEATHER_SUNNY;
+ case WEATHER_RAIN_LIGHT: return WEATHER_RAIN_LIGHT;
+ case WEATHER_SNOW: return WEATHER_SNOW;
+ case WEATHER_RAIN_MED: return WEATHER_RAIN_MED;
+ case WEATHER_FOG_1: return WEATHER_FOG_1;
+ case WEATHER_ASH: return WEATHER_ASH;
+ case WEATHER_SANDSTORM: return WEATHER_SANDSTORM;
+ case WEATHER_FOG_2: return WEATHER_FOG_2;
+ case WEATHER_FOG_3: return WEATHER_FOG_3;
+ case WEATHER_SHADE: return WEATHER_SHADE;
+ case WEATHER_DROUGHT: return WEATHER_DROUGHT;
+ case WEATHER_RAIN_HEAVY: return WEATHER_RAIN_HEAVY;
+ case WEATHER_BUBBLES: return WEATHER_BUBBLES;
+ case WEATHER_15: return WEATHER_15;
+ case WEATHER_ROUTE119_CYCLE: return sWeatherCycleRoute119[gSaveBlock1Ptr->weatherCycleStage];
+ case WEATHER_ROUTE123_CYCLE: return sWeatherCycleRoute123[gSaveBlock1Ptr->weatherCycleStage];
+ default: return WEATHER_NONE;
+ }
+}
+
+void UpdateWeatherPerDay(u16 increment)
+{
+ u16 weatherStage = gSaveBlock1Ptr->weatherCycleStage + increment;
+ weatherStage %= 4;
+ gSaveBlock1Ptr->weatherCycleStage = weatherStage;
+}
+
+static void UpdateRainCounter(u8 newWeather, u8 oldWeather)
+{
+ if (newWeather != oldWeather
+ && (newWeather == WEATHER_RAIN_LIGHT || newWeather == WEATHER_RAIN_MED))
+ IncrementGameStat(GAME_STAT_GOT_RAINED_ON);
+}
diff --git a/src/fieldmap.c b/src/fieldmap.c
index 0d8a706b1..7e1fc03eb 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -496,7 +496,7 @@ u16 GetBehaviorByMetatileId(u16 metatile)
}
else
{
- return 0xff;
+ return 0xFF;
}
}
diff --git a/src/fire.c b/src/fire.c
index 02c0db81c..44ae9d320 100644
--- a/src/fire.c
+++ b/src/fire.c
@@ -1,24 +1,43 @@
#include "global.h"
#include "battle_anim.h"
#include "constants/rgb.h"
+#include "constants/songs.h"
+#include "sound.h"
+#include "util.h"
+#include "task.h"
+#include "trig.h"
-extern void sub_8108EC8(struct Sprite *);
-extern void sub_8108F08(struct Sprite *);
-extern void sub_8108FBC(struct Sprite *);
-extern void sub_8108F4C(struct Sprite *);
-extern void sub_8109064(struct Sprite *);
-extern void sub_810916C(struct Sprite *);
-extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
-extern void sub_8109198(struct Sprite *);
-extern void sub_8109200(struct Sprite *);
-extern void sub_810921C(struct Sprite *);
-extern void sub_8109364(struct Sprite *);
-extern void sub_81093A4(struct Sprite *);
-extern void sub_80A8EE4(struct Sprite *);
-extern void sub_81098EC(struct Sprite *);
-extern void sub_8109A10(struct Sprite *);
-extern void sub_8109AFC(struct Sprite *);
-extern void sub_8109CB0(struct Sprite *);
+static void sub_8108EC8(struct Sprite *);
+static void sub_8108F08(struct Sprite *);
+static void sub_8108F4C(struct Sprite *);
+static void sub_8108FBC(struct Sprite *);
+static void sub_8109028(struct Sprite *);
+static void sub_8109064(struct Sprite *);
+static void sub_81090D8(struct Sprite *);
+static void sub_810916C(struct Sprite *);
+static void AnimEmberFlare(struct Sprite *);
+static void sub_8109200(struct Sprite *);
+static void AnimFireRing(struct Sprite *);
+static void AnimFireRingStep1(struct Sprite *);
+static void AnimFireRingStep2(struct Sprite *);
+static void AnimFireRingStep3(struct Sprite *);
+static void UpdateFireRingCircleOffset(struct Sprite *);
+static void AnimFireCross(struct Sprite *);
+static void sub_81093A4(struct Sprite *);
+static void sub_81093E4(struct Sprite *);
+static void sub_810940C(struct Sprite *);
+static void sub_81094D0(u8 taskId);
+static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3);
+static void sub_81098EC(struct Sprite *);
+static u16 sub_8109930(u8 spriteId);
+static void sub_8109984(struct Sprite *sprite, s16 x, s16 y);
+static void sub_81099A0(struct Sprite *);
+static void sub_8109A10(struct Sprite *);
+static void sub_8109A64(struct Sprite *);
+static void sub_8109AFC(struct Sprite *);
+static void sub_8109C4C(struct Sprite *);
+static void sub_8109CB0(struct Sprite *);
+static void sub_8109E2C(u8 taskId);
const union AnimCmd gUnknown_08595340[] =
{
@@ -234,7 +253,7 @@ const struct SpriteTemplate gEmberFlareSpriteTemplate =
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8109198,
+ .callback = AnimEmberFlare,
};
const struct SpriteTemplate gUnknown_08595504 =
@@ -256,7 +275,7 @@ const struct SpriteTemplate gUnknown_0859551C =
.anims = gUnknown_085954D0,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_810921C,
+ .callback = AnimFireRing,
};
const union AnimCmd gUnknown_08595534[] =
@@ -297,7 +316,7 @@ const struct SpriteTemplate gUnknown_0859556C =
.anims = gUnknown_08595540,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_8109364,
+ .callback = AnimFireCross,
};
const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 =
@@ -436,3 +455,867 @@ const s8 gUnknown_08595694[16] =
{
-1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1,
};
+
+static void sub_8108EC8(struct Sprite *sprite)
+{
+ sprite->data[0] = gBattleAnimArgs[0];
+ sprite->data[1] = 0x3C;
+ sprite->data[2] = 0x9;
+ sprite->data[3] = 0x1E;
+ sprite->data[4] = 0xFE00;
+
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+
+ sprite->callback = sub_80A634C;
+ sprite->callback(sprite);
+}
+
+static void sub_8108F08(struct Sprite *sprite)
+{
+ sub_80A6864(sprite, gBattleAnimArgs[0]);
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->data[2] = gBattleAnimArgs[3];
+
+ sprite->callback = sub_80A656C;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+static void sub_8108F4C(struct Sprite *sprite)
+{
+ sub_80A6838(sprite);
+
+ if (GetBattlerSide(gBattleAnimAttacker))
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[2] = -gBattleAnimArgs[4];
+ }
+ else
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[4];
+ }
+
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->data[4] = gBattleAnimArgs[3];
+ sprite->data[3] = gBattleAnimArgs[5];
+
+ sprite->callback = sub_8109028;
+}
+
+static void sub_8108FBC(struct Sprite *sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker))
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[4];
+ }
+ else
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[2] = -gBattleAnimArgs[4];
+ }
+
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->data[4] = gBattleAnimArgs[3];
+ sprite->data[3] = gBattleAnimArgs[5];
+
+ sprite->callback = sub_8109028;
+}
+
+static void sub_8109028(struct Sprite *sprite)
+{
+ if (++sprite->data[0] < sprite->data[4])
+ {
+ sprite->pos2.x += sprite->data[2];
+ sprite->pos2.y += sprite->data[3];
+ }
+
+ if (sprite->data[0] == sprite->data[1])
+ move_anim_8074EE0(sprite);
+}
+
+static void sub_8109064(struct Sprite *sprite)
+{
+ sub_80A6838(sprite);
+
+ if (GetBattlerSide(gBattleAnimAttacker))
+ {
+ sprite->pos1.x -= gBattleAnimArgs[0];
+ }
+ else
+ {
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->subpriority = 8;
+ }
+
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[2] = gBattleAnimArgs[4];
+ sprite->data[3] = gBattleAnimArgs[5];
+ sprite->data[4] = gBattleAnimArgs[6];
+ sprite->data[5] = 0;
+
+ sprite->callback = sub_81090D8;
+}
+
+static void sub_81090D8(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
+ if(sprite->data[5] > 10000)
+ sprite->subpriority = 1;
+
+ sprite->pos2.x = Sin(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
+ sprite->pos2.y = Cos(sprite->data[0], sprite->data[1] + (sprite->data[5] >> 8));
+
+ sprite->data[0] += sprite->data[2];
+ sprite->data[5] += sprite->data[4];
+
+ if (sprite->data[0] > 255)
+ sprite->data[0] -= 256;
+ else if (sprite->data[0] < 0)
+ sprite->data[0] += 256;
+
+ sprite->data[3]--;
+ }
+ else
+ {
+ move_anim_8074EE0(sprite);
+ }
+}
+
+//sunlight
+static void sub_810916C(struct Sprite *sprite)
+{
+ sprite->pos1.x = 0;
+ sprite->pos1.y = 0;
+ sprite->data[0] = 60;
+ sprite->data[2] = 140;
+ sprite->data[4] = 80;
+ sprite->callback = StartAnimLinearTranslation;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+//fire 2
+
+// Animates the secondary effect of MOVE_EMBER, where the flames grow and slide
+// horizontally a bit.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: target x pixel offset
+// arg 3: target y pixel offset
+// arg 4: duration
+// arg 5: ? (todo: something related to which mon the pixel offsets are based on)
+// arg 6: ? (todo: something related to which mon the pixel offsets are based on)
+static void AnimEmberFlare(struct Sprite *sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)
+ && (gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)
+ || gBattleAnimAttacker == GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)))
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
+ sprite->callback = sub_80A7938;
+ sprite->callback(sprite);
+}
+
+static void sub_8109200(struct Sprite *sprite)
+{
+ gBattleAnimArgs[0] = -gBattleAnimArgs[0];
+ gBattleAnimArgs[2] = -gBattleAnimArgs[2];
+
+ sprite->callback = sub_80A7938;
+}
+
+// Animates the a fire sprite in the first-half of the MOVE_FIRE_BLAST
+// animation. The fire sprite first moves in a circle around the mon,
+// and then it is translated towards the target mon, while still rotating.
+// Lastly, it moves in a circle around the target mon.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: initial wave offset
+//void AnimFireRing(struct Sprite *sprite)
+void AnimFireRing(struct Sprite *sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+
+ sprite->data[7] = gBattleAnimArgs[2];
+ sprite->data[0] = 0;
+
+ sprite->callback = AnimFireRingStep1;
+}
+
+static void AnimFireRingStep1(struct Sprite *sprite)
+{
+ UpdateFireRingCircleOffset(sprite);
+
+ if (++sprite->data[0] == 0x12)
+ {
+ sprite->data[0] = 0x19;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+
+ InitAnimLinearTranslation(sprite);
+
+ sprite->callback = AnimFireRingStep2;
+ }
+}
+
+static void AnimFireRingStep2(struct Sprite *sprite)
+{
+ if (TranslateAnimLinear(sprite))
+ {
+ sprite->data[0] = 0;
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+
+ sprite->callback = AnimFireRingStep3;
+ sprite->callback(sprite);
+ }
+ else
+ {
+ sprite->pos2.x += Sin(sprite->data[7], 28);
+ sprite->pos2.y += Cos(sprite->data[7], 28);
+
+ sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
+ }
+}
+
+static void AnimFireRingStep3(struct Sprite *sprite)
+{
+ UpdateFireRingCircleOffset(sprite);
+
+ if (++sprite->data[0] == 0x1F)
+ DestroyAnimSprite(sprite);
+}
+
+static void UpdateFireRingCircleOffset(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[7], 28);
+ sprite->pos2.y = Cos(sprite->data[7], 28);
+
+ sprite->data[7] = (sprite->data[7] + 20) & 0xFF;
+}
+
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: duration
+// arg 3: x delta
+// arg 4: y delta
+// AnimFireCross(struct Sprite *sprite)
+static void AnimFireCross(struct Sprite *sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[2] = gBattleAnimArgs[4];
+
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+
+ sprite->callback = TranslateSpriteOverDuration;
+}
+
+static void sub_81093A4(struct Sprite *sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+
+ sprite->data[1] = gBattleAnimArgs[2];
+ sprite->data[0] = gBattleAnimArgs[3];
+
+ sprite->invisible = TRUE;
+ sprite->callback = WaitAnimForDuration;
+
+ StoreSpriteCallbackInData6(sprite, sub_81093E4);
+}
+
+static void sub_81093E4(struct Sprite *sprite)
+{
+ sprite->invisible = FALSE;
+
+ sprite->data[0] = sprite->data[1];
+ sprite->data[1] = 0;
+
+ sprite->callback = sub_810940C;
+ sprite->callback(sprite);
+}
+
+static void sub_810940C(struct Sprite *sprite)
+{
+ sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8);
+ sprite->pos2.y = Cos(sprite->data[1], sprite->data[2] >> 8);
+
+ sprite->data[1] = (sprite->data[1] + 10) & 0xFF;
+ sprite->data[2] += 0xD0;
+
+ if (--sprite->data[0] == -1)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8109460(u8 taskId) // initialize animation task for Move_ERUPTION?
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[15] = GetAnimBattlerSpriteId(0);
+
+ task->data[0] = 0;
+ task->data[1] = 0;
+ task->data[2] = 0;
+ task->data[3] = 0;
+ task->data[4] = gSprites[task->data[15]].pos1.y;
+ task->data[5] = GetBattlerSide(gBattleAnimAttacker);
+ task->data[6] = 0;
+
+ sub_80A7270(task->data[15], 0);
+
+ task->func = sub_81094D0;
+}
+
+static void sub_81094D0(u8 taskId) // animate Move_ERUPTION?
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ sub_80A805C(task, task->data[15], 0x100, 0x100, 0xE0, 0x200, 0x20);
+
+ task->data[0]++;
+ case 1:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+
+ if (++task->data[2] & 0x1)
+ gSprites[task->data[15]].pos2.x = 3;
+ else
+ gSprites[task->data[15]].pos2.x = -3;
+ }
+
+ if (task->data[5])
+ {
+ if (++task->data[3] > 4)
+ {
+ task->data[3] = 0;
+ gSprites[task->data[15]].pos1.y++;
+ }
+ }
+
+ if(!sub_80A80C8(task))
+ {
+ sub_80A7E6C(task->data[15]);
+ gSprites[task->data[15]].pos2.x = 0;
+
+ task->data[1] = 0;
+ task->data[2] = 0;
+ task->data[3] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ if (++task->data[1] > 4)
+ {
+ if (task->data[5])
+ sub_80A805C(task, task->data[15], 0xE0, 0x200, 0x180, 0xF0, 0x6);
+ else
+ sub_80A805C(task, task->data[15], 0xE0, 0x200, 0x180, 0xC0, 0x6);
+
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ if (!sub_80A80C8(task))
+ {
+ sub_81097B4(task->data[15], taskId, 6);
+
+ task->data[0]++;
+ }
+ break;
+ case 4:
+ if (++task->data[1] > 1)
+ {
+ task->data[1] = 0;
+
+ if (++task->data[2] & 1)
+ gSprites[task->data[15]].pos2.y += 3;
+ else
+ gSprites[task->data[15]].pos2.y -= 3;
+ }
+
+ if (++task->data[3] > 0x18)
+ {
+ if (task->data[5])
+ sub_80A805C(task, task->data[15], 0x180, 0xF0, 0x100, 0x100, 0x8);
+ else
+ sub_80A805C(task, task->data[15], 0x180, 0xC0, 0x100, 0x100, 0x8);
+
+ if (task->data[2] & 1)
+ gSprites[task->data[15]].pos2.y -= 3;
+
+ task->data[1] = 0;
+ task->data[2] = 0;
+ task->data[3] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 5:
+ if (task->data[5])
+ gSprites[task->data[15]].pos1.y--;
+
+ if (!sub_80A80C8(task))
+ {
+ gSprites[task->data[15]].pos1.y = task->data[4];
+ sub_80A7344(task->data[15]);
+
+ task->data[2] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 6:
+ if (!task->data[6])
+ DestroyAnimVisualTask(taskId);
+
+ break;
+ default:
+ }
+}
+
+static void sub_81097B4(u8 spriteId, u8 taskId, u8 a3)
+{
+ u16 i, j;
+ s8 sign;
+
+ u16 y = sub_8109930(spriteId);
+ u16 x = gSprites[spriteId].pos1.x;
+
+ if(!GetBattlerSide(gBattleAnimAttacker))
+ {
+ x -= 0xC;
+ sign = 1;
+ }
+ else
+ {
+ x += 0x10;
+ sign = -1;
+ }
+
+ for (i = 0, j = 0; i <= 6; i++)
+ {
+ u8 spriteId = CreateSprite(&gUnknown_085955B4, x, y, 2);
+
+ if (spriteId != 0x40)
+ {
+ gSprites[spriteId].oam.tileNum += j * 4 + 0x40;
+
+ if (++j >= 5)
+ j = 0;
+ //gHeatedRockCoords
+ sub_8109984(&gSprites[spriteId], gUnknown_085955CC[i][0] * sign, gUnknown_085955CC[i][1]);
+ gSprites[spriteId].data[6] = taskId;
+ gSprites[spriteId].data[7] = a3;
+
+ gTasks[taskId].data[a3]++;
+ }
+ }
+}
+
+static void sub_81098EC(struct Sprite *sprite)
+{
+ sub_81099A0(sprite);
+
+ if (sprite->invisible)
+ {
+ gTasks[sprite->data[6]].data[sprite->data[7]]--;
+ DestroySprite(sprite);
+ }
+}
+
+static u16 sub_8109930(u8 spriteId)
+{
+ u16 var1 = gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y + gSprites[spriteId].centerToCornerVecY;
+
+ if (GetBattlerSide(gBattleAnimAttacker) == 0)
+ {
+ var1 = ((var1 << 16) + 0x4A0000) >> 16;
+ }
+ else
+ {
+ var1 = ((var1 << 16) + 0x2C0000) >> 16;
+ }
+
+ return var1;
+}
+
+static void sub_8109984(struct Sprite *sprite, s16 x, s16 y)
+{
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->data[2] = (u16)sprite->pos1.x * 8;
+ sprite->data[3] = (u16)sprite->pos1.y * 8;
+ sprite->data[4] = x * 8;
+ sprite->data[5] = y * 8;
+}
+
+static void sub_81099A0(struct Sprite *sprite)
+{
+ int var1;
+ if (++sprite->data[0] > 2)
+ {
+ sprite->data[0] = 0;
+ ++sprite->data[1];
+ var1 = (u16)sprite->data[1] * (u16)sprite->data[1];
+ sprite->data[3] += var1;
+ }
+
+ sprite->data[2] += sprite->data[4];
+ sprite->pos1.x = sprite->data[2] >> 3;
+ sprite->data[3] += sprite->data[5];
+ sprite->pos1.y = sprite->data[3] >> 3;
+
+ if (sprite->pos1.x < -8 || sprite->pos1.x > 0xf8 || sprite->pos1.y < -8 || sprite->pos1.y > 120)
+ sprite->invisible = TRUE;
+}
+
+static void sub_8109A10(struct Sprite *sprite)
+{
+ sprite->pos1.x = gBattleAnimArgs[0];
+ sprite->pos1.y = gBattleAnimArgs[1];
+
+ sprite->data[0] = 0;
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ sprite->data[6] = gBattleAnimArgs[2];
+ sprite->data[7] = gBattleAnimArgs[3];
+
+ sprite->oam.tileNum += gBattleAnimArgs[4] * 16;
+ sprite->callback = sub_8109A64;
+}
+
+static void sub_8109A64(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ if (sprite->data[6] != 0)
+ {
+ sprite->data[6]--;
+ return;
+ }
+
+ sprite->data[0]++;
+ // fall through
+ case 1:
+ sprite->pos1.y += 8;
+ if (sprite->pos1.y >= sprite->data[7])
+ {
+ sprite->pos1.y = sprite->data[7];
+ sprite->data[0]++;
+ }
+ break;
+ case 2:
+ if (++sprite->data[1] > 1)
+ {
+ sprite->data[1] = 0;
+ if ((++sprite->data[2] & 1) != 0)
+ {
+ sprite->pos2.y = -3;
+ }
+ else
+ {
+ sprite->pos2.y = 3;
+ }
+ }
+
+ if (++sprite->data[3] > 16)
+ {
+ DestroyAnimSprite(sprite);
+ }
+ break;
+ }
+}
+
+//wisp orb
+static void sub_8109AFC(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ InitAnimSpritePos(sprite, 0);
+ StartSpriteAnim(sprite, gBattleAnimArgs[2]);
+ sprite->data[7] = gBattleAnimArgs[2];
+
+ if (GetBattlerSide(gBattleAnimAttacker) != 0)
+ {
+ sprite->data[4] = 4;
+ }
+ else
+ {
+ sprite->data[4] = -4;
+ }
+
+ sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
+ sprite->data[0]++;
+ break;
+ case 1:
+ sprite->data[1] += 192;
+ if (GetBattlerSide(gBattleAnimAttacker) != 0)
+ {
+ sprite->pos2.y = -(sprite->data[1] >> 8);
+ }
+ else
+ {
+ sprite->pos2.y = sprite->data[1] >> 8;
+ }
+
+ sprite->pos2.x = Sin(sprite->data[2], sprite->data[4]);
+ sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
+
+ if (++sprite->data[3] == 1)
+ {
+ sprite->data[3] = 0;
+ sprite->data[0]++;
+ }
+ break;
+ case 2:
+ sprite->pos2.x = Sin(sprite->data[2], sprite->data[4]);
+ sprite->data[2] = (sprite->data[2] + 4) & 0xFF;
+
+ if (++sprite->data[3] == 31)
+ {
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
+ sprite->pos2.y = 0;
+ sprite->pos2.x = 0;
+
+ sprite->data[0] = 256;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+
+ sub_80A6FD4(sprite);
+ sprite->callback = sub_8109C4C;
+ }
+ break;
+ }
+}
+
+static void sub_8109C4C(struct Sprite *sprite)
+{
+ s16 initialData5;
+ s16 newData5;
+
+ if (!TranslateAnimLinear(sprite))
+ {
+ sprite->pos2.x += Sin(sprite->data[5], 16);
+ initialData5 = sprite->data[5];
+ sprite->data[5] = (sprite->data[5] + 4) & 0xFF;
+ newData5 = sprite->data[5];
+
+ if ((initialData5 == 0 || initialData5 > 196) && newData5 > 0 && sprite->data[7] == 0)
+ {
+ PlaySE12WithPanning(SE_W172, gUnknown_02038440);
+ }
+ }
+ else
+ {
+ DestroyAnimSprite(sprite);
+ }
+}
+
+//wisp fire
+void sub_8109CB0(struct Sprite *sprite)
+{
+ if (!sprite->data[0])
+ {
+ sprite->data[1] = gBattleAnimArgs[0];
+ sprite->data[0] += 1;
+ }
+
+ sprite->data[3] += 0xC0 * 2;
+ sprite->data[4] += 0xA0;
+
+ sprite->pos2.x = Sin(sprite->data[1], sprite->data[3] >> 8);
+ sprite->pos2.y = Cos(sprite->data[1], sprite->data[4] >> 8);
+
+ sprite->data[1] = (sprite->data[1] + 7) & 0xFF;
+
+ if (!IsContest())
+ {
+ if (sprite->data[1] < 64 || sprite->data[1] > 195)
+ sprite->oam.priority = sub_80A8328(gBattleAnimTarget);
+ else
+ sprite->oam.priority = sub_80A8328(gBattleAnimTarget) + 1;
+ }
+ else
+ {
+ if (sprite->data[1] < 64 || sprite->data[1] > 195)
+ sprite->subpriority = 0x1D;
+ else
+ sprite->subpriority = 0x1F;
+ }
+
+ if (++sprite->data[2] > 0x14)
+ sprite->invisible ^= 1;
+
+ if (sprite->data[2] == 0x1E)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8109DBC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[12] = !GetBattlerSide(gBattleAnimAttacker) ? 1 : -1;
+ task->data[13] = IsBattlerSpriteVisible(gBattleAnimTarget ^ 2) + 1;
+ task->data[14] = GetAnimBattlerSpriteId(1);
+ task->data[15] = GetAnimBattlerSpriteId(3);
+
+ task->func = sub_8109E2C;
+}
+
+static void sub_8109E2C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ task->data[10] += task->data[12] * 2;
+ if (++task->data[1] >= 2)
+ {
+ task->data[1] = 0;
+ task->data[2]++;
+ if (task->data[2] & 1)
+ task->data[11] = 2;
+ else
+ task->data[11] = -2;
+ }
+
+ for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
+ {
+ gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
+ }
+
+ if (++task->data[9] == 16)
+ {
+ task->data[9] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ if (++task->data[1] >= 5)
+ {
+ task->data[1] = 0;
+ task->data[2]++;
+
+ if (task->data[2] & 1)
+ task->data[11] = 2;
+ else
+ task->data[11] = -2;
+ }
+
+ for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
+ {
+ gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
+ }
+
+ if (++task->data[9] == 96)
+ {
+ task->data[9] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 2:
+ task->data[10] -= task->data[12] * 2;
+
+ if (++task->data[1] >= 2)
+ {
+ task->data[1] = 0;
+ task->data[2]++;
+
+ if (task->data[2] & 1)
+ task->data[11] = 2;
+ else
+ task->data[11] = -2;
+ }
+
+ for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
+ {
+ gSprites[task->data[task->data[3] + 14]].pos2.x = task->data[10] + task->data[11];
+ }
+
+ if (++task->data[9] == 16)
+ {
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ for (task->data[3] = 0; task->data[3] < task->data[13]; task->data[3]++)
+ {
+ gSprites[task->data[task->data[3] + 14]].pos2.x = 0;
+ }
+
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+// Used to add a color mask to the battle interface / HUD in Heat Wave.
+// arg 0: opacity
+// arg 1: color code
+void AnimTask_BlendBackground(u8 taskId)
+{
+ struct UnknownAnimStruct2 unk;
+ sub_80A6B30(&unk);
+ BlendPalette(unk.unk8 << 4, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); // u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_810A094(u8 taskId)
+{
+ s8 unk;
+ u8 spriteId;
+
+ if (gTasks[taskId].data[0] == 0)
+ {
+ gTasks[taskId].data[1] = gBattleAnimArgs[0];
+ gTasks[taskId].data[2] = gBattleAnimArgs[1];
+ gTasks[taskId].data[3] = gBattleAnimArgs[2];
+ gTasks[taskId].data[4] = gBattleAnimArgs[3];
+ }
+ gTasks[taskId].data[0]++;
+
+ spriteId = gBattlerSpriteIds[gBattleAnimTarget];
+
+ if (!gTasks[taskId].data[4])
+ unk = gUnknown_08595684[gTasks[taskId].data[0] % 10];
+ else
+ unk = gUnknown_08595694[gTasks[taskId].data[0] % 10];
+
+ if (gTasks[taskId].data[3] == 1)
+ gSprites[spriteId].pos2.y = gBattleAnimArgs[1] * unk < 0 ? -(gBattleAnimArgs[1] * unk) : gBattleAnimArgs[1] * unk;
+ else
+ gSprites[spriteId].pos2.x = gBattleAnimArgs[1] * unk;
+
+ if (gTasks[taskId].data[0] == gTasks[taskId].data[1])
+ {
+ gSprites[spriteId].pos2.x = 0;
+ gSprites[spriteId].pos2.y = 0;
+ DestroyAnimVisualTask(taskId);
+ }
+} \ No newline at end of file
diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c
index 230a95e0b..6a310efd2 100644
--- a/src/fldeff_cut.c
+++ b/src/fldeff_cut.c
@@ -6,7 +6,7 @@
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "fldeff_cut.h"
-#include "malloc.h"
+#include "alloc.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "party_menu.h"
diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c
index 9771232f2..8862caa9f 100644
--- a/src/fldeff_flash.c
+++ b/src/fldeff_flash.c
@@ -170,7 +170,7 @@ static bool8 sub_8137304(void)
return FALSE;
}
-bool8 sub_8137360(u8 a1, u8 a2)
+bool8 GetMapPairFadeToType(u8 a1, u8 a2)
{
u8 i;
u8 v0 = a1;
@@ -187,7 +187,7 @@ bool8 sub_8137360(u8 a1, u8 a2)
return FALSE;
}
-bool8 fade_type_for_given_maplight_pair(u8 a1, u8 a2)
+bool8 GetMapPairFadeFromType(u8 a1, u8 a2)
{
u8 i;
u8 v0 = a1;
diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c
index e9a46bb86..866606a06 100644
--- a/src/fldeff_groundshake.c
+++ b/src/fldeff_groundshake.c
@@ -2,7 +2,7 @@
#include "event_data.h"
#include "event_object_movement.h"
#include "field_camera.h"
-#include "malloc.h"
+#include "alloc.h"
#include "random.h"
#include "roulette_util.h"
#include "script.h"
@@ -32,7 +32,17 @@ static void sub_81BEA20(void);
static void sub_81BEAD8(struct Sprite* sprite);
// rodata
-static const u8 gUnknown_08617E18[] = {0x3b, 0x43, 0x61, 0x00, 0x0f, 0x05, 0xff, 0x9b};
+const struct InnerStruct203CF18_3 gUnknown_08617E18 = {
+ .unk0 = 0x433b,
+ .unk2 = 0x61,
+ .unk4 = 0x0F,
+ .unk5 = 0x05,
+ .unk6 = 0xFF,
+ .unk7_0 = 0xB,
+ .unk7_4 = 0x1,
+ .unk7_6 = 0,
+ .unk7_7 = 1,
+};
static const union AnimCmd gSpriteAnim_8617E20[] =
{
@@ -131,7 +141,7 @@ void sub_81BE6B8(void)
gUnknown_0203CF18 = (struct Struct203CF18 *)AllocZeroed(sizeof(struct Struct203CF18));
sub_8151B3C(&(gUnknown_0203CF18->unk4));
- sub_8151B68(&(gUnknown_0203CF18->unk4), gUnknown_08617E18);
+ sub_8151B68(&(gUnknown_0203CF18->unk4), &gUnknown_08617E18);
sub_8151CA8(&(gUnknown_0203CF18->unk4), 1, 1);
gUnknown_0203CF18->taskId = CreateTask(sub_81BE698, 0xFF);
}
diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c
index 9951fe581..cd8fa400d 100644
--- a/src/fldeff_sweetscent.c
+++ b/src/fldeff_sweetscent.c
@@ -3,7 +3,8 @@
#include "event_scripts.h"
#include "field_effect.h"
#include "field_player_avatar.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
+#include "field_weather.h"
#include "palette.h"
#include "party_menu.h"
#include "rom6.h"
@@ -40,7 +41,7 @@ bool8 FldEff_SweetScent(void)
{
u8 taskId;
- sub_80AC3D0();
+ SetWeatherScreenFadeOut();
taskId = oei_task_add();
gTasks[taskId].data[8] = (u32)StartSweetScentFieldEffect >> 16;
gTasks[taskId].data[9] = (u32)StartSweetScentFieldEffect;
diff --git a/src/fossil_specials.c b/src/fossil_specials.c
index 8164a3a78..dfdb999a9 100644
--- a/src/fossil_specials.c
+++ b/src/fossil_specials.c
@@ -8,7 +8,7 @@
#include "fieldmap.h"
#include "global.fieldmap.h"
#include "gpu_regs.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "random.h"
#include "script.h"
@@ -458,104 +458,104 @@ static void sub_81BF2B8(u8* a, u16 b, u8 c, u8 d, u8 e)
{
asm_unified("\n\
push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x8\n\
- str r0, [sp]\n\
- mov r10, r1\n\
- adds r6, r2, 0\n\
- mov r8, r3\n\
- ldr r0, [sp, 0x28]\n\
- mov r9, r0\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- mov r10, r1\n\
- lsls r6, 24\n\
- lsrs r6, 24\n\
- mov r0, r8\n\
- lsls r0, 24\n\
- mov r8, r0\n\
- lsrs r7, r0, 24\n\
- mov r1, r9\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- mov r9, r1\n\
- mov r0, r10\n\
- adds r1, r7, 0\n\
- bl __divsi3\n\
- adds r5, r0, 0\n\
- lsls r5, 24\n\
- lsrs r4, r5, 24\n\
- ldr r3, =gUnknown_030012A8\n\
- strh r4, [r3]\n\
- mov r0, r10\n\
- adds r1, r7, 0\n\
- str r3, [sp, 0x4]\n\
- bl __modsi3\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- ldr r3, [sp, 0x4]\n\
- strh r2, [r3, 0x2]\n\
- movs r1, 0x7\n\
- ands r4, r1\n\
- ands r2, r1\n\
- strh r4, [r3, 0x4]\n\
- strh r2, [r3, 0x6]\n\
- lsrs r0, 27\n\
- lsrs r5, 27\n\
- strh r0, [r3, 0x8]\n\
- strh r5, [r3, 0xA]\n\
- mov r1, r8\n\
- lsrs r1, 27\n\
- lsls r1, 6\n\
- mov r8, r1\n\
- mov r1, r8\n\
- muls r1, r5\n\
- lsls r0, 6\n\
- adds r1, r0\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- strh r1, [r3, 0xC]\n\
- lsls r4, 3\n\
- adds r4, r2\n\
- adds r1, r4\n\
- lsls r4, r1, 16\n\
- lsrs r4, 17\n\
- strh r1, [r3, 0xE]\n\
- movs r1, 0x1\n\
- mov r0, r10\n\
- ands r1, r0\n\
- movs r2, 0x1\n\
- eors r1, r2\n\
- lsls r0, r1, 2\n\
- lsls r6, r0\n\
- eors r1, r2\n\
- lsls r1, 2\n\
- movs r0, 0xF\n\
- lsls r0, r1\n\
- orrs r6, r0\n\
- lsls r6, 24\n\
- lsrs r6, 24\n\
- mov r1, r9\n\
- lsls r1, 5\n\
- mov r9, r1\n\
- add r9, r4\n\
- ldr r1, [sp]\n\
- add r1, r9\n\
- ldrb r0, [r1]\n\
- ands r6, r0\n\
- strb r6, [r1]\n\
- add sp, 0x8\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\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x8\n\
+ str r0, [sp]\n\
+ mov r10, r1\n\
+ adds r6, r2, 0\n\
+ mov r8, r3\n\
+ ldr r0, [sp, 0x28]\n\
+ mov r9, r0\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ mov r10, r1\n\
+ lsls r6, 24\n\
+ lsrs r6, 24\n\
+ mov r0, r8\n\
+ lsls r0, 24\n\
+ mov r8, r0\n\
+ lsrs r7, r0, 24\n\
+ mov r1, r9\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ mov r9, r1\n\
+ mov r0, r10\n\
+ adds r1, r7, 0\n\
+ bl __divsi3\n\
+ adds r5, r0, 0\n\
+ lsls r5, 24\n\
+ lsrs r4, r5, 24\n\
+ ldr r3, =gUnknown_030012A8\n\
+ strh r4, [r3]\n\
+ mov r0, r10\n\
+ adds r1, r7, 0\n\
+ str r3, [sp, 0x4]\n\
+ bl __modsi3\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r3, [sp, 0x4]\n\
+ strh r2, [r3, 0x2]\n\
+ movs r1, 0x7\n\
+ ands r4, r1\n\
+ ands r2, r1\n\
+ strh r4, [r3, 0x4]\n\
+ strh r2, [r3, 0x6]\n\
+ lsrs r0, 27\n\
+ lsrs r5, 27\n\
+ strh r0, [r3, 0x8]\n\
+ strh r5, [r3, 0xA]\n\
+ mov r1, r8\n\
+ lsrs r1, 27\n\
+ lsls r1, 6\n\
+ mov r8, r1\n\
+ mov r1, r8\n\
+ muls r1, r5\n\
+ lsls r0, 6\n\
+ adds r1, r0\n\
+ lsls r1, 16\n\
+ lsrs r1, 16\n\
+ strh r1, [r3, 0xC]\n\
+ lsls r4, 3\n\
+ adds r4, r2\n\
+ adds r1, r4\n\
+ lsls r4, r1, 16\n\
+ lsrs r4, 17\n\
+ strh r1, [r3, 0xE]\n\
+ movs r1, 0x1\n\
+ mov r0, r10\n\
+ ands r1, r0\n\
+ movs r2, 0x1\n\
+ eors r1, r2\n\
+ lsls r0, r1, 2\n\
+ lsls r6, r0\n\
+ eors r1, r2\n\
+ lsls r1, 2\n\
+ movs r0, 0xF\n\
+ lsls r0, r1\n\
+ orrs r6, r0\n\
+ lsls r6, 24\n\
+ lsrs r6, 24\n\
+ mov r1, r9\n\
+ lsls r1, 5\n\
+ mov r9, r1\n\
+ add r9, r4\n\
+ ldr r1, [sp]\n\
+ add r1, r9\n\
+ ldrb r0, [r1]\n\
+ ands r6, r0\n\
+ strb r6, [r1]\n\
+ add sp, 0x8\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\n\
");
}
#endif // NONMATCHING
diff --git a/src/frontier_util.c b/src/frontier_util.c
index a35088f6f..2fc58241a 100644
--- a/src/frontier_util.c
+++ b/src/frontier_util.c
@@ -24,7 +24,7 @@
#include "data2.h"
#include "record_mixing.h"
#include "strings.h"
-#include "malloc.h"
+#include "alloc.h"
#include "save.h"
#include "load_save.h"
#include "battle_dome.h"
@@ -44,18 +44,10 @@ struct FrontierBrainMon
u16 heldItem;
u8 fixedIV;
u8 nature;
- u8 evs[6];
+ u8 evs[NUM_STATS];
u16 moves[4];
};
-extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
-extern const u8 *const gUnknown_08611D08[];
-extern const u8 *const gUnknown_08611CB0[][2];
-extern const u8 *const gUnknown_08611D00[];
-extern const u8 *const *const gUnknown_08611DB0[];
-extern const u8 *const *const gUnknown_08611DB8[];
-extern const u16 gFacilityToBrainTrainerId[];
-
extern void sub_81B8558(void);
// This file's functions.
@@ -690,6 +682,107 @@ const u16 gFrontierBannedSpecies[] =
SPECIES_KYOGRE, SPECIES_GROUDON, SPECIES_RAYQUAZA, SPECIES_JIRACHI, SPECIES_DEOXYS, 0xFFFF
};
+static const u8 *const gUnknown_08611CB0[][2] =
+{
+ {gText_BattleTower2, gUnknown_085ED164},
+ {gText_BattleTower2, gUnknown_085ED170},
+ {gText_BattleTower2, gUnknown_085ED17C},
+ {gText_BattleDome, gUnknown_085ED164},
+ {gText_BattlePalace, gUnknown_085ED164},
+ {gText_BattleArena, gUnknown_085ED190},
+ {gText_BattleFactory, gUnknown_085ED164},
+ {gText_BattlePike, gUnknown_085ED190},
+ {gText_BattlePyramid, gUnknown_085ED190},
+ {gText_BattleTower2, gUnknown_085ED188},
+};
+
+static const u8 *const gLevelModeText[] =
+{
+ gText_RecordsLv50,
+ gText_RecordsOpenLevel,
+};
+
+static const u8 *const gHallFacilityToRecordsText[] =
+{
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityClearStreak,
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityKOsStreak,
+ gText_FrontierFacilityWinStreak,
+ gText_FrontierFacilityRoomsCleared,
+ gText_FrontierFacilityFloorsCleared,
+ gText_FrontierFacilityWinStreak,
+};
+
+static const u16 gFacilityToBrainTrainerId[] =
+{
+ [FRONTIER_FACILITY_TOWER] = TRAINER_ANABEL,
+ [FRONTIER_FACILITY_DOME] = TRAINER_TUCKER,
+ [FRONTIER_FACILITY_PALACE] = TRAINER_SPENSER,
+ [FRONTIER_FACILITY_ARENA] = TRAINER_GRETA,
+ [FRONTIER_FACILITY_FACTORY] = TRAINER_NOLAND,
+ [FRONTIER_FACILITY_PIKE] = TRAINER_LUCY,
+ [FRONTIER_FACILITY_PYRAMID] = TRAINER_BRANDON,
+};
+
+static const u8 *const gUnknown_08611D40[] =
+{
+ gText_082C843F,
+ gText_082C848B,
+ gText_082C8628,
+ gText_082C85B4,
+ gText_082C8512,
+ gText_082C859D,
+ gText_082C86C3,
+};
+
+static const u8 *const gUnknown_08611D5C[] =
+{
+ gText_082C8458,
+ gText_082C84C1,
+ gText_082C8662,
+ gText_082C85E3,
+ gText_082C853B,
+ gText_082C85A4,
+ gText_082C86FE,
+};
+
+static const u8 *const gUnknown_08611D78[] =
+{
+ gText_082C846C,
+ gText_082C84D0,
+ gText_082C8682,
+ gText_082C85F5,
+ gText_082C8561,
+ gText_082C85A9,
+ gText_082C8739,
+};
+
+static const u8 *const gUnknown_08611D94[] =
+{
+ gText_082C8480,
+ gText_082C84F7,
+ gText_082C86B3,
+ gText_082C8611,
+ gText_082C8589,
+ gText_082C85AE,
+ gText_082C877B,
+};
+
+static const u8 *const *const gUnknown_08611DB0[] =
+{
+ gUnknown_08611D40,
+ gUnknown_08611D78,
+};
+
+static const u8 *const *const gUnknown_08611DB8[] =
+{
+ gUnknown_08611D5C,
+ gUnknown_08611D94,
+};
+
// code
void CallFrontierUtilFunc(void)
{
@@ -2129,8 +2222,8 @@ static void Print1PRecord(s32 position, s32 x, s32 y, struct RankingHall1P *hall
if (winStreak > 9999)
winStreak = 9999;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
- StringExpandPlaceholders(gStringVar4, gUnknown_08611D08[hallFacilityId]);
- AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gUnknown_08611D08[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[hallFacilityId]);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[hallFacilityId], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
}
}
@@ -2156,8 +2249,8 @@ static void Print2PRecord(s32 position, s32 x, s32 y, struct RankingHall2P *hall
if (winStreak > 9999)
winStreak = 9999;
ConvertIntToDecimalStringN(gStringVar2, winStreak, STR_CONV_MODE_RIGHT_ALIGN, 4);
- StringExpandPlaceholders(gStringVar4, gUnknown_08611D08[9]);
- AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gUnknown_08611D08[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
+ StringExpandPlaceholders(gStringVar4, gHallFacilityToRecordsText[9]);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, GetStringRightAlignXOffset(1, gHallFacilityToRecordsText[9], 0xC8), (8 * (y + 5 * position)) + 1, TEXT_SPEED_FF, NULL);
}
}
@@ -2239,8 +2332,8 @@ static void PrintHallRecords(s32 hallFacilityId, s32 lvlMode)
StringCopy(gStringVar1, gUnknown_08611CB0[hallFacilityId][0]);
StringExpandPlaceholders(gStringVar4, gUnknown_08611CB0[hallFacilityId][1]);
AddTextPrinterParameterized(gRecordsWindowId, 1, gStringVar4, 0, 1, TEXT_SPEED_FF, NULL);
- x = GetStringRightAlignXOffset(1, gUnknown_08611D00[lvlMode], 0xD0);
- AddTextPrinterParameterized(gRecordsWindowId, 1, gUnknown_08611D00[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
+ x = GetStringRightAlignXOffset(1, gLevelModeText[lvlMode], 0xD0);
+ AddTextPrinterParameterized(gRecordsWindowId, 1, gLevelModeText[lvlMode], x, 1, TEXT_SPEED_FF, NULL);
if (hallFacilityId == HALL_FACILITIES_COUNT)
{
gSaveBlock2Ptr->frontier.field_EE1[0][PLAYER_NAME_LENGTH] = EOS;
@@ -2415,7 +2508,7 @@ void CreateFrontierBrainPokemon(void)
TRUE, j,
TRUE, FRONTIER_BRAIN_OTID);
SetMonData(&gEnemyParty[monPartyId], MON_DATA_HELD_ITEM, &sFrontierBrainsMons[facility][symbol][i].heldItem);
- for (j = 0; j < 6; j++)
+ for (j = 0; j < NUM_STATS; j++)
SetMonData(&gEnemyParty[monPartyId], MON_DATA_HP_EV + j, &sFrontierBrainsMons[facility][symbol][i].evs[j]);
friendship = 0xFF;
for (j = 0; j < 4; j++)
diff --git a/src/ghost.c b/src/ghost.c
index ce57df7e8..0464d1491 100644
--- a/src/ghost.c
+++ b/src/ghost.c
@@ -1,16 +1,46 @@
#include "global.h"
+#include "battle.h"
#include "battle_anim.h"
+#include "gpu_regs.h"
+#include "palette.h"
#include "constants/rgb.h"
+#include "scanline_effect.h"
+#include "constants/songs.h"
+#include "sound.h"
+#include "trig.h"
+#include "util.h"
-extern void sub_811160C(struct Sprite *);
-extern void sub_81117F4(struct Sprite *);
-extern void sub_81119E0(struct Sprite *);
-extern void sub_8111B9C(struct Sprite *);
-extern void sub_8112264(struct Sprite *);
-extern void sub_81129F0(struct Sprite *);
-extern void sub_8112B78(struct Sprite *);
-extern void sub_8112E9C(struct Sprite *);
-extern void sub_8112F60(struct Sprite *);
+static void sub_811160C(struct Sprite *);
+static void sub_8111674(struct Sprite *);
+static void sub_81116E8(struct Sprite *);
+static void sub_8111764(struct Sprite *);
+static void sub_81117F4(struct Sprite *);
+static void sub_8111814(struct Sprite *);
+static void sub_8111914(u8 taskId);
+static void sub_811196C(u8 taskId);
+static void InitAnimShadowBall(struct Sprite *);
+static void AnimShadowBallStep(struct Sprite *);
+static void sub_8111B9C(struct Sprite *);
+static void sub_8111BB4(struct Sprite *);
+static void sub_8111D78(u8 taskId);
+static void sub_8111E78(u8 taskId);
+static void sub_81120DC(u8 taskId);
+static void sub_8112170(u8 taskId);
+static void sub_8112264(struct Sprite *);
+static void sub_8112384(struct Sprite *);
+static void sub_81125E0(u8 taskId);
+static void sub_811280C(u8 taskId);
+static void sub_8112994(u8 taskId);
+static void sub_81129F0(struct Sprite *);
+static void sub_8112A4C(struct Sprite *);
+static void sub_8112ACC(struct Sprite *);
+static void sub_8112B44(struct Sprite *);
+static void sub_8112B78(struct Sprite *);
+static void sub_8112C4C(struct Sprite *);
+static void sub_8112D10(u8 taskId);
+static void sub_8112E9C(struct Sprite *);
+static void sub_8112F60(struct Sprite *);
+static void sub_8112FB8(struct Sprite *);
const union AffineAnimCmd gUnknown_08596CF8[] =
{
@@ -65,7 +95,7 @@ const struct SpriteTemplate gUnknown_08596D58 =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gUnknown_08596D54,
- .callback = sub_81119E0,
+ .callback = InitAnimShadowBall,
};
const union AnimCmd gUnknown_08596D70[] =
@@ -184,3 +214,1114 @@ const struct SpriteTemplate gUnknown_08596E48 =
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8112F60,
};
+
+static void sub_811160C(struct Sprite *sprite)
+{
+ InitAnimSpritePos(sprite, 1);
+ sprite->data[0] = gBattleAnimArgs[2];
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sub_80A6FD4(sprite);
+ sprite->callback = sub_8111674;
+ sprite->data[6] = 16;
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
+ SetGpuReg(REG_OFFSET_BLDALPHA, sprite->data[6]);
+}
+
+static void sub_8111674(struct Sprite *sprite)
+{
+ s16 r0;
+ s16 r2;
+ sub_8111764(sprite);
+ if (TranslateAnimLinear(sprite))
+ {
+ sprite->callback = sub_81116E8;
+ return;
+ }
+
+ sprite->pos2.x += Sin(sprite->data[5], 10);
+ sprite->pos2.y += Cos(sprite->data[5], 15);
+ r2 = sprite->data[5];
+ sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
+ r0 = sprite->data[5];
+ if (r2 != 0 && r2 <= 196)
+ return;
+ if (r0 <= 0)
+ return;
+ PlaySE12WithPanning(SE_W109, gUnknown_02038440);
+}
+
+static void sub_81116E8(struct Sprite *sprite)
+{
+ s16 r2;
+ s16 r0;
+ sprite->data[0] = 1;
+ TranslateAnimLinear(sprite);
+ sprite->pos2.x += Sin(sprite->data[5], 10);
+ sprite->pos2.y += Cos(sprite->data[5], 15);
+
+ r2 = sprite->data[5];
+ sprite->data[5] = (sprite->data[5] + 5) & 0xFF;
+ r0 = sprite->data[5];
+
+ if (r2 == 0 || r2 > 196)
+ {
+ if (r0 > 0)
+ PlaySE(SE_W109);
+ }
+
+ if (sprite->data[6] == 0)
+ {
+ sprite->invisible = TRUE;
+ sprite->callback = sub_80A67F4;
+ }
+ else
+ sub_8111764(sprite);
+}
+
+static void sub_8111764(struct Sprite *sprite)
+{
+
+ s16 r0;
+ if (sprite->data[6] > 0xFF)
+ {
+ if (++sprite->data[6] == 0x10d)
+ sprite->data[6] = 0;
+ return;
+ }
+
+ r0 = sprite->data[7];
+ sprite->data[7]++;
+
+ if ((r0 & 0xFF) == 0)
+ {
+ sprite->data[7] &= 0xff00;
+ if ((sprite->data[7] & 0x100) != 0)
+ sprite->data[6]++;
+ else
+ sprite->data[6]--;
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], 16 - sprite->data[6]));
+ if (sprite->data[6] == 0 || sprite->data[6] == 16)
+ sprite->data[7] ^= 0x100;
+ if (sprite->data[6] == 0)
+ sprite->data[6] = 0x100;
+ }
+}
+
+static void sub_81117F4(struct Sprite *sprite)
+{
+ sub_80A6980(sprite, TRUE);
+ sprite->callback = sub_8111814;
+ sprite->callback(sprite);
+}
+
+static void sub_8111814(struct Sprite *sprite)
+{
+ u16 temp1;
+ sprite->pos2.x = Sin(sprite->data[0], 32);
+ sprite->pos2.y = Cos(sprite->data[0], 8);
+ temp1 = sprite->data[0] - 65;
+ if (temp1 <= 130)
+ sprite->oam.priority = 2;
+ else
+ sprite->oam.priority = 1;
+ sprite->data[0] = (sprite->data[0] + 19) & 0xFF;
+ sprite->data[2] += 80;
+ sprite->pos2.y += sprite->data[2] >> 8;
+ sprite->data[7] += 1;
+ if (sprite->data[7] == 61)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_811188C(u8 taskId)
+{
+ u8 spriteId;
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10));
+ spriteId = GetAnimBattlerSpriteId(0);
+ sub_80A7270(spriteId, 1);
+ obj_id_set_rotscale(spriteId, 128, 128, 0);
+ gSprites[spriteId].invisible = FALSE;
+ gTasks[taskId].data[0] = 128;
+ gTasks[taskId].data[1] = *gBattleAnimArgs;
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].data[3] = 16;
+ gTasks[taskId].func = sub_8111914;
+}
+
+static void sub_8111914(u8 taskId)
+{
+ gTasks[taskId].data[10] += 1;
+ if (gTasks[taskId].data[10] == 3)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[2] += 1;
+ gTasks[taskId].data[3] -= 1;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[2], gTasks[taskId].data[3]));
+ if (gTasks[taskId].data[2] != 9)
+ return;
+
+ gTasks[taskId].func = sub_811196C;
+ }
+}
+
+static void sub_811196C(u8 taskId)
+{
+ u8 spriteId;
+ if (gTasks[taskId].data[1] > 0)
+ {
+ gTasks[taskId].data[1] -= 1;
+ return;
+ }
+
+ spriteId = GetAnimBattlerSpriteId(0);
+ gTasks[taskId].data[0] += 8;
+ if (gTasks[taskId].data[0] <= 0xFF)
+ {
+ obj_id_set_rotscale(spriteId, gTasks[taskId].data[0], gTasks[taskId].data[0], 0);
+ }
+ else
+ {
+ sub_80A7344(spriteId);
+ DestroyAnimVisualTask(taskId);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ }
+}
+
+// Spins a sprite towards the target, pausing in the middle.
+// Used in Shadow Ball.
+// arg 0: duration step 1 (attacker -> center)
+// arg 1: duration step 2 (spin center)
+// arg 2: duration step 3 (center -> target)
+static void InitAnimShadowBall(struct Sprite *sprite)
+{
+ u16 r5, r6;
+ r5 = sprite->pos1.x;
+ r6 = sprite->pos1.y;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[0] = 0;
+ sprite->data[1] = gBattleAnimArgs[0];
+ sprite->data[2] = gBattleAnimArgs[1];
+ sprite->data[3] = gBattleAnimArgs[2];
+ sprite->data[4] = sprite->pos1.x << 4;
+ sprite->data[5] = sprite->pos1.y << 4;
+ sprite->data[6] = (((s16)r5 - sprite->pos1.x) << 4) / (gBattleAnimArgs[0] << 1);
+ sprite->data[7] = (((s16)r6 - sprite->pos1.y) << 4) / (gBattleAnimArgs[0] << 1);
+ sprite->callback = AnimShadowBallStep;
+}
+
+static void AnimShadowBallStep(struct Sprite *sprite)
+{
+ switch (sprite->data[0])
+ {
+ case 0:
+ sprite->data[4] += sprite->data[6];
+ sprite->data[5] += sprite->data[7];
+ sprite->pos1.x = sprite->data[4] >> 4;
+ sprite->pos1.y = sprite->data[5] >> 4;
+ sprite->data[1] -= 1;
+ if (sprite->data[1] > 0)
+ break;
+ sprite->data[0] += 1;
+ break;
+ case 1:
+ sprite->data[2] -= 1;
+ if (sprite->data[2] > 0)
+ break;
+ sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = sprite->pos1.x << 4;
+ sprite->data[5] = sprite->pos1.y << 4;
+ sprite->data[6] = ((sprite->data[1] - sprite->pos1.x) << 4) / sprite->data[3];
+ sprite->data[7] = ((sprite->data[2] - sprite->pos1.y) << 4) / sprite->data[3];
+ sprite->data[0] += 1;
+ break;
+ case 2:
+ sprite->data[4] += sprite->data[6];
+ sprite->data[5] += sprite->data[7];
+ sprite->pos1.x = sprite->data[4] >> 4;
+ sprite->pos1.y = sprite->data[5] >> 4;
+ sprite->data[3] -= 1;
+ if (sprite->data[3] > 0)
+ break;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[0] += 1;
+ break;
+ case 3:
+ move_anim_8074EE0(sprite);
+ break;
+ }
+}
+
+static void sub_8111B9C(struct Sprite *sprite)
+{
+ sub_80A6980(sprite, TRUE);
+ sprite->callback = sub_8111BB4;
+}
+
+static void sub_8111BB4(struct Sprite *sprite) {
+
+ s8 r5 = FALSE;
+ bool8 r6 = FALSE;
+ if(sprite->animEnded)
+ {
+ if(!(sprite->invisible))
+ sprite->invisible=TRUE;
+ switch(sprite->data[0])
+ {
+ case 0:
+ if((sprite->data[1]) != 2)
+ break;
+ goto loc_08111C06;
+ case 1:
+ if((sprite->data[1]) == 4)
+ r5 = TRUE;
+ break;
+ default:
+ r6 = TRUE;
+ }
+ if(r5)
+ {
+ loc_08111C06:
+ sprite->invisible ^= 1;
+ sprite->data[2]++;
+ sprite->data[1] = 0;
+ if(sprite->data[2] == 5)
+ {
+ sprite->data[2] = 0;
+ sprite->data[0]++;
+ }
+ }
+ else if(r6)
+ DestroyAnimSprite(sprite);
+ else
+ sprite->data[1]++;
+ }
+}
+
+void sub_8111C50(u8 taskId)
+{
+ struct Task *task;
+
+ task = &gTasks[taskId];
+ task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1);
+ if (task->data[0] < 0)
+ {
+ DestroyAnimVisualTask(taskId);
+ return;
+ }
+ task->data[1] = 0;
+ task->data[2] = 15;
+ task->data[3] = 2;
+ task->data[4] = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[2], task->data[3]));
+ gSprites[task->data[0]].data[0] = 80;
+ if (GetBattlerSide(gBattleAnimTarget) == 0)
+ {
+ gSprites[task->data[0]].data[1] = -144;
+ gSprites[task->data[0]].data[2] = 112;
+ }
+ else
+ {
+ gSprites[task->data[0]].data[1] = 144;
+ gSprites[task->data[0]].data[2] = -112;
+ }
+ gSprites[task->data[0]].data[3] = 0;
+ gSprites[task->data[0]].data[4] = 0;
+ StoreSpriteCallbackInData6(&gSprites[task->data[0]], SpriteCallbackDummy);
+ gSprites[task->data[0]].callback = sub_80A656C;
+ task->func = sub_8111D78;
+}
+
+static void sub_8111D78(u8 taskId)
+{
+ struct Task *task;
+
+ task = &gTasks[taskId];
+ switch (task->data[4])
+ {
+ case 0:
+ task->data[1] += 1;
+ task->data[5] = task->data[1] & 3;
+ if (task->data[5] == 1)
+ if (task->data[2] > 0)
+ task->data[2] -= 1;
+ if (task->data[5] == 3)
+ if (task->data[3] <= 15)
+ task->data[3] += 1;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[2], task->data[3]));
+ if (task->data[3] != 16 || task->data[2] != 0)
+ break;
+ if (task->data[1] <= 80)
+ break;
+ obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
+ task->data[4] = 1;
+ break;
+ case 1:
+ if (++task->data[6] <= 1)
+ break;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ task->data[4] += 1;
+ break;
+ case 2:
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+void sub_8111E50(u8 taskId)
+{
+ struct Task *task;
+
+ task = &gTasks[taskId];
+ task->data[15] = 0;
+ task->func = sub_8111E78;
+ task->func(taskId);
+}
+
+static void sub_8111E78(u8 taskId)
+{
+ s16 startLine;
+ struct Task *task = &gTasks[taskId];
+ u8 position = sub_80A8364(gBattleAnimTarget);
+
+ switch (task->data[15])
+ {
+ case 0:
+ task->data[14] = AllocSpritePalette(0x2771);
+ if (task->data[14] == 0xFF || task->data[14] == 0xF)
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ task->data[0] = duplicate_obj_of_side_rel2move_in_transparent_mode(1);
+ if (task->data[0] < 0)
+ {
+ FreeSpritePaletteByTag(0x2771);
+ DestroyAnimVisualTask(taskId);
+ }
+ else
+ {
+ s16 mask2;
+ gSprites[task->data[0]].oam.paletteNum = task->data[14];
+ gSprites[task->data[0]].oam.objMode = ST_OAM_OBJ_NORMAL;
+ gSprites[task->data[0]].oam.priority = 3;
+ gSprites[task->data[0]].invisible = (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].invisible);
+ task->data[1] = 0;
+ task->data[2] = 0;
+ task->data[3] = 16;
+ task->data[13] = GetAnimBattlerSpriteId(1);
+ task->data[4] = (gSprites[task->data[13]].oam.paletteNum + 16) * 16;
+ if (position == 1) {
+ u16 mask = DISPCNT_BG1_ON;
+ mask2 = mask;
+ }
+ else {
+ u16 mask = DISPCNT_BG2_ON;
+ mask2 = mask;
+ }
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, mask2);
+ task->data[15]++;
+ }
+ }
+ break;
+ case 1:
+ task->data[14] = (task->data[14] + 16) * 16;
+ CpuSet(&gPlttBufferUnfaded[task->data[4]], &gPlttBufferFaded[task->data[14]], 0x4000008);
+ BlendPalette(task->data[4], 16, 10, RGB(13, 0, 15));
+ task->data[15]++;
+ break;
+ case 2:
+ startLine = gSprites[task->data[13]].pos1.y + gSprites[task->data[13]].pos2.y - 32;
+ if (startLine < 0)
+ startLine = 0;
+
+ if (position == 1)
+ task->data[10] = ScanlineEffect_InitWave(startLine, startLine + 64, 2, 6, 0, 4, 1);
+ else
+ task->data[10] = ScanlineEffect_InitWave(startLine, startLine + 64, 2, 6, 0, 8, 1);
+
+ task->data[15]++;
+ break;
+ case 3:
+ if (position == 1)
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL | BLDCNT_TGT1_BG1));
+ else
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL | BLDCNT_TGT1_BG2));
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10));
+ task->data[15]++;
+ break;
+ case 4:
+ if (position == 1)
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
+ else
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
+
+ task->func = sub_81120DC;
+ task->data[15]++;
+ break;
+ default:
+ task->data[15]++;
+ break;
+ }
+}
+
+static void sub_81120DC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ task->data[1]++;
+ task->data[5] = task->data[1] & 1;
+ if (task->data[5] == 0)
+ task->data[2] = gSineTable[task->data[1]] / 18;
+
+ if (task->data[5] == 1)
+ task->data[3] = 16 - (gSineTable[task->data[1]] / 18);
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[2], task->data[3]));
+ if (task->data[1] == 128)
+ {
+ task->data[15] = 0;
+ task->func = sub_8112170;
+ task->func(taskId);
+ }
+}
+
+static void sub_8112170(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+ u8 position = sub_80A8364(gBattleAnimTarget);
+
+ switch (task->data[15])
+ {
+ case 0:
+ gScanlineEffect.state = 3;
+ task->data[14] = GetAnimBattlerSpriteId(1);
+ if (position == 1)
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
+ else
+ ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
+ break;
+ case 1:
+ BlendPalette(task->data[4], 16, 0, RGB(13, 0, 15));
+ break;
+ case 2:
+ gSprites[task->data[14]].invisible = 1;
+ obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
+ FreeSpritePaletteByTag(0x2771);
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ if (position == 1)
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
+ else
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON);
+
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+
+ task->data[15]++;
+}
+
+static void sub_8112264(struct Sprite *sprite)
+{
+ s16 battler1X, battler1Y;
+ s16 battler2X, battler2Y;
+ s16 yDiff;
+
+ if (gBattleAnimArgs[0] == 0)
+ {
+ battler1X = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ battler1Y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 28;
+ battler2X = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ battler2Y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 28;
+ }
+ else
+ {
+ battler1X = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
+ battler1Y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + 28;
+ battler2X = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
+ battler2Y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 28;
+ }
+
+ yDiff = battler2Y - battler1Y;
+ sprite->data[0] = battler1X * 16;
+ sprite->data[1] = battler1Y * 16;
+ sprite->data[2] = ((battler2X - battler1X) * 16) / gBattleAnimArgs[1];
+ sprite->data[3] = (yDiff * 16) / gBattleAnimArgs[1];
+ sprite->data[4] = gBattleAnimArgs[1];
+ sprite->data[5] = battler2X;
+ sprite->data[6] = battler2Y;
+ sprite->data[7] = sprite->data[4] / 2;
+ sprite->oam.priority = 2;
+ sprite->pos1.x = battler1X;
+ sprite->pos1.y = battler1Y;
+ sprite->callback = sub_8112384;
+ sprite->invisible = 1;
+}
+
+static void sub_8112384(struct Sprite *sprite)
+{
+ if (sprite->data[4])
+ {
+ sprite->data[0] += sprite->data[2];
+ sprite->data[1] += sprite->data[3];
+ sprite->pos1.x = sprite->data[0] >> 4;
+ sprite->pos1.y = sprite->data[1] >> 4;
+ if (--sprite->data[4] == 0)
+ sprite->data[0] = 0;
+ }
+}
+
+void sub_81123C4(u8 taskId)
+{
+ struct Task *task;
+ s16 battler;
+ u8 spriteId;
+ s16 baseX, baseY;
+ s16 x, y;
+
+ task = &gTasks[taskId];
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10));
+ task->data[5] = 0;
+ task->data[6] = 0;
+ task->data[7] = 0;
+ task->data[8] = 0;
+ task->data[9] = 16;
+ task->data[10] = gBattleAnimArgs[0];
+
+ baseX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ baseY = sub_80A861C(gBattleAnimAttacker, 3);
+ if (!IsContest())
+ {
+ for (battler = 0; battler < 4; battler++)
+ {
+ if (battler != gBattleAnimAttacker
+ && battler != (gBattleAnimAttacker ^ 2)
+ && IsBattlerSpriteVisible(battler))
+ {
+ spriteId = CreateSprite(&gUnknown_08596DB8, baseX, baseY, 55);
+ if (spriteId != MAX_SPRITES)
+ {
+ x = GetBattlerSpriteCoord(battler, 2);
+ y = sub_80A861C(battler, 3);
+ gSprites[spriteId].data[0] = baseX << 4;
+ gSprites[spriteId].data[1] = baseY << 4;
+ gSprites[spriteId].data[2] = ((x - baseX) << 4) / gBattleAnimArgs[1];
+ gSprites[spriteId].data[3] = ((y - baseY) << 4) / gBattleAnimArgs[1];
+ gSprites[spriteId].data[4] = gBattleAnimArgs[1];
+ gSprites[spriteId].data[5] = x;
+ gSprites[spriteId].data[6] = y;
+ gSprites[spriteId].callback = sub_8112384;
+
+ task->data[task->data[12] + 13] = spriteId;
+ task->data[12]++;
+ }
+ }
+ }
+ }
+ else
+ {
+ spriteId = CreateSprite(&gUnknown_08596DB8, baseX, baseY, 55);
+ if (spriteId != MAX_SPRITES)
+ {
+ x = 48;
+ y = 40;
+ gSprites[spriteId].data[0] = baseX << 4;
+ gSprites[spriteId].data[1] = baseY << 4;
+ gSprites[spriteId].data[2] = ((x - baseX) << 4) / gBattleAnimArgs[1];
+ gSprites[spriteId].data[3] = ((y - baseY) << 4) / gBattleAnimArgs[1];
+ gSprites[spriteId].data[4] = gBattleAnimArgs[1];
+ gSprites[spriteId].data[5] = x;
+ gSprites[spriteId].data[6] = y;
+ gSprites[spriteId].callback = sub_8112384;
+
+ task->data[13] = spriteId;
+ task->data[12] = 1;
+ }
+ }
+
+ task->func = sub_81125E0;
+}
+
+static void sub_81125E0(u8 taskId)
+{
+ u16 i;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ if (task->data[6] == 0)
+ {
+ if (++task->data[5] > 1)
+ {
+ task->data[5] = 0;
+ task->data[7]++;
+ if (task->data[7] & 1)
+ {
+ if (task->data[8] < 16)
+ task->data[8]++;
+ }
+ else
+ {
+ if (task->data[9])
+ task->data[9]--;
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[8], task->data[9]));
+ if (task->data[7] >= 24)
+ {
+ task->data[7] = 0;
+ task->data[6] = 1;
+ }
+ }
+ }
+
+ if (task->data[10])
+ task->data[10]--;
+ else if (task->data[6])
+ task->data[0]++;
+ break;
+ case 1:
+ if (++task->data[5] > 1)
+ {
+ task->data[5] = 0;
+ task->data[7]++;
+ if (task->data[7] & 1)
+ {
+ if (task->data[8])
+ task->data[8]--;
+ }
+ else
+ {
+ if (task->data[9] < 16)
+ task->data[9]++;
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[8], task->data[9]));
+ if (task->data[8] == 0 && task->data[9] == 16)
+ {
+ for (i = 0; i < task->data[12]; i++)
+ DestroySprite(&gSprites[task->data[i + 13]]);
+
+ task->data[0]++;
+ }
+ }
+ break;
+ case 2:
+ if (++task->data[5] > 0)
+ task->data[0]++;
+ break;
+ case 3:
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+void sub_8112758(u8 taskId)
+{
+ s16 startX, startY;
+ s16 leftDistance, topDistance, bottomDistance, rightDistance;
+
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, ((WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR) |
+ (WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR)));
+ SetGpuReg(REG_OFFSET_WINOUT, ((WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ) |
+ (WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR)));
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_DARKEN));
+ SetGpuReg(REG_OFFSET_BLDY, 0x10);
+
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER || IsContest())
+ startX = 40;
+ else
+ startX = 200;
+
+ gBattle_WIN0H = (startX << 8) | startX;
+ startY = 40;
+ gBattle_WIN0V = (startY << 8) | startY;
+
+ leftDistance = startX;
+ rightDistance = 240 - startX;
+ topDistance = startY;
+ bottomDistance = 72;
+ gTasks[taskId].data[1] = leftDistance;
+ gTasks[taskId].data[2] = rightDistance;
+ gTasks[taskId].data[3] = topDistance;
+ gTasks[taskId].data[4] = bottomDistance;
+ gTasks[taskId].data[5] = startX;
+ gTasks[taskId].data[6] = startY;
+ gTasks[taskId].func = sub_811280C;
+}
+
+static void sub_811280C(u8 taskId)
+{
+ s16 step;
+ s16 leftDistance, rightDistance, topDistance, bottomDistance;
+ s16 startX, startY;
+ u16 left, right, top, bottom;
+ u16 selectedPalettes;
+
+ step = gTasks[taskId].data[0];
+ gTasks[taskId].data[0]++;
+ leftDistance = gTasks[taskId].data[1];
+ rightDistance = gTasks[taskId].data[2];
+ topDistance = gTasks[taskId].data[3];
+ bottomDistance = gTasks[taskId].data[4];
+ startX = gTasks[taskId].data[5];
+ startY = gTasks[taskId].data[6];
+
+ if (step < 16)
+ {
+ left = startX - (leftDistance * 0.0625) * step;
+ right = startX + (rightDistance * 0.0625) * step;
+ top = startY - (topDistance * 0.0625) * step;
+ bottom = startY + (bottomDistance * 0.0625) * step;
+ }
+ else
+ {
+ left = 0;
+ right = 240;
+ top = 0;
+ bottom = 112;
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+ BeginNormalPaletteFade(selectedPalettes, 0, 16, 16, RGB(0, 0, 0));
+ gTasks[taskId].func = sub_8112994;
+ }
+
+ gBattle_WIN0H = (left << 8) | right;
+ gBattle_WIN0V = (top << 8) | bottom;
+}
+
+static void sub_8112994(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ SetGpuReg(REG_OFFSET_WININ, ((WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR) |
+ (WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR)));
+ SetGpuReg(REG_OFFSET_WINOUT, ((WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR) |
+ (WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR)));
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 0);
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+static void sub_81129F0(struct Sprite *sprite)
+{
+ s16 xDelta;
+ s16 xDelta2;
+
+ InitAnimSpritePos(sprite, 1);
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ {
+ xDelta = 24;
+ xDelta2 = -2;
+ sprite->oam.matrixNum = 8;
+ }
+ else
+ {
+ xDelta = -24;
+ xDelta2 = 2;
+ }
+
+ sprite->pos1.x += xDelta;
+ sprite->data[1] = xDelta2;
+ sprite->data[0] = 60;
+ sprite->callback = sub_8112A4C;
+}
+
+static void sub_8112A4C(struct Sprite *sprite)
+{
+ u16 var0;
+
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ }
+ else
+ {
+ sprite->pos2.x += sprite->data[1];
+ var0 = sprite->pos2.x + 7;
+ if (var0 > 14)
+ {
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos2.x = 0;
+ sprite->oam.tileNum += 8;
+ if (++sprite->data[2] == 3)
+ {
+ sprite->data[0] = 30;
+ sprite->callback = WaitAnimForDuration;
+ StoreSpriteCallbackInData6(sprite, sub_8112ACC);
+ }
+ else
+ {
+ sprite->data[0] = 40;
+ }
+ }
+ }
+}
+
+static void sub_8112ACC(struct Sprite *sprite)
+{
+ if (sprite->data[0] == 0)
+ {
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0x10, 0));
+ sprite->data[0]++;
+ sprite->data[1] = 0;
+ sprite->data[2] = 0;
+ }
+ else if (sprite->data[1] < 2)
+ {
+ sprite->data[1]++;
+ }
+ else
+ {
+ sprite->data[1] = 0;
+ sprite->data[2]++;
+ SetGpuReg(REG_OFFSET_BLDALPHA, (16 - sprite->data[2]) | (sprite->data[2] << 8));
+ if (sprite->data[2] == 16)
+ {
+ sprite->invisible = 1;
+ sprite->callback = sub_8112B44;
+ }
+ }
+}
+
+static void sub_8112B44(struct Sprite *sprite)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ gBattle_WIN0H = 0;
+ gBattle_WIN0V = 0;
+ DestroyAnimSprite(sprite);
+}
+
+static void sub_8112B78(struct Sprite *sprite)
+{
+ u16 coeffB;
+ u16 coeffA;
+
+ sprite->pos2.x = Sin(sprite->data[0], 12);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ sprite->pos2.x = -sprite->pos2.x;
+
+ sprite->data[0] = (sprite->data[0] + 6) & 0xFF;
+ sprite->data[1] += 0x100;
+ sprite->pos2.y = -(sprite->data[1] >> 8);
+
+ sprite->data[7]++;
+ if (sprite->data[7] == 1)
+ {
+ sprite->data[6] = 0x050B;
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
+ SetGpuReg(REG_OFFSET_BLDALPHA, sprite->data[6]);
+ }
+ else if (sprite->data[7] > 30)
+ {
+ sprite->data[2]++;
+ coeffB = sprite->data[6] >> 8;
+ coeffA = sprite->data[6] & 0xFF;
+
+ if (++coeffB > 16)
+ coeffB = 16;
+ if (--(s16)coeffA < 0)
+ coeffA = 0;
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(coeffA, coeffB));
+ sprite->data[6] = BLDALPHA_BLEND(coeffA, coeffB);
+ if (coeffB == 16 && coeffA == 0)
+ {
+ sprite->invisible = 1;
+ sprite->callback = sub_8112C4C;
+ }
+ }
+}
+
+static void sub_8112C4C(struct Sprite *sprite)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimSprite(sprite);
+}
+
+void sub_8112C6C(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[0] = 0;
+ task->data[1] = 16;
+ task->data[9] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ task->data[10] = GetBattlerYCoordWithElevation(gBattleAnimAttacker);
+ task->data[11] = (sub_80A861C(gBattleAnimAttacker, 1) / 2) + 8;
+ task->data[7] = 0;
+ task->data[5] = sub_80A8328(gBattleAnimAttacker);
+ task->data[6] = sub_80A82E4(gBattleAnimAttacker) - 2;
+ task->data[3] = 0;
+ task->data[4] = 16;
+ SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10));
+ task->data[8] = 0;
+ task->func = sub_8112D10;
+}
+
+static void sub_8112D10(u8 taskId)
+{
+ u16 i;
+ u8 spriteId;
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ for (i = 0; i < 6; i++)
+ {
+ spriteId = CreateSprite(&gUnknown_08596E30, task->data[9], task->data[10], task->data[6]);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = taskId;
+ gSprites[spriteId].data[1] = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER;
+
+ gSprites[spriteId].data[2] = (i * 42) & 0xFF;
+ gSprites[spriteId].data[3] = task->data[11];
+ gSprites[spriteId].data[5] = i * 6;
+ task->data[7]++;
+ }
+ }
+
+ task->data[0]++;
+ break;
+ case 1:
+ if (++task->data[1] & 1)
+ {
+ if (task->data[3] < 14)
+ task->data[3]++;
+ }
+ else
+ {
+ if (task->data[4] > 4)
+ task->data[4]--;
+ }
+
+ if (task->data[3] == 14 && task->data[4] == 4)
+ {
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4]));
+ break;
+ case 2:
+ if (++task->data[1] > 30)
+ {
+ task->data[1] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 3:
+ if (++task->data[1] & 1)
+ {
+ if (task->data[3] > 0)
+ task->data[3]--;
+ }
+ else
+ {
+ if (task->data[4] < 16)
+ task->data[4]++;
+ }
+
+ if (task->data[3] == 0 && task->data[4] == 16)
+ {
+ task->data[8] = 1;
+ task->data[0]++;
+ }
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(task->data[3], task->data[4]));
+ break;
+ case 4:
+ if (task->data[7] == 0)
+ task->data[0]++;
+ break;
+ case 5:
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ DestroyAnimVisualTask(taskId);
+ break;
+ }
+}
+
+static void sub_8112E9C(struct Sprite *sprite)
+{
+ u16 index;
+
+ if (sprite->data[1] == 0)
+ sprite->data[2] += 2;
+ else
+ sprite->data[2] -= 2;
+
+ sprite->data[2] &= 0xFF;
+ sprite->pos2.x = Sin(sprite->data[2], sprite->data[3]);
+
+ index = sprite->data[2] - 65;
+ if (index < 127)
+ sprite->oam.priority = gTasks[sprite->data[0]].data[5] + 1;
+ else
+ sprite->oam.priority = gTasks[sprite->data[0]].data[5];
+
+ sprite->data[5]++;
+ sprite->data[6] = (sprite->data[5] * 8) & 0xFF;
+ sprite->pos2.y = Sin(sprite->data[6], 7);
+ if (gTasks[sprite->data[0]].data[8])
+ {
+ gTasks[sprite->data[0]].data[7]--;
+ DestroySprite(sprite);
+ }
+}
+
+static void sub_8112F60(struct Sprite *sprite)
+{
+ sprite->invisible = 1;
+ sprite->data[5] = gBattlerSpriteIds[gBattleAnimAttacker];
+ sprite->data[0] = 128;
+ sprite->data[1] = 10;
+ sprite->data[2] = gBattleAnimArgs[0];
+ sprite->data[3] = gBattleAnimArgs[1];
+ sprite->callback = sub_8112FB8;
+
+ gSprites[sprite->data[5]].pos1.y += 8;
+}
+
+static void sub_8112FB8(struct Sprite *sprite)
+{
+ if (sprite->data[3])
+ {
+ sprite->data[3]--;
+ gSprites[sprite->data[5]].pos2.x = Sin(sprite->data[0], sprite->data[1]);
+ gSprites[sprite->data[5]].pos2.y = Cos(sprite->data[0], sprite->data[1]);
+ sprite->data[0] += sprite->data[2];
+ if (sprite->data[0] > 255)
+ sprite->data[0] -= 256;
+ }
+ else
+ {
+ gSprites[sprite->data[5]].pos2.x = 0;
+ gSprites[sprite->data[5]].pos2.y = 0;
+ gSprites[sprite->data[5]].pos1.y -= 8;
+ sprite->callback = move_anim_8074EE0;
+ }
+}
diff --git a/src/gpu_regs.c b/src/gpu_regs.c
index 805f23b48..2d48b304a 100644
--- a/src/gpu_regs.c
+++ b/src/gpu_regs.c
@@ -20,166 +20,166 @@ static void UpdateRegDispstatIntrBits(u16 regIE);
void InitGpuRegManager(void)
{
- s32 i;
+ s32 i;
- for (i = 0; i < GPU_REG_BUF_SIZE; i++)
+ for (i = 0; i < GPU_REG_BUF_SIZE; i++)
{
- sGpuRegBuffer[i] = 0;
- sGpuRegWaitingList[i] = EMPTY_SLOT;
- }
+ sGpuRegBuffer[i] = 0;
+ sGpuRegWaitingList[i] = EMPTY_SLOT;
+ }
- sGpuRegBufferLocked = FALSE;
- sShouldSyncRegIE = FALSE;
- sRegIE = 0;
+ sGpuRegBufferLocked = FALSE;
+ sShouldSyncRegIE = FALSE;
+ sRegIE = 0;
}
static void CopyBufferedValueToGpuReg(u8 regOffset)
{
- if (regOffset == REG_OFFSET_DISPSTAT)
+ if (regOffset == REG_OFFSET_DISPSTAT)
{
- REG_DISPSTAT &= ~(DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
- REG_DISPSTAT |= GPU_REG_BUF(REG_OFFSET_DISPSTAT);
- }
- else
+ REG_DISPSTAT &= ~(DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
+ REG_DISPSTAT |= GPU_REG_BUF(REG_OFFSET_DISPSTAT);
+ }
+ else
{
- GPU_REG(regOffset) = GPU_REG_BUF(regOffset);
- }
+ GPU_REG(regOffset) = GPU_REG_BUF(regOffset);
+ }
}
void CopyBufferedValuesToGpuRegs(void)
{
- if (!sGpuRegBufferLocked)
+ if (!sGpuRegBufferLocked)
{
- s32 i;
+ s32 i;
- for (i = 0; i < GPU_REG_BUF_SIZE; i++)
+ for (i = 0; i < GPU_REG_BUF_SIZE; i++)
{
- u8 regOffset = sGpuRegWaitingList[i];
- if (regOffset == EMPTY_SLOT)
- return;
- CopyBufferedValueToGpuReg(regOffset);
- sGpuRegWaitingList[i] = EMPTY_SLOT;
- }
- }
+ u8 regOffset = sGpuRegWaitingList[i];
+ if (regOffset == EMPTY_SLOT)
+ return;
+ CopyBufferedValueToGpuReg(regOffset);
+ sGpuRegWaitingList[i] = EMPTY_SLOT;
+ }
+ }
}
void SetGpuReg(u8 regOffset, u16 value)
{
- if (regOffset < GPU_REG_BUF_SIZE)
- {
- u16 vcount;
-
- GPU_REG_BUF(regOffset) = value;
- vcount = REG_VCOUNT & 0xFF;
-
- if ((vcount >= 161 && vcount <= 225)
- || (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {
- CopyBufferedValueToGpuReg(regOffset);
- } else {
- s32 i;
-
- sGpuRegBufferLocked = TRUE;
-
- for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
- if (sGpuRegWaitingList[i] == regOffset) {
- sGpuRegBufferLocked = FALSE;
- return;
- }
- }
-
- sGpuRegWaitingList[i] = regOffset;
- sGpuRegBufferLocked = FALSE;
- }
- }
+ if (regOffset < GPU_REG_BUF_SIZE)
+ {
+ u16 vcount;
+
+ GPU_REG_BUF(regOffset) = value;
+ vcount = REG_VCOUNT & 0xFF;
+
+ if ((vcount >= 161 && vcount <= 225)
+ || (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {
+ CopyBufferedValueToGpuReg(regOffset);
+ } else {
+ s32 i;
+
+ sGpuRegBufferLocked = TRUE;
+
+ for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
+ if (sGpuRegWaitingList[i] == regOffset) {
+ sGpuRegBufferLocked = FALSE;
+ return;
+ }
+ }
+
+ sGpuRegWaitingList[i] = regOffset;
+ sGpuRegBufferLocked = FALSE;
+ }
+ }
}
void SetGpuReg_ForcedBlank(u8 regOffset, u16 value)
{
- if (regOffset < GPU_REG_BUF_SIZE)
- {
- GPU_REG_BUF(regOffset) = value;
-
- if (REG_DISPCNT & DISPCNT_FORCED_BLANK) {
- CopyBufferedValueToGpuReg(regOffset);
- } else {
- s32 i;
-
- sGpuRegBufferLocked = TRUE;
-
- for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
- if (sGpuRegWaitingList[i] == regOffset) {
- sGpuRegBufferLocked = FALSE;
- return;
- }
- }
-
- sGpuRegWaitingList[i] = regOffset;
- sGpuRegBufferLocked = FALSE;
- }
- }
+ if (regOffset < GPU_REG_BUF_SIZE)
+ {
+ GPU_REG_BUF(regOffset) = value;
+
+ if (REG_DISPCNT & DISPCNT_FORCED_BLANK) {
+ CopyBufferedValueToGpuReg(regOffset);
+ } else {
+ s32 i;
+
+ sGpuRegBufferLocked = TRUE;
+
+ for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
+ if (sGpuRegWaitingList[i] == regOffset) {
+ sGpuRegBufferLocked = FALSE;
+ return;
+ }
+ }
+
+ sGpuRegWaitingList[i] = regOffset;
+ sGpuRegBufferLocked = FALSE;
+ }
+ }
}
u16 GetGpuReg(u8 regOffset)
{
- if (regOffset == REG_OFFSET_DISPSTAT)
- return REG_DISPSTAT;
+ if (regOffset == REG_OFFSET_DISPSTAT)
+ return REG_DISPSTAT;
- if (regOffset == REG_OFFSET_VCOUNT)
- return REG_VCOUNT;
+ if (regOffset == REG_OFFSET_VCOUNT)
+ return REG_VCOUNT;
- return GPU_REG_BUF(regOffset);
+ return GPU_REG_BUF(regOffset);
}
void SetGpuRegBits(u8 regOffset, u16 mask)
{
- u16 regValue = GPU_REG_BUF(regOffset);
- SetGpuReg(regOffset, regValue | mask);
+ u16 regValue = GPU_REG_BUF(regOffset);
+ SetGpuReg(regOffset, regValue | mask);
}
void ClearGpuRegBits(u8 regOffset, u16 mask)
{
- u16 regValue = GPU_REG_BUF(regOffset);
- SetGpuReg(regOffset, regValue & ~mask);
+ u16 regValue = GPU_REG_BUF(regOffset);
+ SetGpuReg(regOffset, regValue & ~mask);
}
static void SyncRegIE(void)
{
- if (sShouldSyncRegIE) {
- u16 temp = REG_IME;
- REG_IME = 0;
- REG_IE = sRegIE;
- REG_IME = temp;
- sShouldSyncRegIE = FALSE;
- }
+ if (sShouldSyncRegIE) {
+ u16 temp = REG_IME;
+ REG_IME = 0;
+ REG_IE = sRegIE;
+ REG_IME = temp;
+ sShouldSyncRegIE = FALSE;
+ }
}
void EnableInterrupts(u16 mask)
{
- sRegIE |= mask;
- sShouldSyncRegIE = TRUE;
- SyncRegIE();
- UpdateRegDispstatIntrBits(sRegIE);
+ sRegIE |= mask;
+ sShouldSyncRegIE = TRUE;
+ SyncRegIE();
+ UpdateRegDispstatIntrBits(sRegIE);
}
void DisableInterrupts(u16 mask)
{
- sRegIE &= ~mask;
- sShouldSyncRegIE = TRUE;
- SyncRegIE();
- UpdateRegDispstatIntrBits(sRegIE);
+ sRegIE &= ~mask;
+ sShouldSyncRegIE = TRUE;
+ SyncRegIE();
+ UpdateRegDispstatIntrBits(sRegIE);
}
static void UpdateRegDispstatIntrBits(u16 regIE)
{
- u16 oldValue = GetGpuReg(REG_OFFSET_DISPSTAT) & (DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
- u16 newValue = 0;
+ u16 oldValue = GetGpuReg(REG_OFFSET_DISPSTAT) & (DISPSTAT_HBLANK_INTR | DISPSTAT_VBLANK_INTR);
+ u16 newValue = 0;
- if (regIE & INTR_FLAG_VBLANK)
- newValue |= DISPSTAT_VBLANK_INTR;
+ if (regIE & INTR_FLAG_VBLANK)
+ newValue |= DISPSTAT_VBLANK_INTR;
- if (regIE & INTR_FLAG_HBLANK)
- newValue |= DISPSTAT_HBLANK_INTR;
+ if (regIE & INTR_FLAG_HBLANK)
+ newValue |= DISPSTAT_HBLANK_INTR;
- if (oldValue != newValue)
- SetGpuReg(REG_OFFSET_DISPSTAT, newValue);
+ if (oldValue != newValue)
+ SetGpuReg(REG_OFFSET_DISPSTAT, newValue);
}
diff --git a/src/graphics.c b/src/graphics.c
index 2a21b610a..b2de074bc 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1279,15 +1279,15 @@ const u32 gPokedexMenu2_Gfx[] = INCBIN_U32("graphics/pokedex/menu2.4bpp.lz");
const u32 gUnused_PokedexNoBall[] = INCBIN_U32("graphics/pokedex/noball_unused.4bpp.lz");
-const u32 gUnknown_08DC2A08[] = INCBIN_U32("graphics/pokedex/tilemap1.bin.lz");
-const u32 gUnknown_08DC2B1C[] = INCBIN_U32("graphics/pokedex/tilemap2.bin.lz");
-const u32 gUnknown_08DC2C5C[] = INCBIN_U32("graphics/pokedex/tilemap3.bin.lz");
-const u32 gUnknown_08DC2DAC[] = INCBIN_U32("graphics/pokedex/tilemap4.bin.lz");
-const u32 gUnknown_08DC2E6C[] = INCBIN_U32("graphics/pokedex/tilemap5.bin.lz");
-const u32 gUnknown_08DC2F5C[] = INCBIN_U32("graphics/pokedex/tilemap6.bin.lz");
-const u32 gUnknown_08DC2FEC[] = INCBIN_U32("graphics/pokedex/tilemap7.bin.lz");
-const u32 gUnknown_08DC3080[] = INCBIN_U32("graphics/pokedex/tilemap8.bin.lz");
-const u32 gUnknown_08DC3198[] = INCBIN_U32("graphics/pokedex/tilemap9.bin.lz");
+const u32 gPokedexTilemap_StartMenu1[] = INCBIN_U32("graphics/pokedex/tilemap1.bin.lz");
+const u32 gPokedexTilemap_StartMenu2[] = INCBIN_U32("graphics/pokedex/tilemap2.bin.lz");
+const u32 gPokedexTilemap_Main[] = INCBIN_U32("graphics/pokedex/tilemap3.bin.lz");
+const u32 gPokedexTilemap_MainUnderlay[] = INCBIN_U32("graphics/pokedex/tilemap4.bin.lz");
+const u32 gPokedexTilemap_SizeScreen[] = INCBIN_U32("graphics/pokedex/tilemap5.bin.lz");
+const u32 gPokedexTilemap_ScreenSelectBar1[] = INCBIN_U32("graphics/pokedex/tilemap6.bin.lz");
+const u32 gPokedexTilemap_ScreenSelectBar2[] = INCBIN_U32("graphics/pokedex/tilemap7.bin.lz");
+const u32 gPokedexTilemap_DescriptionScreen[] = INCBIN_U32("graphics/pokedex/tilemap8.bin.lz");
+const u32 gPokedexTilemap_CryScreen[] = INCBIN_U32("graphics/pokedex/tilemap9.bin.lz");
const u16 gPokedexSearchMenu_Pal[] = INCBIN_U16("graphics/pokedex/search_menu.gbapal");
const u32 gPokedexSearchMenu_Gfx[] = INCBIN_U32("graphics/pokedex/search_menu.4bpp.lz");
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index 315990256..ad5673036 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -6,7 +6,7 @@
#include "pokemon.h"
#include "text.h"
#include "text_window.h"
-#include "malloc.h"
+#include "alloc.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "main.h"
diff --git a/src/international_string_util.c b/src/international_string_util.c
index 9de338c59..a7c42c39e 100644
--- a/src/international_string_util.c
+++ b/src/international_string_util.c
@@ -1,40 +1,46 @@
#include "global.h"
-#include "text.h"
#include "international_string_util.h"
+#include "list_menu.h"
+#include "pokedex.h"
+#include "script_menu.h"
+#include "string_util.h"
+#include "strings.h"
+#include "text.h"
+#include "window.h"
-extern s32 convert_pixel_width_to_tile_width(s32 a0); // script menu
+extern const struct PokedexEntry gPokedexEntries[];
-s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth)
+int GetStringCenterAlignXOffset(int fontId, const u8 *str, int totalWidth)
{
return GetStringCenterAlignXOffsetWithLetterSpacing(fontId, str, totalWidth, 0);
}
-s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth)
+int GetStringRightAlignXOffset(int fontId, const u8 *str, int totalWidth)
{
return GetStringWidthDifference(fontId, str, totalWidth, 0);
}
-s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing)
+int GetStringCenterAlignXOffsetWithLetterSpacing(int fontId, const u8 *str, int totalWidth, int letterSpacing)
{
return GetStringWidthDifference(fontId, str, totalWidth, letterSpacing) / 2;
}
-s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing)
+int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int letterSpacing)
{
- s32 stringWidth = GetStringWidth(fontId, str, letterSpacing);
+ int stringWidth = GetStringWidth(fontId, str, letterSpacing);
if (totalWidth > stringWidth)
return totalWidth - stringWidth;
else
return 0;
}
-s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1)
+int GetMaxWidthInMenuTable(const struct MenuAction *str, int arg1)
{
- s32 i, var;
+ int i, var;
for (var = 0, i = 0; i < arg1; i++)
{
- s32 stringWidth = GetStringWidth(1, str[i].text, 0);
+ int stringWidth = GetStringWidth(1, str[i].text, 0);
if (stringWidth > var)
var = stringWidth;
}
@@ -42,16 +48,192 @@ s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1)
return convert_pixel_width_to_tile_width(var);
}
-s32 sub_81DB3D8(const struct MenuAction *str, const u8* arg1, s32 arg2)
+int sub_81DB3D8(const struct MenuAction *str, const u8* arg1, int arg2)
{
- s32 i, var;
+ int i, var;
for (var = 0, i = 0; i < arg2; i++)
{
- s32 stringWidth = GetStringWidth(1, str[arg1[i]].text, 0);
+ int stringWidth = GetStringWidth(1, str[arg1[i]].text, 0);
if (stringWidth > var)
var = stringWidth;
}
return convert_pixel_width_to_tile_width(var);
}
+
+int sub_81DB41C(const struct ListMenuTemplate *listMenu)
+{
+ int i, maxWidth, finalWidth;
+ const struct ListMenuItem *items = listMenu->items;
+
+ maxWidth = 0;
+ for (i = 0; i < listMenu->totalItems; i++)
+ {
+ int width = GetStringWidth(listMenu->fontId, items[i].name, 0);
+ if (width > maxWidth)
+ maxWidth = width;
+ }
+
+ finalWidth = maxWidth + listMenu->item_X + 9;
+ if (finalWidth < 0)
+ finalWidth += 7;
+
+ finalWidth >>= 3;
+ if (finalWidth > 28)
+ finalWidth = 28;
+
+ return finalWidth;
+}
+
+void CopyMonCategoryText(int dexNum, u8 *dest)
+{
+ u8 *str = StringCopy(dest, gPokedexEntries[dexNum].categoryName);
+ *str = CHAR_SPACE;
+ StringCopy(str + 1, gText_Pokemon);
+}
+
+u8 *sub_81DB494(u8 *str, int fontId, u8 *str2, int totalStringWidth)
+{
+ u8 *buffer;
+ int width;
+ int clearWidth;
+
+ if (str2)
+ {
+ buffer = StringCopy(str, str2);
+ width = GetStringWidth(fontId, str2, 0);
+ }
+ else
+ {
+ buffer = str;
+ width = 0;
+ }
+
+ clearWidth = totalStringWidth - width;
+ if (clearWidth > 0)
+ {
+ *buffer = EXT_CTRL_CODE_BEGIN;
+ buffer++;
+ *buffer = EXT_CTRL_CODE_CLEAR;
+ buffer++;
+ *buffer = clearWidth;
+ buffer++;
+ *buffer = EOS;
+ }
+
+ return buffer;
+}
+
+void PadNameString(u8 *dest, u8 padChar)
+{
+ u8 length;
+
+ StripExtCtrlCodes(dest);
+ length = StringLength(dest);
+ if (padChar == EXT_CTRL_CODE_BEGIN)
+ {
+ while (length < PLAYER_NAME_LENGTH - 1)
+ {
+ dest[length] = EXT_CTRL_CODE_BEGIN;
+ dest[length + 1] = EXT_CTRL_CODE_UNKNOWN_7;
+ length += 2;
+ }
+ }
+ else
+ {
+ while (length < PLAYER_NAME_LENGTH - 1)
+ {
+ dest[length] = padChar;
+ length++;
+ }
+ }
+
+ dest[length] = EOS;
+}
+
+void sub_81DB52C(u8 *str)
+{
+ if (StringLength(str) < PLAYER_NAME_LENGTH - 1)
+ ConvertInternationalString(str, LANGUAGE_JAPANESE);
+ else
+ StripExtCtrlCodes(str);
+}
+
+void sub_81DB554(u8 *str, u8 arg1)
+{
+ u8 *buffer;
+ if (StringLength(str) < PLAYER_NAME_LENGTH - 1)
+ {
+ ConvertInternationalString(str, LANGUAGE_JAPANESE);
+ }
+ else if (arg1 == EXT_CTRL_CODE_BEGIN)
+ {
+ StripExtCtrlCodes(str);
+ }
+ else
+ {
+ buffer = str;
+ while (buffer[1] != EOS)
+ buffer++;
+
+ while (buffer >= str && buffer[0] == arg1)
+ {
+ buffer[0] = EOS;
+ buffer--;
+ }
+ }
+}
+
+void sub_81DB5AC(u8 *str)
+{
+ if (*str++ == EXT_CTRL_CODE_BEGIN && *str++ == EXT_CTRL_CODE_JPN)
+ {
+ while (*str != EOS)
+ {
+ if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_ENG)
+ return;
+
+ str++;
+ }
+
+ *str++ = EXT_CTRL_CODE_BEGIN;
+ *str++ = EXT_CTRL_CODE_ENG;
+ *str = EOS;
+ }
+}
+
+void TVShowConvertInternationalString(u8 *dest, const u8 *src, int language)
+{
+ StringCopy(dest, src);
+ ConvertInternationalString(dest, language);
+}
+
+int sub_81DB604(u8 *str)
+{
+ if (str[0] == EXT_CTRL_CODE_BEGIN && str[1] == EXT_CTRL_CODE_JPN)
+ return LANGUAGE_JAPANESE;
+ else
+ return LANGUAGE_ENGLISH;
+}
+
+void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows)
+{
+ u8 *windowTileData;
+ int fillSize, windowRowSize, rowsToFill;
+ struct Window *window = &gWindows[windowId];
+
+ fillSize = numFillTiles * TILE_SIZE_4BPP;
+ windowRowSize = window->window.width * TILE_SIZE_4BPP;
+ windowTileData = window->tileData + (rowStart * windowRowSize) + (columnStart * TILE_SIZE_4BPP);
+ if (numRows > 0)
+ {
+ rowsToFill = numRows;
+ while (rowsToFill)
+ {
+ CpuFastFill8(0x11, windowTileData, fillSize);
+ windowTileData += windowRowSize;
+ rowsToFill--;
+ }
+ }
+}
diff --git a/src/intro.c b/src/intro.c
index 5a0e13869..94692e6ec 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -5,7 +5,7 @@
#include "task.h"
#include "title_screen.h"
#include "libgcnmultiboot.h"
-#include "malloc.h"
+#include "alloc.h"
#include "gpu_regs.h"
#include "link.h"
#include "multiboot_pokemon_colosseum.h"
@@ -62,10 +62,10 @@ static const u32 gIntro3MiscTiles[] = INCBIN_U32("graphics/intro/intro3_misc.4bp
static const u16 gIntro1FlygonPalette[] = INCBIN_U16("graphics/intro/intro1_flygon.gbapal");
static const u32 gIntro1EonTiles_Unused[] = INCBIN_U32("graphics/intro/intro1_eon.4bpp.lz");
static const u8 sUnknownBytes[] = {
- 0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x01, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x02, 0x0D,
+ 0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x01, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x02, 0x0D,
0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x02, 0x0D, 0x0E, 0x0F,
0x10, 0x11, 0x12, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x02, 0x0D, 0x0E, 0x0F, 0x10,
- 0x11, 0x12, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x00
+ 0x11, 0x12, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x00
};
static const struct CompressedSpriteSheet gUnknown_085E4A74[] =
{
diff --git a/src/item.c b/src/item.c
index b2c009be6..71c2dc0f7 100644
--- a/src/item.c
+++ b/src/item.c
@@ -1,20 +1,21 @@
#include "global.h"
#include "item.h"
#include "berry.h"
-#include "constants/items.h"
#include "string_util.h"
#include "text.h"
#include "event_data.h"
-#include "malloc.h"
+#include "alloc.h"
#include "secret_base.h"
#include "item_menu.h"
#include "strings.h"
#include "load_save.h"
+#include "item_use.h"
#include "battle_pyramid.h"
#include "battle_pyramid_bag.h"
+#include "constants/items.h"
+#include "constants/hold_effects.h"
extern u16 gUnknown_0203CF30[];
-extern const struct Item gItems[];
// this file's functions
static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count);
@@ -23,6 +24,10 @@ static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count);
// EWRAM variables
EWRAM_DATA struct BagPocket gBagPockets[POCKETS_COUNT] = {0};
+// rodata
+#include "data/text/item_descriptions.h"
+#include "data/items.h"
+
// code
static u16 GetBagItemQuantity(u16 *quantity)
{
@@ -239,152 +244,152 @@ NAKED
bool8 CheckBagHasSpace(u16 itemId, u16 count)
{
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, 16\n\
- lsrs r0, 16\n\
- mov r8, r0\n\
- lsls r1, 16\n\
- lsrs r5, r1, 16\n\
- bl ItemId_GetPocket\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- beq _080D6906\n\
- bl InBattlePyramid\n\
- lsls r0, 24\n\
- cmp r0, 0\n\
- bne _080D6838\n\
- ldr r0, =0x00004004\n\
- bl FlagGet\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0x1\n\
- bne _080D684C\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x4\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ mov r8, r0\n\
+ lsls r1, 16\n\
+ lsrs r5, r1, 16\n\
+ bl ItemId_GetPocket\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080D6906\n\
+ bl InBattlePyramid\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080D6838\n\
+ ldr r0, =0x00004004\n\
+ bl FlagGet\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0x1\n\
+ bne _080D684C\n\
_080D6838:\n\
- mov r0, r8\n\
- adds r1, r5, 0\n\
- bl CheckPyramidBagHasSpace\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- b _080D6916\n\
- .pool\n\
+ mov r0, r8\n\
+ adds r1, r5, 0\n\
+ bl CheckPyramidBagHasSpace\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ b _080D6916\n\
+ .pool\n\
_080D684C:\n\
- mov r0, r8\n\
- bl ItemId_GetPocket\n\
- subs r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- ldr r7, =0x000003e7\n\
- cmp r2, 0x3\n\
- beq _080D6860\n\
- movs r7, 0x63\n\
+ mov r0, r8\n\
+ bl ItemId_GetPocket\n\
+ subs r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ ldr r7, =0x000003e7\n\
+ cmp r2, 0x3\n\
+ beq _080D6860\n\
+ movs r7, 0x63\n\
_080D6860:\n\
- movs r6, 0\n\
- ldr r1, =gBagPockets\n\
- lsls r4, r2, 3\n\
- adds r0, r4, r1\n\
- mov r9, r4\n\
- ldrb r0, [r0, 0x4]\n\
- cmp r6, r0\n\
- bcs _080D68BC\n\
- subs r0, r2, 0x2\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r10, r0\n\
+ movs r6, 0\n\
+ ldr r1, =gBagPockets\n\
+ lsls r4, r2, 3\n\
+ adds r0, r4, r1\n\
+ mov r9, r4\n\
+ ldrb r0, [r0, 0x4]\n\
+ cmp r6, r0\n\
+ bcs _080D68BC\n\
+ subs r0, r2, 0x2\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r10, r0\n\
_080D6878:\n\
- adds r0, r4, r1\n\
- ldr r1, [r0]\n\
- lsls r0, r6, 2\n\
- adds r1, r0, r1\n\
- ldrh r0, [r1]\n\
- cmp r0, r8\n\
- bne _080D68AC\n\
- adds r0, r1, 0x2\n\
- str r2, [sp]\n\
- bl GetBagItemQuantity\n\
- lsls r0, 16\n\
- lsrs r1, r0, 16\n\
- adds r0, r1, r5\n\
- ldr r2, [sp]\n\
- cmp r0, r7\n\
- ble _080D6914\n\
- mov r0, r10\n\
- cmp r0, 0x1\n\
- bls _080D6906\n\
- subs r0, r7, r1\n\
- subs r0, r5, r0\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
- cmp r5, 0\n\
- beq _080D6914\n\
+ adds r0, r4, r1\n\
+ ldr r1, [r0]\n\
+ lsls r0, r6, 2\n\
+ adds r1, r0, r1\n\
+ ldrh r0, [r1]\n\
+ cmp r0, r8\n\
+ bne _080D68AC\n\
+ adds r0, r1, 0x2\n\
+ str r2, [sp]\n\
+ bl GetBagItemQuantity\n\
+ lsls r0, 16\n\
+ lsrs r1, r0, 16\n\
+ adds r0, r1, r5\n\
+ ldr r2, [sp]\n\
+ cmp r0, r7\n\
+ ble _080D6914\n\
+ mov r0, r10\n\
+ cmp r0, 0x1\n\
+ bls _080D6906\n\
+ subs r0, r7, r1\n\
+ subs r0, r5, r0\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
+ cmp r5, 0\n\
+ beq _080D6914\n\
_080D68AC:\n\
- adds r0, r6, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- ldr r1, =gBagPockets\n\
- adds r0, r4, r1\n\
- ldrb r0, [r0, 0x4]\n\
- cmp r6, r0\n\
- bcc _080D6878\n\
+ adds r0, r6, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ ldr r1, =gBagPockets\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0, 0x4]\n\
+ cmp r6, r0\n\
+ bcc _080D6878\n\
_080D68BC:\n\
- cmp r5, 0\n\
- beq _080D6914\n\
- movs r6, 0\n\
- ldr r3, =gBagPockets\n\
- mov r1, r9\n\
- adds r0, r1, r3\n\
- ldrb r0, [r0, 0x4]\n\
- cmp r6, r0\n\
- bcs _080D6902\n\
- adds r4, r3, 0\n\
- subs r0, r2, 0x2\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
+ cmp r5, 0\n\
+ beq _080D6914\n\
+ movs r6, 0\n\
+ ldr r3, =gBagPockets\n\
+ mov r1, r9\n\
+ adds r0, r1, r3\n\
+ ldrb r0, [r0, 0x4]\n\
+ cmp r6, r0\n\
+ bcs _080D6902\n\
+ adds r4, r3, 0\n\
+ subs r0, r2, 0x2\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
_080D68D6:\n\
- adds r0, r1, r4\n\
- ldr r1, [r0]\n\
- lsls r0, r6, 2\n\
- adds r0, r1\n\
- ldrh r0, [r0]\n\
- cmp r0, 0\n\
- bne _080D68F2\n\
- cmp r5, r7\n\
- bls _080D6914\n\
- cmp r2, 0x1\n\
- bls _080D6906\n\
- subs r0, r5, r7\n\
- lsls r0, 16\n\
- lsrs r5, r0, 16\n\
+ adds r0, r1, r4\n\
+ ldr r1, [r0]\n\
+ lsls r0, r6, 2\n\
+ adds r0, r1\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0\n\
+ bne _080D68F2\n\
+ cmp r5, r7\n\
+ bls _080D6914\n\
+ cmp r2, 0x1\n\
+ bls _080D6906\n\
+ subs r0, r5, r7\n\
+ lsls r0, 16\n\
+ lsrs r5, r0, 16\n\
_080D68F2:\n\
- adds r0, r6, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- mov r1, r9\n\
- adds r0, r1, r3\n\
- ldrb r0, [r0, 0x4]\n\
- cmp r6, r0\n\
- bcc _080D68D6\n\
+ adds r0, r6, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ mov r1, r9\n\
+ adds r0, r1, r3\n\
+ ldrb r0, [r0, 0x4]\n\
+ cmp r6, r0\n\
+ bcc _080D68D6\n\
_080D6902:\n\
- cmp r5, 0\n\
- beq _080D6914\n\
+ cmp r5, 0\n\
+ beq _080D6914\n\
_080D6906:\n\
- movs r0, 0\n\
- b _080D6916\n\
- .pool\n\
+ movs r0, 0\n\
+ b _080D6916\n\
+ .pool\n\
_080D6914:\n\
- movs r0, 0x1\n\
+ movs r0, 0x1\n\
_080D6916:\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 {r1}\n\
- bx r1");
+ 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 {r1}\n\
+ bx r1");
}
#endif // NONMATCHING
@@ -538,7 +543,7 @@ bool8 RemoveBagItem(u16 itemId, u16 count)
VarSet(VAR_0x40ED, itemId);
}
- var = sub_81ABB2C(pocket);
+ var = GetItemListPosition(pocket);
if (itemPocket->capacity > var
&& itemPocket->itemSlots[var].itemId == itemId)
{
diff --git a/src/item_icon.c b/src/item_icon.c
index 68ec1daf0..d037782bd 100644
--- a/src/item_icon.c
+++ b/src/item_icon.c
@@ -1,16 +1,17 @@
#include "global.h"
+#include "decompress.h"
+#include "graphics.h"
#include "item_icon.h"
-#include "malloc.h"
+#include "alloc.h"
#include "sprite.h"
-#include "decompress.h"
#include "constants/items.h"
-#include "data/item_icon_table.h"
// EWRAM vars
EWRAM_DATA void *gItemIconDecompressionBuffer = NULL;
EWRAM_DATA void *gItemIcon4x4Buffer = NULL;
// const rom data
+#include "data/item_icon_table.h"
static const struct OamData sOamData_ItemIcon =
{
diff --git a/src/item_menu.c b/src/item_menu.c
index 1744a1bfa..32c42ac31 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -23,7 +23,7 @@
#include "link.h"
#include "mail.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "map_name_popup.h"
#include "menu.h"
#include "money.h"
@@ -57,7 +57,7 @@ bool8 load_bag_menu_graphics(void);
void setup_bag_menu_textboxes(void);
void allocate_bag_item_list_buffers(void);
void load_bag_item_list_buffers(u8);
-void bag_menu_print_pocket_names(u8*, u8*);
+void bag_menu_print_pocket_names(const u8*, const u8*);
void bag_menu_copy_pocket_name_to_window(u32);
void bag_menu_draw_pocket_indicator_square(u8, u8);
void bag_menu_add_pocket_scroll_arrow_indicators_maybe(void);
@@ -69,7 +69,6 @@ void Task_BagMenu(u8);
void get_name(s8*, u16);
u16 ItemIdToBattleMoveId(u16);
u16 BagGetItemIdByPocketPosition(u8, u16);
-void AddBagItemIconSprite(u16, u8);
void bag_menu_print_description_box_text(int);
void bag_menu_print_cursor(u8, u8);
void bag_menu_print(u8, u8, const u8*, u8, u8, u8, u8, u8, u8);
@@ -121,7 +120,7 @@ void bag_menu_leave_maybe_3(void);
void bag_menu_leave_maybe_2(void);
void bag_menu_leave_maybe(void);
void sub_81ABA6C(void);
-void sub_81ABAC4(void);
+static void SetPocketListPositions(void);
void sub_81ABAE0(void);
u8 sub_81AB1F0(u8);
void sub_81AC23C(u8);
@@ -151,7 +150,7 @@ void sub_81AD6FC(u8 taskId);
// .rodata
-const struct BgTemplate gUnknown_08613F90[3] =
+static const struct BgTemplate sBgTemplates_ItemMenu[3] =
{
{
.bg = 0,
@@ -182,7 +181,7 @@ const struct BgTemplate gUnknown_08613F90[3] =
},
};
-const struct ListMenuTemplate gUnknown_08613F9C =
+static const struct ListMenuTemplate sItemListMenu =
{
.items = NULL,
.moveCursorFunc = bag_menu_change_item_callback,
@@ -258,7 +257,8 @@ const struct ScrollArrowsTemplate gUnknown_08614094 = {SCROLL_ARROW_LEFT, 0x1C,
const u8 gUnknown_086140A4[] = INCBIN_U8("graphics/interface/select_button.4bpp");
-const u8 gUnknown_08614164[][3] = {
+static const u8 sFontColorTable[][3] = {
+// bgColor, textColor, shadowColor
{0, 1, 3},
{0, 1, 4},
{0, 3, 6},
@@ -268,7 +268,7 @@ const u8 gUnknown_08614164[][3] = {
const struct WindowTemplate gUnknown_08614174[] =
{
- {
+ { // Item names
.bg = 0,
.tilemapLeft = 14,
.tilemapTop = 2,
@@ -277,7 +277,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.paletteNum = 1,
.baseBlock = 0x27,
},
- {
+ { // Description
.bg = 0,
.tilemapLeft = 0,
.tilemapTop = 13,
@@ -286,7 +286,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.paletteNum = 1,
.baseBlock = 0x117,
},
- {
+ { // Pocket name
.bg = 0,
.tilemapLeft = 4,
.tilemapTop = 1,
@@ -295,7 +295,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.paletteNum = 1,
.baseBlock = 0x1A1,
},
- {
+ { // TM/HM info icons
.bg = 0,
.tilemapLeft = 1,
.tilemapTop = 13,
@@ -304,7 +304,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.paletteNum = 12,
.baseBlock = 0x16B,
},
- {
+ {// TM/HM info
.bg = 0,
.tilemapLeft = 7,
.tilemapTop = 13,
@@ -313,7 +313,7 @@ const struct WindowTemplate gUnknown_08614174[] =
.paletteNum = 12,
.baseBlock = 0x189,
},
- {
+ { // Field message box
.bg = 1,
.tilemapLeft = 2,
.tilemapTop = 15,
@@ -432,83 +432,81 @@ struct ListBuffer2 {
struct TempWallyStruct {
struct ItemSlot bagPocket_Items[30];
struct ItemSlot bagPocket_PokeBalls[16];
- u16 cursorPosition[5];
- u16 scrollPosition[5];
+ u16 cursorPosition[POCKETS_COUNT];
+ u16 scrollPosition[POCKETS_COUNT];
u8 filler[0x2];
u16 pocket;
};
EWRAM_DATA struct UnkBagStruct *gUnknown_0203CE54 = 0;
EWRAM_DATA struct BagStruct gUnknown_0203CE58 = {0};
-EWRAM_DATA struct ListBuffer1 *gUnknown_0203CE74 = 0;
-EWRAM_DATA struct ListBuffer2 *gUnknown_0203CE78 = 0;
+static EWRAM_DATA struct ListBuffer1 *sListBuffer1 = 0;
+static EWRAM_DATA struct ListBuffer2 *sListBuffer2 = 0;
EWRAM_DATA u16 gSpecialVar_ItemId = 0;
-EWRAM_DATA struct TempWallyStruct *gUnknown_0203CE80 = 0;
+static EWRAM_DATA struct TempWallyStruct *gUnknown_0203CE80 = 0;
-extern u8 *gPocketNamesStringsTable[];
-extern struct ListMenuTemplate gUnknown_08613F9C;
+extern u8 *const gPocketNamesStringsTable[];
extern const u8 gMoveNames[][0xD];
extern u8* gReturnToXStringsTable[];
-extern u32 gUnknown_0203CE5E[];
extern const u8 EventScript_2736B3[];
extern const u16 gUnknown_0860F074[];
void ResetBagScrollPositions(void)
{
- gUnknown_0203CE58.pocket = 0;
+ gUnknown_0203CE58.pocket = ITEMS_POCKET;
memset(gUnknown_0203CE58.cursorPosition, 0, 10);
memset(gUnknown_0203CE58.scrollPosition, 0, 10);
}
void CB2_BagMenuFromStartMenu(void)
{
- GoToBagMenu(0, 5, CB2_ReturnToFieldWithOpenMenu);
+ GoToBagMenu(RETURN_LOCATION_FIELD, POCKETS_COUNT, CB2_ReturnToFieldWithOpenMenu);
}
void sub_81AABB0(void)
{
if (!InBattlePyramid())
- GoToBagMenu(1, 5, SetCB2ToReshowScreenAfterMenu2);
+ GoToBagMenu(RETURN_LOCATION_BATTLE, POCKETS_COUNT, SetCB2ToReshowScreenAfterMenu2);
else
sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2);
}
void CB2_ChooseBerry(void)
{
- GoToBagMenu(4, 3, CB2_ReturnToFieldContinueScript);
+ GoToBagMenu(RETURN_LOCATION_FIELD_2, BERRIES_POCKET, CB2_ReturnToFieldContinueScript);
}
void sub_81AABF0(void(*callback)(void))
{
- GoToBagMenu(5, 3, callback);
+ GoToBagMenu(RETURN_LOCATION_FIELD_3, BERRIES_POCKET, callback);
}
void CB2_GoToSellMenu(void)
{
- GoToBagMenu(3, 5, CB2_ExitSellMenu);
+ GoToBagMenu(RETURN_LOCATION_SHOP, POCKETS_COUNT, CB2_ExitSellMenu);
}
void sub_81AAC14(void)
{
- GoToBagMenu(6, 5, sub_816B31C);
+ GoToBagMenu(RETURN_LOCATION_PC, POCKETS_COUNT, sub_816B31C);
}
void sub_81AAC28(void)
{
- GoToBagMenu(9, 5, bag_menu_leave_maybe_3);
+ GoToBagMenu(RETURN_LOCATION_FIELD_6, POCKETS_COUNT, bag_menu_leave_maybe_3);
gSpecialVar_0x8005 = 0;
gSpecialVar_Result = 0;
}
void sub_81AAC50(void)
{
- GoToBagMenu(7, 5, bag_menu_leave_maybe_2);
+ GoToBagMenu(RETURN_LOCATION_FIELD_4, POCKETS_COUNT, bag_menu_leave_maybe_2);
gSpecialVar_Result = 0;
}
void sub_81AAC70(void)
{
- GoToBagMenu(8, 5, bag_menu_leave_maybe);
+ GoToBagMenu(RETURN_LOCATION_FIELD_5, POCKETS_COUNT, bag_menu_leave_maybe);
gSpecialVar_Result = 0;
}
@@ -522,21 +520,21 @@ void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)
}
else
{
- if (bagMenuType != 12)
+ if (bagMenuType != RETURN_LOCATION_UNCHANGED)
gUnknown_0203CE58.location = bagMenuType;
if (postExitMenuMainCallback2)
gUnknown_0203CE58.bagCallback = postExitMenuMainCallback2;
- if (pocketId <= 4)
+ if (pocketId < POCKETS_COUNT)
gUnknown_0203CE58.pocket = pocketId;
- temp = gUnknown_0203CE58.location - 4;
+ temp = gUnknown_0203CE58.location - (POCKETS_COUNT - 1);
if (temp <= 1)
gUnknown_0203CE54->unk81B = 1;
- gUnknown_0203CE54->unk0 = 0;
+ gUnknown_0203CE54->mainCallback2 = 0;
gUnknown_0203CE54->unk81A = 0xFF;
gUnknown_0203CE54->unk81E = -1;
gUnknown_0203CE54->unk81F = -1;
- memset(gUnknown_0203CE54->unk804, 0xFF, sizeof(gUnknown_0203CE54->unk804));
- memset(gUnknown_0203CE54->unk810, 0xFF, 10);
+ memset(gUnknown_0203CE54->spriteId, 0xFF, sizeof(gUnknown_0203CE54->spriteId));
+ memset(gUnknown_0203CE54->windowPointers, 0xFF, 10);
SetMainCallback2(CB2_Bag);
}
}
@@ -615,7 +613,7 @@ bool8 setup_bag_menu(void)
break;
case 10:
sub_81ABA6C();
- sub_81ABAC4();
+ SetPocketListPositions();
sub_81ABAE0();
gMain.state++;
break;
@@ -677,10 +675,10 @@ bool8 setup_bag_menu(void)
void bag_menu_init_bgs(void)
{
ResetVramOamAndBgCntRegs();
- memset(gUnknown_0203CE54->unk4, 0, 0x800);
+ memset(gUnknown_0203CE54->tilemapBuffer, 0, 0x800);
ResetBgsAndClearDma3BusyFlags(0);
- InitBgsFromTemplates(0, gUnknown_08613F90, 3);
- SetBgTilemapBuffer(2, gUnknown_0203CE54->unk4);
+ InitBgsFromTemplates(0, sBgTemplates_ItemMenu, 3);
+ SetBgTilemapBuffer(2, gUnknown_0203CE54->tilemapBuffer);
ResetAllBgsCoordinates();
schedule_bg_copy_tilemap_to_vram(2);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
@@ -702,7 +700,7 @@ bool8 load_bag_menu_graphics(void)
case 1:
if (free_temp_tile_data_buffers_if_possible() != TRUE)
{
- LZDecompressWram(gUnknown_08D9A88C, gUnknown_0203CE54->unk4);
+ LZDecompressWram(gUnknown_08D9A88C, gUnknown_0203CE54->tilemapBuffer);
gUnknown_0203CE54->unk834++;
}
break;
@@ -744,8 +742,8 @@ u8 sub_81AB1F0(u8 a)
void allocate_bag_item_list_buffers(void)
{
- gUnknown_0203CE74 = Alloc(sizeof(struct ListBuffer1));
- gUnknown_0203CE78 = Alloc(sizeof(struct ListBuffer2));
+ sListBuffer1 = Alloc(sizeof(struct ListBuffer1));
+ sListBuffer2 = Alloc(sizeof(struct ListBuffer2));
}
void load_bag_item_list_buffers(u8 pocketId)
@@ -754,41 +752,41 @@ void load_bag_item_list_buffers(u8 pocketId)
struct BagPocket *pocket = &gBagPockets[pocketId];
struct ListMenuItem *subBuffer;
- if (!gUnknown_0203CE54->unk81B_2)
+ if (!gUnknown_0203CE54->hideCloseBagText)
{
- for (i = 0; i < gUnknown_0203CE54->unk829[pocketId] - 1; i++)
+ for (i = 0; i < gUnknown_0203CE54->numItemStacks[pocketId] - 1; i++)
{
- get_name(gUnknown_0203CE78->name[i], pocket->itemSlots[i].itemId);
- subBuffer = gUnknown_0203CE74->subBuffers;
- subBuffer[i].name = gUnknown_0203CE78->name[i];
+ get_name(sListBuffer2->name[i], pocket->itemSlots[i].itemId);
+ subBuffer = sListBuffer1->subBuffers;
+ subBuffer[i].name = sListBuffer2->name[i];
subBuffer[i].id = i;
}
- StringCopy(gUnknown_0203CE78->name[i], gText_CloseBag);
- subBuffer = gUnknown_0203CE74->subBuffers;
- subBuffer[i].name = gUnknown_0203CE78->name[i];
+ StringCopy(sListBuffer2->name[i], gText_CloseBag);
+ subBuffer = sListBuffer1->subBuffers;
+ subBuffer[i].name = sListBuffer2->name[i];
subBuffer[i].id = -2;
}
else
{
- for (i = 0; i < gUnknown_0203CE54->unk829[pocketId]; i++)
+ for (i = 0; i < gUnknown_0203CE54->numItemStacks[pocketId]; i++)
{
- get_name(gUnknown_0203CE78->name[i], pocket->itemSlots[i].itemId);
- subBuffer = gUnknown_0203CE74->subBuffers;
- subBuffer[i].name = gUnknown_0203CE78->name[i];
+ get_name(sListBuffer2->name[i], pocket->itemSlots[i].itemId);
+ subBuffer = sListBuffer1->subBuffers;
+ subBuffer[i].name = sListBuffer2->name[i];
subBuffer[i].id = i;
}
}
- gMultiuseListMenuTemplate = gUnknown_08613F9C;
- gMultiuseListMenuTemplate.totalItems = gUnknown_0203CE54->unk829[pocketId];
- gMultiuseListMenuTemplate.items = gUnknown_0203CE74->subBuffers;
- gMultiuseListMenuTemplate.maxShowed = gUnknown_0203CE54->unk82E[pocketId];
+ gMultiuseListMenuTemplate = sItemListMenu;
+ gMultiuseListMenuTemplate.totalItems = gUnknown_0203CE54->numItemStacks[pocketId];
+ gMultiuseListMenuTemplate.items = sListBuffer1->subBuffers;
+ gMultiuseListMenuTemplate.maxShowed = gUnknown_0203CE54->numShownItems[pocketId];
}
void get_name(s8 *dest, u16 itemId)
{
switch (gUnknown_0203CE58.pocket)
{
- case 2:
+ case TMHM_POCKET:
StringCopy(gStringVar2, gMoveNames[ItemIdToBattleMoveId(itemId)]);
if (itemId >= ITEM_HM01)
{
@@ -801,7 +799,7 @@ void get_name(s8 *dest, u16 itemId)
StringExpandPlaceholders(dest, gText_UnkF908Var1Clear7Var2);
}
break;
- case 3:
+ case BERRIES_POCKET:
ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_CHERI_BERRY + 1, 2, 2);
CopyItemName(itemId, gStringVar2);
StringExpandPlaceholders(dest, gText_UnkF908Var1Clear7Var2);
@@ -851,14 +849,14 @@ void sub_81AB520(u8 rboxId, int item_index_in_pocket, u8 a)
itemQuantity = BagGetQuantityByPocketPosition(gUnknown_0203CE58.pocket + 1, item_index_in_pocket);
if (itemId >= ITEM_HM01 && itemId <= ITEM_HM08)
BlitBitmapToWindow(rboxId, gBagMenuHMIcon_Gfx, 8, a - 1, 16, 16);
- if (gUnknown_0203CE58.pocket == 3)
+ if (gUnknown_0203CE58.pocket == BERRIES_POCKET)
{
ConvertIntToDecimalStringN(gStringVar1, itemQuantity, 1, 3);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
offset = GetStringRightAlignXOffset(7, gStringVar4, 0x77);
bag_menu_print(rboxId, 7, gStringVar4, offset, a, 0, 0, -1, 0);
}
- else if (gUnknown_0203CE58.pocket != 4 && (unique = ItemId_GetImportance(itemId)) == FALSE)
+ else if (gUnknown_0203CE58.pocket != KEYITEMS_POCKET && (unique = ItemId_GetImportance(itemId)) == FALSE)
{
ConvertIntToDecimalStringN(gStringVar1, itemQuantity, 1, 2);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
@@ -907,7 +905,7 @@ void bag_menu_print_cursor(u8 a, u8 b)
void bag_menu_add_pocket_scroll_arrow_indicators_maybe(void)
{
if (gUnknown_0203CE54->unk81E == 0xFF)
- gUnknown_0203CE54->unk81E = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xAC, 12, 0x94, gUnknown_0203CE54->unk829[gUnknown_0203CE58.pocket] - gUnknown_0203CE54->unk82E[gUnknown_0203CE58.pocket], 0x6E, 0x6E, &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket]);
+ gUnknown_0203CE54->unk81E = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xAC, 12, 0x94, gUnknown_0203CE54->numItemStacks[gUnknown_0203CE58.pocket] - gUnknown_0203CE54->numShownItems[gUnknown_0203CE58.pocket], 0x6E, 0x6E, &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket]);
}
void sub_81AB824(void)
@@ -937,8 +935,8 @@ void sub_81AB89C(void)
void free_bag_item_list_buffers(void)
{
- Free(gUnknown_0203CE78);
- Free(gUnknown_0203CE74);
+ Free(sListBuffer2);
+ Free(sListBuffer1);
FreeAllWindowBuffers();
Free(gUnknown_0203CE54);
}
@@ -955,8 +953,8 @@ void task_close_bag_menu_2(u8 taskId)
if (!gPaletteFade.active)
{
DestroyListMenuTask(data[0], &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket], &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket]);
- if (gUnknown_0203CE54->unk0 != 0)
- SetMainCallback2(gUnknown_0203CE54->unk0);
+ if (gUnknown_0203CE54->mainCallback2 != 0)
+ SetMainCallback2(gUnknown_0203CE54->mainCallback2);
else
SetMainCallback2(gUnknown_0203CE58.bagCallback);
sub_81AB824();
@@ -973,52 +971,54 @@ void sub_81AB9A8(u8 pocketId)
struct BagPocket *pocket = &gBagPockets[pocketId];
switch (pocketId)
{
- case 2:
- case 3:
+ case TMHM_POCKET:
+ case BERRIES_POCKET:
SortBerriesOrTMHMs(pocket);
break;
default:
CompactItemsInBagPocket(pocket);
break;
}
- gUnknown_0203CE54->unk829[pocketId] = 0;
+ gUnknown_0203CE54->numItemStacks[pocketId] = 0;
for (i = 0; i < pocket->capacity && pocket->itemSlots[i].itemId; i++)
- gUnknown_0203CE54->unk829[pocketId]++;
- if (!gUnknown_0203CE54->unk81B_2)
- gUnknown_0203CE54->unk829[pocketId]++;
- if (gUnknown_0203CE54->unk829[pocketId] > 8)
- gUnknown_0203CE54->unk82E[pocketId] = 8;
+ gUnknown_0203CE54->numItemStacks[pocketId]++;
+
+ if (!gUnknown_0203CE54->hideCloseBagText)
+ gUnknown_0203CE54->numItemStacks[pocketId]++;
+
+ if (gUnknown_0203CE54->numItemStacks[pocketId] > 8)
+ gUnknown_0203CE54->numShownItems[pocketId] = 8;
else
- gUnknown_0203CE54->unk82E[pocketId] = gUnknown_0203CE54->unk829[pocketId];
+ gUnknown_0203CE54->numShownItems[pocketId] = gUnknown_0203CE54->numItemStacks[pocketId];
}
void sub_81ABA6C(void)
{
u8 i;
- for (i = 0; i < 5; i++)
+ for (i = 0; i < POCKETS_COUNT; i++)
sub_81AB9A8(i);
}
-void sub_81ABA88(u8 a)
+void SetInitialScrollAndCursorPositions(u8 pocketId)
{
- sub_812225C(&gUnknown_0203CE58.scrollPosition[a], &gUnknown_0203CE58.cursorPosition[a], gUnknown_0203CE54->unk82E[a], gUnknown_0203CE54->unk829[a]);
+ sub_812225C(&gUnknown_0203CE58.scrollPosition[pocketId], &gUnknown_0203CE58.cursorPosition[pocketId], gUnknown_0203CE54->numShownItems[pocketId], gUnknown_0203CE54->numItemStacks[pocketId]);
}
-void sub_81ABAC4(void)
+static void SetPocketListPositions(void)
{
u8 i;
- for (i = 0; i < 5; i++)
- sub_81ABA88(i);
+ for (i = 0; i < POCKETS_COUNT; i++)
+ SetInitialScrollAndCursorPositions(i);
}
void sub_81ABAE0(void)
{
u8 i;
- for (i = 0; i < 5; i++)
- sub_8122298(&gUnknown_0203CE58.scrollPosition[i], &gUnknown_0203CE58.cursorPosition[i], gUnknown_0203CE54->unk82E[i], gUnknown_0203CE54->unk829[i], 8);
+ for (i = 0; i < POCKETS_COUNT; i++)
+ sub_8122298(&gUnknown_0203CE58.scrollPosition[i], &gUnknown_0203CE58.cursorPosition[i], gUnknown_0203CE54->numShownItems[i], gUnknown_0203CE54->numItemStacks[i], 8);
}
-u8 sub_81ABB2C(u8 pocketId)
+u8 GetItemListPosition(u8 pocketId)
{
return gUnknown_0203CE58.scrollPosition[pocketId] + gUnknown_0203CE58.cursorPosition[pocketId];
}
@@ -1041,7 +1041,7 @@ void bag_menu_inits_lists_menu(u8 taskId)
bag_menu_RemoveBagItem_message_window(4);
DestroyListMenuTask(data[0], scrollPos, cursorPos);
sub_81AB9A8(gUnknown_0203CE58.pocket);
- sub_81ABA88(gUnknown_0203CE58.pocket);
+ SetInitialScrollAndCursorPositions(gUnknown_0203CE58.pocket);
load_bag_item_list_buffers(gUnknown_0203CE58.pocket);
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos);
schedule_bg_copy_tilemap_to_vram(0);
@@ -1055,7 +1055,7 @@ void sub_81ABC3C(u8 a)
void sub_81ABC54(u8 a, s16 b)
{
- u8 r3 = (gUnknown_0203CE58.pocket == 3) ? 3 : 2;
+ u8 r3 = (gUnknown_0203CE58.pocket == BERRIES_POCKET) ? 3 : 2;
ConvertIntToDecimalStringN(gStringVar1, b, 2, r3);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
AddTextPrinterParameterized(a, 1, gStringVar4, GetStringCenterAlignXOffset(1, gStringVar4, 0x28), 2, 0, 0);
@@ -1063,7 +1063,7 @@ void sub_81ABC54(u8 a, s16 b)
void sub_81ABCC0(int a, int b, int c)
{
- u8 r3 = (gUnknown_0203CE58.pocket == 3) ? 3 : 2;
+ u8 r3 = (gUnknown_0203CE58.pocket == BERRIES_POCKET) ? 3 : 2;
ConvertIntToDecimalStringN(gStringVar1, b, 2, r3);
StringExpandPlaceholders(gStringVar4, gText_xVar1);
AddTextPrinterParameterized(a, 1, gStringVar4, 0, 1, -1, 0);
@@ -1092,7 +1092,7 @@ void Task_BagMenu(u8 taskId)
if (sub_81AC2C0() == 1)
{
ListMenuGetScrollAndRow(data[0], scrollPos, cursorPos);
- if ((*scrollPos + *cursorPos) != gUnknown_0203CE54->unk829[gUnknown_0203CE58.pocket] - 1)
+ if ((*scrollPos + *cursorPos) != gUnknown_0203CE54->numItemStacks[gUnknown_0203CE58.pocket] - 1)
{
PlaySE(SE_SELECT);
bag_menu_swap_items(taskId);
@@ -1102,13 +1102,13 @@ void Task_BagMenu(u8 taskId)
}
else
{
- int r4 = ListMenuHandleInputGetItemId(data[0]);
+ int listPosition = ListMenuHandleInputGetItemId(data[0]);
ListMenuGetScrollAndRow(data[0], scrollPos, cursorPos);
- switch (r4)
+ switch (listPosition)
{
- case -1:
+ case LIST_NOTHING_CHOSEN:
break;
- case -2:
+ case LIST_B_PRESSED:
if (gUnknown_0203CE58.location == 5)
{
PlaySE(SE_HAZURE);
@@ -1118,13 +1118,13 @@ void Task_BagMenu(u8 taskId)
gSpecialVar_ItemId = select;
gTasks[taskId].func = unknown_ItemMenu_Confirm;
break;
- default:
+ default: // A_BUTTON
PlaySE(SE_SELECT);
sub_81AB824();
bag_menu_print_cursor_(data[0], 2);
- data[1] = r4;
- data[2] = BagGetQuantityByPocketPosition(gUnknown_0203CE58.pocket + 1, r4);
- gSpecialVar_ItemId = BagGetItemIdByPocketPosition(gUnknown_0203CE58.pocket + 1, r4);
+ data[1] = listPosition;
+ data[2] = BagGetQuantityByPocketPosition(gUnknown_0203CE58.pocket + 1, listPosition);
+ gSpecialVar_ItemId = BagGetItemIdByPocketPosition(gUnknown_0203CE58.pocket + 1, listPosition);
gUnknown_08614054[gUnknown_0203CE58.location](taskId);
break;
}
@@ -1164,10 +1164,10 @@ u8 GetSwitchBagPocketDirection(void)
void ChangeBagPocketId(u8 *bagPocketId, s8 deltaBagPocketId)
{
- if (deltaBagPocketId == 1 && *bagPocketId == 4)
+ if (deltaBagPocketId == 1 && *bagPocketId == POCKETS_COUNT - 1)
*bagPocketId = 0;
else if (deltaBagPocketId == -1 && *bagPocketId == 0)
- *bagPocketId = 4;
+ *bagPocketId = POCKETS_COUNT - 1;
else
*bagPocketId += deltaBagPocketId;
}
@@ -1186,7 +1186,7 @@ void SwitchBagPocket(u8 taskId, s16 deltaBagPocketId, u16 a3)
ClearWindowTilemap(1);
DestroyListMenuTask(data[0], &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket], &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket]);
schedule_bg_copy_tilemap_to_vram(0);
- gSprites[gUnknown_0203CE54->unk804[2 + (gUnknown_0203CE54->unk81B_1 ^ 1)]].invisible = TRUE;
+ gSprites[gUnknown_0203CE54->spriteId[2 + (gUnknown_0203CE54->unk81B_1 ^ 1)]].invisible = TRUE;
sub_81AB824();
}
pocketId = gUnknown_0203CE58.pocket;
@@ -1444,7 +1444,7 @@ void sub_81AC644(u8 unused)
default:
if (sub_81221AC() == TRUE || InUnionRoom() == TRUE)
{
- if (gUnknown_0203CE58.pocket == 4 || !sub_8122148(gSpecialVar_ItemId))
+ if (gUnknown_0203CE58.pocket == KEYITEMS_POCKET || !sub_8122148(gSpecialVar_ItemId))
{
gUnknown_0203CE54->unk820 = &gUnknown_08614046;
gUnknown_0203CE54->unk828 = 1;
@@ -1459,14 +1459,14 @@ void sub_81AC644(u8 unused)
{
switch (gUnknown_0203CE58.pocket)
{
- case 0:
+ case ITEMS_POCKET:
gUnknown_0203CE54->unk820 = &gUnknown_0203CE54->unk824;
gUnknown_0203CE54->unk828 = 4;
memcpy(&gUnknown_0203CE54->unk824, &gUnknown_0861402C, 4);
if (ItemIsMail(gSpecialVar_ItemId) == TRUE)
gUnknown_0203CE54->unk824 = 6;
break;
- case 4:
+ case KEYITEMS_POCKET:
gUnknown_0203CE54->unk820 = &gUnknown_0203CE54->unk824;
gUnknown_0203CE54->unk828 = 4;
memcpy(&gUnknown_0203CE54->unk824, &gUnknown_08614030, 4);
@@ -1478,22 +1478,22 @@ void sub_81AC644(u8 unused)
gUnknown_0203CE54->unk824 = 7;
}
break;
- case 1:
+ case BALLS_POCKET:
gUnknown_0203CE54->unk820 = gUnknown_08614034;
gUnknown_0203CE54->unk828 = 4;
break;
- case 2:
+ case TMHM_POCKET:
gUnknown_0203CE54->unk820 = gUnknown_08614038;
gUnknown_0203CE54->unk828 = 4;
break;
- case 3:
+ case BERRIES_POCKET:
gUnknown_0203CE54->unk820 = gUnknown_0861403C;
gUnknown_0203CE54->unk828 = 6;
break;
}
}
}
- if (gUnknown_0203CE58.pocket == 2)
+ if (gUnknown_0203CE58.pocket == TMHM_POCKET)
{
ClearWindowTilemap(1);
PrintTMHMMoveData(gSpecialVar_ItemId);
@@ -1624,17 +1624,17 @@ bool8 sub_81ACDFC(s8 a)
void bag_menu_remove_some_window(void)
{
if (gUnknown_0203CE54->unk828 == 1)
- bag_menu_remove_window(0);
+ bag_menu_remove_window(0);
else if (gUnknown_0203CE54->unk828 == 2)
{
- bag_menu_remove_window(1);
+ bag_menu_remove_window(1);
}
else if (gUnknown_0203CE54->unk828 == 4)
{
- bag_menu_remove_window(2);
+ bag_menu_remove_window(2);
}
else
- bag_menu_remove_window(3);
+ bag_menu_remove_window(3);
}
void ItemMenu_UseOutOfBattle(u8 taskId)
@@ -1648,7 +1648,7 @@ void ItemMenu_UseOutOfBattle(u8 taskId)
{
FillWindowPixelBuffer(1, 0);
schedule_bg_copy_tilemap_to_vram(0);
- if (gUnknown_0203CE58.pocket != 3)
+ if (gUnknown_0203CE58.pocket != BERRIES_POCKET)
ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId);
else
sub_80FDD10(taskId);
@@ -1744,7 +1744,7 @@ void Task_ActuallyToss(u8 taskId)
RemoveBagItem(gSpecialVar_ItemId, data[8]);
DestroyListMenuTask(data[0], scrollPos, cursorPos);
sub_81AB9A8(gUnknown_0203CE58.pocket);
- sub_81ABA88(gUnknown_0203CE58.pocket);
+ SetInitialScrollAndCursorPositions(gUnknown_0203CE58.pocket);
load_bag_item_list_buffers(gUnknown_0203CE58.pocket);
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos);
schedule_bg_copy_tilemap_to_vram(0);
@@ -1782,7 +1782,7 @@ void ItemMenu_Give(u8 taskId)
bag_menu_print_there_is_no_pokemon(taskId);
else
{
- gUnknown_0203CE54->unk0 = sub_81B7F60;
+ gUnknown_0203CE54->mainCallback2 = sub_81B7F60;
unknown_ItemMenu_Confirm(taskId);
}
}
@@ -1815,7 +1815,7 @@ void sub_81AD350(u8 taskId)
void ItemMenu_CheckTag(u8 taskId)
{
- gUnknown_0203CE54->unk0 = DoBerryTagScreen;
+ gUnknown_0203CE54->mainCallback2 = DoBerryTagScreen;
unknown_ItemMenu_Confirm(taskId);
}
@@ -1842,7 +1842,7 @@ void ItemMenu_UseInBattle(u8 taskId)
void bag_menu_mail_related(void)
{
- GoToBagMenu(12, 5, NULL);
+ GoToBagMenu(RETURN_LOCATION_UNCHANGED, POCKETS_COUNT, NULL);
}
void item_menu_type_2(u8 taskId)
@@ -1857,7 +1857,7 @@ void item_menu_type_2(u8 taskId)
StringExpandPlaceholders(gStringVar4, gText_Var1CantBeHeldHere);
DisplayItemMessage(taskId, 1, gStringVar4, sub_81AD350);
}
- else if (gUnknown_0203CE58.pocket != 4 && !ItemId_GetImportance(gSpecialVar_ItemId))
+ else if (gUnknown_0203CE58.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId))
{
unknown_ItemMenu_Confirm(taskId);
}
@@ -1871,7 +1871,7 @@ void item_menu_type_b(u8 taskId)
{
if (ItemIsMail(gSpecialVar_ItemId) == TRUE)
DisplayItemMessage(taskId, 1, gText_CantWriteMail, sub_81AD350);
- else if (gUnknown_0203CE58.pocket != 4 && !ItemId_GetImportance(gSpecialVar_ItemId))
+ else if (gUnknown_0203CE58.pocket != KEYITEMS_POCKET && !ItemId_GetImportance(gSpecialVar_ItemId))
gTasks[taskId].func = unknown_ItemMenu_Confirm;
else
bag_menu_print_cant_be_held_msg(taskId);
@@ -2012,7 +2012,7 @@ void sub_81AD8C8(u8 taskId)
AddMoney(&gSaveBlock1Ptr->money, (ItemId_GetPrice(gSpecialVar_ItemId) / 2) * data[8]);
DestroyListMenuTask(data[0], scrollPos, cursorPos);
sub_81AB9A8(gUnknown_0203CE58.pocket);
- sub_81ABA88(gUnknown_0203CE58.pocket);
+ SetInitialScrollAndCursorPositions(gUnknown_0203CE58.pocket);
load_bag_item_list_buffers(gUnknown_0203CE58.pocket);
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, *scrollPos, *cursorPos);
bag_menu_print_cursor_(data[0], 2);
@@ -2157,7 +2157,7 @@ void DoWallyTutorialBagMenu(void)
PrepareBagForWallyTutorial();
AddBagItem(ITEM_POTION, 1);
AddBagItem(ITEM_POKE_BALL, 1);
- GoToBagMenu(10, 0, SetCB2ToReshowScreenAfterMenu2);
+ GoToBagMenu(RETURN_LOCATION_BATTLE_2, ITEMS_POCKET, SetCB2ToReshowScreenAfterMenu2);
}
void Task_WallyTutorialBagMenu(u8 taskId)
@@ -2235,7 +2235,7 @@ void bag_menu_leave_maybe(void)
SetMainCallback2(CB2_ReturnToField);
}
-void bag_menu_print_pocket_names(u8 *pocketName1, u8 *pocketName2)
+void bag_menu_print_pocket_names(const u8 *pocketName1, const u8 *pocketName2)
{
struct WindowTemplate window = {0, 0, 0, 0, 0, 0, 0};
u16 windowId;
@@ -2252,7 +2252,7 @@ void bag_menu_print_pocket_names(u8 *pocketName1, u8 *pocketName2)
offset = GetStringCenterAlignXOffset(1, pocketName2, 0x40);
bag_menu_print(windowId, 1, pocketName2, offset + 0x40, 1, 0, 0, -1, 1);
}
- CpuCopy32((u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA), gUnknown_0203CE54->unk844, 0x400);
+ CpuCopy32((u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA), gUnknown_0203CE54->pocketNameBuffer, 0x400);
RemoveWindow(windowId);
}
@@ -2263,7 +2263,7 @@ void bag_menu_copy_pocket_name_to_window(u32 a)
int b;
if (a > 8)
a = 8;
- r4 = &gUnknown_0203CE54->unk844;
+ r4 = &gUnknown_0203CE54->pocketNameBuffer;
windowAttribute = (u8*)GetWindowAttribute(2, WINDOW_TILE_DATA);
CpuCopy32(r4[0][a], windowAttribute, 0x100);
b = a + 16;
@@ -2292,17 +2292,17 @@ void setup_bag_menu_textboxes(void)
void bag_menu_print(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 h)
{
- AddTextPrinterParameterized4(windowId, fontId, left, top, letterSpacing, lineSpacing, gUnknown_08614164[h], speed, str);
+ AddTextPrinterParameterized4(windowId, fontId, left, top, letterSpacing, lineSpacing, sFontColorTable[h], speed, str);
}
u8 sub_81AE124(u8 a)
{
- return gUnknown_0203CE54->unk810[a];
+ return gUnknown_0203CE54->windowPointers[a];
}
u8 bag_menu_add_window(u8 a)
{
- u8 *ptr = &gUnknown_0203CE54->unk810[a];
+ u8 *ptr = &gUnknown_0203CE54->windowPointers[a];
if (*ptr == 0xFF)
{
*ptr = AddWindow(&gUnknown_086141AC[a]);
@@ -2314,7 +2314,7 @@ u8 bag_menu_add_window(u8 a)
void bag_menu_remove_window(u8 a)
{
- u8 *ptr = &gUnknown_0203CE54->unk810[a];
+ u8 *ptr = &gUnknown_0203CE54->windowPointers[a];
if (*ptr != 0xFF)
{
sub_8198070(*ptr, 0);
@@ -2327,7 +2327,7 @@ void bag_menu_remove_window(u8 a)
u8 AddItemMessageWindow(u8 a)
{
- u8 *ptr = &gUnknown_0203CE54->unk810[a];
+ u8 *ptr = &gUnknown_0203CE54->windowPointers[a];
if (*ptr == 0xFF)
*ptr = AddWindow(&gUnknown_086141AC[a]);
return *ptr;
@@ -2335,7 +2335,7 @@ u8 AddItemMessageWindow(u8 a)
void bag_menu_RemoveBagItem_message_window(u8 a)
{
- u8 *ptr = &gUnknown_0203CE54->unk810[a];
+ u8 *ptr = &gUnknown_0203CE54->windowPointers[a];
if (*ptr != 0xFF)
{
sub_8197DF8(*ptr, 0);
diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c
index 23dbd51eb..894574ec9 100644
--- a/src/item_menu_icons.c
+++ b/src/item_menu_icons.c
@@ -1,17 +1,15 @@
#include "global.h"
-#include "sprite.h"
+#include "berry.h"
#include "decompress.h"
+#include "graphics.h"
+#include "item.h"
#include "item_menu.h"
#include "item_icon.h"
#include "item_menu_icons.h"
-#include "window.h"
#include "menu_helpers.h"
-#include "berry.h"
-#include "graphics.h"
+#include "sprite.h"
+#include "window.h"
#include "constants/items.h"
-#include "item.h"
-#include "item_use.h"
-#include "constants/hold_effects.h"
struct CompressedTilesPal
{
@@ -19,12 +17,6 @@ struct CompressedTilesPal
const u32 *pal;
};
-extern void DoHorizontalLunge(struct Sprite *sprite);
-extern void DoVerticalDip(struct Sprite *sprite);
-extern void SlideMonToOriginalPos(struct Sprite *sprite);
-extern void SlideMonToOffset(struct Sprite *sprite);
-extern void sub_80D5B48(struct Sprite *sprite);
-
// this file's functions
static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite);
static void SpriteCB_ShakeBagVisual(struct Sprite *sprite);
@@ -207,7 +199,7 @@ static const struct SpritePalette gUnknown_0857FBA8 =
gUnknown_0857F564, 101
};
-static const struct SpriteTemplate gUnknown_0857FBB0 =
+static const struct SpriteTemplate gSpriteTemplate_RotatingBall =
{
.tileTag = 101,
.paletteTag = 101,
@@ -414,68 +406,10 @@ static const struct SpriteTemplate gUnknown_0857FE10 =
.callback = SpriteCallbackDummy,
};
-const struct SpriteTemplate gHorizontalLungeSpriteTemplate =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = DoHorizontalLunge,
-};
-
-const struct SpriteTemplate gVerticalDipSpriteTemplate =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = DoVerticalDip,
-};
-
-const struct SpriteTemplate gSlideMonToOriginalPosSpriteTemplate =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SlideMonToOriginalPos,
-};
-
-const struct SpriteTemplate gSlideMonToOffsetSpriteTemplate =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = SlideMonToOffset,
-};
-
-const struct SpriteTemplate gUnknown_0857FE88 =
-{
- .tileTag = 0,
- .paletteTag = 0,
- .oam = &gDummyOamData,
- .anims = gDummySpriteAnimTable,
- .images = NULL,
- .affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80D5B48,
-};
-
-#include "data/text/item_descriptions.h"
-#include "data/items.h"
-
// code
void RemoveBagSprite(u8 id)
{
- u8 *spriteId = &gUnknown_0203CE54->unk804[id];
+ u8 *spriteId = &gUnknown_0203CE54->spriteId[id];
if (*spriteId != 0xFF)
{
FreeSpriteTilesByTag(id + 100);
@@ -488,14 +422,14 @@ void RemoveBagSprite(u8 id)
void AddBagVisualSprite(u8 bagPocketId)
{
- u8 *spriteId = &gUnknown_0203CE54->unk804[0];
+ u8 *spriteId = &gUnknown_0203CE54->spriteId[0];
*spriteId = CreateSprite(&gUnknown_0857FB4C, 68, 66, 0);
SetBagVisualPocketId(bagPocketId, FALSE);
}
void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets)
{
- struct Sprite *sprite = &gSprites[gUnknown_0203CE54->unk804[0]];
+ struct Sprite *sprite = &gSprites[gUnknown_0203CE54->spriteId[0]];
if (isSwitchingPockets)
{
sprite->pos2.y = -5;
@@ -524,7 +458,7 @@ static void SpriteCB_BagVisualSwitchingPockets(struct Sprite *sprite)
void ShakeBagVisual(void)
{
- struct Sprite *sprite = &gSprites[gUnknown_0203CE54->unk804[0]];
+ struct Sprite *sprite = &gSprites[gUnknown_0203CE54->spriteId[0]];
if (sprite->affineAnimEnded)
{
StartSpriteAffineAnim(sprite, 1);
@@ -543,10 +477,10 @@ static void SpriteCB_ShakeBagVisual(struct Sprite *sprite)
void AddSwitchPocketRotatingBallSprite(s16 rotationDirection)
{
- u8 *spriteId = &gUnknown_0203CE54->unk804[1];
+ u8 *spriteId = &gUnknown_0203CE54->spriteId[1];
LoadSpriteSheet(&gUnknown_0857FBA0);
LoadSpritePalette(&gUnknown_0857FBA8);
- *spriteId = CreateSprite(&gUnknown_0857FBB0, 16, 16, 0);
+ *spriteId = CreateSprite(&gSpriteTemplate_RotatingBall, 16, 16, 0);
gSprites[*spriteId].data[0] = rotationDirection;
}
@@ -581,7 +515,7 @@ static void SpriteCB_SwitchPocketRotatingBallContinue(struct Sprite *sprite)
void AddBagItemIconSprite(u16 itemId, u8 id)
{
- u8 *spriteId = &gUnknown_0203CE54->unk804[id + 2];
+ u8 *spriteId = &gUnknown_0203CE54->spriteId[id + 2];
if (*spriteId == 0xFF)
{
u8 iconSpriteId;
@@ -605,17 +539,17 @@ void RemoveBagItemIconSprite(u8 id)
void sub_80D4FAC(void)
{
- sub_8122344(&gUnknown_0203CE54->unk804[4], 8);
+ sub_8122344(&gUnknown_0203CE54->spriteId[4], 8);
}
void sub_80D4FC8(u8 arg0)
{
- sub_81223FC(&gUnknown_0203CE54->unk804[4], 8, arg0);
+ sub_81223FC(&gUnknown_0203CE54->spriteId[4], 8, arg0);
}
void sub_80D4FEC(u8 arg0)
{
- sub_8122448(&gUnknown_0203CE54->unk804[4], 136, 120, (arg0 + 1) * 16);
+ sub_8122448(&gUnknown_0203CE54->spriteId[4], 136, 120, (arg0 + 1) * 16);
}
static void sub_80D5018(void *mem0, void *mem1)
diff --git a/src/item_use.c b/src/item_use.c
index 4ab9f6e23..474b16ae1 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -10,7 +10,7 @@
#include "fieldmap.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "field_weather.h"
#include "item.h"
#include "item_menu.h"
@@ -57,7 +57,6 @@ extern void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*);
extern void sub_81C5924(void);
extern void sub_81C59BC(void);
extern void sub_81AB9A8(u8);
-extern void sub_81ABA88(u8);
extern void StartEscapeRopeFieldEffect(void);
extern u8* sub_806CF78(u16);
extern void sub_81B89F0(void);
@@ -128,7 +127,7 @@ void SetUpItemUseCallback(u8 taskId)
type = ItemId_GetType(gSpecialVar_ItemId) - 1;
if (!InBattlePyramid())
{
- gUnknown_0203CE54->unk0 = gUnknown_085920D8[type];
+ gUnknown_0203CE54->mainCallback2 = gUnknown_085920D8[type];
unknown_ItemMenu_Confirm(taskId);
}
else
@@ -212,7 +211,7 @@ void sub_80FD254(void)
void ItemUseOutOfBattle_Mail(u8 taskId)
{
- gUnknown_0203CE54->unk0 = sub_80FD254;
+ gUnknown_0203CE54->mainCallback2 = sub_80FD254;
unknown_ItemMenu_Confirm(taskId);
}
@@ -608,7 +607,7 @@ void ItemUseOutOfBattle_PokeblockCase(u8 taskId)
}
else if (gTasks[taskId].data[3] != TRUE)
{
- gUnknown_0203CE54->unk0 = sub_80FDBEC;
+ gUnknown_0203CE54->mainCallback2 = sub_80FDBEC;
unknown_ItemMenu_Confirm(taskId);
}
else
@@ -670,7 +669,7 @@ void sub_80FDD10(u8 taskId)
{
gUnknown_0203A0F4 = sub_80FDD74;
gFieldCallback = MapPostLoadHook_UseItem;
- gUnknown_0203CE54->unk0 = CB2_ReturnToField;
+ gUnknown_0203CE54->mainCallback2 = CB2_ReturnToField;
unknown_ItemMenu_Confirm(taskId);
}
else
@@ -812,7 +811,7 @@ void sub_80FE058(void)
if (!InBattlePyramid())
{
sub_81AB9A8(ItemId_GetPocket(gSpecialVar_ItemId));
- sub_81ABA88(ItemId_GetPocket(gSpecialVar_ItemId));
+ SetInitialScrollAndCursorPositions(ItemId_GetPocket(gSpecialVar_ItemId));
}
else
{
@@ -993,7 +992,7 @@ void sub_80FE54C(u8 taskId)
{
if (!InBattlePyramid())
{
- gUnknown_0203CE54->unk0 = sub_81B89F0;
+ gUnknown_0203CE54->mainCallback2 = sub_81B89F0;
unknown_ItemMenu_Confirm(taskId);
}
else
diff --git a/src/landmark.c b/src/landmark.c
index 4eade159a..52d52500a 100644
--- a/src/landmark.c
+++ b/src/landmark.c
@@ -17,21 +17,21 @@ struct LandmarkList
static const u8 LandmarkName_FlowerShop[] = _("FLOWER SHOP");
static const u8 LandmarkName_PetalburgWoods[] = _("PETALBURG WOODS");
-static const u8 LandmarkName_MrBrineysCottage[] = _("MR. BRINEY’S COTTAGE");
+static const u8 LandmarkName_MrBrineysCottage[] = _("MR. BRINEY'S COTTAGE");
static const u8 LandmarkName_AbandonedShip[] = _("ABANDONED SHIP");
static const u8 LandmarkName_SeashoreHouse[] = _("SEASHORE HOUSE");
static const u8 LandmarkName_SlateportBeach[] = _("SLATEPORT BEACH");
static const u8 LandmarkName_CyclingRoad[] = _("CYCLING ROAD");
static const u8 LandmarkName_NewMauville[] = _("NEW MAUVILLE");
static const u8 LandmarkName_TrickHouse[] = _("TRICK HOUSE");
-static const u8 LandmarkName_OldLadysRestShop[] = _("OLD LADY’S REST STOP");
+static const u8 LandmarkName_OldLadysRestShop[] = _("OLD LADY'S REST STOP");
static const u8 LandmarkName_Desert[] = _("DESERT");
static const u8 LandmarkName_WinstrateFamily[] = _("THE WINSTRATE FAMILY");
static const u8 LandmarkName_CableCar[] = _("CABLE CAR");
static const u8 LandmarkName_GlassWorkshop[] = _("GLASS WORKSHOP");
static const u8 LandmarkName_WeatherInstitute[] = _("WEATHER INSTITUTE");
static const u8 LandmarkName_MeteorFalls[] = _("METEOR FALLS");
-static const u8 LandmarkName_TunnelersRestHouse[] = _("TUNNELER’S RESTHOUSE");
+static const u8 LandmarkName_TunnelersRestHouse[] = _("TUNNELER'S RESTHOUSE");
static const u8 LandmarkName_RusturfTunnel[] = _("RUSTURF TUNNEL");
static const u8 LandmarkName_PokemonDayCare[] = _("POKéMON DAY CARE");
static const u8 LandmarkName_SafariZoneEntrance[] = _("SAFARI ZONE ENTRANCE");
@@ -40,18 +40,18 @@ static const u8 LandmarkName_ShoalCave[] = _("SHOAL CAVE");
static const u8 LandmarkName_SeafloorCavern[] = _("SEAFLOOR CAVERN");
static const u8 LandmarkName_GraniteCave[] = _("GRANITE CAVE");
static const u8 LandmarkName_OceanCurrent[] = _("OCEAN CURRENT");
-static const u8 LandmarkName_LanettesHouse[] = _("LANETTE’S HOUSE");
+static const u8 LandmarkName_LanettesHouse[] = _("LANETTE'S HOUSE");
static const u8 LandmarkName_FieryPath[] = _("FIERY PATH");
static const u8 LandmarkName_JaggedPass[] = _("JAGGED PASS");
static const u8 LandmarkName_SkyPillar[] = _("SKY PILLAR");
-static const u8 LandmarkName_BerryMastersHouse[] = _("BERRY MASTER’S HOUSE");
+static const u8 LandmarkName_BerryMastersHouse[] = _("BERRY MASTER'S HOUSE");
static const u8 LandmarkName_IslandCave[] = _("ISLAND CAVE");
static const u8 LandmarkName_DesertRuins[] = _("DESERT RUINS");
static const u8 LandmarkName_ScorchedSlab[] = _("SCORCHED SLAB");
static const u8 LandmarkName_AncientTomb[] = _("ANCIENT TOMB");
static const u8 LandmarkName_SealedChamber[] = _("SEALED CHAMBER");
-static const u8 LandmarkName_FossilManiacsHouse[] = _("FOSSIL MANIAC’S HOUSE");
-static const u8 LandmarkName_HuntersHouse[] = _("HUNTER’S HOUSE");
+static const u8 LandmarkName_FossilManiacsHouse[] = _("FOSSIL MANIAC'S HOUSE");
+static const u8 LandmarkName_HuntersHouse[] = _("HUNTER'S HOUSE");
static const u8 LandmarkName_MagmaHideout[] = _("MAGMA HIDEOUT");
static const u8 LandmarkName_MirageTower[] = _("MIRAGE TOWER");
static const u8 LandmarkName_AlteringCave[] = _("ALTERING CAVE");
@@ -338,8 +338,8 @@ static const struct Landmark *const Landmarks_MtChimney_2[] =
static const struct LandmarkList gLandmarkLists[] =
{
- {MAPSEC_ROUTE_103, 2, Landmarks_Route103_2},
- {MAPSEC_ROUTE_104, 0, Landmarks_Route104_0},
+ {MAPSEC_ROUTE_103, 2, Landmarks_Route103_2},
+ {MAPSEC_ROUTE_104, 0, Landmarks_Route104_0},
{MAPSEC_ROUTE_104, 1, Landmarks_Route104_1},
{MAPSEC_ROUTE_105, 0, Landmarks_Route105_0},
{MAPSEC_ROUTE_106, 1, Landmarks_Route106_1},
diff --git a/src/learn_move.c b/src/learn_move.c
index 7717a5193..4db83861e 100644
--- a/src/learn_move.c
+++ b/src/learn_move.c
@@ -5,11 +5,11 @@
#include "contest_effect.h"
#include "data2.h"
#include "event_data.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "gpu_regs.h"
#include "learn_move.h"
#include "list_menu.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"
@@ -52,7 +52,7 @@ static EWRAM_DATA struct {
const u16 gUnknown_085CE9F8[] = INCBIN_U16("graphics/interface/ui_learn_move.gbapal");
const u8 gUnknown_085CEA18[] = INCBIN_U8("graphics/interface/ui_learn_move.4bpp");
-const struct OamData gUnknown_085CEB98 =
+const struct OamData gUnknown_085CEB98 =
{
.y = 0,
.affineMode = 0,
@@ -69,7 +69,7 @@ const struct OamData gUnknown_085CEB98 =
.affineParam = 0,
};
-const struct OamData gUnknown_085CEBA0 =
+const struct OamData gUnknown_085CEBA0 =
{
.y = 0,
.affineMode = 0,
@@ -86,7 +86,7 @@ const struct OamData gUnknown_085CEBA0 =
.affineParam = 0,
};
-const struct OamData gUnknown_085CEBA8 =
+const struct OamData gUnknown_085CEBA8 =
{
.y = 0,
.affineMode = 0,
@@ -103,20 +103,20 @@ const struct OamData gUnknown_085CEBA8 =
.affineParam = 0,
};
-const struct SpriteSheet gUnknown_085CEBB0 =
+const struct SpriteSheet gUnknown_085CEBB0 =
{
.data = gUnknown_085CEA18,
.size = 0x180,
.tag = 5525
};
-const struct SpritePalette gUnknown_085CEBB8 =
+const struct SpritePalette gUnknown_085CEBB8 =
{
.data = gUnknown_085CE9F8,
.tag = 5526
};
-const struct ScrollArrowsTemplate gUnknown_085CEBC0 =
+const struct ScrollArrowsTemplate gUnknown_085CEBC0 =
{
.firstArrowType = 0,
.firstX = 27,
@@ -131,7 +131,7 @@ const struct ScrollArrowsTemplate gUnknown_085CEBC0 =
.palNum = 0,
};
-const struct ScrollArrowsTemplate gUnknown_085CEBD0 =
+const struct ScrollArrowsTemplate gUnknown_085CEBD0 =
{
.firstArrowType = 2,
.firstX = 192,
@@ -146,31 +146,31 @@ const struct ScrollArrowsTemplate gUnknown_085CEBD0 =
.palNum = 0,
};
-const union AnimCmd gUnknown_085CEBE0[] =
+const union AnimCmd gUnknown_085CEBE0[] =
{
ANIMCMD_FRAME(8, 5, FALSE, FALSE),
ANIMCMD_END
};
-const union AnimCmd gUnknown_085CEBE8[] =
+const union AnimCmd gUnknown_085CEBE8[] =
{
ANIMCMD_FRAME(9, 5, FALSE, FALSE),
ANIMCMD_END
};
-const union AnimCmd gUnknown_085CEBF0[] =
+const union AnimCmd gUnknown_085CEBF0[] =
{
ANIMCMD_FRAME(10, 5, FALSE, FALSE),
ANIMCMD_END
};
-const union AnimCmd gUnknown_085CEBF8[] =
+const union AnimCmd gUnknown_085CEBF8[] =
{
ANIMCMD_FRAME(11, 5, FALSE, FALSE),
ANIMCMD_END
};
-const union AnimCmd *const gUnknown_085CEC00[] =
+const union AnimCmd *const gUnknown_085CEC00[] =
{
gUnknown_085CEBE0,
gUnknown_085CEBE8,
@@ -178,7 +178,7 @@ const union AnimCmd *const gUnknown_085CEC00[] =
gUnknown_085CEBF8,
};
-const struct SpriteTemplate gUnknown_085CEC10 =
+const struct SpriteTemplate gUnknown_085CEC10 =
{
.tileTag = 5525,
.paletteTag = 5526,
@@ -707,7 +707,7 @@ static void CreateHearts(void)
sLearnMoveStruct->scrollArrowTaskId2 = -1;
sLearnMoveStruct->scrollArrowTaskId1 = -1;
AddScrollArrows();
-
+
for (i = 0; i < 8; i++)
{
sLearnMoveStruct->spriteIds[i] = CreateSprite(&gUnknown_085CEC10, (i - (i / 4) * 4) * 8 + 104, (i / 4) * 8 + 36, 0);
@@ -791,7 +791,7 @@ void ShowHideHearts(s32 item)
else
{
numHearts = (u8)(gContestEffects[gContestMoves[item].effect].appeal / 10);
-
+
if (numHearts == 0xFF)
{
numHearts = 0;
@@ -811,7 +811,7 @@ void ShowHideHearts(s32 item)
}
numHearts = (u8)(gContestEffects[gContestMoves[item].effect].jam / 10);
-
+
if (numHearts == 0xFF)
{
numHearts = 0;
diff --git a/src/librfu_stwi.c b/src/librfu_stwi.c
index 21d38bb38..556b79bf8 100644
--- a/src/librfu_stwi.c
+++ b/src/librfu_stwi.c
@@ -246,7 +246,7 @@ void STWI_send_SystemConfigREQ(u16 unk1, u8 unk2, u8 unk3)
if (!STWI_init(RFU_SYSTEM_CONFIG))
{
u8 *packetBytes;
-
+
gRfuState->txParams = 1;
packetBytes = gRfuState->txPacket->rfuPacket8.data;
@@ -348,7 +348,7 @@ void STWI_send_DataTxREQ(void *in, u8 size)
u8 txParams = (size / sizeof(u32));
if (size & (sizeof(u32) - 1))
txParams += 1;
-
+
gRfuState->txParams = txParams;
CpuCopy32(in, gRfuState->txPacket->rfuPacket32.data, gRfuState->txParams * sizeof(u32));
STWI_start_Command();
@@ -469,11 +469,11 @@ void STWI_send_CPR_StartREQ(u16 unk0, u16 unk1, u8 unk2)
{
u32 *packetData;
u32 arg1;
-
+
if (!STWI_init(RFU_CPR_START))
{
gRfuState->txParams = 2;
-
+
arg1 = unk1 | (unk0 << 16);
packetData = gRfuState->txPacket->rfuPacket32.data;
packetData[0] = arg1;
@@ -569,7 +569,7 @@ void STWI_set_timer(u8 unk)
void STWI_stop_timer(void)
{
gRfuState->timerState = 0;
-
+
REG_TMCNT_L(gRfuState->timerSelect) = 0;
REG_TMCNT_H(gRfuState->timerSelect) = 0;
}
@@ -612,7 +612,7 @@ u16 STWI_init(u8 request)
gRfuState->timerActive = 0;
gRfuState->unk_12 = 0;
gRfuState->unk_15 = 0;
-
+
REG_RCNT = 0x100;
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS;
return FALSE;
@@ -622,22 +622,22 @@ u16 STWI_init(u8 request)
int STWI_start_Command()
{
u16 imeTemp;
-
+
// Yes, it matters that it's casted to a u32...
*(u32*)gRfuState->txPacket->rfuPacket8.data = 0x99660000 | (gRfuState->txParams << 8) | gRfuState->activeCommand;
REG_SIODATA32 = gRfuState->txPacket->rfuPacket32.command;
-
+
gRfuState->unk_0 = 0;
gRfuState->unk_5 = 1;
-
+
imeTemp = REG_IME;
REG_IME = 0;
REG_IE |= (INTR_FLAG_TIMER0 << gRfuState->timerSelect);
REG_IE |= INTR_FLAG_SERIAL;
REG_IME = imeTemp;
-
+
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_MULTI_BUSY | SIO_115200_BPS;
-
+
return 0;
}
@@ -654,7 +654,7 @@ int STWI_restart_Command(void)
{
gRfuState->unk_12 = 1;
gRfuState->unk_2c = 0;
-
+
if (gRfuState->callbackM)
gRfuState->callbackM(gRfuState->activeCommand, gRfuState->unk_12);
}
@@ -662,18 +662,18 @@ int STWI_restart_Command(void)
{
gRfuState->unk_12 = 1;
gRfuState->unk_2c = 0;
-
+
if (gRfuState->callbackM)
gRfuState->callbackM(gRfuState->activeCommand, gRfuState->unk_12);
-
+
gRfuState->unk_0 = 4; //TODO: what's 4
}
}
-
+
return 0;
}
-int STWI_reset_ClockCounter()
+int STWI_reset_ClockCounter(void)
{
gRfuState->unk_0 = 5; //TODO: what is 5
gRfuState->txParams = 0;
@@ -682,6 +682,6 @@ int STWI_reset_ClockCounter()
REG_SIOCNT = 0;
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS;
REG_SIOCNT = (SIO_INTR_ENABLE | SIO_32BIT_MODE | SIO_115200_BPS) + 0x7F;
-
+
return 0;
}
diff --git a/src/link.c b/src/link.c
index 687a6c07b..79df699ef 100644
--- a/src/link.c
+++ b/src/link.c
@@ -2,7 +2,7 @@
// Includes
#include "global.h"
#include "m4a.h"
-#include "malloc.h"
+#include "alloc.h"
#include "reset_save_heap.h"
#include "save.h"
#include "bg.h"
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 7d46fec2d..2c6e22475 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -1,26 +1,24 @@
-
-// Includes
#include "global.h"
-#include "malloc.h"
+#include "alloc.h"
#include "battle.h"
#include "berry_blender.h"
-#include "task.h"
-#include "random.h"
#include "decompress.h"
-#include "text.h"
-#include "string_util.h"
#include "event_data.h"
-#include "overworld.h"
-#include "link.h"
+#include "gpu_regs.h"
#include "librfu.h"
-#include "rom_8011DC0.h"
+#include "link.h"
#include "link_rfu.h"
+#include "overworld.h"
+#include "random.h"
+#include "palette.h"
+#include "rom_8011DC0.h"
+#include "string_util.h"
+#include "task.h"
+#include "text.h"
+#include "constants/species.h"
extern u16 gUnknown_03005DA8;
-
-// Static type declarations
-
-// Static RAM declarations
+extern void nullsub_89(u8 taskId);
struct UnkRfuStruct_1 gUnknown_03004140;
struct UnkRfuStruct_2 gUnknown_03005000;
@@ -32,12 +30,11 @@ IWRAM_DATA u16 gUnknown_03000D90[8];
EWRAM_DATA u8 gWirelessStatusIndicatorSpriteId = 0;
EWRAM_DATA ALIGNED(4) struct UnkLinkRfuStruct_02022B14 gUnknown_02022B14 = {};
-EWRAM_DATA ALIGNED(2) u8 gUnknown_02022B22[8] = {};
+EWRAM_DATA ALIGNED(2) u8 gUnknown_02022B22[PLAYER_NAME_LENGTH + 1] = {};
EWRAM_DATA struct UnkLinkRfuStruct_02022B2C gUnknown_02022B2C = {};
EWRAM_DATA struct UnkLinkRfuStruct_02022B44 gUnknown_02022B44 = {};
// Static ROM declarations
-
static void sub_800C000(void);
static void sub_800C7B4(u16 r8, u16 r6);
static void sub_800C744(u32 a0);
@@ -68,18 +65,21 @@ static void rfufunc_80FA020(void);
bool32 sub_8010454(u32 a0);
static void sub_8010528(void);
void sub_8010750(void);
-int sub_80107A0(void);
+s32 sub_80107A0(void);
void sub_801084C(u8 taskId);
void sub_80109E8(u16 a0);
void sub_8010A70(void *a0);
void sub_8010AAC(u8 taskId);
void sub_8010D0C(u8 taskId);
-void sub_80115EC(u16 a0);
+void sub_80115EC(s32 a0);
u8 sub_8011CE4(const u8 *a0, u16 a1);
-void sub_8011D6C(u8 a0);
-void sub_8011E94(u8 a0, u8 a1);
-u8 sub_8012224(void);
+void sub_8011D6C(u32 a0);
+void sub_8011E94(u32 a0, u32 a1);
+bool8 sub_8012224(void);
void sub_801227C(void);
+void sub_801209C(u8 taskId);
+void sub_8011BF8(void);
+void sub_8011BA4(void);
// .rodata
@@ -276,7 +276,7 @@ const struct {
{ gBlockSendBuffer, 40 }
};
const u16 gUnknown_082ED6E0[] = {
- 0x0002, 0x7f7d, 0x0000, 0xffff
+ 0x0002, 0x7f7d, 0x0000, 0xFFFF
};
const char sUnref_082ED6E8[][15] = {
@@ -308,6 +308,11 @@ const char gUnknown_082ED7EC[] = "PokemonSioInfo";
const char gUnknown_082ED7FC[] = "LINK LOSS DISCONNECT!";
const char gUnknown_082ED814[] = "LINK LOSS RECOVERY NOW";
+extern const char gUnknown_082ED82C[];
+extern const char gUnknown_082ED84B[];
+extern const char gUnknown_082ED85B[];
+extern const char gUnknown_082ED868[];
+
// .text
u32 sub_800BEC0(void)
@@ -352,7 +357,7 @@ void rfu_REQ_sendData_wrapper(u8 r2)
rfu_REQ_sendData(r2);
}
-int sub_800BF4C(void (*func1)(u8, u8), void (*func2)(u16))
+s32 sub_800BF4C(void (*func1)(u8, u8), void (*func2)(u16))
{
if (func1 == NULL)
{
@@ -474,7 +479,6 @@ u8 sub_800C054(u8 r5, u16 r7, u16 r8, const u16 *r6)
u8 sub_800C12C(u16 r6, u16 r8)
{
u8 i;
- struct RfuUnk5 *tmp;
if (gUnknown_03004140.unk_04 != 0 && (gUnknown_03004140.unk_04 < 9 || gUnknown_03004140.unk_04 > 11))
{
@@ -1465,7 +1469,7 @@ static u8 sub_800D294(void)
for (i = 0; i < gUnknown_03007890->unk_08; i++)
{
- for (ptr = gUnknown_03004140.unk_20; *ptr != 0xffff; ptr++)
+ for (ptr = gUnknown_03004140.unk_20; *ptr != 0xFFFF; ptr++)
{
if (gUnknown_03007890->unk_14[i].unk_04 == *ptr)
{
@@ -1685,8 +1689,8 @@ void sub_800D658(void)
void sub_800D6C8(struct UnkRfuStruct_2_Sub_124 *ptr)
{
- int i;
- int j;
+ s32 i;
+ s32 j;
for (i = 0; i < 32; i++)
{
@@ -1703,8 +1707,8 @@ void sub_800D6C8(struct UnkRfuStruct_2_Sub_124 *ptr)
void sub_800D724(struct UnkRfuStruct_2_Sub_9e8 *ptr)
{
- int i;
- int j;
+ s32 i;
+ s32 j;
for (i = 0; i < 40; i++)
{
@@ -1721,8 +1725,8 @@ void sub_800D724(struct UnkRfuStruct_2_Sub_9e8 *ptr)
void sub_800D780(struct UnkRfuStruct_Sub_Unused *ptr)
{
- int i;
- int j;
+ s32 i;
+ s32 j;
for (i = 0; i < 2; i++)
{
@@ -1739,7 +1743,7 @@ void sub_800D780(struct UnkRfuStruct_Sub_Unused *ptr)
void sub_800D7D8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
{
- int i;
+ s32 i;
u16 imeBak;
u8 count;
@@ -1779,7 +1783,7 @@ void sub_800D7D8(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
void sub_800D888(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
{
- int i;
+ s32 i;
u16 imeBak;
if (q1->unk_232 < 40)
@@ -1818,7 +1822,7 @@ void sub_800D888(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
bool8 sub_800D934(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
{
u16 imeBak;
- int i;
+ s32 i;
imeBak = REG_IME;
REG_IME = 0;
@@ -1844,7 +1848,7 @@ bool8 sub_800D934(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2)
bool8 sub_800D9DC(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
{
- int i;
+ s32 i;
u16 imeBak;
if (q1->unk_230 == q1->unk_231 || q1->unk_233 != 0)
@@ -1866,7 +1870,7 @@ bool8 sub_800D9DC(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2)
void sub_800DA68(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2)
{
- int i;
+ s32 i;
if (q2[1] == 0)
{
@@ -1893,7 +1897,7 @@ void sub_800DA68(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2)
static bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2)
{
- int i;
+ s32 i;
if (q1->unk_1e == 0)
{
@@ -1914,7 +1918,7 @@ static bool8 sub_800DAC8(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2)
void sub_800DB18(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
{
- int i;
+ s32 i;
if (q1->unk_202 < 2)
{
@@ -1934,7 +1938,7 @@ void sub_800DB18(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
bool8 sub_800DB84(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
{
- int i;
+ s32 i;
if (q1->unk_200 == q1->unk_201 || q1->unk_203)
{
@@ -1952,7 +1956,7 @@ bool8 sub_800DB84(struct UnkRfuStruct_Sub_Unused *q1, u8 *q2)
void sub_800DBF8(u8 *q1, u8 mode)
{
- int i;
+ s32 i;
u8 rval;
u16 r5 = 0;
switch (mode)
@@ -1996,7 +2000,7 @@ void sub_800DBF8(u8 *q1, u8 mode)
void PkmnStrToASCII(u8 *q1, const u8 *q2)
{
- int i;
+ s32 i;
for (i = 0; q2[i] != EOS; i++)
{
@@ -2007,7 +2011,7 @@ void PkmnStrToASCII(u8 *q1, const u8 *q2)
void ASCIIToPkmnStr(u8 *q1, const u8 *q2)
{
- int i;
+ s32 i;
for (i = 0; q2[i] != 0; i++)
{
@@ -2020,20 +2024,17 @@ void ASCIIToPkmnStr(u8 *q1, const u8 *q2)
u8 sub_800DD1C(u8 maxFlags)
{
u8 flagCount = 0;
- u8 flags = gUnknown_03007890->unk_02;
+ u32 flags = gUnknown_03007890->unk_02;
u8 i;
if (gUnknown_03007890->unk_00 == 1)
{
- i = 0;
for (i = 0; i < 4; flags >>= 1, i++)
{
if (flags & 1)
{
if (maxFlags == flagCount + 1)
- {
return gUnknown_03007890->unk_0a[i];
- }
flagCount++;
}
}
@@ -2043,9 +2044,7 @@ u8 sub_800DD1C(u8 maxFlags)
for (i = 0; i < 4; flags >>= 1, i++)
{
if (flags & 1)
- {
return gUnknown_03007890->unk_0a[i];
- }
}
}
return 0;
@@ -2120,9 +2119,9 @@ NAKED u8 sub_800DD1C(u8 maxFlags)
}
#endif
-void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, int r3)
+void sub_800DD94(struct UnkLinkRfuStruct_02022B14 *data, u8 r9, bool32 r2, s32 r3)
{
- int i;
+ s32 i;
for (i = 0; i < 2; i++)
{
@@ -2156,12 +2155,12 @@ bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
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, 0xD);
- memcpy(buff2, gUnknown_03007890->unk_14[idx].unk_15, sizeof(gUnknown_03007890->unk_14[idx].unk_15));
+ memcpy(buff2, gUnknown_03007890->unk_14[idx].playerName, PLAYER_NAME_LENGTH + 1);
}
else
{
memset(buff1, 0, 0xD);
- memset(buff2, 0, sizeof(gUnknown_03007890->unk_14[idx].unk_15));
+ memset(buff2, 0, sizeof(gUnknown_03007890->unk_14[idx].playerName));
}
}
else
@@ -2170,12 +2169,12 @@ bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
if (sub_8010454(gUnknown_03007890->unk_14[idx].unk_04))
{
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));
+ memcpy(buff2, gUnknown_03007890->unk_14[idx].playerName, PLAYER_NAME_LENGTH + 1);
}
else
{
memset(buff1, 0, 0xD);
- memset(buff2, 0, sizeof(gUnknown_03007890->unk_14[idx].unk_15));
+ memset(buff2, 0, PLAYER_NAME_LENGTH + 1);
}
}
return retVal;
@@ -2186,13 +2185,13 @@ bool8 sub_800DF34(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
bool8 retVal = FALSE;
if (gUnknown_03007890->unk_14[idx].unk_04 == 0x7F7D)
{
- *buff1 = gUnknown_03007890->unk_14[idx].unk_06;
- memcpy(buff2, gUnknown_03007890->unk_14[idx].unk_15, 8);
+ memcpy(buff1, &gUnknown_03007890->unk_14[idx].unk_06, 0xD);
+ memcpy(buff2, gUnknown_03007890->unk_14[idx].playerName, 8);
retVal = TRUE;
}
else
{
- *buff1 = (struct UnkLinkRfuStruct_02022B14){};
+ memset(buff1, 0, 0xD);
memset(buff2, 0, 8);
}
return retVal;
@@ -2200,7 +2199,7 @@ bool8 sub_800DF34(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx)
void sub_800DF90(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2)
{
- *buff1 = gUnknown_02022B14;
+ memcpy(buff1, &gUnknown_02022B14, 0xD);
memcpy(buff2, gUnknown_02022B22, 8);
}
@@ -2266,7 +2265,7 @@ u8 sub_800E124(void)
return 0;
}
-void sub_800E15C(struct Sprite *sprite, int signalStrengthAnimNum)
+void sub_800E15C(struct Sprite *sprite, s32 signalStrengthAnimNum)
{
if (sprite->data[2] != signalStrengthAnimNum)
{
@@ -2356,7 +2355,7 @@ void sub_800E378(struct UnkSaveSubstruct_3b98 *dest, u32 trainerId, const u8 *na
bool32 sub_800E388(const u8 *name)
{
- int i;
+ s32 i;
for (i = 0; i < 8; i++)
{
@@ -2372,10 +2371,10 @@ void sub_800E3A8(void)
{
if (gWirelessCommType != 0)
{
- int i;
- int j;
- int cnt;
- int sp0[5];
+ s32 i;
+ s32 j;
+ s32 cnt;
+ s32 sp0[5];
struct UnkSaveSubstruct_3b98 *sp14 = calloc(20, sizeof(struct UnkSaveSubstruct_3b98));
for (i = 0; i < GetLinkPlayerCount(); i++)
{
@@ -2419,7 +2418,7 @@ void sub_800E3A8(void)
bool32 sub_800E540(u16 id, u8 *name)
{
- int i;
+ s32 i;
for (i = 0; i < 20; i++)
{
@@ -2437,7 +2436,7 @@ bool32 sub_800E540(u16 id, u8 *name)
void sub_800E5AC(void)
{
- int i;
+ s32 i;
for (i = 0; i < 20; i++)
{
@@ -2446,19 +2445,19 @@ void sub_800E5AC(void)
}
}
-void nullsub_5(void *unused_0, u8 unused_1, u8 unused_2)
+void nullsub_5(const char *unused_0, u8 unused_1, u8 unused_2)
{
// debug?
}
-void nullsub_13(u8 unused_0, u8 unused_1, u8 unused_2, u8 unused_3)
+void nullsub_13(u16 unused_0, u8 unused_1, u8 unused_2, u8 unused_3)
{
}
void sub_800E604(void)
{
- int i;
+ s32 i;
u8 unk_ee_bak = gUnknown_03005000.unk_ee;
CpuFill16(0, &gUnknown_03005000, sizeof gUnknown_03005000);
gUnknown_03005000.unk_ee = unk_ee_bak;
@@ -2542,17 +2541,17 @@ void sub_800E748(u8 taskId)
}
}
-u8 sub_800E87C(u8 idx)
+s32 sub_800E87C(u8 idx)
{
return gUnknown_082ED6A5[idx];
}
-void sub_800E88C(int r2, int r5)
+void sub_800E88C(s32 r2, s32 r5)
{
u8 i;
u8 r4 = 1;
- int r1 = r2;
- int r6 = 0;
+ s32 r1 = r2;
+ s32 r6 = 0;
if (r5 == -1)
{
for (i = 0; i < 4; r2 >>= 1, i++)
@@ -2743,7 +2742,7 @@ void sub_800ED28(void)
void sub_800ED34(u16 unused)
{
- int i;
+ s32 i;
for (i = 0; i < 14; i++)
{
@@ -2820,7 +2819,7 @@ bool8 sub_800EE94(void)
return FALSE;
}
-bool8 sub_800EEBC(void)
+bool32 sub_800EEBC(void)
{
if (gUnknown_03005000.unk_04 == 7 && !sub_800C12C(gUnknown_03007890->unk_14[gUnknown_03005000.unk_c3d].unk_00, 240))
{
@@ -2885,7 +2884,7 @@ void sub_800EF88(u8 a0)
// FIXME: gRecvCmds should be in r6 and r7
void sub_800EFB0(void)
{
- int i, j;
+ s32 i, j;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 7; j++)
@@ -2947,7 +2946,7 @@ NAKED void sub_800EFB0(void)
void sub_800F014(void)
{
- int i;
+ s32 i;
for (i = 0; i < 7; i++)
{
gRecvCmds[0][i] = gSendCmd[i];
@@ -2981,8 +2980,8 @@ static void sub_800F048(void)
bool32 sub_800F0B8(void)
{
- int i;
- int j;
+ s32 i;
+ s32 j;
if (gUnknown_03007890->unk_06 == 0)
{
@@ -3078,7 +3077,7 @@ bool32 sub_800F1E0(void)
{
if (gUnknown_03005000.unk_14[i][1])
{
- if (gUnknown_03005000.unk_cee[i] != 0xff && (gUnknown_03005000.unk_14[i][0] >> 5) != ((gUnknown_03005000.unk_cee[i] + 1) & 7))
+ if (gUnknown_03005000.unk_cee[i] != 0xFF && (gUnknown_03005000.unk_14[i][0] >> 5) != ((gUnknown_03005000.unk_cee[i] + 1) & 7))
{
if (++gUnknown_03005000.unk_cea[i] > 4)
sub_8011170(0x8100);
@@ -3137,7 +3136,7 @@ bool32 sub_800F1E0(void)
void sub_800F498(u16 *a0, u8 *a1)
{
- int i;
+ s32 i;
if (a0[0])
{
@@ -3203,13 +3202,11 @@ bool32 sub_800F4F0(void)
return sub_800F0B8();
}
-#ifdef NONMATCHING
void sub_800F638(u8 unused, u32 flags)
{
- int i;
- int j;
+ s32 i, j;
- u8 *r10 = gUnknown_03005000.unk_6c.unk_04;
+ const u8 *r10 = gUnknown_03005000.unk_6c.unk_04;
for (i = 0; i < gUnknown_03005000.unk_6c.unk_02; i++)
{
if (!(flags & 1))
@@ -3220,11 +3217,11 @@ void sub_800F638(u8 unused, u32 flags)
gUnknown_03000D90[j + 1] = (r10[12 * i + (j << 1) + 1] << 8) | r10[12 * i + (j << 1) + 0];
}
for (j = 0; j < 7; j++)
- // This should be an ascending loop.
- // GCC compiles this as descending.
{
gUnknown_03000D80[2 * j + 1] = gUnknown_03000D90[j] >> 8;
gUnknown_03000D80[2 * j + 0] = gUnknown_03000D90[j];
+
+ j++;j--; // Needed to match;
}
sub_800D888(&gUnknown_03005000.unk_9e8, gUnknown_03000D80);
gUnknown_03005000.unk_6c.unk_0c |= (1 << i);
@@ -3232,101 +3229,6 @@ void sub_800F638(u8 unused, u32 flags)
flags >>= 1;
}
}
-#else
-NAKED void sub_800F638(u8 unused, u32 flags)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tldr r2, [r0, 0x70]\n"
- "\tmov r10, r2\n"
- "\tmovs r5, 0\n"
- "\tadds r2, r0, 0\n"
- "\tadds r2, 0x6E\n"
- "\tldrh r3, [r2]\n"
- "\tcmp r5, r3\n"
- "\tbge _0800F6D4\n"
- "\tmov r9, r0\n"
- "\tldr r0, =gUnknown_03000D90\n"
- "\tmov r8, r0\n"
- "_0800F65A:\n"
- "\tmovs r0, 0x1\n"
- "\tands r0, r1\n"
- "\tlsrs r7, r1, 1\n"
- "\tadds r6, r5, 0x1\n"
- "\tcmp r0, 0\n"
- "\tbne _0800F6C8\n"
- "\tldr r1, =0xffff8900\n"
- "\tadds r0, r1, 0\n"
- "\tadds r1, r5, 0\n"
- "\torrs r1, r0\n"
- "\tmov r2, r8\n"
- "\tstrh r1, [r2]\n"
- "\tmovs r4, 0\n"
- "\tlsls r0, r5, 1\n"
- "\tldr r3, =gUnknown_03000D80\n"
- "\tmov r12, r3\n"
- "\tadds r0, r5\n"
- "\tlsls r0, 2\n"
- "\tmov r1, r10\n"
- "\tadds r2, r0, r1\n"
- "\tmov r3, r8\n"
- "\tadds r3, 0x2\n"
- "_0800F686:\n"
- "\tldrb r1, [r2, 0x1]\n"
- "\tlsls r1, 8\n"
- "\tldrb r0, [r2]\n"
- "\torrs r0, r1\n"
- "\tstrh r0, [r3]\n"
- "\tadds r2, 0x2\n"
- "\tadds r3, 0x2\n"
- "\tadds r4, 0x1\n"
- "\tcmp r4, 0x6\n"
- "\tble _0800F686\n"
- "\tmovs r4, 0\n"
- "\tldr r2, =gUnknown_03000D90\n"
- "\tldr r1, =gUnknown_03000D80\n"
- "_0800F6A0:\n"
- "\tldrh r0, [r2]\n"
- "\tlsrs r0, 8\n"
- "\tstrb r0, [r1, 0x1]\n"
- "\tldrh r0, [r2]\n"
- "\tstrb r0, [r1]\n"
- "\tadds r2, 0x2\n"
- "\tadds r1, 0x2\n"
- "\tadds r4, 0x1\n"
- "\tcmp r4, 0x6\n"
- "\tble _0800F6A0\n"
- "\tldr r0, =gUnknown_03005000+0x9E8\n"
- "\tmov r1, r12\n"
- "\tbl sub_800D888\n"
- "\tmovs r1, 0x1\n"
- "\tlsls r1, r5\n"
- "\tmov r2, r9\n"
- "\tldr r0, [r2, 0x78]\n"
- "\torrs r0, r1\n"
- "\tstr r0, [r2, 0x78]\n"
- "_0800F6C8:\n"
- "\tadds r1, r7, 0\n"
- "\tadds r5, r6, 0\n"
- "\tldr r3, =gUnknown_03005000+0x6E\n"
- "\tldrh r3, [r3]\n"
- "\tcmp r5, r3\n"
- "\tblt _0800F65A\n"
- "_0800F6D4:\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
-}
-#endif
void sub_800F6FC(u8 a0)
{
@@ -3408,89 +3310,89 @@ static void sub_800F86C(u8 unused)
{
switch (gRecvCmds[i][0] & 0xff00)
{
- case 0x7800:
- if (gUnknown_03005000.unk_0c == 0 && gReceivedRemoteLinkPlayers != 0)
- return;
- // fallthrough
- case 0x7700:
- if (gUnknown_03007890->unk_00 == 0)
- {
- gUnknown_03005000.playerCount = gRecvCmds[i][1];
- gUnknown_03005000.unk_cce = sub_800F74C((u8 *)(gRecvCmds[i] + 2));
- }
- break;
- case 0x8800:
- if (gUnknown_03005000.unk_80[i].unk_12 == 0)
- {
- gUnknown_03005000.unk_80[i].unk_00 = 0;
- gUnknown_03005000.unk_80[i].unk_02 = gRecvCmds[i][1];
- gUnknown_03005000.unk_80[i].unk_11 = gRecvCmds[i][2];
- gUnknown_03005000.unk_80[i].unk_08 = 0;
- gUnknown_03005000.unk_80[i].unk_12 = 1;
- gUnknown_03005000.unk_5c[i] = 0;
- }
- break;
- case 0x8900:
- if (gUnknown_03005000.unk_80[i].unk_12 == 1)
+ case 0x7800:
+ if (gUnknown_03005000.unk_0c == 0 && gReceivedRemoteLinkPlayers != 0)
+ return;
+ // fallthrough
+ case 0x7700:
+ if (gUnknown_03007890->unk_00 == 0)
+ {
+ gUnknown_03005000.playerCount = gRecvCmds[i][1];
+ gUnknown_03005000.unk_cce = sub_800F74C((u8 *)(gRecvCmds[i] + 2));
+ }
+ break;
+ case 0x8800:
+ if (gUnknown_03005000.unk_80[i].unk_12 == 0)
+ {
+ gUnknown_03005000.unk_80[i].unk_00 = 0;
+ gUnknown_03005000.unk_80[i].unk_02 = gRecvCmds[i][1];
+ gUnknown_03005000.unk_80[i].unk_11 = gRecvCmds[i][2];
+ gUnknown_03005000.unk_80[i].unk_08 = 0;
+ gUnknown_03005000.unk_80[i].unk_12 = 1;
+ gUnknown_03005000.unk_5c[i] = 0;
+ }
+ break;
+ case 0x8900:
+ if (gUnknown_03005000.unk_80[i].unk_12 == 1)
+ {
+ gUnknown_03005000.unk_80[i].unk_00 = gRecvCmds[i][0] & 0xff;
+ gUnknown_03005000.unk_80[i].unk_08 |= (1 << gUnknown_03005000.unk_80[i].unk_00);
+ for (j = 0; j < 6; j++)
+ gBlockRecvBuffer[i][gUnknown_03005000.unk_80[i].unk_00 * 6 + j] = gRecvCmds[i][j + 1];
+ if (gUnknown_03005000.unk_80[i].unk_08 == gUnknown_082ED628[gUnknown_03005000.unk_80[i].unk_02])
{
- gUnknown_03005000.unk_80[i].unk_00 = gRecvCmds[i][0] & 0xff;
- gUnknown_03005000.unk_80[i].unk_08 |= (1 << gUnknown_03005000.unk_80[i].unk_00);
- for (j = 0; j < 6; j++)
- gBlockRecvBuffer[i][gUnknown_03005000.unk_80[i].unk_00 * 6 + j] = gRecvCmds[i][j + 1];
- if (gUnknown_03005000.unk_80[i].unk_08 == gUnknown_082ED628[gUnknown_03005000.unk_80[i].unk_02])
- {
- gUnknown_03005000.unk_80[i].unk_12 = 2;
- sub_800F6FC(i);
- if (sub_800F7DC()->unk_0a_0 == 0x45 && gReceivedRemoteLinkPlayers != 0 && gUnknown_03005000.unk_0c == 0)
- sub_8010A70(gBlockRecvBuffer);
- }
+ gUnknown_03005000.unk_80[i].unk_12 = 2;
+ sub_800F6FC(i);
+ if (sub_800F7DC()->unk_0a_0 == 0x45 && gReceivedRemoteLinkPlayers != 0 && gUnknown_03005000.unk_0c == 0)
+ sub_8010A70(gBlockRecvBuffer);
}
- break;
- case 0xa100:
- sub_800FE84(gUnknown_082ED6B8[gRecvCmds[i][1]].buffer, (u16)gUnknown_082ED6B8[gRecvCmds[i][1]].size);
- break;
- case 0x5f00:
- gUnknown_03005000.unk_e4[i] = 1;
- break;
- case 0x6600:
- if (gUnknown_03005000.unk_100 == gRecvCmds[i][1])
- gUnknown_03005000.unk_e9[i] = 1;
- break;
- case 0xed00:
- if (gUnknown_03005000.unk_0c == 0)
+ }
+ break;
+ case 0xa100:
+ sub_800FE84(gUnknown_082ED6B8[gRecvCmds[i][1]].buffer, (u16)gUnknown_082ED6B8[gRecvCmds[i][1]].size);
+ break;
+ case 0x5f00:
+ gUnknown_03005000.unk_e4[i] = 1;
+ break;
+ case 0x6600:
+ if (gUnknown_03005000.unk_100 == gRecvCmds[i][1])
+ gUnknown_03005000.unk_e9[i] = 1;
+ break;
+ case 0xed00:
+ if (gUnknown_03005000.unk_0c == 0)
+ {
+ if (gReceivedRemoteLinkPlayers != 0)
{
- if (gReceivedRemoteLinkPlayers != 0)
+ if (gRecvCmds[i][1] & gUnknown_03007890->unk_02)
{
- if (gRecvCmds[i][1] & gUnknown_03007890->unk_02)
- {
- gReceivedRemoteLinkPlayers = 0;
- sub_800D630();
- gUnknown_03005000.unk_ce4 = gRecvCmds[i][2];
- }
- gUnknown_03005000.playerCount = gRecvCmds[i][3];
- sub_80109E8(gRecvCmds[i][1]);
+ gReceivedRemoteLinkPlayers = 0;
+ sub_800D630();
+ gUnknown_03005000.unk_ce4 = gRecvCmds[i][2];
}
- }
- else
- {
- sub_800FD14(0xee00);
- gSendCmd[1] = gRecvCmds[i][1];
- gSendCmd[2] = gRecvCmds[i][2];
- gSendCmd[3] = gRecvCmds[i][3];
- }
- break;
- case 0xee00:
- if (gUnknown_03005000.unk_0c == 1)
- {
- gUnknown_03005000.unk_ce3 |= gRecvCmds[i][1];
- gUnknown_03005000.unk_ce4 = gRecvCmds[i][2];
+ gUnknown_03005000.playerCount = gRecvCmds[i][3];
sub_80109E8(gRecvCmds[i][1]);
}
- break;
- case 0x4400:
- case 0xbe00:
- gLinkPartnersHeldKeys[i] = gRecvCmds[i][1];
- break;
+ }
+ else
+ {
+ sub_800FD14(0xee00);
+ gSendCmd[1] = gRecvCmds[i][1];
+ gSendCmd[2] = gRecvCmds[i][2];
+ gSendCmd[3] = gRecvCmds[i][3];
+ }
+ break;
+ case 0xee00:
+ if (gUnknown_03005000.unk_0c == 1)
+ {
+ gUnknown_03005000.unk_ce3 |= gRecvCmds[i][1];
+ gUnknown_03005000.unk_ce4 = gRecvCmds[i][2];
+ sub_80109E8(gRecvCmds[i][1]);
+ }
+ break;
+ case 0x4400:
+ case 0xbe00:
+ gLinkPartnersHeldKeys[i] = gRecvCmds[i][1];
+ break;
}
if (gUnknown_03005000.unk_0c == 1 && gUnknown_03005000.unk_61[i])
{
@@ -3507,7 +3409,7 @@ static void sub_800F86C(u8 unused)
bool8 sub_800FC60(void)
{
- int i;
+ s32 i;
for (i = 0; i < 5; i++)
{
@@ -3519,7 +3421,7 @@ bool8 sub_800FC60(void)
bool8 sub_800FC88(void)
{
- int i;
+ s32 i;
for (i = 0; i < gUnknown_03005000.playerCount; i++)
{
@@ -3543,7 +3445,7 @@ static void sub_800FCC4(struct UnkRfuStruct_2_Sub_6c *data)
u8 sub_800FCD8(void)
{
u8 flags = 0;
- int i;
+ s32 i;
for (i = 0; i < 5; i++)
{
@@ -3555,8 +3457,6 @@ u8 sub_800FCD8(void)
return flags;
}
-#ifdef NONMATCHING
-// The switch tree is incorrect
void sub_800FD14(u16 command)
{
u8 i;
@@ -3566,199 +3466,48 @@ void sub_800FD14(u16 command)
gSendCmd[0] = command;
switch (command)
{
- case 0x8800:
- gSendCmd[1] = gUnknown_03005000.unk_6c.unk_02;
- gSendCmd[2] = gUnknown_03005000.unk_6c.unk_11 + 0x80;
- break;
- case 0xa100:
- if (sub_800FC60())
- gSendCmd[1] = gUnknown_03005000.unk_5a;
- break;
- case 0x7800:
- case 0x7700:
- tmp = gUnknown_03005000.unk_ce2 ^ gUnknown_03005000.unk_ce3;
- gUnknown_03005000.playerCount = gUnknown_082ED695[tmp] + 1;
- gSendCmd[1] = gUnknown_03005000.playerCount;
- buff = (u8 *)(gSendCmd + 2);
- for (i = 0; i < 4; i++)
- buff[i] = gUnknown_03005000.unk_cde[i];
- break;
- case 0x6600:
- case 0x5f00:
- gSendCmd[1] = gUnknown_03005000.unk_100;
- break;
- case 0x4400:
- gSendCmd[0] = 0x4400;
- gSendCmd[1] = gMain.heldKeys;
- break;
- case 0x2f00:
- for (i = 0; i < 6; i++)
- gSendCmd[1 + i] = gUnknown_03005000.unk_f2[i];
- break;
- case 0xbe00:
- gSendCmd[1] = gUnknown_03005DA8;
- break;
+ case 0x8800:
+ gSendCmd[1] = gUnknown_03005000.unk_6c.unk_02;
+ gSendCmd[2] = gUnknown_03005000.unk_6c.unk_11 + 0x80;
+ break;
+ case 0xa100:
+ if (sub_800FC60())
+ gSendCmd[1] = gUnknown_03005000.unk_5a;
+ break;
+ case 0x7700:
+ case 0x7800:
+ tmp = gUnknown_03005000.unk_ce2 ^ gUnknown_03005000.unk_ce3;
+ gUnknown_03005000.playerCount = gUnknown_082ED695[tmp] + 1;
+ gSendCmd[1] = gUnknown_03005000.playerCount;
+ buff = (u8 *)(gSendCmd + 2);
+ for (i = 0; i < 4; i++)
+ buff[i] = gUnknown_03005000.unk_cde[i];
+ break;
+ case 0x6600:
+ case 0x5f00:
+ gSendCmd[1] = gUnknown_03005000.unk_100;
+ break;
+ case 0x4400:
+ gSendCmd[0] = command;
+ gSendCmd[1] = gMain.heldKeys;
+ break;
+ case 0x2f00:
+ for (i = 0; i < 6; i++)
+ gSendCmd[1 + i] = gUnknown_03005000.unk_f2[i];
+ break;
+ case 0xbe00:
+ gSendCmd[1] = gUnknown_03005DA8;
+ break;
+ case 0xee00:
+ break;
+ case 0xed00:
+ break;
}
}
-#else
-NAKED void sub_800FD14(u16 command)
-{
- asm_unified("\tpush {r4,r5,lr}\n"
- "\tlsls r0, 16\n"
- "\tlsrs r1, r0, 16\n"
- "\tldr r5, =gSendCmd\n"
- "\tstrh r1, [r5]\n"
- "\tmovs r0, 0xF0\n"
- "\tlsls r0, 7\n"
- "\tadds r4, r5, 0\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FDB0_case_7700_case_7800\n"
- "\tcmp r1, r0\n"
- "\tbgt _0800FD62\n"
- "\tmovs r0, 0xBE\n"
- "\tlsls r0, 7\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE00_case_5f00_case_6600\n"
- "\tcmp r1, r0\n"
- "\tbgt _0800FD50\n"
- "\tmovs r0, 0xBC\n"
- "\tlsls r0, 6\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE20_case_2f00\n"
- "\tmovs r0, 0x88\n"
- "\tlsls r0, 7\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE14_case_4400\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FD50:\n"
- "\tmovs r0, 0xCC\n"
- "\tlsls r0, 7\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE00_case_5f00_case_6600\n"
- "\tmovs r0, 0xEE\n"
- "\tlsls r0, 7\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FDB0_case_7700_case_7800\n"
- "\tb _0800FE46_break\n"
- "_0800FD62:\n"
- "\tmovs r0, 0xBE\n"
- "\tlsls r0, 8\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FE40_case_be00\n"
- "\tcmp r1, r0\n"
- "\tbgt _0800FE46_break\n"
- "\tmovs r0, 0x88\n"
- "\tlsls r0, 8\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FD80_case_8800\n"
- "\tmovs r0, 0xA1\n"
- "\tlsls r0, 8\n"
- "\tcmp r1, r0\n"
- "\tbeq _0800FD98_case_a100\n"
- "\tb _0800FE46_break\n"
- "_0800FD80_case_8800:\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r1, r0, 0\n"
- "\tadds r1, 0x6E\n"
- "\tldrh r1, [r1]\n"
- "\tstrh r1, [r5, 0x2]\n"
- "\tadds r0, 0x7D\n"
- "\tldrb r0, [r0]\n"
- "\tadds r0, 0x80\n"
- "\tstrh r0, [r5, 0x4]\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FD98_case_a100:\n"
- "\tbl sub_800FC60\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbeq _0800FE46_break\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r0, 0x5A\n"
- "\tldrb r0, [r0]\n"
- "\tb _0800FE44_str_break\n"
- "\t.pool\n"
- "_0800FDB0_case_7700_case_7800:\n"
- "\tldr r3, =gUnknown_03005000\n"
- "\tldr r1, =0x00000ce2\n"
- "\tadds r0, r3, r1\n"
- "\tldr r2, =0x00000ce3\n"
- "\tadds r1, r3, r2\n"
- "\tldrb r2, [r0]\n"
- "\tldrb r0, [r1]\n"
- "\teors r0, r2\n"
- "\tldr r1, =gUnknown_082ED695\n"
- "\tadds r0, r1\n"
- "\tldrb r0, [r0]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r3, 0xD]\n"
- "\tldrb r0, [r3, 0xD]\n"
- "\tstrh r0, [r4, 0x2]\n"
- "\tadds r2, r4, 0x4\n"
- "\tmovs r4, 0\n"
- "\tldr r0, =0x00000cde\n"
- "\tadds r3, r0\n"
- "_0800FDD6:\n"
- "\tadds r1, r2, r4\n"
- "\tadds r0, r4, r3\n"
- "\tldrb r0, [r0]\n"
- "\tstrb r0, [r1]\n"
- "\tadds r0, r4, 0x1\n"
- "\tlsls r0, 24\n"
- "\tlsrs r4, r0, 24\n"
- "\tcmp r4, 0x3\n"
- "\tbls _0800FDD6\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FE00_case_5f00_case_6600:\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 1\n"
- "\tadds r0, r1\n"
- "\tldrh r0, [r0]\n"
- "\tstrh r0, [r4, 0x2]\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FE14_case_4400:\n"
- "\tstrh r1, [r5]\n"
- "\tldr r0, =gMain\n"
- "\tldrh r0, [r0, 0x2C]\n"
- "\tb _0800FE44_str_break\n"
- "\t.pool\n"
- "_0800FE20_case_2f00:\n"
- "\tmovs r4, 0\n"
- "\tldr r3, =gUnknown_03005000+0xF2\n"
- "_0800FE24:\n"
- "\tadds r2, r4, 0x1\n"
- "\tlsls r1, r2, 1\n"
- "\tadds r1, r5\n"
- "\tlsls r0, r4, 1\n"
- "\tadds r0, r3\n"
- "\tldrh r0, [r0]\n"
- "\tstrh r0, [r1]\n"
- "\tlsls r2, 24\n"
- "\tlsrs r4, r2, 24\n"
- "\tcmp r4, 0x5\n"
- "\tbls _0800FE24\n"
- "\tb _0800FE46_break\n"
- "\t.pool\n"
- "_0800FE40_case_be00:\n"
- "\tldr r0, =gUnknown_03005DA8\n"
- "\tldrh r0, [r0]\n"
- "_0800FE44_str_break:\n"
- "\tstrh r0, [r5, 0x2]\n"
- "_0800FE46_break:\n"
- "\tpop {r4,r5}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
-}
-#endif
void sub_800FE50(u16 *a0)
{
- if (gSendCmd[0] == 0 && sub_8011A80() == 0)
+ if (gSendCmd[0] == 0 && !sub_8011A80())
{
memcpy(gUnknown_03005000.unk_f2, a0, sizeof(gUnknown_03005000.unk_f2));
sub_800FD14(0x2f00);
@@ -3816,7 +3565,7 @@ static void rfufunc_80F9F44(void)
static void sub_800FFB0(void)
{
- int i;
+ s32 i;
const u8 *src = gUnknown_03005000.unk_6c.unk_04;
gSendCmd[0] = 0x8900 | gUnknown_03005000.unk_6c.unk_00;
for (i = 0; i < 7; i++)
@@ -3833,7 +3582,7 @@ static void rfufunc_80FA020(void)
{
const u8 *src = gUnknown_03005000.unk_6c.unk_04;
u8 mpId = GetMultiplayerId();
- int i;
+ s32 i;
if (gUnknown_03005000.unk_0c == 0)
{
gSendCmd[0] = (~0x76ff) | (gUnknown_03005000.unk_6c.unk_02 - 1);
@@ -3897,9 +3646,9 @@ void sub_8010198(void)
void sub_80101CC(void)
{
- int i;
+ s32 i;
u8 playerCount = gUnknown_03005000.playerCount;
- int count = 0;
+ s32 count = 0;
for (i = 0; i < MAX_RFU_PLAYERS; i++)
{
@@ -4026,10 +3775,10 @@ void sub_8010434(void)
bool32 sub_8010454(u32 a0)
{
- int i;
+ s32 i;
for (i = 0; gUnknown_082ED6E0[i] != a0; i++)
{
- if (gUnknown_082ED6E0[i] == 0xffff)
+ if (gUnknown_082ED6E0[i] == 0xFFFF)
return FALSE;
}
return TRUE;
@@ -4076,7 +3825,7 @@ static void sub_8010528(void)
bool8 sub_8010540(void)
{
- int i;
+ s32 i;
bool8 retval = FALSE;
for (i = 0; i < 4; i++)
{
@@ -4107,7 +3856,7 @@ bool8 sub_8010540(void)
bool32 sub_80105EC(void)
{
u8 flags = 0;
- int i;
+ s32 i;
for (i = 0; i < 4; i++)
{
if (gUnknown_03005000.unk_cd5[i] == 11)
@@ -4157,7 +3906,7 @@ void sub_80106D4(void)
u32 sub_8010714(u16 a0, const u8 *a1)
{
u8 r0 = sub_8011CE4(a1, a0);
- if (r0 == 0xff)
+ if (r0 == 0xFF)
return 2;
if (gUnknown_03007880[r0]->unk_0 == 0)
return 1;
@@ -4166,7 +3915,7 @@ u32 sub_8010714(u16 a0, const u8 *a1)
void sub_8010750(void)
{
- int i;
+ s32 i;
sub_8010540();
for (i = 0; i < 4; i++)
@@ -4180,9 +3929,9 @@ void sub_8010750(void)
}
}
-int sub_80107A0(void)
+s32 sub_80107A0(void)
{
- int retval = 0;
+ s32 retval = 0;
if (gUnknown_03005000.unk_c85 == 8)
{
if (gUnknown_03007880[gUnknown_03005000.unk_c3e]->unk_0 == 0x26 || gUnknown_03007880[gUnknown_03005000.unk_c3e]->unk_0 == 0x27)
@@ -4204,7 +3953,7 @@ int sub_80107A0(void)
void sub_801084C(u8 taskId)
{
- int i;
+ s32 i;
if (gUnknown_03005000.unk_f1 == 1 || gUnknown_03005000.unk_f1 == 2)
{
@@ -4288,7 +4037,7 @@ void sub_801084C(u8 taskId)
void sub_80109E8(u16 a0)
{
- int i;
+ s32 i;
for (i = 0; i < 4; i++)
{
@@ -4299,7 +4048,7 @@ void sub_80109E8(u16 a0)
void sub_8010A14(const struct UnkRfuStruct_8010A14 *a0)
{
- int i;
+ s32 i;
gUnknown_03005000.playerCount = a0->unk_0f;
for (i = 0; i < 4; i++)
gUnknown_03005000.unk_cde[i] = a0->unk_10[i];
@@ -4322,7 +4071,7 @@ void sub_8010A70(void *a0)
void sub_8010AAC(u8 taskId)
{
- int i;
+ s32 i;
struct LinkPlayerBlock *r2;
struct UnkRfuStruct_8010A14 *r5;
u8 r4 = gUnknown_03005000.unk_cde[gUnknown_082ED68C[gUnknown_03005000.unk_ce9]];
@@ -4501,7 +4250,7 @@ void sub_8010F48(void)
void sub_8010F60(void)
{
- gUnknown_02022B14 = (struct UnkLinkRfuStruct_02022B14){};
+ memset(&gUnknown_02022B14, 0, 0xD);
sub_800DD94(&gUnknown_02022B14, 0, 0, 0);
}
@@ -4523,7 +4272,7 @@ void sub_8010FCC(u32 a0, u32 a1, u32 a2)
gUnknown_02022B14.unk_0b_1 = a2;
}
-u8 sub_801100C(int a0)
+u8 sub_801100C(s32 a0)
{
u8 retval = 0x80;
retval |= (gLinkPlayers[a0].gender << 3);
@@ -4534,7 +4283,7 @@ u8 sub_801100C(int a0)
void sub_801103C(void)
{
struct UnkLinkRfuStruct_02022B14 *r5 = &gUnknown_02022B14;
- int i;
+ s32 i;
for (i = 1; i < GetLinkPlayerCount(); i++)
r5->unk_04[i - 1] = sub_801100C(i);
@@ -4555,10 +4304,10 @@ void sub_8011090(u8 a0, u32 a1, u32 a2)
void sub_80110B8(u32 a0)
{
- int i;
+ s32 i;
u32 r5;
u32 r7;
- int r8;
+ s32 r8;
if (sub_800F7DC()->unk_0a_0 == 0x45)
{
@@ -4614,329 +4363,794 @@ void sub_80111FC(void)
gUnknown_03005000.unk_00 = sub_80111DC;
}
-#ifdef NONMATCHING
-void sub_801120C(u8 a0)
+void sub_801120C(u8 a0, u8 unused1)
{
u8 i;
u8 r6 = 0;
- struct RfuUnk5Sub *unk5Sub;
switch (a0)
{
- case 0x00:
- gUnknown_03005000.unk_04 = 2;
- break;
- case 0x10:
- break;
- case 0x11:
- sub_80115EC(gUnknown_03004140.unk_14);
- for (i = 0; i < 4; i++)
+ case 0x00:
+ gUnknown_03005000.unk_04 = 2;
+ break;
+ case 0x10:
+ break;
+ case 0x11:
+ sub_80115EC(gUnknown_03004140.unk_14);
+ for (i = 0; i < 4; i++)
+ {
+ if ((gUnknown_03004140.unk_14 >> i) & 1)
{
- if ((gUnknown_03004140.unk_14 >> i) & 1)
+ struct UnkLinkRfuStruct_02022B14 *structPtr = &gUnknown_03007890->unk_14[i].unk_06;
+ if (structPtr->unk_0a_0 == sub_800F7DC()->unk_0a_0)
{
- unk5Sub = &gUnknown_03007890->unk_14[i];
- if (unk5Sub->unk_06.unk_0a_0 == sub_800F7DC()->unk_0a_0)
- {
- gUnknown_03005000.unk_cd1[i] = 0;
- gUnknown_03005000.unk_cd5[i] = 0;
- rfu_setRecvBuffer(0x20, i, gUnknown_03005000.unk_cd5 + i, 1);
- }
- else
- {
- r6 |= (1 << i);
- }
+ gUnknown_03005000.unk_cd1[i] = 0;
+ gUnknown_03005000.unk_cd5[i] = 0;
+ rfu_setRecvBuffer(0x20, i, gUnknown_03005000.unk_cd5 + i, 1);
+ }
+ else
+ {
+ r6 |= (1 << i);
}
}
- if (r6)
+ }
+ if (r6)
+ {
+ rfu_REQ_disconnect(r6);
+ rfu_waitREQComplete();
+ }
+ break;
+ case 0x12:
+ break;
+ case 0x13:
+ break;
+ case 0x14:
+ if (gUnknown_03005000.unk_ce7 != gUnknown_03004140.unk_00)
+ {
+ rfu_REQ_disconnect(gUnknown_03005000.unk_ce7 ^ gUnknown_03004140.unk_00);
+ rfu_waitREQComplete();
+ }
+ gUnknown_03005000.unk_04 = 0x11;
+ break;
+ case 0x31:
+ gUnknown_03005000.unk_f0 = 1;
+ break;
+ case 0x32:
+ gUnknown_03005000.unk_f0 = 3;
+ break;
+ case 0x30:
+ case 0x33:
+ gUnknown_03005000.unk_f0 = 4;
+ gUnknown_03005000.unk_ce2 &= ~gUnknown_03004140.unk_14;
+ if (gReceivedRemoteLinkPlayers == 1)
+ {
+ if (gUnknown_03005000.unk_ce2 == 0)
+ sub_8011170(a0);
+ else
+ sub_80111FC();
+ }
+ sub_8011A64(2, a0);
+ break;
+ case 0x34:
+ break;
+ case 0x42 ... 0x44:
+ break;
+ case 0xf3:
+ sub_8011A64(1, a0);
+ sub_8011170(a0);
+ gUnknown_03005000.unk_ef = 1;
+ break;
+ case 0xf0 ... 0xf2:
+ case 0xff:
+ sub_8011170(a0);
+ sub_8011A64(1, a0);
+ gUnknown_03005000.unk_cdb = 1;
+ break;
+ }
+}
+
+void sub_8011404(u8 a0, u8 unused1)
+{
+ switch (a0)
+ {
+ case 0x00:
+ gUnknown_03005000.unk_04 = 6;
+ break;
+ case 0x20:
+ gUnknown_03005000.unk_ccd = gUnknown_03004140.unk_14;
+ break;
+ case 0x21:
+ break;
+ case 0x22:
+ gUnknown_03005000.unk_c3e = gUnknown_03004140.unk_14;
+ break;
+ case 0x23:
+ sub_8011A64(2, a0);
+ break;
+ case 0x24:
+ gUnknown_03005000.unk_04 = 11;
+ gUnknown_03005000.unk_c85 = 0;
+ gUnknown_03005000.unk_c86 = 0;
+ rfu_setRecvBuffer(0x20, gUnknown_03005000.unk_c3e, &gUnknown_03005000.unk_c86, 1);
+ rfu_setRecvBuffer(0x10, gUnknown_03005000.unk_c3e, gUnknown_03005000.unk_c3f, 70);
+ break;
+ case 0x25:
+ sub_8011A64(2, 0x25);
+ break;
+ case 0x30:
+ gUnknown_03005000.unk_f0 = 2;
+ if (gUnknown_03005000.unk_c86 == 6)
+ break;
+ case 0x33:
+ if (gUnknown_03005000.unk_f0 != 2)
+ gUnknown_03005000.unk_f0 = 4;
+ if (gUnknown_03005000.unk_c86 != 9)
+ sub_8011A64(2, a0);
+ nullsub_5(gUnknown_082ED7FC, 5, 5);
+ if (gReceivedRemoteLinkPlayers == 1)
+ sub_8011170(a0);
+ break;
+ case 0x31:
+ gUnknown_03005000.unk_f0 = 1;
+ nullsub_5(gUnknown_082ED814, 5, 5);
+ break;
+ case 0x32:
+ gUnknown_03005000.unk_f0 = 3;
+ gUnknown_03005000.unk_c3c = 1;
+ break;
+ case 0x34:
+ break;
+ case 0x42 ... 0x44:
+ break;
+ case 0xF3:
+ sub_8011A64(1, a0);
+ sub_8011170(a0);
+ gUnknown_03005000.unk_ef = 1;
+ break;
+ case 0xF0 ... 0xF2:
+ case 0xFF:
+ sub_8011A64(1, a0);
+ sub_8011170(a0);
+ gUnknown_03005000.unk_cdb = 1;
+ break;
+ }
+}
+
+void sub_80115EC(s32 a0)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if ((a0 >> i) & 1)
+ {
+ gUnknown_03005000.unk_cea[i] = 0;
+ gUnknown_03005000.unk_cee[i] |= 0xFF;
+ }
+ }
+}
+
+u8 sub_8011628(s32 a0)
+{
+ u8 ret = 0;
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if ((a0 >> i) & 1)
+ {
+ struct UnkLinkRfuStruct_02022B14 *structPtr = &gUnknown_03007890->unk_14[i].unk_06;
+ if (structPtr->unk_0a_0 == 0x45)
+ ret |= (1 << i);
+ }
+ }
+
+ return ret;
+}
+
+void sub_8011674(u8 a0, u8 unused1)
+{
+ u8 r1;
+
+ switch (a0)
+ {
+ case 0x00:
+ gUnknown_03005000.unk_04 = 0x11;
+ break;
+ case 0x10:
+ sub_8011A64(4, 0);
+ break;
+ case 0x11:
+ if (sub_800F7DC()->unk_0a_0 == 0x45 && gUnknown_03005000.unk_cd9 == 0)
+ {
+ u8 idx = sub_8011628(gUnknown_03004140.unk_14);
+ if (idx != 0)
{
- rfu_REQ_disconnect(r6);
- rfu_waitREQComplete();
+ r1 = 1 << sub_800E87C(idx);
+ if (gUnknown_03005000.unk_ce6 == 0 && gUnknown_03005000.unk_ce8 == 0)
+ {
+ gUnknown_03005000.unk_ce5 = r1;
+ gUnknown_03005000.unk_ce6 |= (r1 ^ idx);
+ gUnknown_03005000.unk_ce8 = 1;
+ }
+ else
+ {
+ gUnknown_03005000.unk_ce6 |= idx;
+ }
}
- break;
- case 0x12:
- break;
- case 0x13:
- break;
- case 0x14:
- if (gUnknown_03005000.unk_ce7 != gUnknown_03004140.unk_00)
+ if (idx != gUnknown_03004140.unk_14)
{
- rfu_REQ_disconnect(gUnknown_03005000.unk_ce7 ^ gUnknown_03004140.unk_00);
- rfu_waitREQComplete();
+ gUnknown_03005000.unk_ce3 |= (idx ^ gUnknown_03004140.unk_14);
+ gUnknown_03005000.unk_ce4 = 2;
}
- gUnknown_03005000.unk_04 = 0x11;
- break;
- case 0x31:
+ }
+ else if (sub_800F7DC()->unk_0a_0 == 0x54)
+ {
+ rfu_REQ_disconnect(gUnknown_03004140.unk_00);
+ rfu_waitREQComplete();
+ }
+ sub_80115EC(gUnknown_03004140.unk_14);
+ break;
+ case 0x12:
+ break;
+ case 0x13:
+ break;
+ case 0x14:
+ if (sub_800F7DC()->unk_0a_0 != 0x45 && gUnknown_03004140.unk_01 > 1)
+ {
+ r1 = 1 << sub_800E87C(gUnknown_03004140.unk_14);
+ rfu_REQ_disconnect(gUnknown_03004140.unk_00 ^ r1);
+ rfu_waitREQComplete();
+ }
+ if (gUnknown_03005000.unk_04 == 0xF)
+ gUnknown_03005000.unk_04 = 0x10;
+ break;
+ break;
+ case 0x20:
+ gUnknown_03005000.unk_ccd = gUnknown_03004140.unk_14;
+ break;
+ case 0x21:
+ break;
+ case 0x22:
+ gUnknown_03005000.unk_c3e = gUnknown_03004140.unk_14;
+ break;
+ case 0x23:
+ gUnknown_03005000.unk_04 = 0x12;
+ if (gUnknown_03005000.unk_ccf < 2)
+ {
+ gUnknown_03005000.unk_ccf++;
+ CreateTask(sub_801209C, 2);
+ }
+ else
+ {
+ sub_8011A64(2, a0);
+ }
+ break;
+ case 0x24:
+ gUnknown_03005000.unk_04 = 0xD;
+ sub_8011A64(3, 0);
+ rfu_setRecvBuffer(0x10, gUnknown_03005000.unk_c3e, gUnknown_03005000.unk_c3f, 70);
+ break;
+ case 0x25:
+ sub_8011A64(2, a0);
+ break;
+ case 0x31:
+ if (gUnknown_03004140.unk_00 & gUnknown_03004140.unk_14)
gUnknown_03005000.unk_f0 = 1;
- break;
- case 0x32:
- gUnknown_03005000.unk_f0 = 3;
- break;
- case 0x30:
- case 0x33:
+ break;
+ case 0x32:
+ gUnknown_03005000.unk_f0 = 3;
+ if (gUnknown_03007890->unk_00 == 0)
+ gUnknown_03005000.unk_c3c = 1;
+ break;
+ case 0x30:
+ gUnknown_03005000.unk_f0 = 2;
+ case 0x33:
+ if (gUnknown_03005000.unk_f0 != 2)
gUnknown_03005000.unk_f0 = 4;
- gUnknown_03005000.unk_ce2 &= ~gUnknown_03004140.unk_14;
+ if (gUnknown_03005000.unk_0c == 1)
+ {
if (gReceivedRemoteLinkPlayers == 1)
{
+ gUnknown_03005000.unk_ce2 &= ~(gUnknown_03004140.unk_14);
if (gUnknown_03005000.unk_ce2 == 0)
sub_8011170(a0);
else
sub_80111FC();
}
- sub_8011A64(2, a0);
- break;
- case 0x42 ... 0x44:
- break;
- case 0xf3:
- sub_8011A64(1, a0);
- sub_8011170(a0);
- gUnknown_03005000.unk_ef = 1;
- break;
- case 0xf0 ... 0xf2:
- case 0xff:
+ }
+ else if (gUnknown_03005000.unk_ce4 != 2 && gReceivedRemoteLinkPlayers == 1)
+ {
sub_8011170(a0);
- sub_8011A64(1, a0);
- gUnknown_03005000.unk_cdb = 1;
- break;
+ sub_800C27C(0);
+ }
+
+ if (gUnknown_03007890->unk_00 == 0xFF && gUnknown_03004140.unk_07 == 0 && FuncIsActiveTask(sub_800EB44) == TRUE)
+ gUnknown_03005000.unk_04 = 0x11;
+
+ sub_8011A64(2, a0);
+ break;
+ case 0x40:
+ gUnknown_03005000.unk_ce3 = 0;
+ break;
+ case 0x42 ... 0x44:
+ break;
+ case 0xF3:
+ sub_8011A64(1, a0);
+ sub_8011170(a0);
+ gUnknown_03005000.unk_ef = 1;
+ break;
+ case 0xF0 ... 0xF2:
+ case 0xFF:
+ sub_8011170(a0);
+ sub_8011A64(1, a0);
+ gUnknown_03005000.unk_cdb = 0;
+ break;
}
}
-#else
-NAKED void sub_801120C(u8 a0)
+
+void sub_8011A50(void)
{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tlsls r0, 24\n"
- "\tlsrs r4, r0, 24\n"
- "\tmovs r6, 0\n"
- "\tcmp r4, 0x32\n"
- "\tbne _08011222\n"
- "\tb _08011360_case_32\n"
- "_08011222:\n"
- "\tcmp r4, 0x32\n"
- "\tbgt _08011252\n"
- "\tcmp r4, 0x13\n"
- "\tbgt _08011240\n"
- "\tcmp r4, 0x12\n"
- "\tblt _08011230\n"
- "\tb _080113EE_break\n"
- "_08011230:\n"
- "\tcmp r4, 0x10\n"
- "\tbne _08011236\n"
- "\tb _080113EE_break\n"
- "_08011236:\n"
- "\tcmp r4, 0x10\n"
- "\tbgt _0801128C_case_11\n"
- "\tcmp r4, 0\n"
- "\tbeq _0801127E_case_00\n"
- "\tb _080113EE_break\n"
- "_08011240:\n"
- "\tcmp r4, 0x30\n"
- "\tbne _08011246\n"
- "\tb _0801136C_case_30_case_33\n"
- "_08011246:\n"
- "\tcmp r4, 0x30\n"
- "\tble _0801124C\n"
- "\tb _08011354_case_31\n"
- "_0801124C:\n"
- "\tcmp r4, 0x14\n"
- "\tbeq _08011328_case_14\n"
- "\tb _080113EE_break\n"
- "_08011252:\n"
- "\tcmp r4, 0x44\n"
- "\tbgt _08011264\n"
- "\tcmp r4, 0x42\n"
- "\tblt _0801125C\n"
- "\tb _080113EE_break\n"
- "_0801125C:\n"
- "\tcmp r4, 0x33\n"
- "\tbne _08011262\n"
- "\tb _0801136C_case_30_case_33\n"
- "_08011262:\n"
- "\tb _080113EE_break\n"
- "_08011264:\n"
- "\tcmp r4, 0xF3\n"
- "\tbne _0801126A\n"
- "\tb _080113BA_case_f3\n"
- "_0801126A:\n"
- "\tcmp r4, 0xF3\n"
- "\tbgt _08011276\n"
- "\tcmp r4, 0xF0\n"
- "\tbge _08011274\n"
- "\tb _080113EE_break\n"
- "_08011274:\n"
- "\tb _080113D4_case_f0_f1_f2_ff\n"
- "_08011276:\n"
- "\tcmp r4, 0xFF\n"
- "\tbne _0801127C\n"
- "\tb _080113D4_case_f0_f1_f2_ff\n"
- "_0801127C:\n"
- "\tb _080113EE_break\n"
- "_0801127E_case_00:\n"
- "\tldr r1, =gUnknown_03005000\n"
- "\tmovs r0, 0x2\n"
- "\tstrh r0, [r1, 0x4]\n"
- "\tb _080113EE_break\n"
- "\t.pool\n"
- "_0801128C_case_11:\n"
- "\tldr r0, =gUnknown_03004140\n"
- "\tldrh r0, [r0, 0x14]\n"
- "\tbl sub_80115EC\n"
- "\tmovs r5, 0\n"
- "\tmovs r0, 0x1\n"
- "\tmov r8, r0\n"
- "\tldr r1, =gUnknown_03005000\n"
- "\tmov r9, r1\n"
- "\tldr r3, =0x00000cd5\n"
- "\tadd r3, r9\n"
- "\tmov r10, r3\n"
- "\tmovs r7, 0x7F\n"
- "_080112A6:\n"
- "\tldr r0, =gUnknown_03004140\n"
- "\tldrh r0, [r0, 0x14]\n"
- "\tasrs r0, r5\n"
- "\tmov r1, r8\n"
- "\tands r0, r1\n"
- "\tcmp r0, 0\n"
- "\tbeq _0801130E\n"
- "\tldr r0, =gUnknown_03007890\n"
- "\tlsls r1, r5, 5\n"
- "\tadds r1, 0x14\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, r1\n"
- "\tldrb r0, [r0, 0x10]\n"
- "\tadds r4, r7, 0\n"
- "\tands r4, r0\n"
- "\tbl sub_800F7DC\n"
- "\tldrb r1, [r0, 0xA]\n"
- "\tadds r0, r7, 0\n"
- "\tands r0, r1\n"
- "\tcmp r4, r0\n"
- "\tbne _08011304\n"
- "\tldr r0, =0x00000cd1\n"
- "\tadd r0, r9\n"
- "\tadds r0, r5, r0\n"
- "\tmovs r1, 0\n"
- "\tstrb r1, [r0]\n"
- "\tmov r3, r10\n"
- "\tadds r2, r5, r3\n"
- "\tstrb r1, [r2]\n"
- "\tmovs r0, 0x20\n"
- "\tadds r1, r5, 0\n"
- "\tmovs r3, 0x1\n"
- "\tbl rfu_setRecvBuffer\n"
- "\tb _0801130E\n"
- "\t.pool\n"
- "_08011304:\n"
- "\tmov r0, r8\n"
- "\tlsls r0, r5\n"
- "\torrs r6, r0\n"
- "\tlsls r0, r6, 24\n"
- "\tlsrs r6, r0, 24\n"
- "_0801130E:\n"
- "\tadds r0, r5, 0x1\n"
- "\tlsls r0, 24\n"
- "\tlsrs r5, r0, 24\n"
- "\tcmp r5, 0x3\n"
- "\tbls _080112A6\n"
- "\tcmp r6, 0\n"
- "\tbeq _080113EE_break\n"
- "\tadds r0, r6, 0\n"
- "\tbl rfu_REQ_disconnect\n"
- "\tbl rfu_waitREQComplete\n"
- "\tb _080113EE_break\n"
- "_08011328_case_14:\n"
- "\tldr r4, =gUnknown_03005000\n"
- "\tldr r1, =0x00000ce7\n"
- "\tadds r0, r4, r1\n"
- "\tldr r1, =gUnknown_03004140\n"
- "\tldrb r2, [r0]\n"
- "\tldrb r0, [r1]\n"
- "\tcmp r2, r0\n"
- "\tbeq _08011342\n"
- "\teors r0, r2\n"
- "\tbl rfu_REQ_disconnect\n"
- "\tbl rfu_waitREQComplete\n"
- "_08011342:\n"
- "\tmovs r0, 0x11\n"
- "\tstrh r0, [r4, 0x4]\n"
- "\tb _080113EE_break\n"
- "\t.pool\n"
- "_08011354_case_31:\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r0, 0xF0\n"
- "\tb _080113EA\n"
- "\t.pool\n"
- "_08011360_case_32:\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r0, 0xF0\n"
- "\tmovs r1, 0x3\n"
- "\tb _080113EC\n"
- "\t.pool\n"
- "_0801136C_case_30_case_33:\n"
- "\tldr r1, =gUnknown_03005000\n"
- "\tadds r2, r1, 0\n"
- "\tadds r2, 0xF0\n"
- "\tmovs r0, 0x4\n"
- "\tstrb r0, [r2]\n"
- "\tldr r3, =0x00000ce2\n"
- "\tadds r1, r3\n"
- "\tldr r0, =gUnknown_03004140\n"
- "\tldrb r2, [r0, 0x14]\n"
- "\tldrb r0, [r1]\n"
- "\tadds r3, r0, 0\n"
- "\tbics r3, r2\n"
- "\tadds r2, r3, 0\n"
- "\tstrb r2, [r1]\n"
- "\tldr r0, =gReceivedRemoteLinkPlayers\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbne _080113B0\n"
- "\tcmp r2, 0\n"
- "\tbne _080113AC\n"
- "\tadds r0, r4, 0\n"
- "\tbl sub_8011170\n"
- "\tb _080113B0\n"
- "\t.pool\n"
- "_080113AC:\n"
- "\tbl sub_80111FC\n"
- "_080113B0:\n"
- "\tmovs r0, 0x2\n"
- "\tadds r1, r4, 0\n"
- "\tbl sub_8011A64\n"
- "\tb _080113EE_break\n"
- "_080113BA_case_f3:\n"
- "\tmovs r0, 0x1\n"
- "\tmovs r1, 0xF3\n"
- "\tbl sub_8011A64\n"
- "\tmovs r0, 0xF3\n"
- "\tbl sub_8011170\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tadds r0, 0xEF\n"
- "\tb _080113EA\n"
- "\t.pool\n"
- "_080113D4_case_f0_f1_f2_ff:\n"
- "\tadds r0, r4, 0\n"
- "\tbl sub_8011170\n"
- "\tmovs r0, 0x1\n"
- "\tadds r1, r4, 0\n"
- "\tbl sub_8011A64\n"
- "\tldr r0, =gUnknown_03005000\n"
- "\tldr r1, =0x00000cdb\n"
- "\tadds r0, r1\n"
- "\tldrb r1, [r0]\n"
- "_080113EA:\n"
- "\tmovs r1, 0x1\n"
- "_080113EC:\n"
- "\tstrb r1, [r0]\n"
- "_080113EE_break:\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
+ gUnknown_03005000.unk_ce4 = 2;
+}
+
+void sub_8011A64(u8 a0, u16 a1)
+{
+ gUnknown_03005000.unk_f1 = a0;
+ gUnknown_03005000.unk_0a = a1;
+}
+
+u8 sub_8011A74(void)
+{
+ return gUnknown_03005000.unk_f1;
+}
+
+bool32 sub_8011A80(void)
+{
+ u32 var = sub_8011A74() - 1;
+ if (var < 2)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+u8 sub_8011A9C(void)
+{
+ return gUnknown_03005000.unk_ce8;
+}
+
+bool8 Rfu_IsMaster(void)
+{
+ return gUnknown_03005000.unk_0c;
+}
+
+void RfuVSync(void)
+{
+ rfu_syncVBlank_();
+}
+
+void sub_8011AC8(void)
+{
+ CpuFill32(0, gRecvCmds, sizeof(gRecvCmds));
+}
+
+void sub_8011AE8(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void sub_8011AFC(void)
+{
+ s32 i;
+
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ ResetTasks();
+ ResetPaletteFade();
+ SetVBlankCallback(sub_8011AE8);
+ if (IsWirelessAdapterConnected())
+ {
+ gLinkType = 0x1111;
+ sub_800B488();
+ OpenLink();
+ SeedRng(gMain.vblankCounter2);
+ for (i = 0; i < 4; i++)
+ gSaveBlock2Ptr->playerTrainerId[i] = Random() % 256;
+
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_1D_MAP);
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+ sub_8011BA4();
+ SetMainCallback2(sub_8011BF8);
+ }
+}
+
+bool32 sub_8011B90(void)
+{
+ return FuncIsActiveTask(sub_800EB44);
+}
+
+void sub_8011BA4(void)
+{
+ if (!FuncIsActiveTask(nullsub_89))
+ gUnknown_03005000.unk_66 = CreateTask(nullsub_89, 0);
+}
+
+void sub_8011BD0(void)
+{
+ if (FuncIsActiveTask(nullsub_89) == TRUE)
+ DestroyTask(gUnknown_03005000.unk_66);
+}
+
+void sub_8011BF8(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+void sub_8011C10(u32 a0)
+{
+ gUnknown_03005000.unk_0c = 1;
+ sub_8010F48();
+ sub_800BF4C(sub_801120C, NULL);
+ gUnknown_02022B2C = gUnknown_082ED608;
+ gUnknown_02022B2C.unk_02 = gUnknown_082ED620[a0 - 1];
+ sub_800EE78();
+}
+
+void sub_8011C5C(void)
+{
+ gUnknown_03005000.unk_0c = 0;
+ sub_8010F48();
+ sub_800BF4C(sub_8011404, sub_800ED34);
+ sub_800EF00();
+}
+
+void sub_8011C84(void)
+{
+ gUnknown_03005000.unk_0c = 2;
+ sub_8010F48();
+ sub_800BF4C(sub_8011674, NULL);
+ gUnknown_02022B2C = gUnknown_082ED608;
+ gUnknown_02022B2C.unk_11 = 0;
+ gUnknown_02022B2C.unk_12 = 0x258;
+ gUnknown_03005000.unk_67 = CreateTask(sub_800EB44, 1);
+}
+
+static u16 ReadU16(const void *ptr)
+{
+ const u8 *ptr_ = ptr;
+ return (ptr_[1] << 8) | (ptr_[0]);
+}
+
+u8 sub_8011CE4(const u8 *a0, u16 a1)
+{
+ u8 i;
+ u8 ret = 0xFF;
+
+ for (i = 0; i < 4; i++)
+ {
+ u16 trainerId = ReadU16(gUnknown_03007890->unk_14[i].unk_06.unk_00.playerTrainerId);
+ if (sub_8010454(gUnknown_03007890->unk_14[i].unk_04)
+ && !StringCompare(a0, gUnknown_03007890->unk_14[i].playerName)
+ && a1 == trainerId)
+ {
+ ret = i;
+ if (gUnknown_03007890->unk_14[i].unk_02 != 0xFF)
+ break;
+ }
+ }
+
+ return ret;
+}
+
+void sub_8011D6C(u32 a0)
+{
+ rfu_REQ_disconnect(a0);
+ rfu_waitREQComplete();
+ gUnknown_03005000.unk_ce2 &= ~(a0);
+ rfu_clearSlot(1, gUnknown_03005000.unk_cda);
+ rfu_UNI_setSendData(gUnknown_03005000.unk_ce2, gUnknown_03005000.unk_c87, 70);
+ gUnknown_03005000.unk_cda = sub_800E87C(gUnknown_03005000.unk_ce2);
+}
+
+void sub_8011DC0(const u8 *ptr, u16 a1)
+{
+ u8 var = sub_8011CE4(ptr, a1);
+ if (var != 0xFF)
+ sub_8011D6C(1 << var);
+}
+
+void sub_8011DE0(u32 a0)
+{
+ if (a0 != 0)
+ {
+ s32 i;
+ u8 var = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (gUnknown_03005000.unk_cde[i] == a0 && (gUnknown_03005000.unk_ce2 >> i) & 1)
+ var |= 1 << i;
+ }
+ if (var)
+ sub_8011E94(var, 2);
+ }
+}
+
+void sub_8011E2C(u8 taskId)
+{
+ if (gSendCmd[0] == 0 && gUnknown_03005000.unk_ce8 == 0)
+ {
+ sub_800FD14(0xED00);
+ gSendCmd[1] = gTasks[taskId].data[0];
+ gSendCmd[2] = gTasks[taskId].data[1];
+ gUnknown_03005000.playerCount -= gUnknown_082ED695[gTasks[taskId].data[0]];
+ gSendCmd[3] = gUnknown_03005000.playerCount;
+ DestroyTask(taskId);
+ }
+}
+
+void sub_8011E94(u32 a0, u32 a1)
+{
+ u8 taskId = FindTaskIdByFunc(sub_8011E2C);
+ if (taskId == 0xFF)
+ {
+ taskId = CreateTask(sub_8011E2C, 5);
+ gTasks[taskId].data[0] = a0;
+ }
+ else
+ {
+ gTasks[taskId].data[0] |= a0;
+ }
+
+ gTasks[taskId].data[1] = a1;
+}
+
+void sub_8011EF4(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (sub_800EE94())
+ {
+ u8 id = sub_8011CE4((u8*)data, ReadU16(&data[8]));
+ if (id != 0xFF)
+ {
+ if (gUnknown_03007890->unk_14[id].unk_02 != 0xFF)
+ {
+ gUnknown_03005000.unk_c3d = id;
+ if (sub_800EEBC())
+ DestroyTask(taskId);
+ }
+ else if (sub_800F7DC()->unk_0a_0 == 0x15 || sub_800F7DC()->unk_0a_0 == 0x16)
+ {
+ data[15]++;
+ }
+ else
+ {
+ sub_8011A64(2, 0x7000);
+ DestroyTask(taskId);
+ }
+ }
+ else
+ {
+ data[15]++;
+ gUnknown_03005000.unk_c3d = id;
+ }
+ }
+ else
+ {
+ data[15]++;
+ }
+
+ if (data[15] > 240)
+ {
+ sub_8011A64(2, 0x7000);
+ DestroyTask(taskId);
+ }
+}
+
+void sub_8011FC8(const u8 *src, u16 trainerId)
+{
+ u8 taskId;
+ s16 *data;
+
+ gUnknown_03005000.unk_f1 = 0;
+ taskId = CreateTask(sub_8011EF4, 3);
+ data = gTasks[taskId].data;
+ StringCopy((u8*)(data), src);
+ data[8] = trainerId;
+}
+
+bool32 sub_801200C(s16 a1, struct UnkLinkRfuStruct_02022B14 *structPtr)
+{
+ if (sub_800F7DC()->unk_0a_0 == 0x45)
+ {
+ if (structPtr->unk_0a_0 != 0x45)
+ return TRUE;
+ }
+ else if (structPtr->unk_0a_0 != 0x40)
+ {
+ return TRUE;
+ }
+ else if (a1 == 0x44)
+ {
+ struct UnkLinkRfuStruct_02022B14 *structPtr2 = &gUnknown_03005000.unk_10A;
+ if (structPtr2->species == SPECIES_EGG)
+ {
+ if (structPtr->species == structPtr2->species)
+ return FALSE;
+ else
+ return TRUE;
+ }
+ else if (structPtr->species != structPtr2->species
+ || structPtr->unk_0b_1 != structPtr2->unk_0b_1
+ || structPtr->type != structPtr2->type)
+ {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+void sub_801209C(u8 taskId)
+{
+ if (gUnknown_03005000.unk_f1 == 4)
+ DestroyTask(taskId);
+
+ if (++gTasks[taskId].data[0] > 300)
+ {
+ sub_8011A64(2, 0x7000);
+ DestroyTask(taskId);
+ }
+
+ if (gUnknown_03005000.unk_ccd != 0 && gUnknown_03004140.unk_06 == 0)
+ {
+ u16 trainerId = ReadU16(gUnknown_03005000.unk_10A.unk_00.playerTrainerId);
+ u8 id = sub_8011CE4(gUnknown_03005000.playerName, trainerId);
+ if (id != 0xFF)
+ {
+ if (!sub_801200C(gTasks[taskId].data[1], &gUnknown_03007890->unk_14[id].unk_06))
+ {
+ if (gUnknown_03007890->unk_14[id].unk_02 != 0xFF && !sub_800C12C(gUnknown_03007890->unk_14[id].unk_00, 0x5A))
+ {
+ gUnknown_03005000.unk_04 = 0xA;
+ DestroyTask(taskId);
+ }
+ }
+ else
+ {
+ sub_8011A64(2, 0x7000);
+ DestroyTask(taskId);
+ }
+ }
+ }
+}
+
+void sub_8012188(const u8 *name, struct UnkLinkRfuStruct_02022B14 *structPtr, u8 a2)
+{
+ u8 taskId, taskId2;
+
+ gUnknown_03005000.unk_ccf = 0;
+ gUnknown_03005000.unk_f1 = 0;
+ StringCopy(gUnknown_03005000.playerName, name);
+ memcpy(&gUnknown_03005000.unk_10A, structPtr, 0xD);
+ sub_800D658();
+ taskId = CreateTask(sub_801209C, 2);
+ gTasks[taskId].data[1] = a2;
+ taskId2 = FindTaskIdByFunc(sub_800EB44);
+ if (a2 == 0x45)
+ {
+ if (taskId2 != 0xFF)
+ gTasks[taskId2].data[7] = 1;
+ }
+ else
+ {
+ if (taskId2 != 0xFF)
+ gTasks[taskId2].data[7] = 0;
+ }
+}
+
+bool8 sub_8012224(void)
+{
+ if (gUnknown_03005000.unk_f0 == 1)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+bool32 sub_8012240(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if ((gUnknown_03004140.unk_00 >> i) & 1 && gUnknown_03005000.unk_cd1[i] == 0)
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void sub_801227C(void)
+{
+ s32 i;
+
+ for (i = 0; i < 20; i++)
+ nullsub_5(gUnknown_082ED82C, 0, i);
+}
+
+void sub_801229C(void)
+{
+ s32 i, j;
+
+ nullsub_13(GetBlockReceivedStatus(), 0x1C, 0x13, 2);
+ nullsub_13(gUnknown_03007890->unk_02, 0x14, 1, 1);
+ nullsub_13(gUnknown_03007890->unk_03, 0x17, 1, 1);
+ if (gUnknown_03005000.unk_0c == 1)
+ {
+ for (i = 0; i < 4; i++)
+ {
+ if ((gUnknown_03007890->unk_07 >> i) & 1)
+ {
+ nullsub_13(gUnknown_03007890->unk_14[i].unk_04, 1, i + 3, 4);
+ nullsub_5((void*) &gUnknown_03007890->unk_14[i].unk_06, 6, i + 3);
+ nullsub_5(gUnknown_03007890->unk_14[i].playerName, 0x16, i + 3);
+ }
+ }
+ for (i = 0; i < 4; i++)
+ {
+ for (j = 0; j < 14; j++)
+ {
+ nullsub_13(gUnknown_03005000.unk_14[i][j], j * 2, i + 11, 2);
+ }
+ }
+ nullsub_5(gUnknown_082ED868, 1, 0xF);
+ }
+ else if (gUnknown_03007890->unk_02 != 0 && gUnknown_03007890->unk_07 != 0)
+ {
+ for (i = 0; i < 4; i++)
+ {
+ nullsub_13(0, 1, i + 3, 4);
+ nullsub_5(gUnknown_082ED84B, 6, i + 3);
+ nullsub_5(gUnknown_082ED85B, 0x16, i + 3);
+ }
+ nullsub_13(gUnknown_03007890->unk_14[gUnknown_03005000.unk_c3e].unk_04, 1, 3, 4);
+ nullsub_5((void*) &gUnknown_03007890->unk_14[gUnknown_03005000.unk_c3e].unk_06, 6, 3);
+ nullsub_5(gUnknown_03007890->unk_14[gUnknown_03005000.unk_c3e].playerName, 0x16, 3);
+ }
+ else
+ {
+ for (i = 0; i < gUnknown_03007890->unk_08; i++)
+ {
+ if (gUnknown_03007890->unk_14[i].unk_02 != 0xFF)
+ {
+ nullsub_13(gUnknown_03007890->unk_14[i].unk_04, 1, i + 3, 4);
+ nullsub_13(gUnknown_03007890->unk_14[i].unk_00, 6, i + 3, 4);
+ nullsub_5(gUnknown_03007890->unk_14[i].playerName, 0x16, i + 3);
+ }
+ }
+ for (; i < 4; i++)
+ {
+ nullsub_13(0, 1, i + 3, 4);
+ nullsub_5(gUnknown_082ED84B, 6, i + 3);
+ nullsub_5(gUnknown_082ED85B, 0x16, i + 3);
+ }
+ }
+}
+
+u32 sub_80124C0(void)
+{
+ return gUnknown_03005000.unk_9e8.unk_232;
+}
+
+u32 sub_80124D4(void)
+{
+ return gUnknown_03005000.unk_124.unk_8c2;
}
-#endif
diff --git a/src/list_menu.c b/src/list_menu.c
index 6907a75a3..caf4b798d 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -8,7 +8,7 @@
#include "trig.h"
#include "decompress.h"
#include "palette.h"
-#include "malloc.h"
+#include "alloc.h"
#include "strings.h"
#include "sound.h"
#include "constants/songs.h"
@@ -953,52 +953,52 @@ void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value)
case 0:
case 1:
data->field_4 = (void*)(value);
- break;
+ break;
case 2:
data->field_C = value;
- break;
+ break;
case 3:
data->field_E = value;
- break;
+ break;
case 4:
data->field_10 = value;
- break;
+ break;
case 5:
data->field_11 = value;
- break;
+ break;
case 6:
data->field_12 = value;
- break;
+ break;
case 7:
data->field_13 = value;
- break;
+ break;
case 8:
data->field_14_0 = value;
- break;
+ break;
case 9:
data->field_14_1 = value;
- break;
+ break;
case 10:
data->field_15_0 = value;
- break;
+ break;
case 11:
data->field_15_1 = value;
- break;
+ break;
case 12:
data->field_16_0 = value;
- break;
+ break;
case 13:
data->field_16_1 = value;
- break;
+ break;
case 14:
data->field_16_2 = value;
- break;
+ break;
case 15:
data->field_17_0 = value;
- break;
+ break;
case 16:
data->field_17_1 = value;
- break;
+ break;
}
}
diff --git a/src/load_save.c b/src/load_save.c
index 960a98981..8ecf89959 100644
--- a/src/load_save.c
+++ b/src/load_save.c
@@ -4,7 +4,7 @@
#include "main.h"
#include "pokemon.h"
#include "random.h"
-#include "malloc.h"
+#include "alloc.h"
#include "item.h"
#include "overworld.h"
#include "decoration_inventory.h"
diff --git a/src/mail.c b/src/mail.c
index 513900746..7b096ed00 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -17,7 +17,7 @@
#include "bg.h"
#include "pokemon_icon.h"
#include "constants/species.h"
-#include "malloc.h"
+#include "alloc.h"
#include "easy_chat.h"
extern const u16 gMailPalette_Orange[];
diff --git a/src/main.c b/src/main.c
index 4c71ed1f9..c4962286c 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "crt0.h"
-#include "malloc.h"
+#include "alloc.h"
#include "link.h"
#include "link_rfu.h"
#include "librfu.h"
@@ -69,7 +69,7 @@ bool8 gSoftResetDisabled;
IntrFunc gIntrTable[INTR_COUNT];
u8 gLinkVSyncDisabled;
u32 IntrMain_Buffer[0x200];
-u8 gPcmDmaCounter;
+s8 gPcmDmaCounter;
static EWRAM_DATA u16 gTrainerId = 0;
diff --git a/src/main_menu.c b/src/main_menu.c
index a8383cd0c..e11f783eb 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -335,25 +335,25 @@ static const struct MenuAction sMenuActions_Gender[] = {
static const u8 *const gMalePresetNames[] = {
gText_DefaultNameStu,
- gText_DefaultNameMilton,
- gText_DefaultNameTom,
- gText_DefaultNameKenny,
- gText_DefaultNameReid,
- gText_DefaultNameJude,
- gText_DefaultNameJaxson,
- gText_DefaultNameEaston,
- gText_DefaultNameWalker,
- gText_DefaultNameTeru,
- gText_DefaultNameJohnny,
- gText_DefaultNameBrett,
- gText_DefaultNameSeth,
- gText_DefaultNameTerry,
- gText_DefaultNameCasey,
- gText_DefaultNameDarren,
- gText_DefaultNameLandon,
- gText_DefaultNameCollin,
- gText_DefaultNameStanley,
- gText_DefaultNameQuincy
+ gText_DefaultNameMilton,
+ gText_DefaultNameTom,
+ gText_DefaultNameKenny,
+ gText_DefaultNameReid,
+ gText_DefaultNameJude,
+ gText_DefaultNameJaxson,
+ gText_DefaultNameEaston,
+ gText_DefaultNameWalker,
+ gText_DefaultNameTeru,
+ gText_DefaultNameJohnny,
+ gText_DefaultNameBrett,
+ gText_DefaultNameSeth,
+ gText_DefaultNameTerry,
+ gText_DefaultNameCasey,
+ gText_DefaultNameDarren,
+ gText_DefaultNameLandon,
+ gText_DefaultNameCollin,
+ gText_DefaultNameStanley,
+ gText_DefaultNameQuincy
};
static const u8 *const gFemalePresetNames[] = {
@@ -1772,12 +1772,12 @@ static void AddBirchSpeechObjects(u8 taskId)
gSprites[lotadSpriteId].oam.priority = 0;
gSprites[lotadSpriteId].invisible = TRUE;
gTasks[taskId].tLotadSpriteId = lotadSpriteId;
- brendanSpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN), 120, 60, 0, &gDecompressionBuffer[0]);
+ brendanSpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_BRENDAN), 120, 60, 0, &gDecompressionBuffer[0]);
gSprites[brendanSpriteId].callback = nullsub_11;
gSprites[brendanSpriteId].invisible = TRUE;
gSprites[brendanSpriteId].oam.priority = 0;
gTasks[taskId].tBrendanSpriteId = brendanSpriteId;
- maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_MAY), 120, 60, 0, &gDecompressionBuffer[0x800]);
+ maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_MAY), 120, 60, 0, &gDecompressionBuffer[0x800]);
gSprites[maySpriteId].callback = nullsub_11;
gSprites[maySpriteId].invisible = TRUE;
gSprites[maySpriteId].oam.priority = 0;
diff --git a/src/malloc.c b/src/malloc.c
deleted file mode 100644
index 1d64351c3..000000000
--- a/src/malloc.c
+++ /dev/null
@@ -1,210 +0,0 @@
-#include "global.h"
-
-static void *sHeapStart;
-static u32 sHeapSize;
-static u32 malloc_c_unused_0300000c; // needed to align dma3_manager.o(.bss)
-
-#define MALLOC_SYSTEM_ID 0xA3A3
-
-struct MemBlock {
- // Whether this block is currently allocated.
- bool16 flag;
-
- // Magic number used for error checking. Should equal MALLOC_SYSTEM_ID.
- u16 magic;
-
- // Size of the block (not including this header struct).
- u32 size;
-
- // Previous block pointer. Equals sHeapStart if this is the first block.
- struct MemBlock *prev;
-
- // Next block pointer. Equals sHeapStart if this is the last block.
- struct MemBlock *next;
-
- // Data in the memory block. (Arrays of length 0 are a GNU extension.)
- u8 data[0];
-};
-
-void PutMemBlockHeader(void *block, struct MemBlock *prev, struct MemBlock *next, u32 size)
-{
- struct MemBlock *header = (struct MemBlock *)block;
-
- header->flag = FALSE;
- header->magic = MALLOC_SYSTEM_ID;
- header->size = size;
- header->prev = prev;
- header->next = next;
-}
-
-void PutFirstMemBlockHeader(void *block, u32 size)
-{
- PutMemBlockHeader(block, (struct MemBlock *)block, (struct MemBlock *)block, size - sizeof(struct MemBlock));
-}
-
-void *AllocInternal(void *heapStart, u32 size)
-{
- struct MemBlock *pos = (struct MemBlock *)heapStart;
- struct MemBlock *head = pos;
- struct MemBlock *splitBlock;
- u32 foundBlockSize;
-
- // Alignment
- if (size & 3)
- size = 4 * ((size / 4) + 1);
-
- for (;;) {
- // Loop through the blocks looking for unused block that's big enough.
-
- if (!pos->flag) {
- foundBlockSize = pos->size;
-
- if (foundBlockSize >= size) {
- if (foundBlockSize - size < 2 * sizeof(struct MemBlock)) {
- // The block isn't much bigger than the requested size,
- // so just use it.
- pos->flag = TRUE;
- } else {
- // The block is significantly bigger than the requested
- // size, so split the rest into a separate block.
- foundBlockSize -= sizeof(struct MemBlock);
- foundBlockSize -= size;
-
- splitBlock = (struct MemBlock *)(pos->data + size);
-
- pos->flag = TRUE;
- pos->size = size;
-
- PutMemBlockHeader(splitBlock, pos, pos->next, foundBlockSize);
-
- pos->next = splitBlock;
-
- if (splitBlock->next != head)
- splitBlock->next->prev = splitBlock;
- }
-
- return pos->data;
- }
- }
-
- if (pos->next == head)
- return NULL;
-
- pos = pos->next;
- }
-}
-
-void FreeInternal(void *heapStart, void *pointer)
-{
- if (pointer) {
- struct MemBlock *head = (struct MemBlock *)heapStart;
- struct MemBlock *block = (struct MemBlock *)((u8 *)pointer - sizeof(struct MemBlock));
- block->flag = FALSE;
-
- // If the freed block isn't the last one, merge with the next block
- // if it's not in use.
- if (block->next != head) {
- if (!block->next->flag) {
- block->size += sizeof(struct MemBlock) + block->next->size;
- block->next->magic = 0;
- block->next = block->next->next;
- if (block->next != head)
- block->next->prev = block;
- }
- }
-
- // If the freed block isn't the first one, merge with the previous block
- // if it's not in use.
- if (block != head) {
- if (!block->prev->flag) {
- block->prev->next = block->next;
-
- if (block->next != head)
- block->next->prev = block->prev;
-
- block->magic = 0;
- block->prev->size += sizeof(struct MemBlock) + block->size;
- }
- }
- }
-}
-
-void *AllocZeroedInternal(void *heapStart, u32 size)
-{
- void *mem = AllocInternal(heapStart, size);
-
- if (mem != NULL) {
- if (size & 3)
- size = 4 * ((size / 4) + 1);
-
- CpuFill32(0, mem, size);
- }
-
- return mem;
-}
-
-bool32 CheckMemBlockInternal(void *heapStart, void *pointer)
-{
- struct MemBlock *head = (struct MemBlock *)heapStart;
- struct MemBlock *block = (struct MemBlock *)((u8 *)pointer - sizeof(struct MemBlock));
-
- if (block->magic != MALLOC_SYSTEM_ID)
- return FALSE;
-
- if (block->next->magic != MALLOC_SYSTEM_ID)
- return FALSE;
-
- if (block->next != head && block->next->prev != block)
- return FALSE;
-
- if (block->prev->magic != MALLOC_SYSTEM_ID)
- return FALSE;
-
- if (block->prev != head && block->prev->next != block)
- return FALSE;
-
- if (block->next != head && block->next != (struct MemBlock *)(block->data + block->size))
- return FALSE;
-
- return TRUE;
-}
-
-void InitHeap(void *heapStart, u32 heapSize)
-{
- sHeapStart = heapStart;
- sHeapSize = heapSize;
- PutFirstMemBlockHeader(heapStart, heapSize);
-}
-
-void *Alloc(u32 size)
-{
- AllocInternal(sHeapStart, size);
-}
-
-void *AllocZeroed(u32 size)
-{
- AllocZeroedInternal(sHeapStart, size);
-}
-
-void Free(void *pointer)
-{
- FreeInternal(sHeapStart, pointer);
-}
-
-bool32 CheckMemBlock(void *pointer)
-{
- return CheckMemBlockInternal(sHeapStart, pointer);
-}
-
-bool32 CheckHeap()
-{
- struct MemBlock *pos = (struct MemBlock *)sHeapStart;
-
- do {
- if (!CheckMemBlockInternal(sHeapStart, pos->data))
- return FALSE;
- pos = pos->next;
- } while (pos != (struct MemBlock *)sHeapStart);
-
- return TRUE;
-}
diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c
index 110ec068e..930f1f35b 100644
--- a/src/mauville_old_man.c
+++ b/src/mauville_old_man.c
@@ -62,14 +62,14 @@ static const u8 * const sGiddyAdjectives[] = {
};
static const u8 * const sGiddyQuestions[] = {
- gUnknown_08294313,
- gUnknown_08294359,
- gUnknown_08294398,
- gUnknown_082943DA,
- gUnknown_0829441C,
- gUnknown_08294460,
- gUnknown_082944A0,
- gUnknown_082944D5
+ gMauvilleManText_ISoWantToGoOnAVacation,
+ gMauvilleManText_IBoughtCrayonsWith120Colors,
+ gMauvilleManText_WouldntItBeNiceIfWeCouldFloat,
+ gMauvilleManText_WhenYouWriteOnASandyBeach,
+ gMauvilleManText_WhatsTheBottomOfTheSeaLike,
+ gMauvilleManText_WhenYouSeeTheSettingSunDoesIt,
+ gMauvilleManText_LyingBackInTheGreenGrass,
+ gMauvilleManText_SecretBasesAreSoWonderful
};
static void SetupBard(void)
diff --git a/src/menu.c b/src/menu.c
index dde0e0a1a..61096138a 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -7,7 +7,7 @@
#include "main.h"
#include "sound.h"
#include "menu_helpers.h"
-#include "malloc.h"
+#include "alloc.h"
#include "task.h"
#include "dma3.h"
#include "string_util.h"
@@ -2096,253 +2096,253 @@ void sub_819A080(struct UnkStruct_819A080 *a0, struct UnkStruct_819A080 *a1, u16
NAKED
void sub_819A080(struct UnkStruct_819A080 *a0, struct UnkStruct_819A080 *a1, u16 a2, u16 a3, u16 a4, u16 a5, u16 a6, u16 a7)
{
- asm("push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, #0x28\n\
- str r0, [sp]\n\
- str r1, [sp, #0x4]\n\
- ldr r0, [sp, #0x48]\n\
- ldr r4, [sp, #0x4C]\n\
- ldr r1, [sp, #0x50]\n\
- ldr r5, [sp, #0x54]\n\
- lsl r2, #16\n\
- lsr r2, #16\n\
- str r2, [sp, #0x8]\n\
- lsl r3, #16\n\
- lsr r3, #16\n\
- lsl r0, #16\n\
- lsr r0, #16\n\
- str r0, [sp, #0xC]\n\
- lsl r4, #16\n\
- lsr r4, #16\n\
- lsl r1, #16\n\
- lsr r1, #16\n\
- lsl r5, #16\n\
- lsr r5, #16\n\
- ldr r2, [sp, #0x4]\n\
- ldrh r0, [r2, #0x4]\n\
- ldr r2, [sp, #0xC]\n\
- sub r0, r2\n\
- ldr r2, [sp, #0x8]\n\
- add r2, r1, r2\n\
- str r2, [sp, #0x10]\n\
- cmp r0, r1\n\
- bge _0819A0CC\n\
- ldr r1, [sp, #0x8]\n\
- add r0, r1\n\
- str r0, [sp, #0x10]\n\
+ asm("push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, #0x28\n\
+ str r0, [sp]\n\
+ str r1, [sp, #0x4]\n\
+ ldr r0, [sp, #0x48]\n\
+ ldr r4, [sp, #0x4C]\n\
+ ldr r1, [sp, #0x50]\n\
+ ldr r5, [sp, #0x54]\n\
+ lsl r2, #16\n\
+ lsr r2, #16\n\
+ str r2, [sp, #0x8]\n\
+ lsl r3, #16\n\
+ lsr r3, #16\n\
+ lsl r0, #16\n\
+ lsr r0, #16\n\
+ str r0, [sp, #0xC]\n\
+ lsl r4, #16\n\
+ lsr r4, #16\n\
+ lsl r1, #16\n\
+ lsr r1, #16\n\
+ lsl r5, #16\n\
+ lsr r5, #16\n\
+ ldr r2, [sp, #0x4]\n\
+ ldrh r0, [r2, #0x4]\n\
+ ldr r2, [sp, #0xC]\n\
+ sub r0, r2\n\
+ ldr r2, [sp, #0x8]\n\
+ add r2, r1, r2\n\
+ str r2, [sp, #0x10]\n\
+ cmp r0, r1\n\
+ bge _0819A0CC\n\
+ ldr r1, [sp, #0x8]\n\
+ add r0, r1\n\
+ str r0, [sp, #0x10]\n\
_0819A0CC:\n\
- ldr r2, [sp, #0x4]\n\
- ldrh r1, [r2, #0x6]\n\
- sub r0, r1, r4\n\
- cmp r0, r5\n\
- bge _0819A0DE\n\
- add r0, r3, r1\n\
- sub r0, r4\n\
- str r0, [sp, #0x14]\n\
- b _0819A0E2\n\
+ ldr r2, [sp, #0x4]\n\
+ ldrh r1, [r2, #0x6]\n\
+ sub r0, r1, r4\n\
+ cmp r0, r5\n\
+ bge _0819A0DE\n\
+ add r0, r3, r1\n\
+ sub r0, r4\n\
+ str r0, [sp, #0x14]\n\
+ b _0819A0E2\n\
_0819A0DE:\n\
- add r5, r3, r5\n\
- str r5, [sp, #0x14]\n\
+ add r5, r3, r5\n\
+ str r5, [sp, #0x14]\n\
_0819A0E2:\n\
- ldr r0, [sp]\n\
- ldrh r1, [r0, #0x4]\n\
- mov r2, #0x7\n\
- add r0, r1, #0\n\
- and r0, r2\n\
- add r1, r0\n\
- asr r1, #3\n\
- str r1, [sp, #0x18]\n\
- ldr r0, [sp, #0x4]\n\
- ldrh r1, [r0, #0x4]\n\
- add r0, r1, #0\n\
- and r0, r2\n\
- add r1, r0\n\
- asr r1, #3\n\
- str r1, [sp, #0x1C]\n\
- mov r12, r3\n\
- mov r8, r4\n\
- ldr r1, [sp, #0x14]\n\
- cmp r12, r1\n\
- blt _0819A10C\n\
- b _0819A24A\n\
+ ldr r0, [sp]\n\
+ ldrh r1, [r0, #0x4]\n\
+ mov r2, #0x7\n\
+ add r0, r1, #0\n\
+ and r0, r2\n\
+ add r1, r0\n\
+ asr r1, #3\n\
+ str r1, [sp, #0x18]\n\
+ ldr r0, [sp, #0x4]\n\
+ ldrh r1, [r0, #0x4]\n\
+ add r0, r1, #0\n\
+ and r0, r2\n\
+ add r1, r0\n\
+ asr r1, #3\n\
+ str r1, [sp, #0x1C]\n\
+ mov r12, r3\n\
+ mov r8, r4\n\
+ ldr r1, [sp, #0x14]\n\
+ cmp r12, r1\n\
+ blt _0819A10C\n\
+ b _0819A24A\n\
_0819A10C:\n\
- ldr r5, [sp, #0x8]\n\
- ldr r6, [sp, #0xC]\n\
- mov r2, r12\n\
- add r2, #0x1\n\
- str r2, [sp, #0x20]\n\
- mov r0, r8\n\
- add r0, #0x1\n\
- str r0, [sp, #0x24]\n\
- ldr r1, [sp, #0x10]\n\
- cmp r5, r1\n\
- blt _0819A124\n\
- b _0819A23A\n\
+ ldr r5, [sp, #0x8]\n\
+ ldr r6, [sp, #0xC]\n\
+ mov r2, r12\n\
+ add r2, #0x1\n\
+ str r2, [sp, #0x20]\n\
+ mov r0, r8\n\
+ add r0, #0x1\n\
+ str r0, [sp, #0x24]\n\
+ ldr r1, [sp, #0x10]\n\
+ cmp r5, r1\n\
+ blt _0819A124\n\
+ b _0819A23A\n\
_0819A124:\n\
- mov r7, #0x1\n\
- mov r2, #0xF0\n\
- mov r10, r2\n\
- mov r0, #0xF\n\
- mov r9, r0\n\
+ mov r7, #0x1\n\
+ mov r2, #0xF0\n\
+ mov r10, r2\n\
+ mov r0, #0xF\n\
+ mov r9, r0\n\
_0819A12E:\n\
- asr r0, r5, #1\n\
- mov r1, #0x3\n\
- and r0, r1\n\
- ldr r2, [sp]\n\
- ldr r1, [r2]\n\
- add r1, r0\n\
- asr r0, r5, #3\n\
- lsl r0, #5\n\
- add r1, r0\n\
- mov r2, r12\n\
- asr r0, r2, #3\n\
- ldr r2, [sp, #0x18]\n\
- mul r0, r2\n\
- lsl r0, #5\n\
- add r1, r0\n\
- mov r2, r12\n\
- lsl r0, r2, #29\n\
- lsr r0, #27\n\
- add r3, r1, r0\n\
- asr r0, r6, #1\n\
- mov r1, #0x3\n\
- and r0, r1\n\
- ldr r2, [sp, #0x4]\n\
- ldr r1, [r2]\n\
- add r1, r0\n\
- asr r0, r6, #3\n\
- lsl r0, #5\n\
- add r1, r0\n\
- mov r2, r8\n\
- asr r0, r2, #3\n\
- ldr r2, [sp, #0x1C]\n\
- mul r0, r2\n\
- lsl r0, #5\n\
- add r1, r0\n\
- mov r2, r8\n\
- lsl r0, r2, #29\n\
- lsr r0, #27\n\
- add r4, r1, r0\n\
- add r0, r4, #0\n\
- and r0, r7\n\
- cmp r0, #0\n\
- beq _0819A1DA\n\
- sub r4, #0x1\n\
- add r0, r6, #0\n\
- and r0, r7\n\
- cmp r0, #0\n\
- beq _0819A1B2\n\
- ldrh r0, [r4]\n\
- ldr r2, =0x00000fff\n\
- and r2, r0\n\
- add r0, r5, #0\n\
- and r0, r7\n\
- cmp r0, #0\n\
- beq _0819A1A8\n\
- ldrb r1, [r3]\n\
- mov r0, r10\n\
- and r0, r1\n\
- lsl r0, #8\n\
- b _0819A22A\n\
- .pool\n\
+ asr r0, r5, #1\n\
+ mov r1, #0x3\n\
+ and r0, r1\n\
+ ldr r2, [sp]\n\
+ ldr r1, [r2]\n\
+ add r1, r0\n\
+ asr r0, r5, #3\n\
+ lsl r0, #5\n\
+ add r1, r0\n\
+ mov r2, r12\n\
+ asr r0, r2, #3\n\
+ ldr r2, [sp, #0x18]\n\
+ mul r0, r2\n\
+ lsl r0, #5\n\
+ add r1, r0\n\
+ mov r2, r12\n\
+ lsl r0, r2, #29\n\
+ lsr r0, #27\n\
+ add r3, r1, r0\n\
+ asr r0, r6, #1\n\
+ mov r1, #0x3\n\
+ and r0, r1\n\
+ ldr r2, [sp, #0x4]\n\
+ ldr r1, [r2]\n\
+ add r1, r0\n\
+ asr r0, r6, #3\n\
+ lsl r0, #5\n\
+ add r1, r0\n\
+ mov r2, r8\n\
+ asr r0, r2, #3\n\
+ ldr r2, [sp, #0x1C]\n\
+ mul r0, r2\n\
+ lsl r0, #5\n\
+ add r1, r0\n\
+ mov r2, r8\n\
+ lsl r0, r2, #29\n\
+ lsr r0, #27\n\
+ add r4, r1, r0\n\
+ add r0, r4, #0\n\
+ and r0, r7\n\
+ cmp r0, #0\n\
+ beq _0819A1DA\n\
+ sub r4, #0x1\n\
+ add r0, r6, #0\n\
+ and r0, r7\n\
+ cmp r0, #0\n\
+ beq _0819A1B2\n\
+ ldrh r0, [r4]\n\
+ ldr r2, =0x00000fff\n\
+ and r2, r0\n\
+ add r0, r5, #0\n\
+ and r0, r7\n\
+ cmp r0, #0\n\
+ beq _0819A1A8\n\
+ ldrb r1, [r3]\n\
+ mov r0, r10\n\
+ and r0, r1\n\
+ lsl r0, #8\n\
+ b _0819A22A\n\
+ .pool\n\
_0819A1A8:\n\
- ldrb r1, [r3]\n\
- mov r0, r9\n\
- and r0, r1\n\
- lsl r0, #12\n\
- b _0819A22A\n\
+ ldrb r1, [r3]\n\
+ mov r0, r9\n\
+ and r0, r1\n\
+ lsl r0, #12\n\
+ b _0819A22A\n\
_0819A1B2:\n\
- ldrh r0, [r4]\n\
- ldr r2, =0x0000f0ff\n\
- and r2, r0\n\
- add r0, r5, #0\n\
- and r0, r7\n\
- cmp r0, #0\n\
- beq _0819A1D0\n\
- ldrb r1, [r3]\n\
- mov r0, r10\n\
- and r0, r1\n\
- lsl r0, #4\n\
- b _0819A22A\n\
- .pool\n\
+ ldrh r0, [r4]\n\
+ ldr r2, =0x0000f0ff\n\
+ and r2, r0\n\
+ add r0, r5, #0\n\
+ and r0, r7\n\
+ cmp r0, #0\n\
+ beq _0819A1D0\n\
+ ldrb r1, [r3]\n\
+ mov r0, r10\n\
+ and r0, r1\n\
+ lsl r0, #4\n\
+ b _0819A22A\n\
+ .pool\n\
_0819A1D0:\n\
- ldrb r1, [r3]\n\
- mov r0, r9\n\
- and r0, r1\n\
- lsl r0, #8\n\
- b _0819A22A\n\
+ ldrb r1, [r3]\n\
+ mov r0, r9\n\
+ and r0, r1\n\
+ lsl r0, #8\n\
+ b _0819A22A\n\
_0819A1DA:\n\
- add r0, r6, #0\n\
- and r0, r7\n\
- cmp r0, #0\n\
- beq _0819A206\n\
- ldrh r0, [r4]\n\
- ldr r2, =0x0000ff0f\n\
- and r2, r0\n\
- add r0, r5, #0\n\
- and r0, r7\n\
- cmp r0, #0\n\
- beq _0819A1FC\n\
- ldrb r1, [r3]\n\
- mov r0, r10\n\
- b _0819A228\n\
- .pool\n\
+ add r0, r6, #0\n\
+ and r0, r7\n\
+ cmp r0, #0\n\
+ beq _0819A206\n\
+ ldrh r0, [r4]\n\
+ ldr r2, =0x0000ff0f\n\
+ and r2, r0\n\
+ add r0, r5, #0\n\
+ and r0, r7\n\
+ cmp r0, #0\n\
+ beq _0819A1FC\n\
+ ldrb r1, [r3]\n\
+ mov r0, r10\n\
+ b _0819A228\n\
+ .pool\n\
_0819A1FC:\n\
- ldrb r1, [r3]\n\
- mov r0, r9\n\
- and r0, r1\n\
- lsl r0, #4\n\
- b _0819A22A\n\
+ ldrb r1, [r3]\n\
+ mov r0, r9\n\
+ and r0, r1\n\
+ lsl r0, #4\n\
+ b _0819A22A\n\
_0819A206:\n\
- ldrh r0, [r4]\n\
- ldr r2, =0x0000fff0\n\
- and r2, r0\n\
- add r0, r5, #0\n\
- and r0, r7\n\
- cmp r0, #0\n\
- beq _0819A224\n\
- ldrb r1, [r3]\n\
- mov r0, r10\n\
- and r0, r1\n\
- lsr r0, #4\n\
- b _0819A22A\n\
- .pool\n\
+ ldrh r0, [r4]\n\
+ ldr r2, =0x0000fff0\n\
+ and r2, r0\n\
+ add r0, r5, #0\n\
+ and r0, r7\n\
+ cmp r0, #0\n\
+ beq _0819A224\n\
+ ldrb r1, [r3]\n\
+ mov r0, r10\n\
+ and r0, r1\n\
+ lsr r0, #4\n\
+ b _0819A22A\n\
+ .pool\n\
_0819A224:\n\
- ldrb r1, [r3]\n\
- mov r0, r9\n\
+ ldrb r1, [r3]\n\
+ mov r0, r9\n\
_0819A228:\n\
- and r0, r1\n\
+ and r0, r1\n\
_0819A22A:\n\
- orr r2, r0\n\
- strh r2, [r4]\n\
- add r5, #0x1\n\
- add r6, #0x1\n\
- ldr r0, [sp, #0x10]\n\
- cmp r5, r0\n\
- bge _0819A23A\n\
- b _0819A12E\n\
+ orr r2, r0\n\
+ strh r2, [r4]\n\
+ add r5, #0x1\n\
+ add r6, #0x1\n\
+ ldr r0, [sp, #0x10]\n\
+ cmp r5, r0\n\
+ bge _0819A23A\n\
+ b _0819A12E\n\
_0819A23A:\n\
- ldr r1, [sp, #0x20]\n\
- mov r12, r1\n\
- ldr r2, [sp, #0x24]\n\
- mov r8, r2\n\
- ldr r0, [sp, #0x14]\n\
- cmp r12, r0\n\
- bge _0819A24A\n\
- b _0819A10C\n\
+ ldr r1, [sp, #0x20]\n\
+ mov r12, r1\n\
+ ldr r2, [sp, #0x24]\n\
+ mov r8, r2\n\
+ ldr r0, [sp, #0x14]\n\
+ cmp r12, r0\n\
+ bge _0819A24A\n\
+ b _0819A10C\n\
_0819A24A:\n\
- add sp, #0x28\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");
+ add sp, #0x28\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");
}
#endif
diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c
index 2bae89ecf..8a2c3ad91 100644
--- a/src/metatile_behavior.c
+++ b/src/metatile_behavior.c
@@ -10,246 +10,246 @@
// wonder what the third flag is supposed to do
static const u8 sTileBitAttributes[] =
{
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NORMAL
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_WALL
- TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_TALL_GRASS
- TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_LONG_GRASS
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_04
- TILE_ATTRIBUTES(FALSE, FALSE, TRUE), // MB_UNUSED_05
- TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_DEEP_SAND
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHORT_GRASS
- TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_UNUSED_CAVE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LONG_GRASS_SOUTH_EDGE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NO_RUNNING
- TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_INDOOR_ENCOUNTER
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MOUNTAIN_TOP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BATTLE_PYRAMID_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MOSSDEEP_GYM_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MT_PYRE_HOLE
- TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_POND_WATER
- TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEMI_DEEP_WATER
- TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_DEEP_WATER
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATERFALL
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_SOOTOPOLIS_DEEP_WATER
- TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_OCEAN_WATER
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PUDDLE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHALLOW_WATER
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_SOOTOPOLIS_DEEP_WATER
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_NO_SURFACING
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_STAIRS_OUTSIDE_ABANDONED_SHIP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SHOAL_CAVE_ENTRANCE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1D
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1E
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_1F
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ICE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SAND
- TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEAWEED
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_23
- TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_ASHGRASS
- TILE_ATTRIBUTES(TRUE, FALSE, TRUE), // MB_FOOTPRINTS
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_THIN_ICE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_ICE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_HOT_SPRINGS
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LAVARIDGE_GYM_B1F_WARP
- TILE_ATTRIBUTES(TRUE, TRUE, TRUE), // MB_SEAWEED_NO_SURFACING
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_REFLECTION_UNDER_BRIDGE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2C
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2D
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2E
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_2F
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_EAST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_WEST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTH
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTH
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTHEAST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_NORTHWEST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTHEAST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTHWEST
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_EAST
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_WEST
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_NORTH
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_JUMP_SOUTH
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_NORTHEAST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_NORTHWEST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_SOUTHEAST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_JUMP_SOUTHWEST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_EAST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_WEST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_NORTH
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WALK_SOUTH
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_EAST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_WEST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_NORTH
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SLIDE_SOUTH
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_TRICK_HOUSE_PUZZLE_8_FLOOR
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_49
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_4A
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4B
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4C
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4D
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4E
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_4F
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_EASTWARD_CURRENT
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WESTWARD_CURRENT
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_NORTHWARD_CURRENT
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_SOUTHWARD_CURRENT
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_54
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_55
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_56
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_57
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_58
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_59
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5A
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5B
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5C
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5D
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5E
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_5F
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NON_ANIMATED_DOOR
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LADDER
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_EAST_ARROW_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_WEST_ARROW_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_NORTH_ARROW_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SOUTH_ARROW_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_FLOOR_HOLE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_AQUA_HIDEOUT_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LAVARIDGE_GYM_1F_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ANIMATED_DOOR
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UP_ESCALATOR
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_DOWN_ESCALATOR
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATER_DOOR
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_WATER_SOUTH_ARROW_WARP
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_DEEP_SOUTH_WARP
- TILE_ATTRIBUTES(TRUE, TRUE, FALSE), // MB_UNUSED_6F
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_WARP_OR_BRIDGE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_71
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_1
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_2
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_VERTICAL_LOG_1
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_VERTICAL_LOG_2
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_HORIZONTAL_LOG_1
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PACIFIDLOG_HORIZONTAL_LOG_2
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_FORTREE_BRIDGE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_79
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_SOUTH_BRIDGE_1
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_SOUTH_BRIDGE_2
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_3
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE120_NORTH_BRIDGE_4
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_UNUSED_7E
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ROUTE110_BRIDGE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_COUNTER
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_81
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_82
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PC
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CABLE_BOX_RESULTS_1
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_REGION_MAP
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TELEVISION
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_POKEBLOCK_FEEDER
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_88
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SLOT_MACHINE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_ROULETTE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CLOSED_SOOTOPOLIS_DOOR
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRICK_HOUSE_PUZZLE_DOOR
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PETALBURG_GYM_DOOR
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_RUNNING_SHOES_INSTRUCTION
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_QUESTIONNAIRE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_RED_CAVE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_RED_CAVE_OPEN
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BROWN_CAVE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_YELLOW_CAVE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_LEFT
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_SHRUB
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_SHRUB_OPEN
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BLUE_CAVE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_RIGHT
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_9E
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_9F
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BERRY_TREE_SOIL
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A1
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A2
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A3
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A4
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A5
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A6
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A7
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A8
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_A9
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AA
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AB
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AC
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AD
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_AF
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_PC
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_REGISTER_PC
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_UNUSED
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BLOCK_DECORATION
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_DECORATION
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_LARGE_MAT_EDGE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_B6
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_NORTH_WALL
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_BALLOON
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_IMPASSABLE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_GLITTER_MAT
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_JUMP_MAT
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_SPIN_MAT
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_SOUND_MAT
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_BREAKABLE_DOOR
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_SAND_ORNAMENT
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_SOUTH_AND_NORTH
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_IMPASSABLE_WEST_AND_EAST
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_HOLE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_LARGE_MAT_CENTER
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_SECRET_BASE_TV_SHIELD
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_PLAYER_ROOM_PC_ON
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_C6
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SECRET_BASE_POSTER
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_C8
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_C9
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CA
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CB
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CC
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CD
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_CF
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_MUDDY_SLOPE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_BUMPY_SLOPE
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_CRACKED_FLOOR
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ISOLATED_VERTICAL_RAIL
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_ISOLATED_HORIZONTAL_RAIL
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_VERTICAL_RAIL
- TILE_ATTRIBUTES(TRUE, FALSE, FALSE), // MB_HORIZONTAL_RAIL
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D7
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D8
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_D9
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DA
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DB
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DC
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DD
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_DF
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_PICTURE_BOOK_SHELF
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BOOKSHELF
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_POKEMON_CENTER_BOOKSHELF
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_VASE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRASH_CAN
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_SHOP_SHELF
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_BLUEPRINT
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_CABLE_BOX_RESULTS_2
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_WIRELESS_BOX_RESULTS
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_TRAINER_HILL_TIMER
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNKNOWN_CLOSED_DOOR
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EB
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EC
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_ED
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EE
- TILE_ATTRIBUTES(FALSE, FALSE, FALSE), // MB_UNUSED_EF
+ [MB_NORMAL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_TALL_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
+ [MB_LONG_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
+ [MB_UNUSED_04] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_05] = TILE_ATTRIBUTES(FALSE, FALSE, TRUE),
+ [MB_DEEP_SAND] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
+ [MB_SHORT_GRASS] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_CAVE] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
+ [MB_LONG_GRASS_SOUTH_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_NO_RUNNING] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_INDOOR_ENCOUNTER] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
+ [MB_MOUNTAIN_TOP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_BATTLE_PYRAMID_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_MOSSDEEP_GYM_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_MT_PYRE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_POND_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
+ [MB_SEMI_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
+ [MB_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
+ [MB_WATERFALL] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_SOOTOPOLIS_DEEP_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_OCEAN_WATER] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
+ [MB_PUDDLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SHALLOW_WATER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_SOOTOPOLIS_DEEP_WATER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_NO_SURFACING] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_STAIRS_OUTSIDE_ABANDONED_SHIP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SHOAL_CAVE_ENTRANCE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_1D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_1E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_1F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SAND] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SEAWEED] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
+ [MB_UNUSED_23] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ASHGRASS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
+ [MB_FOOTPRINTS] = TILE_ATTRIBUTES(TRUE, FALSE, TRUE),
+ [MB_THIN_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_CRACKED_ICE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_HOT_SPRINGS] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_LAVARIDGE_GYM_B1F_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SEAWEED_NO_SURFACING] = TILE_ATTRIBUTES(TRUE, TRUE, TRUE),
+ [MB_REFLECTION_UNDER_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_2C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_2D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_2E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_2F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_IMPASSABLE_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_IMPASSABLE_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_IMPASSABLE_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_IMPASSABLE_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_IMPASSABLE_NORTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_IMPASSABLE_NORTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_IMPASSABLE_SOUTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_IMPASSABLE_SOUTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_JUMP_EAST] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_JUMP_WEST] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_JUMP_NORTH] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_JUMP_SOUTH] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_JUMP_NORTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_JUMP_NORTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_JUMP_SOUTHEAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_JUMP_SOUTHWEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_WALK_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_WALK_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_WALK_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_WALK_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SLIDE_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SLIDE_WEST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SLIDE_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SLIDE_SOUTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_TRICK_HOUSE_PUZZLE_8_FLOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_49] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_4A] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_4B] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_4C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_4D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_4E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_4F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_EASTWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_WESTWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_NORTHWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_SOUTHWARD_CURRENT] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_UNUSED_54] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_55] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_56] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_57] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_58] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_59] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_5A] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_5B] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_5C] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_5D] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_5E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_5F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_NON_ANIMATED_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_LADDER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_EAST_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_WEST_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_NORTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SOUTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_CRACKED_FLOOR_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_AQUA_HIDEOUT_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_LAVARIDGE_GYM_1F_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ANIMATED_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UP_ESCALATOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_DOWN_ESCALATOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_WATER_DOOR] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_WATER_SOUTH_ARROW_WARP] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_DEEP_SOUTH_WARP] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_6F] = TILE_ATTRIBUTES(TRUE, TRUE, FALSE),
+ [MB_WARP_OR_BRIDGE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_71] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ROUTE120_NORTH_BRIDGE_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ROUTE120_NORTH_BRIDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_PACIFIDLOG_VERTICAL_LOG_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_PACIFIDLOG_VERTICAL_LOG_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_PACIFIDLOG_HORIZONTAL_LOG_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_PACIFIDLOG_HORIZONTAL_LOG_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_FORTREE_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_79] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_ROUTE120_SOUTH_BRIDGE_1] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ROUTE120_SOUTH_BRIDGE_2] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ROUTE120_NORTH_BRIDGE_3] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ROUTE120_NORTH_BRIDGE_4] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_7E] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ROUTE110_BRIDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_COUNTER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_81] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_82] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_CABLE_BOX_RESULTS_1] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_REGION_MAP] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_TELEVISION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_POKEBLOCK_FEEDER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_88] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SLOT_MACHINE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_ROULETTE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_CLOSED_SOOTOPOLIS_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_TRICK_HOUSE_PUZZLE_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_PETALBURG_GYM_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_RUNNING_SHOES_INSTRUCTION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_QUESTIONNAIRE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_RED_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_RED_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_BROWN_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_YELLOW_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_TREE_LEFT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_SHRUB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_SHRUB_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_BLUE_CAVE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_TREE_RIGHT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_9E] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_9F] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_BERRY_TREE_SOIL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A1] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A3] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A4] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A5] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A7] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_A9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_AA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_AB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_AC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_AD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_AE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_AF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_REGISTER_PC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_UNUSED] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_BLOCK_DECORATION] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_DECORATION] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_LARGE_MAT_EDGE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_B6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_NORTH_WALL] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_BALLOON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_IMPASSABLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_GLITTER_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_JUMP_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_SPIN_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_SOUND_MAT] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_BREAKABLE_DOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_SAND_ORNAMENT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_IMPASSABLE_SOUTH_AND_NORTH] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_IMPASSABLE_WEST_AND_EAST] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_HOLE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_LARGE_MAT_CENTER] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_SECRET_BASE_TV_SHIELD] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_PLAYER_ROOM_PC_ON] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_C6] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SECRET_BASE_POSTER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_C8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_C9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_CA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_CB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_CC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_CD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_CE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_CF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_MUDDY_SLOPE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_BUMPY_SLOPE] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_CRACKED_FLOOR] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ISOLATED_VERTICAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_ISOLATED_HORIZONTAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_VERTICAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_HORIZONTAL_RAIL] = TILE_ATTRIBUTES(TRUE, FALSE, FALSE),
+ [MB_UNUSED_D7] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_D8] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_D9] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_DA] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_DB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_DC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_DD] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_DE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_DF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_PICTURE_BOOK_SHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_BOOKSHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_POKEMON_CENTER_BOOKSHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_VASE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_TRASH_CAN] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_SHOP_SHELF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_BLUEPRINT] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_CABLE_BOX_RESULTS_2] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_WIRELESS_BOX_RESULTS] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_TRAINER_HILL_TIMER] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNKNOWN_CLOSED_DOOR] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_EB] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_EC] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_ED] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_EE] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
+ [MB_UNUSED_EF] = TILE_ATTRIBUTES(FALSE, FALSE, FALSE),
};
bool8 MetatileBehavior_IsATile(u8 metatileBehavior)
diff --git a/src/mon_markings.c b/src/mon_markings.c
index 7f320002d..30015dbef 100644
--- a/src/mon_markings.c
+++ b/src/mon_markings.c
@@ -479,7 +479,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
for (i = 0; i < 2; i++)
{
spriteId = CreateSprite(&sprTemplate, x + 32, y + 32, 1);
- if (spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
sMenu->menuWindowSprites[i] = &gSprites[spriteId];
StartSpriteAnim(&gSprites[spriteId], i);
@@ -502,7 +502,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
for (i = 0; i < 4; i++)
{
spriteId = CreateSprite(&sprTemplate, x + 32, y + 16 + 16 * i, 0);
- if (spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
sMenu->menuMarkingSprites[i] = &gSprites[spriteId];
gSprites[spriteId].data[0] = i;
@@ -518,7 +518,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
spriteId = CreateSprite(&sprTemplate, 0, 0, 0);
- if (spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
sMenu->menuTextSprite = &gSprites[spriteId];
sMenu->menuTextSprite->oam.shape = ST_OAM_SQUARE;
@@ -535,7 +535,7 @@ static void sub_811FC80(s16 x, s16 y, u16 baseTileTag, u16 basePaletteTag)
sprTemplate.callback = sub_811FF7C;
spriteId = CreateSprite(&sprTemplate, x + 12, 0, 0);
- if(spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
sMenu->unkSprite = &gSprites[spriteId];
sMenu->unkSprite->data[0] = y + 16;
@@ -600,7 +600,7 @@ static struct Sprite *sub_811FFD4(u16 tileTag, u16 paletteTag, const u16 *palett
LoadSpritePalette(&sprPalette);
spriteId = CreateSprite(&sprTemplate, 0, 0, 0);
- if (spriteId != 64)
+ if (spriteId != MAX_SPRITES)
return &gSprites[spriteId];
else
return NULL;
diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c
index cd377ad83..07920fe4c 100644
--- a/src/mossdeep_gym.c
+++ b/src/mossdeep_gym.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "event_object_movement.h"
#include "fieldmap.h"
-#include "malloc.h"
+#include "alloc.h"
#include "mossdeep_gym.h"
#include "script_movement.h"
#include "constants/event_object_movement_constants.h"
diff --git a/src/mystery_event_msg.c b/src/mystery_event_msg.c
index 74261179b..e0e70a218 100644
--- a/src/mystery_event_msg.c
+++ b/src/mystery_event_msg.c
@@ -10,4 +10,4 @@ const u8 gText_MysteryGiftSentOver[] = _("{STR_VAR_1} was sent over!");
const u8 gText_MysteryGiftFullParty[] = _("Your party is full.\n{STR_VAR_1} could not be sent over.");
const u8 gText_MysteryGiftNewTrainer[] = _("A new TRAINER has arrived in\nHOENN.");
const u8 gText_MysteryGiftNewAdversaryInBattleTower[] = _("A new adversary has arrived in the\nBATTLE TOWER.");
-const u8 gText_MysteryGiftCantBeUsed[] = _("This data can’t be used in\nthis version.");
+const u8 gText_MysteryGiftCantBeUsed[] = _("This data can't be used in\nthis version.");
diff --git a/src/naming_screen.c b/src/naming_screen.c
index 9902df04c..e6d146b85 100644
--- a/src/naming_screen.c
+++ b/src/naming_screen.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "naming_screen.h"
-#include "malloc.h"
+#include "alloc.h"
#include "palette.h"
#include "task.h"
#include "sprite.h"
@@ -150,7 +150,7 @@ static const struct WindowTemplate gUnknown_0858BE10[] =
DUMMY_WIN_TEMPLATE
};
-static const u8 gUnknown_0858BE40[] = __("abcdef .ghijkl ,mnopqrs tuvwxyz ABCDEF .GHIJKL ,MNOPQRS TUVWXYZ 01234 56789 !?♂♀/- …“”‘’ ");
+static const u8 gUnknown_0858BE40[] = __("abcdef .ghijkl ,mnopqrs tuvwxyz ABCDEF .GHIJKL ,MNOPQRS TUVWXYZ 01234 56789 !?♂♀/- …“”‘' ");
static const u8 gUnknown_0858BEA0[] = { 8, 8, 6 };
static const u8 gUnknown_0858BEA3[] = { 0, 12, 24, 56, 68, 80, 92, 123, 0, 12, 24, 56, 68, 80, 92, 123, 0, 22, 44, 66, 88, 110, 0, 0 };
diff --git a/src/new_game.c b/src/new_game.c
index 18b128624..4804b28f3 100644
--- a/src/new_game.c
+++ b/src/new_game.c
@@ -205,14 +205,14 @@ void NewGameInitData(void)
ScriptContext2_RunNewScript(EventScript_2715DE);
ResetMiniGamesResults();
copy_strings_to_sav1();
- SetLilycoveLady();
- ResetAllApprenticeData();
- ClearRankingHallRecords();
- sub_8195E10();
- sub_801AFD8();
- sub_800E5AC();
- sub_81D54BC();
- ResetContestLinkResults();
+ SetLilycoveLady();
+ ResetAllApprenticeData();
+ ClearRankingHallRecords();
+ sub_8195E10();
+ sub_801AFD8();
+ sub_800E5AC();
+ sub_81D54BC();
+ ResetContestLinkResults();
}
static void ResetMiniGamesResults(void)
diff --git a/src/normal.c b/src/normal.c
index a4ed5edca..3de8b1157 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -1,19 +1,42 @@
#include "global.h"
#include "battle_anim.h"
+#include "palette.h"
+#include "random.h"
+#include "task.h"
+#include "trig.h"
#include "constants/rgb.h"
-extern void sub_811572C(struct Sprite *);
-extern void sub_81157FC(struct Sprite *);
-extern void sub_81158A4(struct Sprite *);
-extern void sub_81159B4(struct Sprite *);
-extern void sub_81160A4(struct Sprite *);
-extern void sub_8116388(struct Sprite *);
-extern void sub_8116420(struct Sprite *);
-extern void sub_8116458(struct Sprite *);
-extern void sub_81164F0(struct Sprite *);
-extern void sub_8116560(struct Sprite *);
-extern void sub_81165A8(struct Sprite *);
-extern void sub_81163D0(struct Sprite *);
+void AnimConfusionDuck(struct Sprite *);
+void AnimSimplePaletteBlend(struct Sprite *);
+u32 UnpackSelectedBattleAnimPalettes(s16);
+void sub_81158A4(struct Sprite *);
+void sub_81159B4(struct Sprite *);
+void sub_81160A4(struct Sprite *);
+void sub_8116388(struct Sprite *);
+void sub_8116420(struct Sprite *);
+void sub_8116458(struct Sprite *);
+void sub_81164F0(struct Sprite *);
+void sub_8116560(struct Sprite *);
+void sub_81165A8(struct Sprite *);
+static void AnimConfusionDuckStep(struct Sprite *);
+static void AnimSimplePaletteBlendStep(struct Sprite *);
+static void sub_81158F8(struct Sprite *);
+static void sub_8115984(struct Sprite *);
+static void sub_8115A54(u8, u8, u8);
+static void sub_8115AA4(u8);
+static void sub_8115BC8(u8, u8, u8);
+static void sub_8115C18(u8);
+static void sub_8115CD0(u8, u8, u8);
+static void sub_8115D2C(u8);
+static void sub_8115E00(u8);
+static void sub_8115EB8(u8);
+static void sub_8116148(struct Sprite *);
+static void sub_81161F4(void);
+static void sub_81162F8(u8);
+static void sub_81163D0(struct Sprite *);
+static void sub_81165E4(struct Sprite *);
+
+extern void sub_810E2C8(struct Sprite *);
const union AnimCmd gUnknown_0859722C[] =
{
@@ -47,7 +70,7 @@ const struct SpriteTemplate gConfusionDuckSpriteTemplate =
.anims = gUnknown_08597254,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_811572C,
+ .callback = AnimConfusionDuck,
};
const struct SpriteTemplate gSimplePaletteBlendSpriteTemplate =
@@ -58,7 +81,7 @@ const struct SpriteTemplate gSimplePaletteBlendSpriteTemplate =
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_81157FC,
+ .callback = AnimSimplePaletteBlend,
};
const struct SpriteTemplate gComplexPaletteBlendSpriteTemplate =
@@ -231,3 +254,717 @@ const struct SpriteTemplate gUnknown_08597400 =
.affineAnims = gUnknown_08597348,
.callback = sub_81163D0,
};
+
+// Moves a spinning duck around the mon's head.
+// arg 0: initial x pixel offset
+// arg 1: initial y pixel offset
+// arg 2: initial wave offset
+// arg 3: wave period (higher means faster wave)
+// arg 4: duration
+void AnimConfusionDuck(struct Sprite *sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = gBattleAnimArgs[2];
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ sprite->data[1] = -gBattleAnimArgs[3];
+ sprite->data[4] = 1;
+ }
+ else
+ {
+ sprite->data[1] = gBattleAnimArgs[3];
+ sprite->data[4] = 0;
+ StartSpriteAnim(sprite, 1);
+ }
+
+ sprite->data[3] = gBattleAnimArgs[4];
+ sprite->callback = AnimConfusionDuckStep;
+ sprite->callback(sprite);
+}
+
+static void AnimConfusionDuckStep(struct Sprite *sprite)
+{
+ sprite->pos2.x = Cos(sprite->data[0], 30);
+ sprite->pos2.y = Sin(sprite->data[0], 10);
+
+ if ((u16)sprite->data[0] < 128)
+ sprite->oam.priority = 1;
+ else
+ sprite->oam.priority = 3;
+
+ sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF;
+ if (++sprite->data[2] == sprite->data[3])
+ DestroyAnimSprite(sprite);
+}
+
+// Performs a simple color blend on a specified sprite.
+// arg 0: palette selector
+// arg 1: delay
+// arg 2: start blend amount
+// arg 3: end blend amount
+// arg 4: blend color
+void AnimSimplePaletteBlend(struct Sprite *sprite)
+{
+ u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
+ BeginNormalPaletteFade(selectedPalettes, gBattleAnimArgs[1], gBattleAnimArgs[2], gBattleAnimArgs[3], gBattleAnimArgs[4]);
+ sprite->invisible = 1;
+ sprite->callback = AnimSimplePaletteBlendStep;
+}
+
+// Unpacks a bitfield and returns a bitmask of its selected palettes.
+// Bits 0-6 of the selector parameter result in the following palettes being selected:
+// 0: battle background palettes (BG palettes 1, 2, and 3)
+// 1: gBattleAnimAttacker OBJ palette
+// 2: gBattleAnimTarget OBJ palette
+// 3: gBattleAnimAttacker partner OBJ palette
+// 4: gBattleAnimTarget partner OBJ palette
+// 5: BG palette 4
+// 6: BG palette 5
+u32 UnpackSelectedBattleAnimPalettes(s16 selector)
+{
+ u8 arg0 = selector & 1;
+ u8 arg1 = (selector >> 1) & 1;
+ u8 arg2 = (selector >> 2) & 1;
+ u8 arg3 = (selector >> 3) & 1;
+ u8 arg4 = (selector >> 4) & 1;
+ u8 arg5 = (selector >> 5) & 1;
+ u8 arg6 = (selector >> 6) & 1;
+ return sub_80A75AC(arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+}
+
+static void AnimSimplePaletteBlendStep(struct Sprite *sprite)
+{
+ if (!gPaletteFade.active)
+ DestroyAnimSprite(sprite);
+}
+
+void sub_81158A4(struct Sprite *sprite)
+{
+ u32 selectedPalettes;
+
+ sprite->data[0] = gBattleAnimArgs[1];
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[2];
+ sprite->data[3] = gBattleAnimArgs[3];
+ sprite->data[4] = gBattleAnimArgs[4];
+ sprite->data[5] = gBattleAnimArgs[5];
+ sprite->data[6] = gBattleAnimArgs[6];
+ sprite->data[7] = gBattleAnimArgs[0];
+
+ selectedPalettes = UnpackSelectedBattleAnimPalettes(sprite->data[7]);
+ BlendPalettes(selectedPalettes, gBattleAnimArgs[4], gBattleAnimArgs[3]);
+ sprite->invisible = 1;
+ sprite->callback = sub_81158F8;
+}
+
+static void sub_81158F8(struct Sprite *sprite)
+{
+ u32 selectedPalettes;
+
+ if (sprite->data[0] > 0)
+ {
+ sprite->data[0]--;
+ return;
+ }
+
+ if (gPaletteFade.active)
+ return;
+
+ if (sprite->data[2] == 0)
+ {
+ sprite->callback = sub_8115984;
+ return;
+ }
+
+ selectedPalettes = UnpackSelectedBattleAnimPalettes(sprite->data[7]);
+ if (sprite->data[1] & 0x100)
+ BlendPalettes(selectedPalettes, sprite->data[4], sprite->data[3]);
+ else
+ BlendPalettes(selectedPalettes, sprite->data[6], sprite->data[5]);
+
+ sprite->data[1] ^= 0x100;
+ sprite->data[0] = sprite->data[1] & 0xFF;
+ sprite->data[2]--;
+}
+
+static void sub_8115984(struct Sprite *sprite)
+{
+ u32 selectedPalettes;
+
+ if (!gPaletteFade.active)
+ {
+ selectedPalettes = UnpackSelectedBattleAnimPalettes(sprite->data[7]);
+ BlendPalettes(selectedPalettes, 0, 0);
+ DestroyAnimSprite(sprite);
+ }
+}
+
+void sub_81159B4(struct Sprite *sprite)
+{
+ sprite->pos1.x += gBattleAnimArgs[0];
+ sprite->pos1.y += gBattleAnimArgs[1];
+ sprite->data[0] = 0;
+ sprite->data[1] = 10;
+ sprite->data[2] = 8;
+ sprite->data[3] = 40;
+ sprite->data[4] = 112;
+ sprite->data[5] = 0;
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A634C;
+ sprite->callback(sprite);
+}
+
+void sub_8115A04(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[4] = gBattleAnimArgs[4];
+ gTasks[taskId].data[5] = gBattleAnimArgs[5];
+ gTasks[taskId].data[8] = 0;
+ sub_8115A54(taskId, 0, gTasks[taskId].data[4]);
+ gTasks[taskId].func = sub_8115AA4;
+}
+
+static void sub_8115A54(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount)
+{
+ u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gTasks[taskId].data[0]);
+ BeginNormalPaletteFade(
+ selectedPalettes,
+ gTasks[taskId].data[1],
+ initialBlendAmount,
+ targetBlendAmount,
+ gTasks[taskId].data[5]);
+
+ gTasks[taskId].data[2]--;
+ gTasks[taskId].data[8] ^= 1;
+}
+
+static void sub_8115AA4(u8 taskId)
+{
+ u8 initialBlendAmount, targetBlendAmount;
+ if (!gPaletteFade.active)
+ {
+ if (gTasks[taskId].data[2] > 0)
+ {
+ if (gTasks[taskId].data[8] == 0)
+ {
+ initialBlendAmount = gTasks[taskId].data[3];
+ targetBlendAmount = gTasks[taskId].data[4];
+ }
+ else
+ {
+ initialBlendAmount = gTasks[taskId].data[4];
+ targetBlendAmount = gTasks[taskId].data[3];
+ }
+
+ if (gTasks[taskId].data[2] == 1)
+ targetBlendAmount = 0;
+
+ sub_8115A54(taskId, initialBlendAmount, targetBlendAmount);
+ }
+ else
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+}
+
+void sub_8115B0C(u8 taskId)
+{
+ int battler;
+ u32 selectedPalettes = 0;
+
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[4] = gBattleAnimArgs[4];
+ gTasks[taskId].data[5] = gBattleAnimArgs[5];
+ gTasks[taskId].data[8] = 0;
+
+ for (battler = 0; battler < gBattlersCount; battler++)
+ {
+ if (battler != gBattleAnimAttacker && battler != gBattleAnimTarget)
+ selectedPalettes |= 1 << (battler + 16);
+ }
+
+ if (gBattleAnimArgs[0] == 1)
+ selectedPalettes |= 0xE;
+
+ gTasks[taskId].data[9] = selectedPalettes >> 16;
+ gTasks[taskId].data[10] = selectedPalettes & 0xFF;
+ sub_8115BC8(taskId, 0, gTasks[taskId].data[4]);
+ gTasks[taskId].func = sub_8115C18;
+}
+
+static void sub_8115BC8(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount)
+{
+ u32 selectedPalettes = ((u16)gTasks[taskId].data[9] << 16) | (u16)gTasks[taskId].data[10];
+ BeginNormalPaletteFade(
+ selectedPalettes,
+ gTasks[taskId].data[1],
+ initialBlendAmount,
+ targetBlendAmount,
+ gTasks[taskId].data[5]);
+
+ gTasks[taskId].data[2]--;
+ gTasks[taskId].data[8] ^= 1;
+}
+
+static void sub_8115C18(u8 taskId)
+{
+ u8 initialBlendAmount, targetBlendAmount;
+ if (!gPaletteFade.active)
+ {
+ if (gTasks[taskId].data[2] > 0)
+ {
+ if (gTasks[taskId].data[8] == 0)
+ {
+ initialBlendAmount = gTasks[taskId].data[3];
+ targetBlendAmount = gTasks[taskId].data[4];
+ }
+ else
+ {
+ initialBlendAmount = gTasks[taskId].data[4];
+ targetBlendAmount = gTasks[taskId].data[3];
+ }
+
+ if (gTasks[taskId].data[2] == 1)
+ targetBlendAmount = 0;
+
+ sub_8115BC8(taskId, initialBlendAmount, targetBlendAmount);
+ }
+ else
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+}
+
+void sub_8115C80(u8 taskId)
+{
+ u8 paletteIndex;
+
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[4] = gBattleAnimArgs[4];
+ gTasks[taskId].data[5] = gBattleAnimArgs[5];
+ gTasks[taskId].data[8] = 0;
+
+ sub_8115CD0(taskId, 0, gTasks[taskId].data[4]);
+ gTasks[taskId].func = sub_8115D2C;
+}
+
+static void sub_8115CD0(u8 taskId, u8 initialBlendAmount, u8 targetBlendAmount)
+{
+ u8 paletteIndex = IndexOfSpritePaletteTag(gTasks[taskId].data[0]);
+ BeginNormalPaletteFade(
+ 1 << (paletteIndex + 16),
+ gTasks[taskId].data[1],
+ initialBlendAmount,
+ targetBlendAmount,
+ gTasks[taskId].data[5]);
+
+ gTasks[taskId].data[2]--;
+ gTasks[taskId].data[8] ^= 1;
+}
+
+static void sub_8115D2C(u8 taskId)
+{
+ u8 initialBlendAmount, targetBlendAmount;
+ if (!gPaletteFade.active)
+ {
+ if (gTasks[taskId].data[2] > 0)
+ {
+ if (gTasks[taskId].data[8] == 0)
+ {
+ initialBlendAmount = gTasks[taskId].data[3];
+ targetBlendAmount = gTasks[taskId].data[4];
+ }
+ else
+ {
+ initialBlendAmount = gTasks[taskId].data[4];
+ targetBlendAmount = gTasks[taskId].data[3];
+ }
+
+ if (gTasks[taskId].data[2] == 1)
+ targetBlendAmount = 0;
+
+ sub_8115CD0(taskId, initialBlendAmount, targetBlendAmount);
+ }
+ else
+ {
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+}
+
+void sub_8115D94(u8 taskId)
+{
+ u8 paletteIndex;
+
+ gTasks[taskId].data[0] = gBattleAnimArgs[1];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[4] = gBattleAnimArgs[4];
+ gTasks[taskId].data[5] = gBattleAnimArgs[5];
+ gTasks[taskId].data[6] = gBattleAnimArgs[6];
+ gTasks[taskId].data[7] = gBattleAnimArgs[0];
+
+ paletteIndex = IndexOfSpritePaletteTag(gBattleAnimArgs[0]);
+ BeginNormalPaletteFade(
+ 1 << (paletteIndex + 16),
+ 0,
+ gBattleAnimArgs[4],
+ gBattleAnimArgs[4],
+ gBattleAnimArgs[3]);
+
+ gTasks[taskId].func = sub_8115E00;
+}
+
+static void sub_8115E00(u8 taskId)
+{
+ u32 selectedPalettes;
+
+ if (gTasks[taskId].data[0] > 0)
+ {
+ gTasks[taskId].data[0]--;
+ return;
+ }
+
+ if (gPaletteFade.active)
+ return;
+
+ if (gTasks[taskId].data[2] == 0)
+ {
+ gTasks[taskId].func = sub_8115EB8;
+ return;
+ }
+
+ selectedPalettes = 1 << (IndexOfSpritePaletteTag(gTasks[taskId].data[7]) + 16);
+ if (gTasks[taskId].data[1] & 0x100)
+ {
+ BeginNormalPaletteFade(
+ selectedPalettes,
+ 0,
+ gTasks[taskId].data[4],
+ gTasks[taskId].data[4],
+ gTasks[taskId].data[3]);
+ }
+ else
+ {
+ BeginNormalPaletteFade(
+ selectedPalettes,
+ 0,
+ gTasks[taskId].data[6],
+ gTasks[taskId].data[6],
+ gTasks[taskId].data[5]);
+ }
+
+ gTasks[taskId].data[1] ^= 0x100;
+ gTasks[taskId].data[0] = gTasks[taskId].data[1] & 0xFF;
+ gTasks[taskId].data[2]--;
+}
+
+static void sub_8115EB8(u8 taskId)
+{
+ u32 selectedPalettes;
+
+ if (!gPaletteFade.active)
+ {
+ selectedPalettes = 1 << (IndexOfSpritePaletteTag(gTasks[taskId].data[7]) + 16);
+ BeginNormalPaletteFade(selectedPalettes, 0, 0, 0, RGB(0, 0, 0));
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+void sub_8115F10(u8 taskId)
+{
+ u32 selectedPalettes = 0;
+ u8 attackerBattler = gBattleAnimAttacker;
+ u8 targetBattler = gBattleAnimTarget;
+
+ if (gBattleAnimArgs[0] & 0x100)
+ selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0);
+
+ if (gBattleAnimArgs[1] & 0x100)
+ selectedPalettes |= (0x10000 << attackerBattler);
+
+ if (gBattleAnimArgs[2] & 0x100)
+ selectedPalettes |= (0x10000 << targetBattler);
+
+ InvertPlttBuffer(selectedPalettes);
+ DestroyAnimVisualTask(taskId);
+}
+
+void sub_8115F94(u8 taskId)
+{
+ u8 attackerBattler;
+ u8 targetBattler;
+ u8 paletteIndex;
+ u32 selectedPalettes = 0;
+
+ if (gTasks[taskId].data[0] == 0)
+ {
+ gTasks[taskId].data[2] = gBattleAnimArgs[0];
+ gTasks[taskId].data[3] = gBattleAnimArgs[1];
+ gTasks[taskId].data[4] = gBattleAnimArgs[2];
+ gTasks[taskId].data[1] = gBattleAnimArgs[3];
+ gTasks[taskId].data[5] = gBattleAnimArgs[4];
+ gTasks[taskId].data[6] = gBattleAnimArgs[5];
+ gTasks[taskId].data[7] = gBattleAnimArgs[6];
+ }
+
+ gTasks[taskId].data[0]++;
+ attackerBattler = gBattleAnimAttacker;
+ targetBattler = gBattleAnimTarget;
+
+ if (gTasks[taskId].data[2] & 0x100)
+ selectedPalettes = 0x0000FFFF;
+
+ if (gTasks[taskId].data[2] & 0x1)
+ {
+ paletteIndex = IndexOfSpritePaletteTag(gSprites[gHealthboxSpriteIds[attackerBattler]].template->paletteTag);
+ selectedPalettes |= (1 << paletteIndex) << 16;
+ }
+
+ if (gTasks[taskId].data[3] & 0x100)
+ selectedPalettes |= (1 << attackerBattler) << 16;
+
+ if (gTasks[taskId].data[4] & 0x100)
+ selectedPalettes |= (1 << targetBattler) << 16;
+
+ TintPlttBuffer(selectedPalettes, gTasks[taskId].data[5], gTasks[taskId].data[6], gTasks[taskId].data[7]);
+ if (gTasks[taskId].data[0] == gTasks[taskId].data[1])
+ {
+ UnfadePlttBuffer(selectedPalettes);
+ DestroyAnimVisualTask(taskId);
+ }
+}
+
+void sub_81160A4(struct Sprite *sprite)
+{
+ u16 var0;
+
+ sprite->invisible = 1;
+ sprite->data[0] = -gBattleAnimArgs[0];
+ sprite->data[1] = gBattleAnimArgs[1];
+ sprite->data[2] = gBattleAnimArgs[1];
+ sprite->data[3] = gBattleAnimArgs[2];
+
+ switch (gBattleAnimArgs[3])
+ {
+ case 0:
+ StoreSpriteCallbackInData6(sprite, (void *)&gBattle_BG3_X);
+ break;
+ case 1:
+ StoreSpriteCallbackInData6(sprite, (void *)&gBattle_BG3_Y);
+ break;
+ case 2:
+ StoreSpriteCallbackInData6(sprite, (void *)&gSpriteCoordOffsetX);
+ break;
+ default:
+ StoreSpriteCallbackInData6(sprite, (void *)&gSpriteCoordOffsetY);
+ break;
+ }
+
+ sprite->data[4] = *(u16 *)(sprite->data[6] | (sprite->data[7] << 16));
+ sprite->data[5] = gBattleAnimArgs[3];
+ var0 = sprite->data[5] - 2;
+ if (var0 < 2)
+ sub_81161F4();
+
+ sprite->callback = sub_8116148;
+}
+
+static void sub_8116148(struct Sprite *sprite)
+{
+ u8 i;
+ u16 var0;
+
+ if (sprite->data[3] > 0)
+ {
+ sprite->data[3]--;
+ if (sprite->data[1] > 0)
+ {
+ sprite->data[1]--;
+ }
+ else
+ {
+ sprite->data[1] = sprite->data[2];
+ *(u16 *)(sprite->data[6] | (sprite->data[7] << 16)) += sprite->data[0];
+ sprite->data[0] = -sprite->data[0];
+ }
+ }
+ else
+ {
+ *(u16 *)(sprite->data[6] | (sprite->data[7] << 16)) = sprite->data[4];
+ var0 = sprite->data[5] - 2;
+ if (var0 < 2)
+ {
+ for (i = 0; i < gBattlersCount; i++)
+ gSprites[gBattlerSpriteIds[i]].coordOffsetEnabled = 0;
+ }
+
+ DestroyAnimSprite(sprite);
+ }
+}
+
+static void sub_81161F4(void)
+{
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 0;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 0;
+
+ if (gBattleAnimArgs[4] == 2)
+ {
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1;
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1;
+ }
+ else
+ {
+ if (gBattleAnimArgs[4] == 0)
+ gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].coordOffsetEnabled = 1;
+ else
+ gSprites[gBattlerSpriteIds[gBattleAnimTarget]].coordOffsetEnabled = 1;
+ }
+}
+
+void sub_81162A4(u8 taskId)
+{
+ gTasks[taskId].data[0] = gBattleAnimArgs[0];
+ gTasks[taskId].data[1] = gBattleAnimArgs[1];
+ gTasks[taskId].data[2] = gBattleAnimArgs[2];
+ gTasks[taskId].data[3] = gBattleAnimArgs[3];
+ gTasks[taskId].data[8] = gBattleAnimArgs[3];
+ gBattle_BG3_X = gBattleAnimArgs[0];
+ gBattle_BG3_Y = gBattleAnimArgs[1];
+ gTasks[taskId].func = sub_81162F8;
+ gTasks[taskId].func(taskId);
+}
+
+static void sub_81162F8(u8 taskId)
+{
+ if (gTasks[taskId].data[3] == 0)
+ {
+ if (gBattle_BG3_X == gTasks[taskId].data[0])
+ gBattle_BG3_X = -gTasks[taskId].data[0];
+ else
+ gBattle_BG3_X = gTasks[taskId].data[0];
+
+ if (gBattle_BG3_Y == -gTasks[taskId].data[1])
+ gBattle_BG3_Y = 0;
+ else
+ gBattle_BG3_Y = -gTasks[taskId].data[1];
+
+ gTasks[taskId].data[3] = gTasks[taskId].data[8];
+ if (--gTasks[taskId].data[2] == 0)
+ {
+ gBattle_BG3_X = 0;
+ gBattle_BG3_Y = 0;
+ DestroyAnimVisualTask(taskId);
+ }
+ }
+ else
+ {
+ gTasks[taskId].data[3]--;
+ }
+}
+
+void sub_8116388(struct Sprite *sprite)
+{
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->callback = sub_80A67BC;
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+}
+
+static void sub_81163D0(struct Sprite *sprite)
+{
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->data[0] = gBattleAnimArgs[4];
+ sprite->callback = sub_80A67BC;
+ StoreSpriteCallbackInData6(sprite, sub_810E2C8);
+}
+
+void sub_8116420(struct Sprite *sprite)
+{
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER && !IsContest())
+ gBattleAnimArgs[1] = -gBattleAnimArgs[1];
+
+ sub_8116388(sprite);
+}
+
+void sub_8116458(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[1] == -1)
+ gBattleAnimArgs[1] = Random2() & 3;
+
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[1]);
+ if (gBattleAnimArgs[0] == 0)
+ InitAnimSpritePos(sprite, 0);
+ else
+ sub_80A6980(sprite, FALSE);
+
+ sprite->pos2.x += (Random2() % 48) - 24;
+ sprite->pos2.y += (Random2() % 24) - 12;
+
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A67BC;
+}
+
+void sub_81164F0(struct Sprite *sprite)
+{
+ sprite->data[0] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
+ sprite->pos1.x = gSprites[sprite->data[0]].pos1.x + gSprites[sprite->data[0]].pos2.x;
+ sprite->pos1.y = gSprites[sprite->data[0]].pos1.y + gSprites[sprite->data[0]].pos2.y;
+ sprite->pos2.x = gBattleAnimArgs[1];
+ sprite->pos2.y = gBattleAnimArgs[2];
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
+ StoreSpriteCallbackInData6(sprite, move_anim_8074EE0);
+ sprite->callback = sub_80A67BC;
+}
+
+void sub_8116560(struct Sprite *sprite)
+{
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->data[0] = gBattleAnimArgs[3];
+ StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
+ sprite->callback = WaitAnimForDuration;
+}
+
+void sub_81165A8(struct Sprite *sprite)
+{
+ StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]);
+ if (gBattleAnimArgs[2] == 0)
+ InitAnimSpritePos(sprite, 1);
+ else
+ sub_80A6980(sprite, TRUE);
+
+ sprite->callback = sub_81165E4;
+}
+
+static void sub_81165E4(struct Sprite *sprite)
+{
+ sprite->invisible ^= 1;
+ if (sprite->data[0]++ > 12)
+ DestroyAnimSprite(sprite);
+}
diff --git a/src/overworld.c b/src/overworld.c
index 10f2ebd26..6998c9d98 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -4,18 +4,17 @@
#include "battle_setup.h"
#include "berry.h"
#include "bg.h"
-// #include "cable_club.h"
+#include "cable_club.h"
#include "clock.h"
#include "event_data.h"
#include "field_camera.h"
#include "field_control_avatar.h"
#include "field_effect.h"
-#include "field_fadetransition.h"
#include "event_object_movement.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
#include "field_screen_effect.h"
-// #include "field_special_scene.h"
+#include "field_special_scene.h"
#include "field_specials.h"
#include "field_tasks.h"
#include "field_weather.h"
@@ -27,7 +26,7 @@
#include "link_rfu.h"
#include "load_save.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "m4a.h"
#include "map_name_popup.h"
#include "menu.h"
@@ -38,7 +37,7 @@
#include "play_time.h"
#include "random.h"
#include "roamer.h"
-// #include "rotating_gate.h"
+#include "rotating_gate.h"
#include "safari_zone.h"
#include "save.h"
#include "save_location.h"
@@ -129,7 +128,7 @@ extern void sub_80A0A38(void);
extern void trainer_hill_map_load_related(void);
extern void sub_8087D74(void);
extern void battle_pyramid_map_load_related(u8);
-extern void sub_80B00E8(u8);
+extern void WriteFlashScanlineEffectBuffer(u8);
extern void sub_80E9238(u8);
extern void sub_81AA2F8(void);
extern void sub_8195E10(void);
@@ -148,7 +147,6 @@ extern void ResetAllPicSprites(void);
extern void FieldEffectActiveListClear(void);
extern void SetUpFieldTasks(void);
extern void sub_81BE6B8(void);
-extern void sub_80AAFA4(void);
extern void ShowStartMenu(void);
extern void sub_80AEE84(void);
extern void mapldr_default(void);
@@ -296,15 +294,51 @@ static const u8 sUnusedData[] =
const struct UCoords32 gDirectionToVectors[] =
{
- { 0, 0}, // DIR_NONE
- { 0, 1}, // DIR_SOUTH
- { 0, -1}, // DIR_NORTH
- {-1, 0}, // DIR_WEST
- { 1, 0}, // DIR_EAST
- {-1, 1}, // DIR_SOUTHWEST
- { 1, 1}, // DIR_SOUTHEAST
- {-1, -1}, // DIR_NORTHWEST
- { 1, -1}, // DIR_NORTHEAST
+ [DIR_NONE] =
+ {
+ .x = 0,
+ .y = 0,
+ },
+ [DIR_SOUTH] =
+ {
+ .x = 0,
+ .y = 1,
+ },
+ [DIR_NORTH] =
+ {
+ .x = 0,
+ .y = -1,
+ },
+ [DIR_WEST] =
+ {
+ .x = -1,
+ .y = 0,
+ },
+ [DIR_EAST] =
+ {
+ .x = 1,
+ .y = 0,
+ },
+ [DIR_SOUTHWEST] =
+ {
+ .x = -1,
+ .y = 1,
+ },
+ [DIR_SOUTHEAST] =
+ {
+ .x = 1,
+ .y = 1,
+ },
+ [DIR_NORTHWEST] =
+ {
+ .x = -1,
+ .y = -1,
+ },
+ [DIR_NORTHEAST] =
+ {
+ .x = 1,
+ .y = -1,
+ },
};
static const struct BgTemplate gUnknown_08339DAC[] =
@@ -1241,7 +1275,7 @@ u8 GetMapMusicFadeoutSpeed(void)
return 4;
}
-void music_something(void)
+void TryFadeOutOldMapMusic(void)
{
u16 currentMusic = GetCurrentMapMusic();
u16 warpMusic = GetWarpDestinationMusic();
@@ -1819,7 +1853,7 @@ static void InitCurrentFlashLevelScanlineEffect(void)
}
else if ((flashLevel = Overworld_GetFlashLevel()))
{
- sub_80B00E8(flashLevel);
+ WriteFlashScanlineEffectBuffer(flashLevel);
ScanlineEffect_SetParams(sFlashEffectParams);
}
}
@@ -2160,7 +2194,7 @@ static void sub_8086988(u32 a1)
InitEventObjectPalettes(1);
FieldEffectActiveListClear();
- sub_80AAFA4();
+ StartWeather();
sub_80AEE84();
if (!a1)
SetUpFieldTasks();
@@ -2955,7 +2989,7 @@ static void sub_808780C(u8 linkPlayerId)
struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId];
u8 eventObjId = linkPlayerEventObj->eventObjId;
struct EventObject *eventObj = &gEventObjects[eventObjId];
- if (eventObj->spriteId != 64 )
+ if (eventObj->spriteId != MAX_SPRITES)
DestroySprite(&gSprites[eventObj->spriteId]);
linkPlayerEventObj->active = 0;
eventObj->active = 0;
diff --git a/src/player_pc.c b/src/player_pc.c
index d21ffdb62..c41dfa380 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -3,9 +3,8 @@
#include "bg.h"
#include "decoration.h"
#include "event_scripts.h"
-#include "field_fadetransition.h"
#include "event_object_movement.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "field_weather.h"
#include "international_string_util.h"
#include "item.h"
@@ -15,7 +14,7 @@
#include "list_menu.h"
#include "mail.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"
@@ -332,7 +331,7 @@ static void InitPlayerPCMenu(u8 taskId)
struct WindowTemplate windowTemplate;
data = gTasks[taskId].data;
- if(gPcItemMenuOptionsNum == 3)
+ if (gPcItemMenuOptionsNum == 3)
windowTemplate = gUnknown_085DFF24[0];
else
windowTemplate = gUnknown_085DFF24[1];
@@ -351,7 +350,7 @@ static void PlayerPCProcessMenuInput(u8 taskId)
s8 inputOptionId;
data = gTasks[taskId].data;
- if(gPcItemMenuOptionsNum > 3)
+ if (gPcItemMenuOptionsNum > 3)
inputOptionId = Menu_ProcessInput();
else
inputOptionId = Menu_ProcessInputNoWrap();
@@ -402,7 +401,7 @@ static void PlayerPC_Mailbox(u8 taskId)
playerPCItemPageInfo.scrollIndicatorId = 0xFF;
Mailbox_UpdateMailList();
ItemStorage_SetItemAndMailCount(taskId);
- if(sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
+ if (sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
{
sub_8197434(0, 0);
Mailbox_DrawMailboxMenu(taskId);
@@ -595,7 +594,7 @@ static u8 GetMailboxMailCount(void)
u8 i, j;
for(i = 0, j = 6; j < 16; j++)
- if(gSaveBlock1Ptr->mail[j].itemId != 0)
+ if (gSaveBlock1Ptr->mail[j].itemId != 0)
i++;
return i;
@@ -637,7 +636,7 @@ static void Mailbox_ProcessInput(u8 taskId)
u16 *data = gTasks[taskId].data;
s32 inputOptionId;
- if(!gPaletteFade.active)
+ if (!gPaletteFade.active)
{
inputOptionId = ListMenuHandleInputGetItemId(data[5]);
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
@@ -721,7 +720,7 @@ static void Mailbox_DoMailRead(u8 taskId)
static void Mailbox_FadeAndReadMail(u8 taskId)
{
- if(!gPaletteFade.active)
+ if (!gPaletteFade.active)
{
sub_81D1EC0();
overworld_free_bg_tilemaps();
@@ -742,7 +741,7 @@ static void pal_fill_for_maplights_or_black(void)
sub_81973A4();
taskId = CreateTask(Mailbox_HandleReturnToProcessInput, 0);
- if(sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
+ if (sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
@@ -751,7 +750,7 @@ static void pal_fill_for_maplights_or_black(void)
static void Mailbox_HandleReturnToProcessInput(u8 taskId)
{
- if(IsWeatherNotFadingIn() == TRUE)
+ if (IsWeatherNotFadingIn() == TRUE)
gTasks[taskId].func = Mailbox_ProcessInput;
}
@@ -787,7 +786,7 @@ static void Mailbox_MoveToBagYesNoPrompt(u8 taskId)
static void Mailbox_DoMailMoveToBag(u8 taskId)
{
struct MailStruct *mailStruct = &(gSaveBlock1Ptr->mail[playerPCItemPageInfo.itemsAbove + 6 + playerPCItemPageInfo.cursorPos]);
- if(!AddBagItem(mailStruct->itemId, 1))
+ if (!AddBagItem(mailStruct->itemId, 1))
{
DisplayItemMessageOnField(taskId, gText_BagIsFull, Mailbox_Cancel);
}
@@ -797,7 +796,7 @@ static void Mailbox_DoMailMoveToBag(u8 taskId)
ClearMailStruct(mailStruct);
Mailbox_UpdateMailList();
playerPCItemPageInfo.count--;
- if(playerPCItemPageInfo.count < (playerPCItemPageInfo.pageItems + playerPCItemPageInfo.itemsAbove) && playerPCItemPageInfo.itemsAbove != 0)
+ if (playerPCItemPageInfo.count < (playerPCItemPageInfo.pageItems + playerPCItemPageInfo.itemsAbove) && playerPCItemPageInfo.itemsAbove != 0)
playerPCItemPageInfo.itemsAbove--;
ItemStorage_SetItemAndMailCount(taskId);
}
@@ -810,7 +809,7 @@ static void Mailbox_CancelMoveToBag(u8 taskId)
static void Mailbox_Give(u8 taskId)
{
- if(CalculatePlayerPartyCount() == 0)
+ if (CalculatePlayerPartyCount() == 0)
Mailbox_NoPokemonForMail(taskId);
else
{
@@ -821,7 +820,7 @@ static void Mailbox_Give(u8 taskId)
static void Mailbox_DoGiveMailPokeMenu(u8 taskId)
{
- if(!gPaletteFade.active)
+ if (!gPaletteFade.active)
{
sub_81D1EC0();
overworld_free_bg_tilemaps();
@@ -844,12 +843,12 @@ static void Mailbox_UpdateMailListAfterDeposit(void)
prevCount = playerPCItemPageInfo.count;
playerPCItemPageInfo.count = GetMailboxMailCount();
Mailbox_UpdateMailList();
- if(prevCount != playerPCItemPageInfo.count && (playerPCItemPageInfo.count < (playerPCItemPageInfo.pageItems + playerPCItemPageInfo.itemsAbove))
+ if (prevCount != playerPCItemPageInfo.count && (playerPCItemPageInfo.count < (playerPCItemPageInfo.pageItems + playerPCItemPageInfo.itemsAbove))
&& playerPCItemPageInfo.itemsAbove != 0)
playerPCItemPageInfo.itemsAbove--;
ItemStorage_SetItemAndMailCount(taskId);
sub_81973A4();
- if(sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
+ if (sub_81D1C44(playerPCItemPageInfo.count) == TRUE)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
@@ -890,7 +889,7 @@ static void sub_816BC58(void)
static u8 sub_816BC7C(u8 a)
{
u8 *windowIdLoc = &(gUnknown_0203BCC4->windowIds[a]);
- if(*windowIdLoc == 0xFF)
+ if (*windowIdLoc == 0xFF)
{
*windowIdLoc = AddWindow(&gUnknown_085DFF5C[a]);
SetWindowBorderStyle(*windowIdLoc, FALSE, 0x214, 0xE);
@@ -902,7 +901,7 @@ static u8 sub_816BC7C(u8 a)
static void sub_816BCC4(u8 a)
{
u8 *windowIdLoc = &(gUnknown_0203BCC4->windowIds[a]);
- if(*windowIdLoc != 0xFF)
+ if (*windowIdLoc != 0xFF)
{
sub_8198070(*windowIdLoc, FALSE);
ClearWindowTilemap(*windowIdLoc);
@@ -939,12 +938,12 @@ void CopyItemName_PlayerPC(u8 *string, u16 itemId)
static void ItemStorage_MoveCursor(s32 id, bool8 b, struct ListMenu *thisMenu)
{
- if(b != TRUE)
+ if (b != TRUE)
PlaySE(SE_SELECT);
- if(gUnknown_0203BCC4->unk666 == 0xFF)
+ if (gUnknown_0203BCC4->unk666 == 0xFF)
{
sub_816C0C8();
- if(id != -2)
+ if (id != -2)
sub_816C060(gSaveBlock1Ptr->pcItems[id].itemId);
else
sub_816C060(ITEMPC_GO_BACK_TO_PREV);
@@ -954,11 +953,11 @@ static void ItemStorage_MoveCursor(s32 id, bool8 b, struct ListMenu *thisMenu)
static void fish4_goto_x5_or_x6(u8 windowId, s32 id, u8 yOffset)
{
- if(id != -2)
+ if (id != -2)
{
- if(gUnknown_0203BCC4->unk666 != 0xFF)
+ if (gUnknown_0203BCC4->unk666 != 0xFF)
{
- if(gUnknown_0203BCC4->unk666 == (u8)id)
+ if (gUnknown_0203BCC4->unk666 == (u8)id)
sub_816BFE0(yOffset, 0, 0xFF);
else
sub_816BFE0(yOffset, 0xFF, 0xFF);
@@ -974,7 +973,7 @@ static void sub_816BEF0(s32 id)
const u8* description;
u8 windowId = gUnknown_0203BCC4->windowIds[1];
- if(id != -2)
+ if (id != -2)
description = (u8 *)ItemId_GetDescription(gSaveBlock1Ptr->pcItems[id].itemId);
else
description = ItemStorage_GetItemPcResponse(ITEMPC_GO_BACK_TO_PREV);
@@ -984,13 +983,13 @@ static void sub_816BEF0(s32 id)
static void ItemStorage_StartScrollIndicator(void)
{
- if(playerPCItemPageInfo.scrollIndicatorId == 0xFF)
+ if (playerPCItemPageInfo.scrollIndicatorId == 0xFF)
playerPCItemPageInfo.scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xB0, 0xC, 0x94, playerPCItemPageInfo.count - playerPCItemPageInfo.pageItems, 0x13F8, 0x13F8, &(playerPCItemPageInfo.itemsAbove));
}
static void ItemStorage_RemoveScrollIndicator(void)
{
- if(playerPCItemPageInfo.scrollIndicatorId != 0xFF)
+ if (playerPCItemPageInfo.scrollIndicatorId != 0xFF)
{
RemoveScrollIndicatorArrowPair(playerPCItemPageInfo.scrollIndicatorId);
playerPCItemPageInfo.scrollIndicatorId = 0xFF;
@@ -1005,7 +1004,7 @@ static void sub_816BFB8(u8 a, u8 b, u8 speed)
static void sub_816BFE0(u8 y, u8 b, u8 speed)
{
u8 windowId = gUnknown_0203BCC4->windowIds[0];
- if(b == 0xFF)
+ if (b == 0xFF)
FillWindowPixelRect(windowId, 17, 0, y, GetMenuCursorDimensionByFont(1, 0), GetMenuCursorDimensionByFont(1, 1));
else
AddTextPrinterParameterized4(windowId, 1, 0, y, 0, 0, gUnknown_085DFF8C, speed, gText_SelectorArrow2);
@@ -1016,12 +1015,12 @@ static void sub_816C060(u16 itemId)
u8 spriteId;
u8* spriteIdLoc = &(gUnknown_0203BCC4->spriteId);
- if(*spriteIdLoc == 0xFF)
+ if (*spriteIdLoc == 0xFF)
{
FreeSpriteTilesByTag(0x13F6);
FreeSpritePaletteByTag(0x13F6);
spriteId = AddItemIconSprite(0x13F6, 0x13F6, itemId);
- if(spriteId != 64)
+ if (spriteId != MAX_SPRITES)
{
*spriteIdLoc = spriteId;
gSprites[spriteId].oam.priority = 0;
@@ -1034,7 +1033,7 @@ static void sub_816C060(u16 itemId)
static void sub_816C0C8(void)
{
u8* spriteIdLoc = &(gUnknown_0203BCC4->spriteId);
- if(*spriteIdLoc != 0xFF)
+ if (*spriteIdLoc != 0xFF)
{
FreeSpriteTilesByTag(0x13F6);
FreeSpritePaletteByTag(0x13F6);
@@ -1067,7 +1066,7 @@ static void ItemStorage_ProcessWithdrawTossInput(u8 taskId)
sub_816BC7C(i);
toss = data[3];
text = gText_TossItem;
- if(!toss)
+ if (!toss)
text = gText_WithdrawItem;
x = GetStringCenterAlignXOffset(1, text, 104);
AddTextPrinterParameterized(gUnknown_0203BCC4->windowIds[3], 1, text, x, 1, 0, NULL);
@@ -1135,10 +1134,10 @@ static void ItemStorage_ProcessInput(u8 taskId)
s32 id;
data = gTasks[taskId].data;
- if(gMain.newKeys & SELECT_BUTTON)
+ if (gMain.newKeys & SELECT_BUTTON)
{
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
- if((playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos) != (playerPCItemPageInfo.count - 1))
+ if ((playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos) != (playerPCItemPageInfo.count - 1))
{
PlaySE(SE_SELECT);
ItemStorage_ItemSwapChoosePrompt(taskId);
@@ -1169,10 +1168,10 @@ static void ItemStorage_GoBackToPlayerPCMenu_InitStorage(u8 taskId)
s16 *data;
data = gTasks[taskId].data;
- if(!IsDma3ManagerBusyWithBgCopy())
+ if (!IsDma3ManagerBusyWithBgCopy())
{
NewMenuHelpers_DrawDialogueFrame(0, 0);
- if(!data[3])
+ if (!data[3])
InitItemStorageMenu(taskId, ITEMPC_MENU_WITHDRAW);
else
InitItemStorageMenu(taskId, ITEMPC_MENU_TOSS);
@@ -1213,7 +1212,7 @@ static void sub_816C4FC(u8 taskId)
s32 id;
data = gTasks[taskId].data;
- if(gMain.newKeys & SELECT_BUTTON)
+ if (gMain.newKeys & SELECT_BUTTON)
{
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
ItemStorage_DoItemSwap(taskId, FALSE);
@@ -1228,7 +1227,7 @@ static void sub_816C4FC(u8 taskId)
case -1:
break;
case -2:
- if(gMain.newKeys & A_BUTTON)
+ if (gMain.newKeys & A_BUTTON)
{
ItemStorage_DoItemSwap(taskId, FALSE);
}
@@ -1251,12 +1250,12 @@ static void ItemStorage_DoItemSwap(u8 taskId, bool8 a)
b = (playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos);
PlaySE(SE_SELECT);
DestroyListMenuTask(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
- if(!a)
+ if (!a)
{
c = gUnknown_0203BCC4->unk666;
- if(c != b)
+ if (c != b)
{
- if(c != b - 1)
+ if (c != b - 1)
{
MoveItemSlotInList(gSaveBlock1Ptr->pcItems, c, b);
ItemStorage_RefreshListMenu();
@@ -1296,9 +1295,9 @@ static void ItemStorage_DoItemAction(u8 taskId)
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
ItemStorage_RemoveScrollIndicator();
data[2] = 1;
- if(!data[3])
+ if (!data[3])
{
- if(gSaveBlock1Ptr->pcItems[b].quantity == 1)
+ if (gSaveBlock1Ptr->pcItems[b].quantity == 1)
{
ItemStorage_DoItemWithdraw(taskId);
return;
@@ -1308,7 +1307,7 @@ static void ItemStorage_DoItemAction(u8 taskId)
}
else
{
- if(gSaveBlock1Ptr->pcItems[b].quantity == 1)
+ if (gSaveBlock1Ptr->pcItems[b].quantity == 1)
{
ItemStorage_DoItemToss(taskId);
return;
@@ -1327,20 +1326,20 @@ static void ItemStorage_HandleQuantityRolling(u8 taskId)
data = gTasks[taskId].data;
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
- if(AdjustQuantityAccordingToDPadInput(&(data[2]), gSaveBlock1Ptr->pcItems[b].quantity) == TRUE)
+ if (AdjustQuantityAccordingToDPadInput(&(data[2]), gSaveBlock1Ptr->pcItems[b].quantity) == TRUE)
sub_816C6BC(sub_816BC7C(4), data[2], STR_CONV_MODE_LEADING_ZEROS, 8, 1, 3);
else
{
- if(gMain.newKeys & A_BUTTON)
+ if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
sub_816BCC4(4);
- if(!data[3])
+ if (!data[3])
ItemStorage_DoItemWithdraw(taskId);
else
ItemStorage_DoItemToss(taskId);
}
- else if(gMain.newKeys & B_BUTTON)
+ else if (gMain.newKeys & B_BUTTON)
{
PlaySE(SE_SELECT);
sub_816BCC4(4);
@@ -1357,7 +1356,7 @@ static void ItemStorage_DoItemWithdraw(u8 taskId)
data = gTasks[taskId].data;
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
- if(AddBagItem(gSaveBlock1Ptr->pcItems[b].itemId, data[2]) == TRUE)
+ if (AddBagItem(gSaveBlock1Ptr->pcItems[b].itemId, data[2]) == TRUE)
{
CopyItemName(gSaveBlock1Ptr->pcItems[b].itemId, gStringVar1);
ConvertIntToDecimalStringN(gStringVar2, data[2], STR_CONV_MODE_LEFT_ALIGN, 3);
@@ -1379,7 +1378,7 @@ static void ItemStorage_DoItemToss(u8 taskId)
data = gTasks[taskId].data;
b = (playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove);
- if(!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[b].itemId))
+ if (!ItemId_GetImportance(gSaveBlock1Ptr->pcItems[b].itemId))
{
CopyItemName(gSaveBlock1Ptr->pcItems[b].itemId, gStringVar1);
ConvertIntToDecimalStringN(gStringVar2, data[2], STR_CONV_MODE_LEFT_ALIGN, 3);
@@ -1411,7 +1410,7 @@ static void ItemStorage_HandleRemoveItem(u8 taskId)
s16 *data;
data = gTasks[taskId].data;
- if(gMain.newKeys & (A_BUTTON | B_BUTTON))
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
RemovePCItem((playerPCItemPageInfo.cursorPos + playerPCItemPageInfo.itemsAbove), data[2]);
DestroyListMenuTask(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
@@ -1428,7 +1427,7 @@ static void ItemStorage_WaitPressHandleResumeProcessInput(u8 taskId)
s16 *data;
data = gTasks[taskId].data;
- if(gMain.newKeys & (A_BUTTON | B_BUTTON))
+ if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
ItemStorage_PrintItemPcResponse(ItemStorage_GetItemPcResponse(gSaveBlock1Ptr->pcItems[(playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos)].itemId));
ItemStorage_StartScrollIndicatorAndProcessInput(taskId);
diff --git a/src/pokeball.c b/src/pokeball.c
index ad839e6af..82d2f2cea 100644
--- a/src/pokeball.c
+++ b/src/pokeball.c
@@ -426,7 +426,7 @@ static void SpriteCB_TestBallThrow(struct Sprite *sprite)
sprite->pos2.y = 0;
sprite->data[5] = 0;
ballId = ItemIdToBallId(GetBattlerPokeballItemId(opponentBattler));
- LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
sprite->data[0] = LaunchBallFadeMonTask(FALSE, opponentBattler, 14, ballId);
sprite->sBattler = opponentBattler;
sprite->data[7] = noOfShakes;
@@ -737,7 +737,7 @@ static void SpriteCB_ReleaseMonFromBall(struct Sprite *sprite)
StartSpriteAnim(sprite, 1);
ballId = ItemIdToBallId(GetBattlerPokeballItemId(battlerId));
- LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
+ AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 0x1C, ballId);
sprite->data[0] = LaunchBallFadeMonTask(1, sprite->sBattler, 14, ballId);
sprite->callback = HandleBallAnimEnd;
@@ -985,9 +985,9 @@ static void SpriteCB_OpponentMonSendOut(struct Sprite *sprite)
#undef sBattler
-static u8 LaunchBallStarsTaskForPokeball(u8 x, u8 y, u8 kindOfStars, u8 d)
+static u8 AnimateBallOpenParticlesForPokeball(u8 x, u8 y, u8 kindOfStars, u8 d)
{
- return LaunchBallStarsTask(x, y, kindOfStars, d, BALL_POKE);
+ return AnimateBallOpenParticles(x, y, kindOfStars, d, BALL_POKE);
}
static u8 LaunchBallFadeMonTaskForPokeball(bool8 unFadeLater, u8 battlerId, u32 arg2)
@@ -1036,7 +1036,7 @@ static void sub_8076524(struct Sprite *sprite)
r5 = 0;
StartSpriteAnim(sprite, 1);
- LaunchBallStarsTaskForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r5);
+ AnimateBallOpenParticlesForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r5);
sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, battlerId, r4);
sprite->callback = sub_80765E0;
gSprites[r7].invisible = FALSE;
@@ -1129,7 +1129,7 @@ static void sub_80767D4(struct Sprite *sprite)
r6 = 0;
StartSpriteAnim(sprite, 1);
- LaunchBallStarsTaskForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r6);
+ AnimateBallOpenParticlesForPokeball(sprite->pos1.x, sprite->pos1.y - 5, sprite->oam.priority, r6);
sprite->data[1] = LaunchBallFadeMonTaskForPokeball(1, r8, r5);
sprite->callback = sub_807687C;
StartSpriteAffineAnim(&gSprites[r7], 2);
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 01343c6eb..1418588b8 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -13,7 +13,7 @@
#include "lilycove_lady.h"
#include "list_menu.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "overworld.h"
diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c
index 0a8f1b8c2..2271d7adf 100644
--- a/src/pokeblock_feed.c
+++ b/src/pokeblock_feed.c
@@ -7,7 +7,7 @@
#include "gpu_regs.h"
#include "graphics.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "m4a.h"
@@ -88,31 +88,31 @@ EWRAM_DATA static struct CompressedSpritePalette sPokeblockSpritePal = {0};
// const rom data
static const u8 sNatureToMonPokeblockAnim[][2] =
{
- { 0, 0 }, // HARDY
- { 3, 0 }, // LONELY
- { 4, 1 }, // BRAVE
- { 5, 0 }, // ADAMANT
- { 10, 0 }, // NAUGHTY
- { 13, 0 }, // BOLD
- { 15, 0 }, // DOCILE
- { 16, 2 }, // RELAXED
- { 18, 0 }, // IMPISH
- { 19, 0 }, // LAX
- { 20, 0 }, // TIMID
- { 25, 0 }, // HASTY
- { 27, 3 }, // SERIOUS
- { 28, 0 }, // JOLLY
- { 29, 0 }, // NAIVE
- { 33, 4 }, // MODEST
- { 36, 0 }, // MILD
- { 37, 0 }, // QUIET
- { 39, 0 }, // BASHFUL
- { 42, 0 }, // RASH
- { 45, 0 }, // CALM
- { 46, 5 }, // GENTLE
- { 47, 6 }, // SASSY
- { 48, 0 }, // CAREFUL
- { 53, 0 }, // QUIRKY
+ [NATURE_HARDY] = { 0, 0 },
+ [NATURE_LONELY] = { 3, 0 },
+ [NATURE_BRAVE] = { 4, 1 },
+ [NATURE_ADAMANT] = { 5, 0 },
+ [NATURE_NAUGHTY] = { 10, 0 },
+ [NATURE_BOLD] = { 13, 0 },
+ [NATURE_DOCILE] = { 15, 0 },
+ [NATURE_RELAXED] = { 16, 2 },
+ [NATURE_IMPISH] = { 18, 0 },
+ [NATURE_LAX] = { 19, 0 },
+ [NATURE_TIMID] = { 20, 0 },
+ [NATURE_HASTY] = { 25, 0 },
+ [NATURE_SERIOUS] = { 27, 3 },
+ [NATURE_JOLLY] = { 28, 0 },
+ [NATURE_NAIVE] = { 29, 0 },
+ [NATURE_MODEST] = { 33, 4 },
+ [NATURE_MILD] = { 36, 0 },
+ [NATURE_QUIET] = { 37, 0 },
+ [NATURE_BASHFUL] = { 39, 0 },
+ [NATURE_RASH] = { 42, 0 },
+ [NATURE_CALM] = { 45, 0 },
+ [NATURE_GENTLE] = { 46, 5 },
+ [NATURE_SASSY] = { 47, 6 },
+ [NATURE_CAREFUL] = { 48, 0 },
+ [NATURE_QUIRKY] = { 53, 0 },
};
static const s16 sMonPokeblockAnims[][10] =
diff --git a/src/pokedex.c b/src/pokedex.c
index 66a68f0bd..ef8905bb6 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -8,7 +8,7 @@
#include "graphics.h"
#include "international_string_util.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "m4a.h"
#include "overworld.h"
@@ -30,40 +30,27 @@
#include "constants/songs.h"
#include "constants/species.h"
-extern u8 gUnknown_030061EC;
+extern u8 gDexCryScreenState;
// EWRAM
-static EWRAM_DATA struct PokedexView *gUnknown_02039B4C = NULL;
+static EWRAM_DATA struct PokedexView *sPokedexView = NULL;
static EWRAM_DATA u16 gUnknown_02039B50 = 0;
static EWRAM_DATA u8 gUnknown_02039B52 = 0;
-static EWRAM_DATA struct PokedexListItem *gUnknown_02039B54 = NULL;
+static EWRAM_DATA struct PokedexListItem *sPokedexListItem = NULL;
// IWRAM common
u8 gUnknown_030060B0;
void (*gUnknown_030060B4)(void);
-struct PokedexEntry
+struct PokedexOption
{
- /*0x00*/ u8 categoryName[12];
- /*0x0C*/ u16 height; //in decimeters
- /*0x0E*/ u16 weight; //in hectograms
- /*0x10*/ const u8 *description;
- /*0x14*/ u16 unused;
- /*0x16*/ u16 pokemonScale;
- /*0x18*/ u16 pokemonOffset;
- /*0x1A*/ u16 trainerScale;
- /*0x1C*/ u16 trainerOffset;
-}; /*size = 0x20*/
-
-struct UnknownStruct2
-{
- const u8 *text1;
- const u8 *text2;
+ const u8 *description;
+ const u8 *title;
};
struct UnknownStruct1
{
- const struct UnknownStruct2 *unk0;
+ const struct PokedexOption *pokedexList;
u8 unk4;
u8 unk5;
u16 unk6;
@@ -88,9 +75,6 @@ struct UnknownStruct4
u8 unk9;
};
-#define HOENN_DEX_COUNT 202
-#define NATIONAL_DEX_COUNT 386
-
extern struct MusicPlayerInfo gMPlayInfo_BGM;
struct PokedexListItem
@@ -102,7 +86,7 @@ struct PokedexListItem
struct PokedexView
{
- struct PokedexListItem unk0[NATIONAL_DEX_COUNT];
+ struct PokedexListItem pokedexList[NATIONAL_DEX_COUNT];
u16 unk608;
u8 unk60A_1:1;
u8 unk60A_2:1;
@@ -114,14 +98,14 @@ struct PokedexView
u16 unk614;
u16 dexOrder;
u16 unk618;
- u16 unk61A;
- u16 unk61C;
+ u16 seenCount;
+ u16 ownCount;
u16 unk61E[4];
u16 selectedMonSpriteId;
u16 unk628;
u16 unk62A;
u8 unk62C;
- u8 unk62D;
+ u8 initialVOffset;
u8 unk62E;
u8 unk62F;
s16 unk630;
@@ -145,12 +129,6 @@ struct PokedexView
enum
{
- DEX_MODE_HOENN,
- DEX_MODE_NATIONAL
-};
-
-enum
-{
AREA_SCREEN,
CRY_SCREEN,
SIZE_SCREEN,
@@ -170,30 +148,30 @@ void sub_80BBDE8(u8);
void sub_80BBE70(u8);
void sub_80BBEB8(u8);
void sub_80BC0A8(u8);
-void sub_80BC0F8(u8);
+static void HandleButtonPress_StartMenu(u8);
void sub_80BC2D4(u8);
void sub_80BC360(u8);
void sub_80BC3DC(u8);
void sub_80BC47C(u8);
bool8 sub_80BC514(u8);
-void sub_80BC844(u8);
+static void LoadPokedexBgPalette(u8);
void sub_80BC890(void);
void sub_80BC8D4(u8, u8);
-void sub_80BD154(u16, u8, u8, u16);
-void sub_80BD1F4(u16, u8, u8, u16);
-u8 sub_80BD23C(u16, u8, u8);
+static void CreateMonDexNum(u16, u8, u8, u16);
+static void CreateCaughtBall(u16, u8, u8, u16);
+static u8 CreateMonName(u16, u8, u8);
void sub_80BD28C(u8, u8, u16);
-void sub_80BD2B4(u16, u16);
+static void CreateInitialPokemonSprites(u16, u16);
bool8 sub_80BD404(u8, u8, u8);
u16 sub_80BD69C(u16, u16);
void sub_80BD8D0(void);
bool8 sub_80BD930(void);
u8 sub_80BDA40(void);
-u16 sub_80BDA8C(u16);
+u16 GetPokemonSpriteToDisplay(u16);
u32 sub_80BDACC(u16, s16, s16);
-void sub_80BDB7C(u8);
+static void CreateInterfaceSprites(u8);
void sub_80BE470(struct Sprite *sprite);
-void sub_80BE604(struct Sprite *sprite);
+static void SpriteCB_Scrollbar(struct Sprite *sprite);
void sub_80BE658(struct Sprite *sprite);
void sub_80BE758(struct Sprite *sprite);
void sub_80BE780(struct Sprite *sprite);
@@ -262,7 +240,7 @@ void sub_80C2668(u32, const u8*);
void sub_80C267C(void);
// const rom data
-#include "data/pokedex_orders.h"
+#include "data/pokemon/pokedex_orders.h"
static const struct OamData sOamData_855CFE4 =
{
@@ -271,7 +249,7 @@ static const struct OamData sOamData_855CFE4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = ST_OAM_SQUARE,
.x = 0,
.matrixNum = 0,
.size = 0,
@@ -288,7 +266,7 @@ static const struct OamData sOamData_855CFEC =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = ST_OAM_H_RECTANGLE,
.x = 0,
.matrixNum = 0,
.size = 0,
@@ -305,7 +283,7 @@ static const struct OamData sOamData_855CFF4 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = ST_OAM_H_RECTANGLE,
.x = 0,
.matrixNum = 0,
.size = 2,
@@ -322,7 +300,7 @@ static const struct OamData sOamData_855CFFC =
.objMode = 2,
.mosaic = 0,
.bpp = 0,
- .shape = 0,
+ .shape = ST_OAM_SQUARE,
.x = 0,
.matrixNum = 0,
.size = 2,
@@ -339,7 +317,7 @@ static const struct OamData sOamData_855D004 =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 1,
+ .shape = ST_OAM_H_RECTANGLE,
.x = 0,
.matrixNum = 0,
.size = 3,
@@ -356,7 +334,7 @@ static const struct OamData sOamData_855D00C =
.objMode = 0,
.mosaic = 0,
.bpp = 0,
- .shape = 2,
+ .shape = ST_OAM_V_RECTANGLE,
.x = 0,
.matrixNum = 0,
.size = 0,
@@ -626,7 +604,7 @@ static const union AnimCmd *const sSpriteAnimTable_855D190[] =
sSpriteAnim_855D10C
};
-static const struct SpriteTemplate gUnknown_0855D194 =
+static const struct SpriteTemplate sScrollBarSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -634,10 +612,10 @@ static const struct SpriteTemplate gUnknown_0855D194 =
.anims = sSpriteAnimTable_855D114,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
- .callback = sub_80BE604,
+ .callback = SpriteCB_Scrollbar,
};
-static const struct SpriteTemplate gUnknown_0855D1AC =
+static const struct SpriteTemplate sArrowSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -648,7 +626,7 @@ static const struct SpriteTemplate gUnknown_0855D1AC =
.callback = sub_80BE658,
};
-static const struct SpriteTemplate gUnknown_0855D1C4 =
+static const struct SpriteTemplate sInterfaceTextSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -659,7 +637,7 @@ static const struct SpriteTemplate gUnknown_0855D1C4 =
.callback = sub_80BE758,
};
-static const struct SpriteTemplate gUnknown_0855D1DC =
+static const struct SpriteTemplate sRotatingPokeballSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -670,7 +648,7 @@ static const struct SpriteTemplate gUnknown_0855D1DC =
.callback = sub_80BE780,
};
-static const struct SpriteTemplate gUnknown_0855D1F4 =
+static const struct SpriteTemplate sSeenOwnTextSpriteTemplate =
{
.tileTag = 4096,
.paletteTag = 4096,
@@ -725,13 +703,13 @@ static const struct SpriteTemplate gUnknown_0855D254 =
.callback = sub_80BE834,
};
-static const struct CompressedSpriteSheet gSpriteSheets_0855D26C[] =
+static const struct CompressedSpriteSheet sInterfaceSpriteSheet[] =
{
{gPokedexMenu2_Gfx, 0x2000, 4096},
{0}
};
-static const struct SpritePalette gSpritePalettes_0855D26C[] =
+static const struct SpritePalette sInterfaceSpritePalette[] =
{
{gPokedexText_Pal, 4096},
{0}
@@ -780,7 +758,7 @@ static const struct BgTemplate gBgTemplates_0855D298[] =
}
};
-static const struct WindowTemplate sWindowTemplates_0855D2A8[] =
+static const struct WindowTemplate sPokemonList_WindowTemplate[] =
{
{
.bg = 2,
@@ -794,7 +772,7 @@ static const struct WindowTemplate sWindowTemplates_0855D2A8[] =
DUMMY_WIN_TEMPLATE
};
-static const u8 gUnknown_0855D2B8[] = _("{NO}000");
+static const u8 sText_No000[] = _("{NO}000");
static const u8 gUnknown_0855D2BE[] = INCBIN_U8("graphics/pokedex/caught_ball.4bpp");
static const u8 sText_TenDashes[] = _("----------");
@@ -845,7 +823,7 @@ static const struct BgTemplate gUnknown_0856E630[] =
}
};
-static const struct WindowTemplate gUnknown_0856E640[] =
+static const struct WindowTemplate gUnknown_0856E640[] =
{
{
.bg = 2,
@@ -908,7 +886,7 @@ static const struct BgTemplate gUnknown_0856E668[] =
},
};
-static const struct WindowTemplate gUnknown_0856E670[] =
+static const struct WindowTemplate gUnknown_0856E670[] =
{
{
.bg = 2,
@@ -1082,90 +1060,109 @@ static const u8 gUnknown_0856EDF0[][4] =
{0xFF, 0xFF, 4, 0xFF},
};
-static const struct UnknownStruct2 gUnknown_0856EE0C[] =
+static const struct PokedexOption gDexModeOptions[] =
{
- {gUnknown_085E89A4, gUnknown_085E88DF},
- {gUnknown_085E89BB, gUnknown_085E88E9},
+ {gText_DexHoennDescription, gText_DexHoennTitle},
+ {gText_DexNatDescription, gText_DexNatTitle},
{NULL, NULL},
};
-static const struct UnknownStruct2 gUnknown_0856EE24[] =
+static const struct PokedexOption gDexSortOptions[] =
{
- {gUnknown_085E89D4, gUnknown_085E88F6},
- {gUnknown_085E8A02, gUnknown_085E8905},
- {gUnknown_085E8A37, gUnknown_085E8911},
- {gUnknown_085E8A73, gUnknown_085E891F},
- {gUnknown_085E8AAF, gUnknown_085E892D},
- {gUnknown_085E8AEA, gUnknown_085E893A},
+ {gText_DexSortNumericalDescription, gText_DexSortNumericalTitle},
+ {gText_DexSortAtoZDescription, gText_DexSortAtoZTitle},
+ {gText_DexSortHeaviestDescription, gText_DexSortHeaviestTitle},
+ {gText_DexSortLightestDescription, gText_DexSortLightestTitle},
+ {gText_DexSortTallestDescription, gText_DexSortTallestTitle},
+ {gText_DexSortSmallestDescription, gText_DexSortSmallestTitle},
{NULL, NULL},
};
-static const struct UnknownStruct2 gUnknown_0856EE5C[] =
-{
- {gUnknown_085E8B25, gUnknown_085E8B26},
- {gUnknown_085E8B25, gUnknown_085E8948},
- {gUnknown_085E8B25, gUnknown_085E894C},
- {gUnknown_085E8B25, gUnknown_085E8950},
- {gUnknown_085E8B25, gUnknown_085E8954},
- {gUnknown_085E8B25, gUnknown_085E8958},
- {gUnknown_085E8B25, gUnknown_085E895C},
- {gUnknown_085E8B25, gUnknown_085E8960},
- {gUnknown_085E8B25, gUnknown_085E8964},
- {gUnknown_085E8B25, gUnknown_085E8968},
+static const struct PokedexOption gDexSearchAlphaOptions[] =
+{
+ {gText_DexEmptyString, gText_DexSearchDontSpecify},
+ {gText_DexEmptyString, gText_DexSearchAlphaABC},
+ {gText_DexEmptyString, gText_DexSearchAlphaDEF},
+ {gText_DexEmptyString, gText_DexSearchAlphaGHI},
+ {gText_DexEmptyString, gText_DexSearchAlphaJKL},
+ {gText_DexEmptyString, gText_DexSearchAlphaMNO},
+ {gText_DexEmptyString, gText_DexSearchAlphaPQR},
+ {gText_DexEmptyString, gText_DexSearchAlphaSTU},
+ {gText_DexEmptyString, gText_DexSearchAlphaVWX},
+ {gText_DexEmptyString, gText_DexSearchAlphaYZ},
{NULL, NULL},
};
-static const struct UnknownStruct2 gUnknown_0856EEB4[] =
-{
- {gUnknown_085E8B25, gUnknown_085E8B26},
- {gUnknown_085E8B25, gUnknown_085E896B},
- {gUnknown_085E8B25, gUnknown_085E896F},
- {gUnknown_085E8B25, gUnknown_085E8974},
- {gUnknown_085E8B25, gUnknown_085E897B},
- {gUnknown_085E8B25, gUnknown_085E8981},
- {gUnknown_085E8B25, gUnknown_085E8987},
- {gUnknown_085E8B25, gUnknown_085E898D},
- {gUnknown_085E8B25, gUnknown_085E8994},
- {gUnknown_085E8B25, gUnknown_085E8999},
- {gUnknown_085E8B25, gUnknown_085E899F},
+static const struct PokedexOption gDexSearchColorOptions[] =
+{
+ {gText_DexEmptyString, gText_DexSearchDontSpecify},
+ {gText_DexEmptyString, gText_DexSearchColorRed},
+ {gText_DexEmptyString, gText_DexSearchColorBlue},
+ {gText_DexEmptyString, gText_DexSearchColorYellow},
+ {gText_DexEmptyString, gText_DexSearchColorGreen},
+ {gText_DexEmptyString, gText_DexSearchColorBlack},
+ {gText_DexEmptyString, gText_DexSearchColorBrown},
+ {gText_DexEmptyString, gText_DexSearchColorPurple},
+ {gText_DexEmptyString, gText_DexSearchColorGray},
+ {gText_DexEmptyString, gText_DexSearchColorWhite},
+ {gText_DexEmptyString, gText_DexSearchColorPink},
{NULL, NULL},
};
-static const struct UnknownStruct2 gUnknown_0856EF14[] =
-{
- {gUnknown_085E8B25, gUnknown_085E8B35},
- {gUnknown_085E8B25, gTypeNames[TYPE_NORMAL]},
- {gUnknown_085E8B25, gTypeNames[TYPE_FIGHTING]},
- {gUnknown_085E8B25, gTypeNames[TYPE_FLYING]},
- {gUnknown_085E8B25, gTypeNames[TYPE_POISON]},
- {gUnknown_085E8B25, gTypeNames[TYPE_GROUND]},
- {gUnknown_085E8B25, gTypeNames[TYPE_ROCK]},
- {gUnknown_085E8B25, gTypeNames[TYPE_BUG]},
- {gUnknown_085E8B25, gTypeNames[TYPE_GHOST]},
- {gUnknown_085E8B25, gTypeNames[TYPE_STEEL]},
- {gUnknown_085E8B25, gTypeNames[TYPE_FIRE]},
- {gUnknown_085E8B25, gTypeNames[TYPE_WATER]},
- {gUnknown_085E8B25, gTypeNames[TYPE_GRASS]},
- {gUnknown_085E8B25, gTypeNames[TYPE_ELECTRIC]},
- {gUnknown_085E8B25, gTypeNames[TYPE_PSYCHIC]},
- {gUnknown_085E8B25, gTypeNames[TYPE_ICE]},
- {gUnknown_085E8B25, gTypeNames[TYPE_DRAGON]},
- {gUnknown_085E8B25, gTypeNames[TYPE_DARK]},
+static const struct PokedexOption gDexSearchTypeOptions[] =
+{
+ {gText_DexEmptyString, gText_DexSearchTypeNone},
+ {gText_DexEmptyString, gTypeNames[TYPE_NORMAL]},
+ {gText_DexEmptyString, gTypeNames[TYPE_FIGHTING]},
+ {gText_DexEmptyString, gTypeNames[TYPE_FLYING]},
+ {gText_DexEmptyString, gTypeNames[TYPE_POISON]},
+ {gText_DexEmptyString, gTypeNames[TYPE_GROUND]},
+ {gText_DexEmptyString, gTypeNames[TYPE_ROCK]},
+ {gText_DexEmptyString, gTypeNames[TYPE_BUG]},
+ {gText_DexEmptyString, gTypeNames[TYPE_GHOST]},
+ {gText_DexEmptyString, gTypeNames[TYPE_STEEL]},
+ {gText_DexEmptyString, gTypeNames[TYPE_FIRE]},
+ {gText_DexEmptyString, gTypeNames[TYPE_WATER]},
+ {gText_DexEmptyString, gTypeNames[TYPE_GRASS]},
+ {gText_DexEmptyString, gTypeNames[TYPE_ELECTRIC]},
+ {gText_DexEmptyString, gTypeNames[TYPE_PSYCHIC]},
+ {gText_DexEmptyString, gTypeNames[TYPE_ICE]},
+ {gText_DexEmptyString, gTypeNames[TYPE_DRAGON]},
+ {gText_DexEmptyString, gTypeNames[TYPE_DARK]},
{NULL, NULL},
};
static const u8 gUnknown_0856EFAC[] = {0x00, 0x01};
static const u8 gUnknown_0856EFAE[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
-static const u8 gUnknown_0856EFB4[] = {0xFF, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17};
+static const u8 gDexSearchTypeIds[] = {
+ TYPE_NONE,
+ TYPE_NORMAL,
+ TYPE_FIGHTING,
+ TYPE_FLYING,
+ TYPE_POISON,
+ TYPE_GROUND,
+ TYPE_ROCK,
+ TYPE_BUG,
+ TYPE_GHOST,
+ TYPE_STEEL,
+ TYPE_FIRE,
+ TYPE_WATER,
+ TYPE_GRASS,
+ TYPE_ELECTRIC,
+ TYPE_PSYCHIC,
+ TYPE_ICE,
+ TYPE_DRAGON,
+ TYPE_DARK,
+};
static const struct UnknownStruct1 gUnknown_0856EFC8[] =
{
- {gUnknown_0856EE5C, 6, 7, 10},
- {gUnknown_0856EEB4, 8, 9, 11},
- {gUnknown_0856EF14, 10,11, 18},
- {gUnknown_0856EF14, 12, 13, 18},
- {gUnknown_0856EE24, 4, 5, 6},
- {gUnknown_0856EE0C, 2, 3, 2},
+ {gDexSearchAlphaOptions, 6, 7, 10},
+ {gDexSearchColorOptions, 8, 9, 11},
+ {gDexSearchTypeOptions, 10, 11, NUMBER_OF_MON_TYPES},
+ {gDexSearchTypeOptions, 12, 13, NUMBER_OF_MON_TYPES},
+ {gDexSortOptions, 4, 5, 6},
+ {gDexModeOptions, 2, 3, 2},
};
static const struct BgTemplate gUnknown_0856EFF8[] =
@@ -1208,7 +1205,7 @@ static const struct BgTemplate gUnknown_0856EFF8[] =
}
};
-static const struct WindowTemplate gUnknown_0856F008[] =
+static const struct WindowTemplate gUnknown_0856F008[] =
{
{
.bg = 2,
@@ -1231,7 +1228,7 @@ void ResetPokedex(void)
gUnknown_02039B50 = 0;
gUnknown_02039B52 = 64;
gUnknown_030060B0 = 0;
- gSaveBlock2Ptr->pokedex.unknown1 = 0;
+ gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN;
gSaveBlock2Ptr->pokedex.order = 0;
gSaveBlock2Ptr->pokedex.nationalMagic = 0;
gSaveBlock2Ptr->pokedex.unknown2 = 0;
@@ -1261,15 +1258,15 @@ void sub_80BB370(void)
TransferPlttBuffer();
}
-void sub_80BB384(struct PokedexView *pokedexView)
+static void ResetPokedexView(struct PokedexView *pokedexView)
{
u16 i;
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
- pokedexView->unk0[i].dexNum |= 0xFFFF;
- pokedexView->unk0[i].seen = 0;
- pokedexView->unk0[i].owned = 0;
+ pokedexView->pokedexList[i].dexNum |= 0xFFFF;
+ pokedexView->pokedexList[i].seen = 0;
+ pokedexView->pokedexList[i].owned = 0;
}
pokedexView->unk608 = 0;
pokedexView->unk60A_1 = 0;
@@ -1281,14 +1278,14 @@ void sub_80BB384(struct PokedexView *pokedexView)
pokedexView->unk614 = 0;
pokedexView->dexOrder = 0;
pokedexView->unk618 = 0;
- pokedexView->unk61A = 0;
- pokedexView->unk61C = 0;
- for (i = 0; i <= 3; i++)
+ pokedexView->seenCount = 0;
+ pokedexView->ownCount = 0;
+ for (i = 0; i < 4; i++)
pokedexView->unk61E[i] |= 0xFFFF;
pokedexView->unk628 = 0;
pokedexView->unk62A = 0;
pokedexView->unk62C = 0;
- pokedexView->unk62D = 0;
+ pokedexView->initialVOffset = 0;
pokedexView->unk62E = 0;
pokedexView->unk62F = 0;
pokedexView->unk630 = 0;
@@ -1312,7 +1309,7 @@ void sub_80BB384(struct PokedexView *pokedexView)
pokedexView->unk65C[i] = 0;
}
-void sub_80BB534(void)
+void CB2_Pokedex(void)
{
u8 *addr;
u32 size;
@@ -1339,34 +1336,34 @@ void sub_80BB534(void)
gMain.state++;
break;
case 2:
- gUnknown_02039B4C = AllocZeroed(sizeof(struct PokedexView));
- sub_80BB384(gUnknown_02039B4C);
+ sPokedexView = AllocZeroed(sizeof(struct PokedexView));
+ ResetPokedexView(sPokedexView);
CreateTask(sub_80BB78C, 0);
- gUnknown_02039B4C->dexMode = gSaveBlock2Ptr->pokedex.unknown1;
+ sPokedexView->dexMode = gSaveBlock2Ptr->pokedex.mode;
if (!IsNationalPokedexEnabled())
- gUnknown_02039B4C->dexMode = DEX_MODE_HOENN;
- gUnknown_02039B4C->dexOrder = gSaveBlock2Ptr->pokedex.order;
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B50;
- gUnknown_02039B4C->unk62C = gUnknown_02039B52;
- gUnknown_02039B4C->selectedScreen = 0;
+ sPokedexView->dexMode = DEX_MODE_HOENN;
+ sPokedexView->dexOrder = gSaveBlock2Ptr->pokedex.order;
+ sPokedexView->selectedPokemon = gUnknown_02039B50;
+ sPokedexView->unk62C = gUnknown_02039B52;
+ sPokedexView->selectedScreen = 0;
if (!IsNationalPokedexEnabled())
{
- gUnknown_02039B4C->unk61A = GetHoennPokedexCount(0);
- gUnknown_02039B4C->unk61C = GetHoennPokedexCount(1);
+ sPokedexView->seenCount = GetHoennPokedexCount(0);
+ sPokedexView->ownCount = GetHoennPokedexCount(1);
}
else
{
- gUnknown_02039B4C->unk61A = GetNationalPokedexCount(0);
- gUnknown_02039B4C->unk61C = GetNationalPokedexCount(1);
+ sPokedexView->seenCount = GetNationalPokedexCount(0);
+ sPokedexView->ownCount = GetNationalPokedexCount(1);
}
- gUnknown_02039B4C->unk62D = 8;
+ sPokedexView->initialVOffset = 8;
gMain.state++;
break;
case 3:
EnableInterrupts(1);
SetVBlankCallback(sub_80BB370);
SetMainCallback2(sub_80BB774);
- sub_80BC8D4(gUnknown_02039B4C->dexMode, gUnknown_02039B4C->dexOrder);
+ sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80);
break;
}
@@ -1382,26 +1379,26 @@ void sub_80BB774(void)
void sub_80BB78C(u8 taskId)
{
- gUnknown_02039B4C->unk64C_1 = FALSE;
+ sPokedexView->unk64C_1 = FALSE;
if (sub_80BC514(0))
gTasks[taskId].func = sub_80BB7D4;
}
void sub_80BB7D4(u8 taskId)
{
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sPokedexView->menuY);
- if (gUnknown_02039B4C->menuY)
+ if (sPokedexView->menuY)
{
- gUnknown_02039B4C->menuY -= 8;
+ sPokedexView->menuY -= 8;
}
else
{
- if ((gMain.newKeys & A_BUTTON) && gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon].seen)
+ if ((gMain.newKeys & A_BUTTON) && sPokedexView->pokedexList[sPokedexView->selectedPokemon].seen)
{
sub_80BD8D0();
- BeginNormalPaletteFade(~(1 << (gSprites[gUnknown_02039B4C->selectedMonSpriteId].oam.paletteNum + 16)), 0, 0, 0x10, RGB_BLACK);
- gSprites[gUnknown_02039B4C->selectedMonSpriteId].callback = sub_80BE470;
+ BeginNormalPaletteFade(~(1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16)), 0, 0, 0x10, RGB_BLACK);
+ gSprites[sPokedexView->selectedMonSpriteId].callback = sub_80BE470;
gTasks[taskId].func = sub_80BBBF4;
PlaySE(SE_PIN);
sub_80BC890();
@@ -1409,9 +1406,9 @@ void sub_80BB7D4(u8 taskId)
else if (gMain.newKeys & START_BUTTON)
{
//Open menu
- gUnknown_02039B4C->menuY = 0;
- gUnknown_02039B4C->menuIsOpen = 1;
- gUnknown_02039B4C->menuCursorPos = 0;
+ sPokedexView->menuY = 0;
+ sPokedexView->menuIsOpen = 1;
+ sPokedexView->menuCursorPos = 0;
gTasks[taskId].func = sub_80BBA78;
PlaySE(SE_SELECT);
}
@@ -1420,11 +1417,11 @@ void sub_80BB7D4(u8 taskId)
PlaySE(SE_SELECT);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].data[0] = sub_80C1258();
- gUnknown_02039B4C->unk64E = 0;
- gUnknown_02039B4C->unk62A = gUnknown_02039B4C->unk62C;
- gUnknown_02039B4C->unk610 = gUnknown_02039B4C->selectedPokemon;
- gUnknown_02039B4C->unk614 = gUnknown_02039B4C->dexMode;
- gUnknown_02039B4C->unk618 = gUnknown_02039B4C->dexOrder;
+ sPokedexView->unk64E = 0;
+ sPokedexView->unk62A = sPokedexView->unk62C;
+ sPokedexView->unk610 = sPokedexView->selectedPokemon;
+ sPokedexView->unk614 = sPokedexView->dexMode;
+ sPokedexView->unk618 = sPokedexView->dexOrder;
gTasks[taskId].func = sub_80BBD1C;
PlaySE(SE_PC_LOGIN);
sub_80BC890();
@@ -1438,8 +1435,8 @@ void sub_80BB7D4(u8 taskId)
else
{
//Handle D-pad
- gUnknown_02039B4C->selectedPokemon = sub_80BD69C(gUnknown_02039B4C->selectedPokemon, 0xE);
- if (gUnknown_02039B4C->unk62E)
+ sPokedexView->selectedPokemon = sub_80BD69C(sPokedexView->selectedPokemon, 0xE);
+ if (sPokedexView->unk62E)
gTasks[taskId].func = sub_80BBA28;
}
}
@@ -1447,41 +1444,41 @@ void sub_80BB7D4(u8 taskId)
void sub_80BBA28(u8 taskId)
{
- if (sub_80BD404(gUnknown_02039B4C->unk62F, gUnknown_02039B4C->unk634, gUnknown_02039B4C->unk636))
+ if (sub_80BD404(sPokedexView->unk62F, sPokedexView->unk634, sPokedexView->unk636))
gTasks[taskId].func = sub_80BB7D4;
}
void sub_80BBA78(u8 taskId)
{
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sPokedexView->menuY);
//If menu is not open, slide it up, on screen
- if (gUnknown_02039B4C->menuY != 80)
+ if (sPokedexView->menuY != 80)
{
- gUnknown_02039B4C->menuY += 8;
+ sPokedexView->menuY += 8;
}
else
{
if (gMain.newKeys & A_BUTTON)
{
- switch (gUnknown_02039B4C->menuCursorPos)
+ switch (sPokedexView->menuCursorPos)
{
case 0: //BACK TO LIST
default:
gMain.newKeys |= START_BUTTON; //Exit menu
break;
case 1: //LIST TOP
- gUnknown_02039B4C->selectedPokemon = 0;
- gUnknown_02039B4C->unk62C = 0x40;
+ sPokedexView->selectedPokemon = 0;
+ sPokedexView->unk62C = 0x40;
sub_80BDA40();
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON; //Exit menu
break;
case 2: //LIST BOTTOM
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->pokemonListCount - 1;
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->pokemonListCount * 16 + 0x30;
+ sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1;
+ sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30;
sub_80BDA40();
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON; //Exit menu
break;
case 3: //CLOSE POKEDEX
@@ -1495,18 +1492,18 @@ void sub_80BBA78(u8 taskId)
//Exit menu when Start or B is pressed
if (gMain.newKeys & (START_BUTTON | B_BUTTON))
{
- gUnknown_02039B4C->menuIsOpen = 0;
+ sPokedexView->menuIsOpen = 0;
gTasks[taskId].func = sub_80BB7D4;
PlaySE(SE_SELECT);
}
- else if ((gMain.newAndRepeatedKeys & DPAD_UP) && gUnknown_02039B4C->menuCursorPos != 0)
+ else if ((gMain.newAndRepeatedKeys & DPAD_UP) && sPokedexView->menuCursorPos != 0)
{
- gUnknown_02039B4C->menuCursorPos--;
+ sPokedexView->menuCursorPos--;
PlaySE(SE_SELECT);
}
- else if ((gMain.newAndRepeatedKeys & DPAD_DOWN) && gUnknown_02039B4C->menuCursorPos <= 2)
+ else if ((gMain.newAndRepeatedKeys & DPAD_DOWN) && sPokedexView->menuCursorPos <= 2)
{
- gUnknown_02039B4C->menuCursorPos++;
+ sPokedexView->menuCursorPos++;
PlaySE(SE_SELECT);
}
}
@@ -1514,10 +1511,10 @@ void sub_80BBA78(u8 taskId)
void sub_80BBBF4(u8 taskId)
{
- if (gSprites[gUnknown_02039B4C->selectedMonSpriteId].pos1.x == 48 && gSprites[gUnknown_02039B4C->selectedMonSpriteId].pos1.y == 56)
+ if (gSprites[sPokedexView->selectedMonSpriteId].pos1.x == 48 && gSprites[sPokedexView->selectedMonSpriteId].pos1.y == 56)
{
- gUnknown_02039B4C->unk64B = gUnknown_02039B4C->unk64A;
- gTasks[taskId].data[0] = sub_80BE91C(&gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon], gUnknown_02039B4C->selectedMonSpriteId);
+ sPokedexView->unk64B = sPokedexView->unk64A;
+ gTasks[taskId].data[0] = sub_80BE91C(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId);
gTasks[taskId].func = sub_80BBC74;
}
}
@@ -1526,13 +1523,13 @@ void sub_80BBC74(u8 taskId)
{
if (gTasks[gTasks[taskId].data[0]].isActive)
{
- if (gUnknown_02039B4C->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
- sub_80BE9F8(&gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon], gTasks[taskId].data[0]);
+ if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
+ sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]);
}
else
{
- gUnknown_02039B50 = gUnknown_02039B4C->selectedPokemon;
- gUnknown_02039B52 = gUnknown_02039B4C->unk62C;
+ gUnknown_02039B50 = sPokedexView->selectedPokemon;
+ gUnknown_02039B52 = sPokedexView->unk62C;
gTasks[taskId].func = sub_80BB78C;
}
}
@@ -1542,20 +1539,20 @@ void sub_80BBD1C(u8 taskId)
if (!gTasks[gTasks[taskId].data[0]].isActive)
{
sub_80BDA40();
- if (gUnknown_02039B4C->unk64E != 0)
+ if (sPokedexView->unk64E != 0)
{
- gUnknown_02039B4C->selectedPokemon = 0;
- gUnknown_02039B4C->unk62C = 0x40;
+ sPokedexView->selectedPokemon = 0;
+ sPokedexView->unk62C = 0x40;
gTasks[taskId].func = sub_80BBE70;
}
else
{
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->unk62A;
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->unk610;
- gUnknown_02039B4C->dexMode = gUnknown_02039B4C->unk614;
+ sPokedexView->unk62C = sPokedexView->unk62A;
+ sPokedexView->selectedPokemon = sPokedexView->unk610;
+ sPokedexView->dexMode = sPokedexView->unk614;
if (!IsNationalPokedexEnabled())
- gUnknown_02039B4C->dexMode = DEX_MODE_HOENN;
- gUnknown_02039B4C->dexOrder = gUnknown_02039B4C->unk618;
+ sPokedexView->dexMode = DEX_MODE_HOENN;
+ sPokedexView->dexOrder = sPokedexView->unk618;
gTasks[taskId].func = sub_80BB78C;
}
}
@@ -1565,43 +1562,43 @@ void sub_80BBDE8(u8 taskId)
{
if (!gPaletteFade.active)
{
- gSaveBlock2Ptr->pokedex.unknown1 = gUnknown_02039B4C->dexMode;
+ gSaveBlock2Ptr->pokedex.mode = sPokedexView->dexMode;
if (!IsNationalPokedexEnabled())
- gSaveBlock2Ptr->pokedex.unknown1 = DEX_MODE_HOENN;
- gSaveBlock2Ptr->pokedex.order = gUnknown_02039B4C->dexOrder;
+ gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN;
+ gSaveBlock2Ptr->pokedex.order = sPokedexView->dexOrder;
sub_80BDA40();
sub_80BC890();
DestroyTask(taskId);
SetMainCallback2(CB2_ReturnToFieldWithOpenMenu);
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x100);
- Free(gUnknown_02039B4C);
+ Free(sPokedexView);
}
}
void sub_80BBE70(u8 taskId)
{
- gUnknown_02039B4C->unk64C_1 = TRUE;
+ sPokedexView->unk64C_1 = TRUE;
if (sub_80BC514(3))
gTasks[taskId].func = sub_80BBEB8;
}
void sub_80BBEB8(u8 taskId)
{
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sPokedexView->menuY);
- if (gUnknown_02039B4C->menuY)
+ if (sPokedexView->menuY)
{
- gUnknown_02039B4C->menuY -= 8;
+ sPokedexView->menuY -= 8;
}
else
{
- if ((gMain.newKeys & A_BUTTON) && gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon].seen)
+ if ((gMain.newKeys & A_BUTTON) && sPokedexView->pokedexList[sPokedexView->selectedPokemon].seen)
{
u32 a;
sub_80BD8D0();
- a = (1 << (gSprites[gUnknown_02039B4C->selectedMonSpriteId].oam.paletteNum + 16));
- gSprites[gUnknown_02039B4C->selectedMonSpriteId].callback = sub_80BE470;
+ a = (1 << (gSprites[sPokedexView->selectedMonSpriteId].oam.paletteNum + 16));
+ gSprites[sPokedexView->selectedMonSpriteId].callback = sub_80BE470;
BeginNormalPaletteFade(~a, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].func = sub_80BC2D4;
PlaySE(SE_PIN);
@@ -1609,17 +1606,17 @@ void sub_80BBEB8(u8 taskId)
}
else if (gMain.newKeys & START_BUTTON)
{
- gUnknown_02039B4C->menuY = 0;
- gUnknown_02039B4C->menuIsOpen = 1;
- gUnknown_02039B4C->menuCursorPos = 0;
- gTasks[taskId].func = sub_80BC0F8;
+ sPokedexView->menuY = 0;
+ sPokedexView->menuIsOpen = 1;
+ sPokedexView->menuCursorPos = 0;
+ gTasks[taskId].func = HandleButtonPress_StartMenu;
PlaySE(SE_SELECT);
}
else if (gMain.newKeys & SELECT_BUTTON)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
gTasks[taskId].data[0] = sub_80C1258();
- gUnknown_02039B4C->unk64E = 0;
+ sPokedexView->unk64E = 0;
gTasks[taskId].func = sub_80BBD1C;
PlaySE(SE_PC_LOGIN);
sub_80BC890();
@@ -1633,8 +1630,8 @@ void sub_80BBEB8(u8 taskId)
else
{
//Handle D-pad
- gUnknown_02039B4C->selectedPokemon = sub_80BD69C(gUnknown_02039B4C->selectedPokemon, 0xE);
- if (gUnknown_02039B4C->unk62E)
+ sPokedexView->selectedPokemon = sub_80BD69C(sPokedexView->selectedPokemon, 0xE);
+ if (sPokedexView->unk62E)
gTasks[taskId].func = sub_80BC0A8;
}
}
@@ -1642,40 +1639,40 @@ void sub_80BBEB8(u8 taskId)
void sub_80BC0A8(u8 taskId)
{
- if (sub_80BD404(gUnknown_02039B4C->unk62F, gUnknown_02039B4C->unk634, gUnknown_02039B4C->unk636))
+ if (sub_80BD404(sPokedexView->unk62F, sPokedexView->unk634, sPokedexView->unk636))
gTasks[taskId].func = sub_80BBEB8;
}
-void sub_80BC0F8(u8 taskId)
+static void HandleButtonPress_StartMenu(u8 taskId)
{
- SetGpuReg(REG_OFFSET_BG0VOFS, gUnknown_02039B4C->menuY);
+ SetGpuReg(REG_OFFSET_BG0VOFS, sPokedexView->menuY);
- if (gUnknown_02039B4C->menuY != 96)
+ if (sPokedexView->menuY != 96)
{
- gUnknown_02039B4C->menuY += 8;
+ sPokedexView->menuY += 8;
}
else
{
if (gMain.newKeys & A_BUTTON)
{
- switch (gUnknown_02039B4C->menuCursorPos)
+ switch (sPokedexView->menuCursorPos)
{
case 0: //BACK TO LIST
default:
gMain.newKeys |= START_BUTTON;
break;
case 1: //LIST TOP
- gUnknown_02039B4C->selectedPokemon = 0;
- gUnknown_02039B4C->unk62C = 0x40;
+ sPokedexView->selectedPokemon = 0;
+ sPokedexView->unk62C = 0x40;
sub_80BDA40();
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON;
break;
case 2: //LIST BOTTOM
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->pokemonListCount - 1;
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->pokemonListCount * 16 + 0x30;
+ sPokedexView->selectedPokemon = sPokedexView->pokemonListCount - 1;
+ sPokedexView->unk62C = sPokedexView->pokemonListCount * 16 + 0x30;
sub_80BDA40();
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
gMain.newKeys |= START_BUTTON;
break;
case 3: //BACK TO POKEDEX
@@ -1694,18 +1691,18 @@ void sub_80BC0F8(u8 taskId)
//Exit menu when Start or B is pressed
if (gMain.newKeys & (START_BUTTON | B_BUTTON))
{
- gUnknown_02039B4C->menuIsOpen = 0;
+ sPokedexView->menuIsOpen = 0;
gTasks[taskId].func = sub_80BBEB8;
PlaySE(SE_SELECT);
}
- else if ((gMain.newAndRepeatedKeys & DPAD_UP) && gUnknown_02039B4C->menuCursorPos)
+ else if ((gMain.newAndRepeatedKeys & DPAD_UP) && sPokedexView->menuCursorPos)
{
- gUnknown_02039B4C->menuCursorPos--;
+ sPokedexView->menuCursorPos--;
PlaySE(SE_SELECT);
}
- else if ((gMain.newAndRepeatedKeys & DPAD_DOWN) && gUnknown_02039B4C->menuCursorPos <= 3)
+ else if ((gMain.newAndRepeatedKeys & DPAD_DOWN) && sPokedexView->menuCursorPos <= 3)
{
- gUnknown_02039B4C->menuCursorPos++;
+ sPokedexView->menuCursorPos++;
PlaySE(SE_SELECT);
}
}
@@ -1713,11 +1710,11 @@ void sub_80BC0F8(u8 taskId)
void sub_80BC2D4(u8 taskId)
{
- if (gSprites[gUnknown_02039B4C->selectedMonSpriteId].pos1.x == 48 && gSprites[gUnknown_02039B4C->selectedMonSpriteId].pos1.y == 56)
+ if (gSprites[sPokedexView->selectedMonSpriteId].pos1.x == 48 && gSprites[sPokedexView->selectedMonSpriteId].pos1.y == 56)
{
- gUnknown_02039B4C->unk64B = gUnknown_02039B4C->unk64A;
- gTasks[taskId].data[0] = sub_80BE91C(&gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon], gUnknown_02039B4C->selectedMonSpriteId);
- gUnknown_02039B4C->selectedMonSpriteId = -1;
+ sPokedexView->unk64B = sPokedexView->unk64A;
+ gTasks[taskId].data[0] = sub_80BE91C(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], sPokedexView->selectedMonSpriteId);
+ sPokedexView->selectedMonSpriteId = -1;
gTasks[taskId].func = sub_80BC360;
}
}
@@ -1726,8 +1723,8 @@ void sub_80BC360(u8 taskId)
{
if (gTasks[gTasks[taskId].data[0]].isActive)
{
- if (gUnknown_02039B4C->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
- sub_80BE9F8(&gUnknown_02039B4C->unk0[gUnknown_02039B4C->selectedPokemon], gTasks[taskId].data[0]);
+ if (sPokedexView->unk64A == 1 && !sub_80BE9C4(gTasks[taskId].data[0]) && sub_80BD930())
+ sub_80BE9F8(&sPokedexView->pokedexList[sPokedexView->selectedPokemon], gTasks[taskId].data[0]);
}
else
{
@@ -1739,12 +1736,12 @@ void sub_80BC3DC(u8 taskId)
{
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->unk62A;
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->unk610;
- gUnknown_02039B4C->dexMode = gUnknown_02039B4C->unk614;
+ sPokedexView->unk62C = sPokedexView->unk62A;
+ sPokedexView->selectedPokemon = sPokedexView->unk610;
+ sPokedexView->dexMode = sPokedexView->unk614;
if (!IsNationalPokedexEnabled())
- gUnknown_02039B4C->dexMode = DEX_MODE_HOENN;
- gUnknown_02039B4C->dexOrder = gUnknown_02039B4C->unk618;
+ sPokedexView->dexMode = DEX_MODE_HOENN;
+ sPokedexView->dexOrder = sPokedexView->unk618;
gTasks[taskId].func = sub_80BB78C;
sub_80BDA40();
sub_80BC890();
@@ -1755,12 +1752,12 @@ void sub_80BC47C(u8 taskId)
{
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk62C = gUnknown_02039B4C->unk62A;
- gUnknown_02039B4C->selectedPokemon = gUnknown_02039B4C->unk610;
- gUnknown_02039B4C->dexMode = gUnknown_02039B4C->unk614;
+ sPokedexView->unk62C = sPokedexView->unk62A;
+ sPokedexView->selectedPokemon = sPokedexView->unk610;
+ sPokedexView->dexMode = sPokedexView->unk614;
if (!IsNationalPokedexEnabled())
- gUnknown_02039B4C->dexMode = DEX_MODE_HOENN;
- gUnknown_02039B4C->dexOrder = gUnknown_02039B4C->unk618;
+ sPokedexView->dexMode = DEX_MODE_HOENN;
+ sPokedexView->dexOrder = sPokedexView->unk618;
gTasks[taskId].func = sub_80BBDE8;
}
}
@@ -1774,9 +1771,9 @@ bool8 sub_80BC514(u8 a)
if (gPaletteFade.active)
return 0;
SetVBlankCallback(NULL);
- gUnknown_02039B4C->unk64A = a;
+ sPokedexView->unk64A = a;
sub_80C09B0(0);
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D);
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset);
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gBgTemplates_0855D298, 4);
SetBgTilemapBuffer(3, AllocZeroed(0x800));
@@ -1784,19 +1781,19 @@ bool8 sub_80BC514(u8 a)
SetBgTilemapBuffer(1, AllocZeroed(0x800));
SetBgTilemapBuffer(0, AllocZeroed(0x800));
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(1, gUnknown_08DC2C5C, 0, 0);
- CopyToBgTilemapBuffer(3, gUnknown_08DC2DAC, 0, 0);
+ CopyToBgTilemapBuffer(1, gPokedexTilemap_Main, 0, 0);
+ CopyToBgTilemapBuffer(3, gPokedexTilemap_MainUnderlay, 0, 0);
if (a == 0)
- CopyToBgTilemapBuffer(0, gUnknown_08DC2A08, 0, 0x280);
+ CopyToBgTilemapBuffer(0, gPokedexTilemap_StartMenu1, 0, 0x280);
else
- CopyToBgTilemapBuffer(0, gUnknown_08DC2B1C, 0, 0x280);
+ CopyToBgTilemapBuffer(0, gPokedexTilemap_StartMenu2, 0, 0x280);
ResetPaletteFade();
if (a == 0)
- gUnknown_02039B4C->unk64C_1 = FALSE;
+ sPokedexView->unk64C_1 = FALSE;
else
- gUnknown_02039B4C->unk64C_1 = TRUE;
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
- InitWindows(sWindowTemplates_0855D2A8);
+ sPokedexView->unk64C_1 = TRUE;
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
+ InitWindows(sPokemonList_WindowTemplate);
DeactivateAllTextPrinters();
PutWindowTilemap(0);
CopyWindowToVram(0, 3);
@@ -1806,9 +1803,9 @@ bool8 sub_80BC514(u8 a)
ResetSpriteData();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 8;
- LoadCompressedObjectPic(&gSpriteSheets_0855D26C[0]);
- LoadSpritePalettes(gSpritePalettes_0855D26C);
- sub_80BDB7C(a);
+ LoadCompressedObjectPic(&sInterfaceSpriteSheet[0]);
+ LoadSpritePalettes(sInterfaceSpritePalette);
+ CreateInterfaceSprites(a);
gMain.state++;
break;
case 2:
@@ -1816,10 +1813,10 @@ bool8 sub_80BC514(u8 a)
break;
case 3:
if (a == 0)
- sub_80BC8D4(gUnknown_02039B4C->dexMode, gUnknown_02039B4C->dexOrder);
- sub_80BD2B4(gUnknown_02039B4C->selectedPokemon, 0xE);
- gUnknown_02039B4C->menuIsOpen = 0;
- gUnknown_02039B4C->menuY = 0;
+ sub_80BC8D4(sPokedexView->dexMode, sPokedexView->dexOrder);
+ CreateInitialPokemonSprites(sPokedexView->selectedPokemon, 0xE);
+ sPokedexView->menuIsOpen = 0;
+ sPokedexView->menuY = 0;
CopyBgTilemapBufferToVram(0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
@@ -1859,7 +1856,7 @@ bool8 sub_80BC514(u8 a)
return FALSE;
}
-void sub_80BC844(u8 a)
+static void LoadPokedexBgPalette(u8 a)
{
if (a == 1)
LoadPalette(gPokedexHoennBg_Pal + 1, 1, 0xBE);
@@ -1892,27 +1889,30 @@ void sub_80BC890(void)
void sub_80BC8D4(u8 dexMode, u8 sortMode)
{
u16 vars[3]; //I have no idea why three regular variables are stored in an array, but whatever.
+#define temp_dexCount vars[0]
+#define temp_isHoennDex vars[1]
+#define temp_dexNum vars[2]
s16 i;
- gUnknown_02039B4C->pokemonListCount = 0;
+ sPokedexView->pokemonListCount = 0;
switch (dexMode)
{
default:
case DEX_MODE_HOENN:
- vars[0] = HOENN_DEX_COUNT;
- vars[1] = 1;
+ temp_dexCount = HOENN_DEX_COUNT;
+ temp_isHoennDex = TRUE;
break;
case DEX_MODE_NATIONAL:
if (IsNationalPokedexEnabled())
{
- vars[0] = NATIONAL_DEX_COUNT;
- vars[1] = 0;
+ temp_dexCount = NATIONAL_DEX_COUNT;
+ temp_isHoennDex = FALSE;
}
else
{
- vars[0] = HOENN_DEX_COUNT;
- vars[1] = 1;
+ temp_dexCount = HOENN_DEX_COUNT;
+ temp_isHoennDex = TRUE;
}
break;
}
@@ -1920,16 +1920,16 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
switch (sortMode)
{
case 0:
- if (vars[1])
+ if (temp_isHoennDex)
{
- for (i = 0; i < vars[0]; i++)
+ for (i = 0; i < temp_dexCount; i++)
{
- vars[2] = HoennToNationalOrder(i + 1);
- gUnknown_02039B4C->unk0[i].dexNum = vars[2];
- gUnknown_02039B4C->unk0[i].seen = GetSetPokedexFlag(vars[2], 0);
- gUnknown_02039B4C->unk0[i].owned = GetSetPokedexFlag(vars[2], 1);
- if (gUnknown_02039B4C->unk0[i].seen)
- gUnknown_02039B4C->pokemonListCount = i + 1;
+ temp_dexNum = HoennToNationalOrder(i + 1);
+ sPokedexView->pokedexList[i].dexNum = temp_dexNum;
+ sPokedexView->pokedexList[i].seen = GetSetPokedexFlag(temp_dexNum, FLAG_GET_SEEN);
+ sPokedexView->pokedexList[i].owned = GetSetPokedexFlag(temp_dexNum, FLAG_GET_CAUGHT);
+ if (sPokedexView->pokedexList[i].seen)
+ sPokedexView->pokemonListCount = i + 1;
}
}
else
@@ -1938,19 +1938,19 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
s16 r5;
r10 = r5 = i = 0;
- for (i = 0; i < vars[0]; i++)
+ for (i = 0; i < temp_dexCount; i++)
{
- vars[2] = i + 1;
- if (GetSetPokedexFlag(vars[2], 0))
+ temp_dexNum = i + 1;
+ if (GetSetPokedexFlag(temp_dexNum, FLAG_GET_SEEN))
r10 = 1;
if (r10)
{
asm(""); //Needed to match for some reason
- gUnknown_02039B4C->unk0[r5].dexNum = vars[2];
- gUnknown_02039B4C->unk0[r5].seen = GetSetPokedexFlag(vars[2], 0);
- gUnknown_02039B4C->unk0[r5].owned = GetSetPokedexFlag(vars[2], 1);
- if (gUnknown_02039B4C->unk0[r5].seen)
- gUnknown_02039B4C->pokemonListCount = r5 + 1;
+ sPokedexView->pokedexList[r5].dexNum = temp_dexNum;
+ sPokedexView->pokedexList[r5].seen = GetSetPokedexFlag(temp_dexNum, FLAG_GET_SEEN);
+ sPokedexView->pokedexList[r5].owned = GetSetPokedexFlag(temp_dexNum, FLAG_GET_CAUGHT);
+ if (sPokedexView->pokedexList[r5].seen)
+ sPokedexView->pokemonListCount = r5 + 1;
r5++;
}
}
@@ -1959,84 +1959,84 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode)
case 1:
for (i = 0; i < POKEMON_SLOTS_NUMBER - 1; i++)
{
- vars[2] = gPokedexOrder_Alphabetical[i];
+ temp_dexNum = gPokedexOrder_Alphabetical[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 0))
+ if (NationalToHoennOrder(temp_dexNum) <= temp_dexCount && GetSetPokedexFlag(temp_dexNum, FLAG_GET_SEEN))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = GetSetPokedexFlag(vars[2], 1);
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = temp_dexNum;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = TRUE;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = GetSetPokedexFlag(temp_dexNum, FLAG_GET_CAUGHT);
+ sPokedexView->pokemonListCount++;
}
}
break;
case 2:
for (i = NATIONAL_DEX_COUNT - 1; i >= 0; i--)
{
- vars[2] = gPokedexOrder_Weight[i];
+ temp_dexNum = gPokedexOrder_Weight[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
+ if (NationalToHoennOrder(temp_dexNum) <= temp_dexCount && GetSetPokedexFlag(temp_dexNum, FLAG_GET_CAUGHT))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = 1;
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = temp_dexNum;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = TRUE;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = TRUE;
+ sPokedexView->pokemonListCount++;
}
}
break;
case 3:
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
- vars[2] = gPokedexOrder_Weight[i];
+ temp_dexNum = gPokedexOrder_Weight[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
+ if (NationalToHoennOrder(temp_dexNum) <= temp_dexCount && GetSetPokedexFlag(temp_dexNum, FLAG_GET_CAUGHT))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = 1;
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = temp_dexNum;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = TRUE;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = TRUE;
+ sPokedexView->pokemonListCount++;
}
}
break;
case 4:
- for (i = NATIONAL_DEX_COUNT - 1; i >=0; i--)
+ for (i = NATIONAL_DEX_COUNT - 1; i >= 0; i--)
{
- vars[2] = gPokedexOrder_Height[i];
+ temp_dexNum = gPokedexOrder_Height[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
+ if (NationalToHoennOrder(temp_dexNum) <= temp_dexCount && GetSetPokedexFlag(temp_dexNum, FLAG_GET_CAUGHT))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = 1;
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = temp_dexNum;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = TRUE;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = TRUE;
+ sPokedexView->pokemonListCount++;
}
}
break;
case 5:
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
- vars[2] = gPokedexOrder_Height[i];
+ temp_dexNum = gPokedexOrder_Height[i];
- if (NationalToHoennOrder(vars[2]) <= vars[0] && GetSetPokedexFlag(vars[2], 1))
+ if (NationalToHoennOrder(temp_dexNum) <= temp_dexCount && GetSetPokedexFlag(temp_dexNum, FLAG_GET_CAUGHT))
{
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].dexNum = vars[2];
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].seen = 1;
- gUnknown_02039B4C->unk0[gUnknown_02039B4C->pokemonListCount].owned = 1;
- gUnknown_02039B4C->pokemonListCount++;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].dexNum = temp_dexNum;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].seen = TRUE;
+ sPokedexView->pokedexList[sPokedexView->pokemonListCount].owned = TRUE;
+ sPokedexView->pokemonListCount++;
}
}
break;
}
- for (i = gUnknown_02039B4C->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
+ for (i = sPokedexView->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
{
- gUnknown_02039B4C->unk0[i].dexNum |= 0xFFFF;
- gUnknown_02039B4C->unk0[i].seen = 0;
- gUnknown_02039B4C->unk0[i].owned = 0;
+ sPokedexView->pokedexList[i].dexNum |= 0xFFFF;
+ sPokedexView->pokedexList[i].seen = FALSE;
+ sPokedexView->pokedexList[i].owned = FALSE;
}
}
-void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top)
+static void PrintMonDexNumAndName(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top)
{
u8 color[3];
@@ -2046,86 +2046,86 @@ void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top)
AddTextPrinterParameterized4(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, -1, str);
}
-void sub_80BCE84(u8 a, u16 b, u16 c)
+static void CreateMonListEntry(u8 direction, u16 b, u16 c)
{
s16 _b;
u16 i;
u16 r2;
- switch (a)
+ switch (direction)
{
- case 0:
+ case 0: // Initial
default:
_b = b - 5;
for (i = 0; i <= 10; i++)
{
- if (_b < 0 || _b >= NATIONAL_DEX_COUNT || gUnknown_02039B4C->unk0[_b].dexNum == 0xFFFF)
+ if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
{
sub_80BD28C(0x11, i * 2, c);
}
else
{
sub_80BD28C(0x11, i * 2, c);
- if (gUnknown_02039B4C->unk0[_b].seen)
+ if (sPokedexView->pokedexList[_b].seen)
{
- sub_80BD154(_b, 0x12, i * 2, c);
- sub_80BD1F4(gUnknown_02039B4C->unk0[_b].owned, 0x11, i * 2, c);
- sub_80BD23C(gUnknown_02039B4C->unk0[_b].dexNum, 0x16, i * 2);
+ CreateMonDexNum(_b, 0x12, i * 2, c);
+ CreateCaughtBall(sPokedexView->pokedexList[_b].owned, 0x11, i * 2, c);
+ CreateMonName(sPokedexView->pokedexList[_b].dexNum, 0x16, i * 2);
}
else
{
- sub_80BD154(_b, 0x12, i * 2, c);
- sub_80BD1F4(0, 0x11, i * 2, c);
- sub_80BD23C(0, 0x16, i * 2);
+ CreateMonDexNum(_b, 0x12, i * 2, c);
+ CreateCaughtBall(0, 0x11, i * 2, c);
+ CreateMonName(0, 0x16, i * 2);
}
}
_b++;
}
break;
- case 1:
+ case 1: // Up
_b = b - 5;
- if (_b < 0 || _b >= NATIONAL_DEX_COUNT || gUnknown_02039B4C->unk0[_b].dexNum == 0xFFFF)
+ if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
{
- sub_80BD28C(0x11, gUnknown_02039B4C->unk630 * 2, c);
+ sub_80BD28C(0x11, sPokedexView->unk630 * 2, c);
}
else
{
- sub_80BD28C(0x11, gUnknown_02039B4C->unk630 * 2, c);
- if (gUnknown_02039B4C->unk0[_b].seen)
+ sub_80BD28C(0x11, sPokedexView->unk630 * 2, c);
+ if (sPokedexView->pokedexList[_b].seen)
{
- sub_80BD154(_b, 0x12, gUnknown_02039B4C->unk630 * 2, c);
- sub_80BD1F4(gUnknown_02039B4C->unk0[_b].owned, 0x11, gUnknown_02039B4C->unk630 * 2, c);
- sub_80BD23C(gUnknown_02039B4C->unk0[_b].dexNum, 0x16, gUnknown_02039B4C->unk630 * 2);
+ CreateMonDexNum(_b, 0x12, sPokedexView->unk630 * 2, c);
+ CreateCaughtBall(sPokedexView->pokedexList[_b].owned, 0x11, sPokedexView->unk630 * 2, c);
+ CreateMonName(sPokedexView->pokedexList[_b].dexNum, 0x16, sPokedexView->unk630 * 2);
}
else
{
- sub_80BD154(_b, 0x12, gUnknown_02039B4C->unk630 * 2, c);
- sub_80BD1F4(0, 0x11, gUnknown_02039B4C->unk630 * 2, c);
- sub_80BD23C(0, 0x16, gUnknown_02039B4C->unk630 * 2);
+ CreateMonDexNum(_b, 0x12, sPokedexView->unk630 * 2, c);
+ CreateCaughtBall(0, 0x11, sPokedexView->unk630 * 2, c);
+ CreateMonName(0, 0x16, sPokedexView->unk630 * 2);
}
}
break;
- case 2:
+ case 2: // Down
_b = b + 5;
- r2 = gUnknown_02039B4C->unk630 + 10;
+ r2 = sPokedexView->unk630 + 10;
if (r2 > 15)
r2 -= 16;
- if (_b < 0 || _b >= NATIONAL_DEX_COUNT || gUnknown_02039B4C->unk0[_b].dexNum == 0xFFFF)
+ if (_b < 0 || _b >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[_b].dexNum == 0xFFFF)
sub_80BD28C(0x11, r2 * 2, c);
else
{
sub_80BD28C(0x11, r2 * 2, c);
- if (gUnknown_02039B4C->unk0[_b].seen)
+ if (sPokedexView->pokedexList[_b].seen)
{
- sub_80BD154(_b, 0x12, r2 * 2, c);
- sub_80BD1F4(gUnknown_02039B4C->unk0[_b].owned, 0x11, r2 * 2, c);
- sub_80BD23C(gUnknown_02039B4C->unk0[_b].dexNum, 0x16, r2 * 2);
+ CreateMonDexNum(_b, 0x12, r2 * 2, c);
+ CreateCaughtBall(sPokedexView->pokedexList[_b].owned, 0x11, r2 * 2, c);
+ CreateMonName(sPokedexView->pokedexList[_b].dexNum, 0x16, r2 * 2);
}
else
{
- sub_80BD154(_b, 0x12, r2 * 2, c);
- sub_80BD1F4(0, 0x11, r2 * 2, c);
- sub_80BD23C(0, 0x16, r2 * 2);
+ CreateMonDexNum(_b, 0x12, r2 * 2, c);
+ CreateCaughtBall(0, 0x11, r2 * 2, c);
+ CreateMonName(0, 0x16, r2 * 2);
}
}
break;
@@ -2133,22 +2133,22 @@ void sub_80BCE84(u8 a, u16 b, u16 c)
CopyWindowToVram(0, 2);
}
-void sub_80BD154(u16 a, u8 left, u8 top, u16 unused)
+static void CreateMonDexNum(u16 a, u8 left, u8 top, u16 unused)
{
u8 text[6];
u16 r6;
- memcpy(text, gUnknown_0855D2B8, 6);
- r6 = gUnknown_02039B4C->unk0[a].dexNum;
- if (gUnknown_02039B4C->dexMode == DEX_MODE_HOENN)
+ memcpy(text, sText_No000, 6);
+ r6 = sPokedexView->pokedexList[a].dexNum;
+ if (sPokedexView->dexMode == DEX_MODE_HOENN)
r6 = NationalToHoennOrder(r6);
text[2] = CHAR_0 + r6 / 100;
text[3] = CHAR_0 + (r6 % 100) / 10;
text[4] = CHAR_0 + (r6 % 100) % 10;
- sub_80BCE2C(0, 7, text, left, top);
+ PrintMonDexNumAndName(0, 7, text, left, top);
}
-void sub_80BD1F4(u16 a, u8 x, u8 y, u16 unused)
+static void CreateCaughtBall(u16 a, u8 x, u8 y, u16 unused)
{
if (a)
BlitBitmapToWindow(0, gUnknown_0855D2BE, x * 8, y * 8, 8, 16);
@@ -2156,7 +2156,7 @@ void sub_80BD1F4(u16 a, u8 x, u8 y, u16 unused)
FillWindowPixelRect(0, 0, x * 8, y * 8, 8, 16);
}
-u8 sub_80BD23C(u16 num, u8 left, u8 top)
+static u8 CreateMonName(u16 num, u8 left, u8 top)
{
const u8* str;
@@ -2165,7 +2165,7 @@ u8 sub_80BD23C(u16 num, u8 left, u8 top)
str = gSpeciesNames[num];
else
str = sText_TenDashes;
- sub_80BCE2C(0, 7, str, left, top);
+ PrintMonDexNumAndName(0, 7, str, left, top);
return StringLength(str);
}
@@ -2174,7 +2174,7 @@ void sub_80BD28C(u8 x, u8 y, u16 unused)
FillWindowPixelRect(0, 0, x * 8, y * 8, 0x60, 16);
}
-void sub_80BD2B4(u16 a, u16 b)
+static void CreateInitialPokemonSprites(u16 selectedMon, u16 b)
{
u8 i;
u16 unk;
@@ -2183,10 +2183,10 @@ void sub_80BD2B4(u16 a, u16 b)
gPaletteFade.bufferTransferDisabled = TRUE;
for (i = 0; i < 4; i++)
- gUnknown_02039B4C->unk61E[i] = 0xFFFF;
- gUnknown_02039B4C->selectedMonSpriteId = 0xFFFF;
+ sPokedexView->unk61E[i] = 0xFFFF;
+ sPokedexView->selectedMonSpriteId = 0xFFFF;
- unk = sub_80BDA8C(a - 1);
+ unk = GetPokemonSpriteToDisplay(selectedMon - 1);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
@@ -2194,7 +2194,7 @@ void sub_80BD2B4(u16 a, u16 b)
gSprites[spriteId].data[5] = -32;
}
- unk = sub_80BDA8C(a);
+ unk = GetPokemonSpriteToDisplay(selectedMon);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
@@ -2202,7 +2202,7 @@ void sub_80BD2B4(u16 a, u16 b)
gSprites[spriteId].data[5] = 0;
}
- unk = sub_80BDA8C(a + 1);
+ unk = GetPokemonSpriteToDisplay(selectedMon + 1);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
@@ -2210,11 +2210,11 @@ void sub_80BD2B4(u16 a, u16 b)
gSprites[spriteId].data[5] = 32;
}
- sub_80BCE84(0, a, b);
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D);
+ CreateMonListEntry(0, selectedMon, b);
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset);
- gUnknown_02039B4C->unk630 = 0;
- gUnknown_02039B4C->unk632 = 0;
+ sPokedexView->unk630 = 0;
+ sPokedexView->unk632 = 0;
gPaletteFade.bufferTransferDisabled = FALSE;
}
@@ -2224,79 +2224,79 @@ bool8 sub_80BD404(u8 a, u8 b, u8 c)
u16 i;
u8 foo;
- if (gUnknown_02039B4C->unk62E)
+ if (sPokedexView->unk62E)
{
- gUnknown_02039B4C->unk62E--;
+ sPokedexView->unk62E--;
switch (a)
{
case 1:
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039B4C->unk61E[i] != 0xFFFF)
- gSprites[gUnknown_02039B4C->unk61E[i]].data[5] += b;
+ if (sPokedexView->unk61E[i] != 0xFFFF)
+ gSprites[sPokedexView->unk61E[i]].data[5] += b;
}
- foo = 16 * (c - gUnknown_02039B4C->unk62E) / c;
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D + gUnknown_02039B4C->unk632 * 16 - foo);
- gUnknown_02039B4C->unk62C -= gUnknown_02039B4C->unk628;
+ foo = 16 * (c - sPokedexView->unk62E) / c;
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 - foo);
+ sPokedexView->unk62C -= sPokedexView->unk628;
break;
case 2:
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039B4C->unk61E[i] != 0xFFFF)
- gSprites[gUnknown_02039B4C->unk61E[i]].data[5] -= b;
+ if (sPokedexView->unk61E[i] != 0xFFFF)
+ gSprites[sPokedexView->unk61E[i]].data[5] -= b;
}
- foo = 16 * (c - gUnknown_02039B4C->unk62E) / c;
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D + gUnknown_02039B4C->unk632 * 16 + foo);
- gUnknown_02039B4C->unk62C += gUnknown_02039B4C->unk628;
+ foo = 16 * (c - sPokedexView->unk62E) / c;
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk632 * 16 + foo);
+ sPokedexView->unk62C += sPokedexView->unk628;
break;
}
return FALSE;
}
else
{
- SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D + gUnknown_02039B4C->unk630 * 16);
+ SetGpuReg(REG_OFFSET_BG2VOFS, sPokedexView->initialVOffset + sPokedexView->unk630 * 16);
return TRUE;
}
}
-void sub_80BD5A8(u8 a, u16 b)
+static void CreateNewPokemonSprite(u8 direction, u16 selectedMon)
{
u16 unk;
u8 spriteId;
- gUnknown_02039B4C->unk632 = gUnknown_02039B4C->unk630;
- switch (a)
+ sPokedexView->unk632 = sPokedexView->unk630;
+ switch (direction)
{
- case 1:
- unk = sub_80BDA8C(b - 1);
+ case 1: // up
+ unk = GetPokemonSpriteToDisplay(selectedMon - 1);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
gSprites[spriteId].callback = sub_80BE4E0;
gSprites[spriteId].data[5] = -64;
}
- if (gUnknown_02039B4C->unk630 > 0)
- gUnknown_02039B4C->unk630--;
+ if (sPokedexView->unk630 > 0)
+ sPokedexView->unk630--;
else
- gUnknown_02039B4C->unk630 = 15;
+ sPokedexView->unk630 = 15;
break;
- case 2:
- unk = sub_80BDA8C(b + 1);
+ case 2: // down
+ unk = GetPokemonSpriteToDisplay(selectedMon + 1);
if (unk != 0xFFFF)
{
spriteId = sub_80BDACC(unk, 0x60, 0x50);
gSprites[spriteId].callback = sub_80BE4E0;
gSprites[spriteId].data[5] = 0x40;
}
- if (gUnknown_02039B4C->unk630 <= 0xE)
- gUnknown_02039B4C->unk630++;
+ if (sPokedexView->unk630 <= 0xE)
+ sPokedexView->unk630++;
else
- gUnknown_02039B4C->unk630 = 0;
+ sPokedexView->unk630 = 0;
break;
}
}
-u16 sub_80BD69C(u16 a, u16 b)
+u16 sub_80BD69C(u16 selectedMon, u16 b)
{
u8 r3;
u8 r5;
@@ -2304,61 +2304,61 @@ u16 sub_80BD69C(u16 a, u16 b)
u16 r6;
u8 r10 = 0;
- if ((gMain.heldKeys & DPAD_UP) && (a > 0))
+ if ((gMain.heldKeys & DPAD_UP) && (selectedMon > 0))
{
r10 = 1;
- a = sub_80C0E0C(1, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
- sub_80BD5A8(1, a);
- sub_80BCE84(1, a, b);
+ selectedMon = sub_80C0E0C(1, selectedMon, 0, sPokedexView->pokemonListCount - 1);
+ CreateNewPokemonSprite(1, selectedMon);
+ CreateMonListEntry(1, selectedMon, b);
PlaySE(SE_Z_SCROLL);
}
- else if ((gMain.heldKeys & DPAD_DOWN) && (a < gUnknown_02039B4C->pokemonListCount - 1))
+ else if ((gMain.heldKeys & DPAD_DOWN) && (selectedMon < sPokedexView->pokemonListCount - 1))
{
r10 = 2;
- a = sub_80C0E0C(0, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
- sub_80BD5A8(2, a);
- sub_80BCE84(2, a, b);
+ selectedMon = sub_80C0E0C(0, selectedMon, 0, sPokedexView->pokemonListCount - 1);
+ CreateNewPokemonSprite(2, selectedMon);
+ CreateMonListEntry(2, selectedMon, b);
PlaySE(SE_Z_SCROLL);
}
- else if ((gMain.newKeys & DPAD_LEFT) && (a > 0))
+ else if ((gMain.newKeys & DPAD_LEFT) && (selectedMon > 0))
{
- r6 = a;
+ r6 = selectedMon;
for (i = 0; i < 7; i++)
- a = sub_80C0E0C(1, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
- gUnknown_02039B4C->unk62C += 16 * (a - r6);
+ selectedMon = sub_80C0E0C(1, selectedMon, 0, sPokedexView->pokemonListCount - 1);
+ sPokedexView->unk62C += 16 * (selectedMon - r6);
sub_80BDA40();
- sub_80BD2B4(a, 0xE);
+ CreateInitialPokemonSprites(selectedMon, 0xE);
PlaySE(SE_Z_PAGE);
}
- else if ((gMain.newKeys & DPAD_RIGHT) && (a < gUnknown_02039B4C->pokemonListCount - 1))
+ else if ((gMain.newKeys & DPAD_RIGHT) && (selectedMon < sPokedexView->pokemonListCount - 1))
{
- r6 = a;
+ r6 = selectedMon;
for (i = 0; i < 7; i++)
- a = sub_80C0E0C(0, a, 0, gUnknown_02039B4C->pokemonListCount - 1);
- gUnknown_02039B4C->unk62C += (a - r6) * 16;
+ selectedMon = sub_80C0E0C(0, selectedMon, 0, sPokedexView->pokemonListCount - 1);
+ sPokedexView->unk62C += (selectedMon - r6) * 16;
sub_80BDA40();
- sub_80BD2B4(a, 0xE);
+ CreateInitialPokemonSprites(selectedMon, 0xE);
PlaySE(SE_Z_PAGE);
}
if (r10 == 0)
{
- gUnknown_02039B4C->unk638 = 0;
- return a;
+ sPokedexView->unk638 = 0;
+ return selectedMon;
}
- r5 = gUnknown_0855D28C[gUnknown_02039B4C->unk638 / 4];
- r3 = gUnknown_0855D291[gUnknown_02039B4C->unk638 / 4];
- gUnknown_02039B4C->unk62E = r3;
- gUnknown_02039B4C->unk636 = r3;
- gUnknown_02039B4C->unk634 = r5;
- gUnknown_02039B4C->unk62F = r10;
- gUnknown_02039B4C->unk628 = r5 / 2;
- sub_80BD404(gUnknown_02039B4C->unk62F, gUnknown_02039B4C->unk634, gUnknown_02039B4C->unk636);
- if (gUnknown_02039B4C->unk638 <= 0xB)
- gUnknown_02039B4C->unk638++;
- return a;
+ r5 = gUnknown_0855D28C[sPokedexView->unk638 / 4];
+ r3 = gUnknown_0855D291[sPokedexView->unk638 / 4];
+ sPokedexView->unk62E = r3;
+ sPokedexView->unk636 = r3;
+ sPokedexView->unk634 = r5;
+ sPokedexView->unk62F = r10;
+ sPokedexView->unk628 = r5 / 2;
+ sub_80BD404(sPokedexView->unk62F, sPokedexView->unk634, sPokedexView->unk636);
+ if (sPokedexView->unk638 <= 0xB)
+ sPokedexView->unk638++;
+ return selectedMon;
}
void sub_80BD8D0(void)
@@ -2367,61 +2367,61 @@ void sub_80BD8D0(void)
for (i = 0; i < 4; i++)
{
- u16 spriteId = gUnknown_02039B4C->unk61E[i];
+ u16 spriteId = sPokedexView->unk61E[i];
if (gSprites[spriteId].pos2.x == 0 && gSprites[spriteId].pos2.y == 0 && spriteId != 0xFFFF)
- gUnknown_02039B4C->selectedMonSpriteId = spriteId;
+ sPokedexView->selectedMonSpriteId = spriteId;
}
}
u8 sub_80BD930(void)
{
u16 r2;
- u16 r4 = gUnknown_02039B4C->selectedPokemon;
+ u16 r4 = sPokedexView->selectedPokemon;
if ((gMain.newKeys & DPAD_UP) && r4)
{
r2 = r4;
while (r2 != 0)
{
- r2 = sub_80C0E0C(1, r2, 0, gUnknown_02039B4C->pokemonListCount - 1);
+ r2 = sub_80C0E0C(1, r2, 0, sPokedexView->pokemonListCount - 1);
- if (gUnknown_02039B4C->unk0[r2].seen)
+ if (sPokedexView->pokedexList[r2].seen)
{
r4 = r2;
break;
}
}
- if (gUnknown_02039B4C->selectedPokemon == r4)
+ if (sPokedexView->selectedPokemon == r4)
return FALSE;
else
{
- gUnknown_02039B4C->selectedPokemon = r4;
- gUnknown_02039B4C->unk62C -= 16;
+ sPokedexView->selectedPokemon = r4;
+ sPokedexView->unk62C -= 16;
return TRUE;
}
}
- else if ((gMain.newKeys & DPAD_DOWN) && r4 < gUnknown_02039B4C->pokemonListCount - 1)
+ else if ((gMain.newKeys & DPAD_DOWN) && r4 < sPokedexView->pokemonListCount - 1)
{
r2 = r4;
- while (r2 < gUnknown_02039B4C->pokemonListCount - 1)
+ while (r2 < sPokedexView->pokemonListCount - 1)
{
- r2 = sub_80C0E0C(0, r2, 0, gUnknown_02039B4C->pokemonListCount - 1);
+ r2 = sub_80C0E0C(0, r2, 0, sPokedexView->pokemonListCount - 1);
- if (gUnknown_02039B4C->unk0[r2].seen)
+ if (sPokedexView->pokedexList[r2].seen)
{
r4 = r2;
break;
}
}
- if (gUnknown_02039B4C->selectedPokemon == r4)
+ if (sPokedexView->selectedPokemon == r4)
return FALSE;
else
{
- gUnknown_02039B4C->selectedPokemon = r4;
- gUnknown_02039B4C->unk62C += 16;
+ sPokedexView->selectedPokemon = r4;
+ sPokedexView->unk62C += 16;
return TRUE;
}
}
@@ -2434,21 +2434,21 @@ u8 sub_80BDA40(void)
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039B4C->unk61E[i] != 0xFFFF)
+ if (sPokedexView->unk61E[i] != 0xFFFF)
{
- FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[i]);
- gUnknown_02039B4C->unk61E[i] |= 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->unk61E[i]);
+ sPokedexView->unk61E[i] |= 0xFFFF;
}
}
return FALSE;
}
-u16 sub_80BDA8C(u16 a1)
+u16 GetPokemonSpriteToDisplay(u16 species)
{
- if (a1 >= NATIONAL_DEX_COUNT || gUnknown_02039B4C->unk0[a1].dexNum == 0xFFFF)
+ if (species >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[species].dexNum == 0xFFFF)
return 0xFFFF;
- else if (gUnknown_02039B4C->unk0[a1].seen)
- return gUnknown_02039B4C->unk0[a1].dexNum;
+ else if (sPokedexView->pokedexList[species].seen)
+ return sPokedexView->pokedexList[species].dexNum;
else
return 0;
}
@@ -2459,54 +2459,55 @@ u32 sub_80BDACC(u16 num, s16 x, s16 y)
for (i = 0; i < 4; i++)
{
- if (gUnknown_02039B4C->unk61E[i] == 0xFFFF)
+ if (sPokedexView->unk61E[i] == 0xFFFF)
{
- u8 spriteId = sub_80C0E9C(num, x, y, i);
+ u8 spriteId = CreateMonSpriteFromNationalDexNumber(num, x, y, i);
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.priority = 3;
gSprites[spriteId].data[0] = 0;
gSprites[spriteId].data[1] = i;
gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(num);
- gUnknown_02039B4C->unk61E[i] = spriteId;
+ sPokedexView->unk61E[i] = spriteId;
return spriteId;
}
}
return 0xFFFF;
}
-void sub_80BDB7C(u8 a)
+static void CreateInterfaceSprites(u8 a)
{
u8 spriteId;
u16 r5;
-
- spriteId = CreateSprite(&gUnknown_0855D1AC, 184, 4, 0);
+// Up arrow
+ spriteId = CreateSprite(&sArrowSpriteTemplate, 184, 4, 0);
gSprites[spriteId].data[1] = 0;
-
- spriteId = CreateSprite(&gUnknown_0855D1AC, 184, 156, 0);
+// Down arrow
+ spriteId = CreateSprite(&sArrowSpriteTemplate, 184, 156, 0);
gSprites[spriteId].data[1] = 1;
gSprites[spriteId].vFlip = TRUE;
- CreateSprite(&gUnknown_0855D194, 230, 20, 0);
- CreateSprite(&gUnknown_0855D1C4, 16, 120, 0);
-
- spriteId = CreateSprite(&gUnknown_0855D1C4, 48, 120, 0);
+ CreateSprite(&sScrollBarSpriteTemplate, 230, 20, 0);
+// Start button
+ CreateSprite(&sInterfaceTextSpriteTemplate, 16, 120, 0);
+// Menu text
+ spriteId = CreateSprite(&sInterfaceTextSpriteTemplate, 48, 120, 0);
StartSpriteAnim(&gSprites[spriteId], 3);
-
- spriteId = CreateSprite(&gUnknown_0855D1C4, 16, 144, 0);
+// Select button
+ spriteId = CreateSprite(&sInterfaceTextSpriteTemplate, 16, 144, 0);
StartSpriteAnim(&gSprites[spriteId], 2);
gSprites[spriteId].data[2] = 0x80;
-
- spriteId = CreateSprite(&gUnknown_0855D1C4, 48, 144, 0);
+// Search text
+ spriteId = CreateSprite(&sInterfaceTextSpriteTemplate, 48, 144, 0);
StartSpriteAnim(&gSprites[spriteId], 1);
- spriteId = CreateSprite(&gUnknown_0855D1DC, 0, 80, 2);
+ spriteId = CreateSprite(&sRotatingPokeballSpriteTemplate, 0, 80, 2);
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.matrixNum = 30;
gSprites[spriteId].data[0] = 0x1E;
gSprites[spriteId].data[1] = 0;
- spriteId = CreateSprite(&gUnknown_0855D1DC, 0, 80, 2);
+ spriteId = CreateSprite(&sRotatingPokeballSpriteTemplate, 0, 80, 2);
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.matrixNum = 31;
gSprites[spriteId].data[0] = 0x1F;
@@ -2518,58 +2519,59 @@ void sub_80BDB7C(u8 a)
if (!IsNationalPokedexEnabled())
{
- CreateSprite(&gUnknown_0855D1F4, 32, 40, 1);
-
- spriteId = CreateSprite(&gUnknown_0855D1F4, 32, 72, 1);
+// Seen text
+ CreateSprite(&sSeenOwnTextSpriteTemplate, 32, 40, 1);
+// Own text
+ spriteId = CreateSprite(&sSeenOwnTextSpriteTemplate, 32, 72, 1);
StartSpriteAnim(&gSprites[spriteId], 1);
_a = 0;
-
+// Seen value - 100s
spriteId = CreateSprite(&gUnknown_0855D224, 24, 48, 1);
- r5 = gUnknown_02039B4C->unk61A / 100;
+ r5 = sPokedexView->seenCount / 100;
StartSpriteAnim(&gSprites[spriteId], r5);
if (r5 != 0)
_a = 1;
else
gSprites[spriteId].invisible = TRUE;
-
+// Seen value - 10s
spriteId = CreateSprite(&gUnknown_0855D224, 32, 48, 1);
- r5 = (gUnknown_02039B4C->unk61A % 100) / 10;
+ r5 = (sPokedexView->seenCount % 100) / 10;
if (r5 != 0 || _a != 0)
StartSpriteAnim(&gSprites[spriteId], r5);
else
gSprites[spriteId].invisible = TRUE;
-
+// Seen value - 1s
spriteId = CreateSprite(&gUnknown_0855D224, 40, 48, 1);
- r5 = (gUnknown_02039B4C->unk61A % 100) % 10;
+ r5 = (sPokedexView->seenCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
_a = 0;
-
+// Owned value - 100s
spriteId = CreateSprite(&gUnknown_0855D224, 24, 80, 1);
- r5 = gUnknown_02039B4C->unk61C / 100;
+ r5 = sPokedexView->ownCount / 100;
StartSpriteAnim(&gSprites[spriteId], r5);
if (r5 != 0)
_a = 1;
else
gSprites[spriteId].invisible = TRUE;
-
+// Owned value - 10s
spriteId = CreateSprite(&gUnknown_0855D224, 32, 80, 1);
- r5 = (gUnknown_02039B4C->unk61C % 100) / 10;
+ r5 = (sPokedexView->ownCount % 100) / 10;
if (r5 != 0 || _a != 0)
StartSpriteAnim(&gSprites[spriteId], r5);
else
gSprites[spriteId].invisible = TRUE;
-
+// Owned value -1s
spriteId = CreateSprite(&gUnknown_0855D224, 40, 80, 1);
- r5 = (gUnknown_02039B4C->unk61C % 100) % 10;
+ r5 = (sPokedexView->ownCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
}
else
{
u16 r6;
- CreateSprite(&gUnknown_0855D1F4, 32, 40, 1);
+ CreateSprite(&sSeenOwnTextSpriteTemplate, 32, 40, 1);
- spriteId = CreateSprite(&gUnknown_0855D1F4, 32, 76, 1);
+ spriteId = CreateSprite(&sSeenOwnTextSpriteTemplate, 32, 76, 1);
StartSpriteAnim(&gSprites[spriteId], 1);
CreateSprite(&gUnknown_0855D20C, 17, 45, 1);
@@ -2607,7 +2609,7 @@ void sub_80BDB7C(u8 a)
_a = 0;
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 55, 1);
- r5 = gUnknown_02039B4C->unk61A / 100;
+ r5 = sPokedexView->seenCount / 100;
StartSpriteAnim(&gSprites[spriteId], r5);
if (r5 != 0)
_a = 1;
@@ -2615,14 +2617,14 @@ void sub_80BDB7C(u8 a)
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&gUnknown_0855D23C, 48, 55, 1);
- r5 = (gUnknown_02039B4C->unk61A % 100) / 10;
+ r5 = (sPokedexView->seenCount % 100) / 10;
if (r5 != 0 || _a != 0)
StartSpriteAnim(&gSprites[spriteId], r5);
else
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&gUnknown_0855D23C, 56, 55, 1);
- r5 = (gUnknown_02039B4C->unk61A % 100) % 10;
+ r5 = (sPokedexView->seenCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
r6 = GetHoennPokedexCount(1);
@@ -2650,7 +2652,7 @@ void sub_80BDB7C(u8 a)
_a = 0;
spriteId = CreateSprite(&gUnknown_0855D23C, 40, 91, 1);
- r5 = gUnknown_02039B4C->unk61C / 100;
+ r5 = sPokedexView->ownCount / 100;
StartSpriteAnim(&gSprites[spriteId], r5);
if (r5 != 0)
_a = 1;
@@ -2658,14 +2660,14 @@ void sub_80BDB7C(u8 a)
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&gUnknown_0855D23C, 48, 91, 1);
- r5 = (gUnknown_02039B4C->unk61C % 100) / 10;
+ r5 = (sPokedexView->ownCount % 100) / 10;
if (r5 != 0 || _a != 0)
StartSpriteAnim(&gSprites[spriteId], r5);
else
gSprites[spriteId].invisible = TRUE;
spriteId = CreateSprite(&gUnknown_0855D23C, 56, 91, 1);
- r5 = (gUnknown_02039B4C->unk61C % 100) % 10;
+ r5 = (sPokedexView->ownCount % 100) % 10;
StartSpriteAnim(&gSprites[spriteId], r5);
}
spriteId = CreateSprite(&gUnknown_0855D254, 136, 96, 1);
@@ -2684,7 +2686,7 @@ void nullsub_38(struct Sprite *sprite)
void sub_80BE44C(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0)
+ if (sPokedexView->unk64A != 0)
DestroySprite(sprite);
}
@@ -2717,10 +2719,10 @@ void sub_80BE4E0(struct Sprite *sprite)
{
u8 data1 = sprite->data[1];
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
- FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[data1]);
- gUnknown_02039B4C->unk61E[data1] = 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]);
+ sPokedexView->unk61E[data1] = 0xFFFF;
}
else
{
@@ -2745,23 +2747,23 @@ void sub_80BE4E0(struct Sprite *sprite)
if ((sprite->data[5] <= -64 || sprite->data[5] >= 64) && sprite->data[0] != 0)
{
- FreeAndDestroyMonPicSprite(gUnknown_02039B4C->unk61E[data1]);
- gUnknown_02039B4C->unk61E[data1] = 0xFFFF;
+ FreeAndDestroyMonPicSprite(sPokedexView->unk61E[data1]);
+ sPokedexView->unk61E[data1] = 0xFFFF;
}
}
}
-void sub_80BE604(struct Sprite *sprite)
+static void SpriteCB_Scrollbar(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
DestroySprite(sprite);
else
- sprite->pos2.y = gUnknown_02039B4C->selectedPokemon * 120 / (gUnknown_02039B4C->pokemonListCount - 1);
+ sprite->pos2.y = sPokedexView->selectedPokemon * 120 / (sPokedexView->pokemonListCount - 1);
}
void sub_80BE658(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
DestroySprite(sprite);
}
@@ -2771,7 +2773,7 @@ void sub_80BE658(struct Sprite *sprite)
if (sprite->data[1] != 0)
{
- if (gUnknown_02039B4C->selectedPokemon == gUnknown_02039B4C->pokemonListCount - 1)
+ if (sPokedexView->selectedPokemon == sPokedexView->pokemonListCount - 1)
sprite->invisible = TRUE;
else
sprite->invisible = FALSE;
@@ -2779,7 +2781,7 @@ void sub_80BE658(struct Sprite *sprite)
}
else
{
- if (gUnknown_02039B4C->selectedPokemon == 0)
+ if (sPokedexView->selectedPokemon == 0)
sprite->invisible = TRUE;
else
sprite->invisible = FALSE;
@@ -2787,7 +2789,7 @@ void sub_80BE658(struct Sprite *sprite)
}
sprite->pos2.y = gSineTable[r0] / 64;
sprite->data[2] = sprite->data[2] + 8;
- if (gUnknown_02039B4C->menuIsOpen == 0 && gUnknown_02039B4C->menuY == 0 && sprite->invisible == 0)
+ if (sPokedexView->menuIsOpen == 0 && sPokedexView->menuY == 0 && sprite->invisible == 0)
sprite->invisible = FALSE;
else
sprite->invisible = TRUE;
@@ -2796,13 +2798,13 @@ void sub_80BE658(struct Sprite *sprite)
void sub_80BE758(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
DestroySprite(sprite);
}
void sub_80BE780(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
DestroySprite(sprite);
}
@@ -2812,12 +2814,12 @@ void sub_80BE780(struct Sprite *sprite)
s16 r3;
s16 r0;
- val = gUnknown_02039B4C->unk62C + sprite->data[1];
+ val = sPokedexView->unk62C + sprite->data[1];
r3 = gSineTable[val];
r0 = gSineTable[val + 0x40];
SetOamMatrix(sprite->data[0], r0, r3, -r3, r0);
- val = gUnknown_02039B4C->unk62C + (sprite->data[1] + 0x40);
+ val = sPokedexView->unk62C + (sprite->data[1] + 0x40);
r3 = gSineTable[val];
r0 = gSineTable[val + 0x40];
sprite->pos2.x = r0 * 40 / 256;
@@ -2827,18 +2829,18 @@ void sub_80BE780(struct Sprite *sprite)
void sub_80BE834(struct Sprite *sprite)
{
- if (gUnknown_02039B4C->unk64A != 0 && gUnknown_02039B4C->unk64A != 3)
+ if (sPokedexView->unk64A != 0 && sPokedexView->unk64A != 3)
{
DestroySprite(sprite);
}
else
{
- u16 r1 = gUnknown_02039B4C->unk64A == 0 ? 80 : 96;
+ u16 r1 = sPokedexView->unk64A == 0 ? 80 : 96;
- if (gUnknown_02039B4C->menuIsOpen != 0 && gUnknown_02039B4C->menuY == r1)
+ if (sPokedexView->menuIsOpen != 0 && sPokedexView->menuY == r1)
{
sprite->invisible = FALSE;
- sprite->pos2.y = gUnknown_02039B4C->menuCursorPos * 16;
+ sprite->pos2.y = sPokedexView->menuCursorPos * 16;
sprite->pos2.x = gSineTable[(u8)sprite->data[2]] / 64;
sprite->data[2] += 8;
}
@@ -2863,7 +2865,7 @@ u8 sub_80BE91C(struct PokedexListItem* item, u8 b)
{
u8 taskId;
- gUnknown_02039B54 = item;
+ sPokedexListItem = item;
taskId = CreateTask(sub_80BEA24, 0);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 1;
@@ -2893,7 +2895,7 @@ bool8 sub_80BE9C4(u8 taskId)
u8 sub_80BE9F8(struct PokedexListItem *item, u8 b)
{
- gUnknown_02039B54 = item;
+ sPokedexListItem = item;
gTasks[b].data[0] = 1;
gTasks[b].data[1] = 0;
gTasks[b].data[2] = 0;
@@ -2911,7 +2913,7 @@ void sub_80BEA24(u8 taskId)
{
u16 r2;
- gUnknown_02039B4C->unk64A = 1;
+ sPokedexView->unk64A = 1;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
r2 = 0;
@@ -2925,26 +2927,26 @@ void sub_80BEA24(u8 taskId)
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(3, gUnknown_08DC3080, 0, 0);
+ CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0);
FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0);
PutWindowTilemap(1);
- sub_80C0D30(1, gUnknown_02039B54->dexNum);
+ sub_80C0D30(1, sPokedexListItem->dexNum);
CopyWindowToVram(1, 2);
gMain.state++;
break;
case 2:
sub_80BFCDC(0xD);
- sub_80BFD0C(gUnknown_02039B4C->selectedScreen, 0xD);
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
+ sub_80BFD0C(sPokedexView->selectedScreen, 0xD);
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
gMain.state++;
break;
case 3:
gMain.state++;
break;
case 4:
- sub_80C020C(gUnknown_02039B54->dexNum, gUnknown_02039B4C->dexMode == 0 ? 0 : 1, gUnknown_02039B54->owned, 0);
- if (!gUnknown_02039B54->owned)
+ sub_80C020C(sPokedexListItem->dexNum, sPokedexView->dexMode == 0 ? 0 : 1, sPokedexListItem->owned, 0);
+ if (!sPokedexListItem->owned)
LoadPalette(gPlttBufferUnfaded + 1, 0x31, 0x1E);
CopyWindowToVram(0, 3);
CopyBgTilemapBufferToVram(1);
@@ -2955,7 +2957,7 @@ void sub_80BEA24(u8 taskId)
case 5:
if (gTasks[taskId].data[1] == 0)
{
- gTasks[taskId].data[4] = (u16)sub_80C0E9C(gUnknown_02039B54->dexNum, 0x30, 0x38, 0);
+ gTasks[taskId].data[4] = (u16)CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0);
gSprites[gTasks[taskId].data[4]].oam.priority = 0;
}
gMain.state++;
@@ -2991,7 +2993,7 @@ void sub_80BEA24(u8 taskId)
if (gTasks[taskId].data[3] == 0)
{
StopCryAndClearCrySongs();
- PlayCry2(NationalPokedexNumToSpecies(gUnknown_02039B54->dexNum), 0, 0x7D, 0xA);
+ PlayCry2(NationalPokedexNumToSpecies(sPokedexListItem->dexNum), 0, 0x7D, 0xA);
}
else
{
@@ -3050,29 +3052,29 @@ void sub_80BEDF4(u8 taskId)
}
if (gMain.newKeys & A_BUTTON)
{
- switch (gUnknown_02039B4C->selectedScreen)
+ switch (sPokedexView->selectedScreen)
{
case AREA_SCREEN:
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 1;
+ sPokedexView->unk64E = 1;
gTasks[taskId].func = sub_80BEFD0;
PlaySE(SE_PIN);
break;
case CRY_SCREEN:
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 2;
+ sPokedexView->unk64E = 2;
gTasks[taskId].func = sub_80BEFD0;
PlaySE(SE_PIN);
break;
case SIZE_SCREEN:
- if (!gUnknown_02039B54->owned)
+ if (!sPokedexListItem->owned)
{
PlaySE(SE_HAZURE);
}
else
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 3;
+ sPokedexView->unk64E = 3;
gTasks[taskId].func = sub_80BEFD0;
PlaySE(SE_PIN);
}
@@ -3087,19 +3089,19 @@ void sub_80BEDF4(u8 taskId)
}
if (((gMain.newKeys & DPAD_LEFT)
|| ((gMain.newKeys & L_BUTTON) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
- && gUnknown_02039B4C->selectedScreen > 0)
+ && sPokedexView->selectedScreen > 0)
{
- gUnknown_02039B4C->selectedScreen--;
- sub_80BFD0C(gUnknown_02039B4C->selectedScreen, 0xD);
+ sPokedexView->selectedScreen--;
+ sub_80BFD0C(sPokedexView->selectedScreen, 0xD);
PlaySE(SE_Z_PAGE);
return;
}
if (((gMain.newKeys & DPAD_RIGHT)
|| ((gMain.newKeys & R_BUTTON) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
- && gUnknown_02039B4C->selectedScreen < 3)
+ && sPokedexView->selectedScreen < 3)
{
- gUnknown_02039B4C->selectedScreen++;
- sub_80BFD0C(gUnknown_02039B4C->selectedScreen, 0xD);
+ sPokedexView->selectedScreen++;
+ sub_80BFD0C(sPokedexView->selectedScreen, 0xD);
PlaySE(SE_Z_PAGE);
return;
}
@@ -3110,7 +3112,7 @@ void sub_80BEFD0(u8 taskId)
if (!gPaletteFade.active)
{
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
- switch (gUnknown_02039B4C->unk64E)
+ switch (sPokedexView->unk64E)
{
case 1:
default:
@@ -3153,25 +3155,25 @@ void sub_80BF0AC(u8 taskId)
default:
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk64A = 5;
+ sPokedexView->unk64A = 5;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
sub_80C09B0(0x200);
- gUnknown_02039B4C->selectedScreen = AREA_SCREEN;
+ sPokedexView->selectedScreen = AREA_SCREEN;
gMain.state = 1;
}
break;
case 1:
sub_80BFCF4(0xD);
sub_80BFD7C(0, 0xD);
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(13) | BGCNT_16COLOR | BGCNT_TXT256x256);
gMain.state++;
break;
case 2:
- sub_813D3D8(NationalPokedexNumToSpecies(gUnknown_02039B54->dexNum), &gUnknown_02039B4C->unk64E);
+ ShowPokedexAreaScreen(NationalPokedexNumToSpecies(sPokedexListItem->dexNum), &sPokedexView->unk64E);
SetVBlankCallback(gUnknown_030060B4);
- gUnknown_02039B4C->unk64E = 0;
+ sPokedexView->unk64E = 0;
gMain.state = 0;
gTasks[taskId].func = sub_80BF1B4;
break;
@@ -3180,7 +3182,7 @@ void sub_80BF0AC(u8 taskId)
void sub_80BF1B4(u8 taskId)
{
- if (gUnknown_02039B4C->unk64E != 0)
+ if (sPokedexView->unk64E != 0)
gTasks[taskId].func = sub_80BF1EC;
}
@@ -3188,7 +3190,7 @@ void sub_80BF1EC(u8 taskId)
{
if (!gPaletteFade.active)
{
- switch (gUnknown_02039B4C->unk64E)
+ switch (sPokedexView->unk64E)
{
case 1:
default:
@@ -3210,17 +3212,17 @@ void sub_80BF250(u8 taskId)
if (!gPaletteFade.active)
{
m4aMPlayStop(&gMPlayInfo_BGM);
- gUnknown_02039B4C->unk64A = 6;
+ sPokedexView->unk64A = 6;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
sub_80C09B0(0x200);
- gUnknown_02039B4C->selectedScreen = CRY_SCREEN;
+ sPokedexView->selectedScreen = CRY_SCREEN;
gMain.state = 1;
}
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, &gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(3, &gUnknown_08DC3198, 0, 0);
+ CopyToBgTilemapBuffer(3, &gPokedexTilemap_CryScreen, 0, 0);
FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0);
PutWindowTilemap(3);
@@ -3230,7 +3232,7 @@ void sub_80BF250(u8 taskId)
case 2:
sub_80BFCF4(0xD);
sub_80BFD7C(1, 0xD);
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
gMain.state++;
break;
case 3:
@@ -3239,13 +3241,13 @@ void sub_80BF250(u8 taskId)
break;
case 4:
sub_80BE8DC(gText_CryOf, 0x52, 33);
- sub_80C0B44(0, gUnknown_02039B54->dexNum, 0x52, 49);
+ sub_80C0B44(0, sPokedexListItem->dexNum, 0x52, 49);
gMain.state++;
break;
case 5:
- gTasks[taskId].data[4] = sub_80C0E9C(gUnknown_02039B54->dexNum, 48, 56, 0);
+ gTasks[taskId].data[4] = CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 48, 56, 0);
gSprites[gTasks[taskId].data[4]].oam.priority = 0;
- gUnknown_030061EC = 0;
+ gDexCryScreenState = 0;
gMain.state++;
break;
case 6:
@@ -3260,7 +3262,7 @@ void sub_80BF250(u8 taskId)
if (sub_8145354(&sp4, 2) != 0)
{
gMain.state++;
- gUnknown_030061EC = 0;
+ gDexCryScreenState = 0;
}
}
break;
@@ -3298,7 +3300,7 @@ void sub_80BF250(u8 taskId)
gMain.state++;
break;
case 10:
- gUnknown_02039B4C->unk64E = 0;
+ sPokedexView->unk64E = 0;
gMain.state = 0;
gTasks[taskId].func = sub_80BF5CC;
break;
@@ -3317,7 +3319,7 @@ void sub_80BF5CC(u8 taskId)
if (gMain.newKeys & A_BUTTON)
{
sub_80BF7FC(1);
- sub_8145534(NationalPokedexNumToSpecies(gUnknown_02039B54->dexNum));
+ sub_8145534(NationalPokedexNumToSpecies(sPokedexListItem->dexNum));
return;
}
else if (!gPaletteFade.active)
@@ -3326,7 +3328,7 @@ void sub_80BF5CC(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
m4aMPlayContinue(&gMPlayInfo_BGM);
- gUnknown_02039B4C->unk64E = 1;
+ sPokedexView->unk64E = 1;
gTasks[taskId].func = sub_80BF790;
PlaySE(SE_PC_OFF);
return;
@@ -3336,7 +3338,7 @@ void sub_80BF5CC(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
m4aMPlayContinue(&gMPlayInfo_BGM);
- gUnknown_02039B4C->unk64E = 2;
+ sPokedexView->unk64E = 2;
gTasks[taskId].func = sub_80BF790;
PlaySE(SE_Z_PAGE);
return;
@@ -3344,7 +3346,7 @@ void sub_80BF5CC(u8 taskId)
if ((gMain.newKeys & DPAD_RIGHT)
|| ((gMain.newKeys & R_BUTTON) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
{
- if (!gUnknown_02039B54->owned)
+ if (!sPokedexListItem->owned)
{
PlaySE(SE_HAZURE);
}
@@ -3352,7 +3354,7 @@ void sub_80BF5CC(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
m4aMPlayContinue(&gMPlayInfo_BGM);
- gUnknown_02039B4C->unk64E = 3;
+ sPokedexView->unk64E = 3;
gTasks[taskId].func = sub_80BF790;
PlaySE(SE_Z_PAGE);
}
@@ -3367,7 +3369,7 @@ void sub_80BF790(u8 taskId)
{
sub_8145914();
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
- switch (gUnknown_02039B4C->unk64E)
+ switch (sPokedexView->unk64E)
{
default:
case 1:
@@ -3404,17 +3406,17 @@ void sub_80BF82C(u8 taskId)
case 0:
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk64A = 7;
+ sPokedexView->unk64A = 7;
gUnknown_030060B4 = gMain.vblankCallback;
SetVBlankCallback(NULL);
sub_80C09B0(0x200);
- gUnknown_02039B4C->selectedScreen = SIZE_SCREEN;
+ sPokedexView->selectedScreen = SIZE_SCREEN;
gMain.state = 1;
}
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(3, gUnknown_08DC2E6C, 0, 0);
+ CopyToBgTilemapBuffer(3, gPokedexTilemap_SizeScreen, 0, 0);
FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0);
gMain.state++;
@@ -3422,7 +3424,7 @@ void sub_80BF82C(u8 taskId)
case 2:
sub_80BFCF4(0xD);
sub_80BFD7C(2, 0xD);
- sub_80BC844(gUnknown_02039B4C->unk64C_1);
+ LoadPokedexBgPalette(sPokedexView->unk64C_1);
gMain.state++;
break;
case 3:
@@ -3444,19 +3446,19 @@ void sub_80BF82C(u8 taskId)
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.matrixNum = 1;
gSprites[spriteId].oam.priority = 0;
- gSprites[spriteId].pos2.y = gPokedexEntries[gUnknown_02039B54->dexNum].trainerOffset;
- SetOamMatrix(1, gPokedexEntries[gUnknown_02039B54->dexNum].trainerScale, 0, 0, gPokedexEntries[gUnknown_02039B54->dexNum].trainerScale);
+ gSprites[spriteId].pos2.y = gPokedexEntries[sPokedexListItem->dexNum].trainerOffset;
+ SetOamMatrix(1, gPokedexEntries[sPokedexListItem->dexNum].trainerScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].trainerScale);
LoadPalette(gUnknown_0856E610, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20);
gTasks[taskId].data[5] = spriteId;
gMain.state++;
break;
case 6:
- spriteId = sub_80C0E9C(gUnknown_02039B54->dexNum, 88, 56, 1);
+ spriteId = CreateMonSpriteFromNationalDexNumber(sPokedexListItem->dexNum, 88, 56, 1);
gSprites[spriteId].oam.affineMode = 1;
gSprites[spriteId].oam.matrixNum = 2;
gSprites[spriteId].oam.priority = 0;
- gSprites[spriteId].pos2.y = gPokedexEntries[gUnknown_02039B54->dexNum].pokemonOffset;
- SetOamMatrix(2, gPokedexEntries[gUnknown_02039B54->dexNum].pokemonScale, 0, 0, gPokedexEntries[gUnknown_02039B54->dexNum].pokemonScale);
+ gSprites[spriteId].pos2.y = gPokedexEntries[sPokedexListItem->dexNum].pokemonOffset;
+ SetOamMatrix(2, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale, 0, 0, gPokedexEntries[sPokedexListItem->dexNum].pokemonScale);
LoadPalette(gUnknown_0856E610, (gSprites[spriteId].oam.paletteNum + 16) * 16, 0x20);
gTasks[taskId].data[4] = spriteId;
CopyWindowToVram(0, 3);
@@ -3484,7 +3486,7 @@ void sub_80BF82C(u8 taskId)
case 9:
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk64E = 0;
+ sPokedexView->unk64E = 0;
gMain.state = 0;
gTasks[taskId].func = sub_80BFBB0;
}
@@ -3497,7 +3499,7 @@ void sub_80BFBB0(u8 taskId)
if (gMain.newKeys & B_BUTTON)
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 1;
+ sPokedexView->unk64E = 1;
gTasks[taskId].func = sub_80BFC78;
PlaySE(SE_PC_OFF);
}
@@ -3505,7 +3507,7 @@ void sub_80BFBB0(u8 taskId)
|| ((gMain.newKeys & L_BUTTON) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
{
BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 0x10, RGB_BLACK);
- gUnknown_02039B4C->unk64E = 2;
+ sPokedexView->unk64E = 2;
gTasks[taskId].func = sub_80BFC78;
PlaySE(SE_Z_PAGE);
}
@@ -3517,7 +3519,7 @@ void sub_80BFC78(u8 taskId)
{
FreeAndDestroyMonPicSprite(gTasks[taskId].data[4]);
FreeAndDestroyTrainerPicSprite(gTasks[taskId].data[5]);
- switch (gUnknown_02039B4C->unk64E)
+ switch (sPokedexView->unk64E)
{
default:
case 1:
@@ -3532,12 +3534,12 @@ void sub_80BFC78(u8 taskId)
void sub_80BFCDC(u16 a)
{
- CopyToBgTilemapBuffer(1, gUnknown_08DC2F5C, 0, 0);
+ CopyToBgTilemapBuffer(1, gPokedexTilemap_ScreenSelectBar1, 0, 0);
}
void sub_80BFCF4(u16 a)
{
- CopyToBgTilemapBuffer(1, gUnknown_08DC2FEC, 0, 0);
+ CopyToBgTilemapBuffer(1, gPokedexTilemap_ScreenSelectBar2, 0, 0);
}
#ifdef NONMATCHING
@@ -3569,61 +3571,61 @@ void sub_80BFD0C(u8 a, u16 unused)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r8, r0\n\
- movs r0, 0x1\n\
- bl GetBgTilemapBuffer\n\
- adds r7, r0, 0\n\
- movs r1, 0\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r8, r0\n\
+ movs r0, 0x1\n\
+ bl GetBgTilemapBuffer\n\
+ adds r7, r0, 0\n\
+ movs r1, 0\n\
_080BFD22:\n\
- lsls r0, r1, 3\n\
- subs r0, r1\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r5, r0, 24\n\
- movs r3, 0x80\n\
- lsls r3, 7\n\
- cmp r1, r8\n\
- bne _080BFD38\n\
- movs r3, 0x80\n\
- lsls r3, 6\n\
+ lsls r0, r1, 3\n\
+ subs r0, r1\n\
+ adds r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ movs r3, 0x80\n\
+ lsls r3, 7\n\
+ cmp r1, r8\n\
+ bne _080BFD38\n\
+ movs r3, 0x80\n\
+ lsls r3, 6\n\
_080BFD38:\n\
- movs r2, 0\n\
- adds r6, r1, 0x1\n\
- ldr r4, =0x00000fff\n\
+ movs r2, 0\n\
+ adds r6, r1, 0x1\n\
+ ldr r4, =0x00000fff\n\
_080BFD3E:\n\
- adds r1, r5, r2\n\
- lsls r1, 1\n\
- adds r1, r7\n\
- ldrh r0, [r1]\n\
- ands r0, r4\n\
- orrs r0, r3\n\
- strh r0, [r1]\n\
- adds r1, 0x40\n\
- ldrh r0, [r1]\n\
- ands r0, r4\n\
- orrs r0, r3\n\
- strh r0, [r1]\n\
- adds r0, r2, 0x1\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- cmp r2, 0x6\n\
- bls _080BFD3E\n\
- lsls r0, r6, 24\n\
- lsrs r1, r0, 24\n\
- cmp r1, 0x3\n\
- bls _080BFD22\n\
- movs r0, 0x1\n\
- bl CopyBgTilemapBufferToVram\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
+ adds r1, r5, r2\n\
+ lsls r1, 1\n\
+ adds r1, r7\n\
+ ldrh r0, [r1]\n\
+ ands r0, r4\n\
+ orrs r0, r3\n\
+ strh r0, [r1]\n\
+ adds r1, 0x40\n\
+ ldrh r0, [r1]\n\
+ ands r0, r4\n\
+ orrs r0, r3\n\
+ strh r0, [r1]\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ cmp r2, 0x6\n\
+ bls _080BFD3E\n\
+ lsls r0, r6, 24\n\
+ lsrs r1, r0, 24\n\
+ cmp r1, 0x3\n\
+ bls _080BFD22\n\
+ movs r0, 0x1\n\
+ bl CopyBgTilemapBufferToVram\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n\
.syntax divided\n");
}
#endif
@@ -3659,66 +3661,66 @@ void sub_80BFD7C(u8 a, u16 b)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r8, r0\n\
- movs r0, 0x1\n\
- bl GetBgTilemapBuffer\n\
- adds r7, r0, 0\n\
- movs r1, 0\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r8, r0\n\
+ movs r0, 0x1\n\
+ bl GetBgTilemapBuffer\n\
+ adds r7, r0, 0\n\
+ movs r1, 0\n\
_080BFD92:\n\
- lsls r0, r1, 3\n\
- subs r0, r1\n\
- adds r0, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- cmp r1, r8\n\
- beq _080BFDA4\n\
- cmp r1, 0x3\n\
- bne _080BFDAA\n\
+ lsls r0, r1, 3\n\
+ subs r0, r1\n\
+ adds r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ cmp r1, r8\n\
+ beq _080BFDA4\n\
+ cmp r1, 0x3\n\
+ bne _080BFDAA\n\
_080BFDA4:\n\
- movs r3, 0x80\n\
- lsls r3, 6\n\
- b _080BFDAE\n\
+ movs r3, 0x80\n\
+ lsls r3, 6\n\
+ b _080BFDAE\n\
_080BFDAA:\n\
- movs r3, 0x80\n\
- lsls r3, 7\n\
+ movs r3, 0x80\n\
+ lsls r3, 7\n\
_080BFDAE:\n\
- movs r2, 0\n\
- adds r5, r1, 0x1\n\
- ldr r4, =0x00000fff\n\
+ movs r2, 0\n\
+ adds r5, r1, 0x1\n\
+ ldr r4, =0x00000fff\n\
_080BFDB4:\n\
- adds r1, r6, r2\n\
- lsls r1, 1\n\
- adds r1, r7\n\
- ldrh r0, [r1]\n\
- ands r0, r4\n\
- orrs r0, r3\n\
- strh r0, [r1]\n\
- adds r1, 0x40\n\
- ldrh r0, [r1]\n\
- ands r0, r4\n\
- orrs r0, r3\n\
- strh r0, [r1]\n\
- adds r0, r2, 0x1\n\
- lsls r0, 24\n\
- lsrs r2, r0, 24\n\
- cmp r2, 0x6\n\
- bls _080BFDB4\n\
- lsls r0, r5, 24\n\
- lsrs r1, r0, 24\n\
- cmp r1, 0x3\n\
- bls _080BFD92\n\
- movs r0, 0x1\n\
- bl CopyBgTilemapBufferToVram\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
+ adds r1, r6, r2\n\
+ lsls r1, 1\n\
+ adds r1, r7\n\
+ ldrh r0, [r1]\n\
+ ands r0, r4\n\
+ orrs r0, r3\n\
+ strh r0, [r1]\n\
+ adds r1, 0x40\n\
+ ldrh r0, [r1]\n\
+ ands r0, r4\n\
+ orrs r0, r3\n\
+ strh r0, [r1]\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r2, r0, 24\n\
+ cmp r2, 0x6\n\
+ bls _080BFDB4\n\
+ lsls r0, r5, 24\n\
+ lsrs r1, r0, 24\n\
+ cmp r1, 0x3\n\
+ bls _080BFD92\n\
+ movs r0, 0x1\n\
+ bl CopyBgTilemapBufferToVram\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n\
.syntax divided\n");
}
#endif
@@ -3761,14 +3763,14 @@ void sub_80BFE38(u8 taskId)
break;
case 1:
DecompressAndLoadBgGfxUsingHeap(3, gPokedexMenu_Gfx, 0x2000, 0, 0);
- CopyToBgTilemapBuffer(3, gUnknown_08DC3080, 0, 0);
+ CopyToBgTilemapBuffer(3, gPokedexTilemap_DescriptionScreen, 0, 0);
FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0);
PutWindowTilemap(1);
sub_80C0D30(1, gTasks[taskId].data[1]);
CopyWindowToVram(1, 2);
ResetPaletteFade();
- sub_80BC844(0);
+ LoadPokedexBgPalette(0);
gTasks[taskId].data[0]++;
break;
case 2:
@@ -3782,7 +3784,7 @@ void sub_80BFE38(u8 taskId)
gTasks[taskId].data[0]++;
break;
case 4:
- spriteId = sub_80C0E9C(dexNum, 0x30, 0x38, 0);
+ spriteId = CreateMonSpriteFromNationalDexNumber(dexNum, 48, 56, 0);
gSprites[spriteId].oam.priority = 0;
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK);
SetVBlankCallback(gUnknown_030060B4);
@@ -4023,216 +4025,216 @@ void sub_80C0460(u16 weight, u8 left, u8 top)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0x14\n\
- lsls r0, 16\n\
- lsrs r0, 16\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- mov r10, r1\n\
- lsls r2, 24\n\
- lsrs r2, 24\n\
- str r2, [sp, 0x10]\n\
- ldr r5, =0x000186a0\n\
- muls r0, r5\n\
- ldr r1, =0x000011b8\n\
- bl __divsi3\n\
- adds r7, r0, 0\n\
- movs r1, 0xA\n\
- bl __umodsi3\n\
- cmp r0, 0x4\n\
- bls _080C0494\n\
- adds r7, 0xA\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x14\n\
+ lsls r0, 16\n\
+ lsrs r0, 16\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ mov r10, r1\n\
+ lsls r2, 24\n\
+ lsrs r2, 24\n\
+ str r2, [sp, 0x10]\n\
+ ldr r5, =0x000186a0\n\
+ muls r0, r5\n\
+ ldr r1, =0x000011b8\n\
+ bl __divsi3\n\
+ adds r7, r0, 0\n\
+ movs r1, 0xA\n\
+ bl __umodsi3\n\
+ cmp r0, 0x4\n\
+ bls _080C0494\n\
+ adds r7, 0xA\n\
_080C0494:\n\
- movs r0, 0\n\
- mov r8, r0\n\
- mov r4, sp\n\
- adds r0, r7, 0\n\
- adds r1, r5, 0\n\
- bl __udivsi3\n\
- adds r0, 0xA1\n\
- strb r0, [r4]\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0xA1\n\
- bne _080C04C0\n\
- movs r6, 0x1\n\
- mov r1, sp\n\
- movs r0, 0x77\n\
- strb r0, [r1]\n\
- b _080C04C6\n\
- .pool\n\
+ movs r0, 0\n\
+ mov r8, r0\n\
+ mov r4, sp\n\
+ adds r0, r7, 0\n\
+ adds r1, r5, 0\n\
+ bl __udivsi3\n\
+ adds r0, 0xA1\n\
+ strb r0, [r4]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0xA1\n\
+ bne _080C04C0\n\
+ movs r6, 0x1\n\
+ mov r1, sp\n\
+ movs r0, 0x77\n\
+ strb r0, [r1]\n\
+ b _080C04C6\n\
+ .pool\n\
_080C04C0:\n\
- movs r1, 0x1\n\
- mov r8, r1\n\
- movs r6, 0x1\n\
+ movs r1, 0x1\n\
+ mov r8, r1\n\
+ movs r6, 0x1\n\
_080C04C6:\n\
- ldr r1, =0x000186a0\n\
- adds r0, r7, 0\n\
- bl __umodsi3\n\
- adds r7, r0, 0\n\
- mov r4, sp\n\
- adds r4, 0x1\n\
- ldr r1, =0x00002710\n\
- bl __udivsi3\n\
- adds r0, 0xA1\n\
- strb r0, [r4]\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0xA1\n\
- bne _080C0504\n\
- mov r2, r8\n\
- cmp r2, 0\n\
- bne _080C0504\n\
- adds r1, r6, 0\n\
- adds r0, r1, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- add r1, sp\n\
- movs r0, 0x77\n\
- strb r0, [r1]\n\
- b _080C050E\n\
- .pool\n\
+ ldr r1, =0x000186a0\n\
+ adds r0, r7, 0\n\
+ bl __umodsi3\n\
+ adds r7, r0, 0\n\
+ mov r4, sp\n\
+ adds r4, 0x1\n\
+ ldr r1, =0x00002710\n\
+ bl __udivsi3\n\
+ adds r0, 0xA1\n\
+ strb r0, [r4]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0xA1\n\
+ bne _080C0504\n\
+ mov r2, r8\n\
+ cmp r2, 0\n\
+ bne _080C0504\n\
+ adds r1, r6, 0\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ add r1, sp\n\
+ movs r0, 0x77\n\
+ strb r0, [r1]\n\
+ b _080C050E\n\
+ .pool\n\
_080C0504:\n\
- movs r3, 0x1\n\
- mov r8, r3\n\
- adds r0, r6, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
+ movs r3, 0x1\n\
+ mov r8, r3\n\
+ adds r0, r6, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
_080C050E:\n\
- ldr r1, =0x00002710\n\
- adds r0, r7, 0\n\
- bl __umodsi3\n\
- adds r7, r0, 0\n\
- mov r0, sp\n\
- adds r4, r0, r6\n\
- movs r1, 0xFA\n\
- lsls r1, 2\n\
- adds r0, r7, 0\n\
- bl __udivsi3\n\
- adds r0, 0xA1\n\
- strb r0, [r4]\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r0, 0xA1\n\
- bne _080C054C\n\
- mov r1, r8\n\
- cmp r1, 0\n\
- bne _080C054C\n\
- adds r1, r6, 0\n\
- adds r0, r1, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- add r1, sp\n\
- movs r0, 0x77\n\
- strb r0, [r1]\n\
- b _080C0552\n\
- .pool\n\
+ ldr r1, =0x00002710\n\
+ adds r0, r7, 0\n\
+ bl __umodsi3\n\
+ adds r7, r0, 0\n\
+ mov r0, sp\n\
+ adds r4, r0, r6\n\
+ movs r1, 0xFA\n\
+ lsls r1, 2\n\
+ adds r0, r7, 0\n\
+ bl __udivsi3\n\
+ adds r0, 0xA1\n\
+ strb r0, [r4]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0xA1\n\
+ bne _080C054C\n\
+ mov r1, r8\n\
+ cmp r1, 0\n\
+ bne _080C054C\n\
+ adds r1, r6, 0\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ add r1, sp\n\
+ movs r0, 0x77\n\
+ strb r0, [r1]\n\
+ b _080C0552\n\
+ .pool\n\
_080C054C:\n\
- adds r0, r6, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
+ adds r0, r6, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
_080C0552:\n\
- movs r1, 0xFA\n\
- lsls r1, 2\n\
- adds r0, r7, 0\n\
- bl __umodsi3\n\
- adds r7, r0, 0\n\
- adds r1, r6, 0\n\
- adds r0, r1, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- adds r5, r6, 0\n\
- mov r2, sp\n\
- adds r4, r2, r1\n\
- adds r0, r7, 0\n\
- movs r1, 0x64\n\
- bl __udivsi3\n\
- adds r0, 0xA1\n\
- movs r3, 0\n\
- mov r9, r3\n\
- strb r0, [r4]\n\
- adds r0, r7, 0\n\
- movs r1, 0x64\n\
- bl __umodsi3\n\
- adds r7, r0, 0\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- adds r1, r6, 0\n\
- mov r2, sp\n\
- adds r0, r2, r5\n\
- movs r3, 0xAD\n\
- mov r8, r3\n\
- mov r2, r8\n\
- strb r2, [r0]\n\
- adds r0, r1, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- adds r5, r6, 0\n\
- mov r3, sp\n\
- adds r4, r3, r1\n\
- adds r0, r7, 0\n\
- movs r1, 0xA\n\
- bl __udivsi3\n\
- adds r0, 0xA1\n\
- strb r0, [r4]\n\
- adds r0, r5, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- adds r1, r6, 0\n\
- mov r2, sp\n\
- adds r0, r2, r5\n\
- mov r3, r9\n\
- strb r3, [r0]\n\
- adds r0, r1, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- adds r2, r6, 0\n\
- add r1, sp\n\
- movs r0, 0xE0\n\
- strb r0, [r1]\n\
- adds r0, r2, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- adds r3, r6, 0\n\
- mov r0, sp\n\
- adds r1, r0, r2\n\
- movs r0, 0xD6\n\
- strb r0, [r1]\n\
- adds r0, r3, 0x1\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- adds r2, r6, 0\n\
- mov r0, sp\n\
- adds r1, r0, r3\n\
- movs r0, 0xE7\n\
- strb r0, [r1]\n\
- adds r0, r2, 0x1\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- mov r3, sp\n\
- adds r1, r3, r2\n\
- mov r2, r8\n\
- strb r2, [r1]\n\
- adds r1, r3, r0\n\
- movs r0, 0xFF\n\
- strb r0, [r1]\n\
- mov r0, sp\n\
- mov r1, r10\n\
- ldr r2, [sp, 0x10]\n\
- bl sub_80BE8DC\n\
- add sp, 0x14\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\
+ movs r1, 0xFA\n\
+ lsls r1, 2\n\
+ adds r0, r7, 0\n\
+ bl __umodsi3\n\
+ adds r7, r0, 0\n\
+ adds r1, r6, 0\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ adds r5, r6, 0\n\
+ mov r2, sp\n\
+ adds r4, r2, r1\n\
+ adds r0, r7, 0\n\
+ movs r1, 0x64\n\
+ bl __udivsi3\n\
+ adds r0, 0xA1\n\
+ movs r3, 0\n\
+ mov r9, r3\n\
+ strb r0, [r4]\n\
+ adds r0, r7, 0\n\
+ movs r1, 0x64\n\
+ bl __umodsi3\n\
+ adds r7, r0, 0\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ adds r1, r6, 0\n\
+ mov r2, sp\n\
+ adds r0, r2, r5\n\
+ movs r3, 0xAD\n\
+ mov r8, r3\n\
+ mov r2, r8\n\
+ strb r2, [r0]\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ adds r5, r6, 0\n\
+ mov r3, sp\n\
+ adds r4, r3, r1\n\
+ adds r0, r7, 0\n\
+ movs r1, 0xA\n\
+ bl __udivsi3\n\
+ adds r0, 0xA1\n\
+ strb r0, [r4]\n\
+ adds r0, r5, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ adds r1, r6, 0\n\
+ mov r2, sp\n\
+ adds r0, r2, r5\n\
+ mov r3, r9\n\
+ strb r3, [r0]\n\
+ adds r0, r1, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ adds r2, r6, 0\n\
+ add r1, sp\n\
+ movs r0, 0xE0\n\
+ strb r0, [r1]\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ adds r3, r6, 0\n\
+ mov r0, sp\n\
+ adds r1, r0, r2\n\
+ movs r0, 0xD6\n\
+ strb r0, [r1]\n\
+ adds r0, r3, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ adds r2, r6, 0\n\
+ mov r0, sp\n\
+ adds r1, r0, r3\n\
+ movs r0, 0xE7\n\
+ strb r0, [r1]\n\
+ adds r0, r2, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r3, sp\n\
+ adds r1, r3, r2\n\
+ mov r2, r8\n\
+ strb r2, [r1]\n\
+ adds r1, r3, r0\n\
+ movs r0, 0xFF\n\
+ strb r0, [r1]\n\
+ mov r0, sp\n\
+ mov r1, r10\n\
+ ldr r2, [sp, 0x10]\n\
+ bl sub_80BE8DC\n\
+ add sp, 0x14\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\
.syntax divided\n");
}
#endif
@@ -4340,7 +4342,7 @@ u16 GetHoennPokedexCount(u8 caseID)
u16 count = 0;
u16 i;
- for (i = 0; i < 202; i++)
+ for (i = 0; i < HOENN_DEX_COUNT; i++)
{
switch (caseID)
{
@@ -4409,17 +4411,17 @@ u16 sub_80C0944(void)
for (i = 0; i < 150; i++)
{
- if (GetSetPokedexFlag(i + 1, 1) == 0)
+ if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
return 0;
}
for (i = 151; i < 248; i++)
{
- if (GetSetPokedexFlag(i + 1, 1) == 0)
+ if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
return 0;
}
for (i = 251; i < 384; i++)
{
- if (GetSetPokedexFlag(i + 1, 1) == 0)
+ if (!GetSetPokedexFlag(i + 1, FLAG_GET_CAUGHT))
return 0;
}
return 1;
@@ -4635,10 +4637,10 @@ u32 sub_80C0E68(u16 a)
}
}
-u16 sub_80C0E9C(u16 num, s16 x, s16 y, u16 paletteSlot)
+u16 CreateMonSpriteFromNationalDexNumber(u16 nationalNum, s16 x, s16 y, u16 paletteSlot)
{
- num = NationalPokedexNumToSpecies(num);
- return CreateMonPicSprite_HandleDeoxys(num, 8, sub_80C0E68(num), TRUE, x, y, paletteSlot, 0xFFFF);
+ nationalNum = NationalPokedexNumToSpecies(nationalNum);
+ return CreateMonPicSprite_HandleDeoxys(nationalNum, 8, sub_80C0E68(nationalNum), TRUE, x, y, paletteSlot, 0xFFFF);
}
u16 sub_80C0EF8(u16 species, s16 x, s16 y, s8 paletteSlot)
@@ -4657,71 +4659,71 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8
for (i = 0, resultsCount = 0; i < NATIONAL_DEX_COUNT; i++)
{
- if (gUnknown_02039B4C->unk0[i].seen)
+ if (sPokedexView->pokedexList[i].seen)
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
- gUnknown_02039B4C->pokemonListCount = resultsCount;
+ sPokedexView->pokemonListCount = resultsCount;
// Search by name
if (abcGroup != 0xFF)
{
- for (i = 0, resultsCount = 0; i < gUnknown_02039B4C->pokemonListCount; i++)
+ for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
{
u8 r3;
- species = NationalPokedexNumToSpecies(gUnknown_02039B4C->unk0[i].dexNum);
+ species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
r3 = gSpeciesNames[species][0];
if ((r3 >= gUnknown_0856ED08[abcGroup][0] && r3 < gUnknown_0856ED08[abcGroup][0] + gUnknown_0856ED08[abcGroup][1])
|| (r3 >= gUnknown_0856ED08[abcGroup][2] && r3 < gUnknown_0856ED08[abcGroup][2] + gUnknown_0856ED08[abcGroup][3]))
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
- gUnknown_02039B4C->pokemonListCount = resultsCount;
+ sPokedexView->pokemonListCount = resultsCount;
}
// Search by body color
if (bodyColor != 0xFF)
{
- for (i = 0, resultsCount = 0; i < gUnknown_02039B4C->pokemonListCount; i++)
+ for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
{
- species = NationalPokedexNumToSpecies(gUnknown_02039B4C->unk0[i].dexNum);
+ species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
if (bodyColor == gBaseStats[species].bodyColor)
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
- gUnknown_02039B4C->pokemonListCount = resultsCount;
+ sPokedexView->pokemonListCount = resultsCount;
}
// Search by type
- if (type1 != 0xFF || type2 != 0xFF)
+ if (type1 != TYPE_NONE || type2 != TYPE_NONE)
{
- if (type1 == 0xFF)
+ if (type1 == TYPE_NONE)
{
type1 = type2;
- type2 = 0xFF;
+ type2 = TYPE_NONE;
}
- if (type2 == 0xFF)
+ if (type2 == TYPE_NONE)
{
- for (i = 0, resultsCount = 0; i < gUnknown_02039B4C->pokemonListCount; i++)
+ for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
{
- if (gUnknown_02039B4C->unk0[i].owned)
+ if (sPokedexView->pokedexList[i].owned)
{
- species = NationalPokedexNumToSpecies(gUnknown_02039B4C->unk0[i].dexNum);
+ species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
types[0] = gBaseStats[species].type1;
types[1] = gBaseStats[species].type2;
if (types[0] == type1 || types[1] == type1)
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
@@ -4729,33 +4731,32 @@ int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8
}
else
{
- for (i = 0, resultsCount = 0; i < gUnknown_02039B4C->pokemonListCount; i++)
+ for (i = 0, resultsCount = 0; i < sPokedexView->pokemonListCount; i++)
{
- if (gUnknown_02039B4C->unk0[i].owned)
+ if (sPokedexView->pokedexList[i].owned)
{
- species = NationalPokedexNumToSpecies(gUnknown_02039B4C->unk0[i].dexNum);
+ species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum);
types[0] = gBaseStats[species].type1;
types[1] = gBaseStats[species].type2;
if ((types[0] == type1 && types[1] == type2) || (types[0] == type2 && types[1] == type1))
{
- gUnknown_02039B4C->unk0[resultsCount] = gUnknown_02039B4C->unk0[i];
+ sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i];
resultsCount++;
}
}
}
}
- gUnknown_02039B4C->pokemonListCount = resultsCount;
+ sPokedexView->pokemonListCount = resultsCount;
}
- if (gUnknown_02039B4C->pokemonListCount != 0)
+ if (sPokedexView->pokemonListCount != 0)
{
- for (i = gUnknown_02039B4C->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
+ for (i = sPokedexView->pokemonListCount; i < NATIONAL_DEX_COUNT; i++)
{
- gUnknown_02039B4C->unk0[i].dexNum = 0xFFFF;
- gUnknown_02039B4C->unk0[i].seen = FALSE;
- gUnknown_02039B4C->unk0[i].owned = FALSE;
-
+ sPokedexView->pokedexList[i].dexNum = 0xFFFF;
+ sPokedexView->pokedexList[i].seen = FALSE;
+ sPokedexView->pokedexList[i].owned = FALSE;
}
}
@@ -4792,7 +4793,7 @@ void sub_80C12E0(u8 taskId)
case 0:
if (!gPaletteFade.active)
{
- gUnknown_02039B4C->unk64A = 2;
+ sPokedexView->unk64A = 2;
sub_80C09B0(0);
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_0856EFF8, 4);
@@ -4814,8 +4815,8 @@ void sub_80C12E0(u8 taskId)
}
break;
case 1:
- LoadCompressedObjectPic(gSpriteSheets_0855D26C);
- LoadSpritePalettes(gSpritePalettes_0855D26C);
+ LoadCompressedObjectPic(sInterfaceSpriteSheet);
+ LoadSpritePalettes(sInterfaceSpritePalette);
sub_80C2594(taskId);
for (i = 0; i < 16; i++)
gTasks[taskId].data[i] = 0;
@@ -4970,15 +4971,15 @@ void sub_80C170C(u8 taskId)
if (gTasks[taskId].data[0] != 0)
{
gUnknown_02039B52 = 0x40;
- gUnknown_02039B4C->unk62A = 0x40;
+ sPokedexView->unk62A = 0x40;
gUnknown_02039B50 = 0;
- gUnknown_02039B4C->unk610 = 0;
- gSaveBlock2Ptr->pokedex.unknown1 = sub_80C2318(taskId, 5);
+ sPokedexView->unk610 = 0;
+ gSaveBlock2Ptr->pokedex.mode = sub_80C2318(taskId, 5);
if (!IsNationalPokedexEnabled())
- gSaveBlock2Ptr->pokedex.unknown1 = 0;
- gUnknown_02039B4C->unk614 = gSaveBlock2Ptr->pokedex.unknown1;
+ gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN;
+ sPokedexView->unk614 = gSaveBlock2Ptr->pokedex.mode;
gSaveBlock2Ptr->pokedex.order = sub_80C2318(taskId, 4);
- gUnknown_02039B4C->unk618 = gSaveBlock2Ptr->pokedex.order;
+ sPokedexView->unk618 = gSaveBlock2Ptr->pokedex.order;
PlaySE(SE_PC_OFF);
gTasks[taskId].func = sub_80C1D38;
}
@@ -5049,7 +5050,7 @@ void sub_80C1A4C(u8 taskId)
{
if (!IsSEPlaying())
{
- if (gUnknown_02039B4C->pokemonListCount != 0)
+ if (sPokedexView->pokemonListCount != 0)
{
PlaySE(SE_SEIKAI);
sub_80C2618(gText_SearchCompleted);
@@ -5068,11 +5069,11 @@ void sub_80C1AB8(u8 taskId)
{
if (gMain.newKeys & A_BUTTON)
{
- if (gUnknown_02039B4C->pokemonListCount != 0)
+ if (sPokedexView->pokemonListCount != 0)
{
- gUnknown_02039B4C->unk64E = 1;
- gUnknown_02039B4C->dexMode = sub_80C2318(taskId, 5);
- gUnknown_02039B4C->dexOrder = sub_80C2318(taskId, 4);
+ sPokedexView->unk64E = 1;
+ sPokedexView->dexMode = sub_80C2318(taskId, 5);
+ sPokedexView->dexOrder = sub_80C2318(taskId, 4);
gTasks[taskId].func = sub_80C1D38;
PlaySE(SE_PC_OFF);
}
@@ -5106,14 +5107,14 @@ void sub_80C1B64(u8 taskId)
void sub_80C1BCC(u8 taskId)
{
u8 r1;
- const struct UnknownStruct2 *r8;
+ const struct PokedexOption *r8;
u16 *p1;
u16 *p2;
u16 r2;
bool8 r3;
r1 = gTasks[taskId].data[1];
- r8 = gUnknown_0856EFC8[r1].unk0;
+ r8 = gUnknown_0856EFC8[r1].pokedexList;
p1 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk4];
p2 = &gTasks[taskId].data[gUnknown_0856EFC8[r1].unk5];
r2 = gUnknown_0856EFC8[r1].unk6 - 1;
@@ -5159,7 +5160,7 @@ void sub_80C1BCC(u8 taskId)
if (r3)
{
PlaySE(SE_SELECT);
- sub_80C2618(r8[*p1 + *p2].text1);
+ sub_80C2618(r8[*p1 + *p2].description);
CopyWindowToVram(0, 2);
}
return;
@@ -5183,7 +5184,7 @@ void sub_80C1BCC(u8 taskId)
if (r3)
{
PlaySE(SE_SELECT);
- sub_80C2618(r8[*p1 + *p2].text1);
+ sub_80C2618(r8[*p1 + *p2].description);
CopyWindowToVram(0, 2);
}
return;
@@ -5226,54 +5227,54 @@ void sub_80C1D98(u8 a, u8 b, u8 c, u8 d)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- adds r4, r3, 0\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- lsls r1, 24\n\
- lsrs r1, 24\n\
- mov r8, r1\n\
- lsls r2, 24\n\
- lsrs r5, r2, 24\n\
- lsls r4, 24\n\
- lsrs r4, 24\n\
- movs r0, 0x3\n\
- bl GetBgTilemapBuffer\n\
- adds r2, r0, 0\n\
- movs r3, 0\n\
- cmp r3, r4\n\
- bcs _080C1DEC\n\
- lsls r0, r5, 6\n\
- adds r7, r0, r2\n\
- ldr r5, =0x00000fff\n\
- lsls r2, r6, 12\n\
+ mov r7, r8\n\
+ push {r7}\n\
+ adds r4, r3, 0\n\
+ lsls r0, 24\n\
+ lsrs r6, r0, 24\n\
+ lsls r1, 24\n\
+ lsrs r1, 24\n\
+ mov r8, r1\n\
+ lsls r2, 24\n\
+ lsrs r5, r2, 24\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ movs r0, 0x3\n\
+ bl GetBgTilemapBuffer\n\
+ adds r2, r0, 0\n\
+ movs r3, 0\n\
+ cmp r3, r4\n\
+ bcs _080C1DEC\n\
+ lsls r0, r5, 6\n\
+ adds r7, r0, r2\n\
+ ldr r5, =0x00000fff\n\
+ lsls r2, r6, 12\n\
_080C1DC8:\n\
- mov r0, r8\n\
- adds r1, r0, r3\n\
- lsls r1, 1\n\
- adds r1, r7\n\
- ldrh r0, [r1]\n\
- ands r0, r5\n\
- orrs r0, r2\n\
- strh r0, [r1]\n\
- adds r1, 0x40\n\
- ldrh r0, [r1]\n\
- ands r0, r5\n\
- orrs r0, r2\n\
- strh r0, [r1]\n\
- adds r0, r3, 0x1\n\
- lsls r0, 16\n\
- lsrs r3, r0, 16\n\
- cmp r3, r4\n\
- bcc _080C1DC8\n\
+ mov r0, r8\n\
+ adds r1, r0, r3\n\
+ lsls r1, 1\n\
+ adds r1, r7\n\
+ ldrh r0, [r1]\n\
+ ands r0, r5\n\
+ orrs r0, r2\n\
+ strh r0, [r1]\n\
+ adds r1, 0x40\n\
+ ldrh r0, [r1]\n\
+ ands r0, r5\n\
+ orrs r0, r2\n\
+ strh r0, [r1]\n\
+ adds r0, r3, 0x1\n\
+ lsls r0, 16\n\
+ lsrs r3, r0, 16\n\
+ cmp r3, r4\n\
+ bcc _080C1DC8\n\
_080C1DEC:\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool\n\
+ pop {r3}\n\
+ mov r8, r3\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .pool\n\
.syntax divided\n");
}
#endif
@@ -5402,24 +5403,24 @@ void sub_80C20F8(u8 taskId)
sub_80C12B0(0x28, 0x10, 0x60, 0x50);
var = gTasks[taskId].data[6] + gTasks[taskId].data[7];
- sub_80C1270(gUnknown_0856EE5C[var].text2, 0x2D, 0x11);
+ sub_80C1270(gDexSearchAlphaOptions[var].title, 0x2D, 0x11);
var = gTasks[taskId].data[8] + gTasks[taskId].data[9];
- sub_80C1270(gUnknown_0856EEB4[var].text2, 0x2D, 0x21);
+ sub_80C1270(gDexSearchColorOptions[var].title, 0x2D, 0x21);
var = gTasks[taskId].data[10] + gTasks[taskId].data[11];
- sub_80C1270(gUnknown_0856EF14[var].text2, 0x2D, 0x31);
+ sub_80C1270(gDexSearchTypeOptions[var].title, 0x2D, 0x31);
var = gTasks[taskId].data[12] + gTasks[taskId].data[13];
- sub_80C1270(gUnknown_0856EF14[var].text2, 0x5D, 0x31);
+ sub_80C1270(gDexSearchTypeOptions[var].title, 0x5D, 0x31);
var = gTasks[taskId].data[4] + gTasks[taskId].data[5];
- sub_80C1270(gUnknown_0856EE24[var].text2, 0x2D, 0x41);
+ sub_80C1270(gDexSortOptions[var].title, 0x2D, 0x41);
if (IsNationalPokedexEnabled())
{
var = gTasks[taskId].data[2] + gTasks[taskId].data[3];
- sub_80C1270(gUnknown_0856EE0C[var].text2, 0x2D, 0x51);
+ sub_80C1270(gDexModeOptions[var].title, 0x2D, 0x51);
}
}
@@ -5458,45 +5459,45 @@ void sub_80C21D4(u8 a)
void sub_80C2294(u8 taskId)
{
- const struct UnknownStruct2 *r6 = gUnknown_0856EFC8[gTasks[taskId].data[1]].unk0;
+ const struct PokedexOption *r6 = gUnknown_0856EFC8[gTasks[taskId].data[1]].pokedexList;
const u16 *r8 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk4];
const u16 *r7 = &gTasks[taskId].data[gUnknown_0856EFC8[gTasks[taskId].data[1]].unk5];
u16 i;
u16 j;
sub_80C267C();
- for (i = 0, j = *r7; i < 6 && r6[j].text2 != NULL; i++, j++)
- sub_80C2668(i, r6[j].text2);
- sub_80C2618(r6[*r8 + *r7].text1);
+ for (i = 0, j = *r7; i < 6 && r6[j].title != NULL; i++, j++)
+ sub_80C2668(i, r6[j].title);
+ sub_80C2618(r6[*r8 + *r7].description);
}
u8 sub_80C2318(u8 taskId, u8 b)
{
const u16 *ptr1 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk4];
const u16 *ptr2 = &gTasks[taskId].data[gUnknown_0856EFC8[b].unk5];
- u16 r2 = *ptr1 + *ptr2;
+ u16 type = *ptr1 + *ptr2;
switch (b)
{
default:
return 0;
case 5:
- return gUnknown_0856EFAC[r2];
+ return gUnknown_0856EFAC[type];
case 4:
- return gUnknown_0856EFAE[r2];
+ return gUnknown_0856EFAE[type];
case 0:
- if (r2 == 0)
+ if (type == 0)
return 0xFF;
else
- return r2;
+ return type;
case 1:
- if (r2 == 0)
+ if (type == 0)
return 0xFF;
else
- return r2 - 1;
+ return type - 1;
case 2:
case 3:
- return gUnknown_0856EFB4[r2];
+ return gDexSearchTypeIds[type];
}
}
@@ -5504,7 +5505,7 @@ void sub_80C23B8(u8 taskId)
{
u16 r3;
- switch (gUnknown_02039B4C->unk614)
+ switch (sPokedexView->unk614)
{
default:
case 0:
@@ -5516,7 +5517,7 @@ void sub_80C23B8(u8 taskId)
}
gTasks[taskId].data[2] = r3;
- switch (gUnknown_02039B4C->unk618)
+ switch (sPokedexView->unk618)
{
default:
case 0:
@@ -5599,12 +5600,12 @@ void sub_80C2594(u8 taskId)
{
u8 spriteId;
- spriteId = CreateSprite(&gUnknown_0855D1AC, 184, 4, 0);
+ spriteId = CreateSprite(&sArrowSpriteTemplate, 184, 4, 0);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 0;
gSprites[spriteId].callback = sub_80C24E0;
- spriteId = CreateSprite(&gUnknown_0855D1AC, 184, 108, 0);
+ spriteId = CreateSprite(&sArrowSpriteTemplate, 184, 108, 0);
gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = 1;
gSprites[spriteId].vFlip = TRUE;
diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c
new file mode 100755
index 000000000..30a127c71
--- /dev/null
+++ b/src/pokedex_area_screen.c
@@ -0,0 +1,720 @@
+#include "global.h"
+#include "bg.h"
+#include "event_data.h"
+#include "gpu_regs.h"
+#include "graphics.h"
+#include "main.h"
+#include "alloc.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "pokedex_area_screen.h"
+#include "region_map.h"
+#include "roamer.h"
+#include "sound.h"
+#include "string_util.h"
+#include "trig.h"
+#include "unk_pokedex_area_screen_helper.h"
+#include "wild_encounter.h"
+#include "constants/maps.h"
+#include "constants/region_map_sections.h"
+#include "constants/rgb.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "constants/vars.h"
+
+struct PokeDexAreaScreenMapIdentity
+{
+ u8 mapGroup;
+ u8 mapNum;
+ u16 regionMapSectionId;
+};
+
+struct PokeDexAreaScreen
+{
+ /*0x000*/ void (*callback)(void); // unused
+ /*0x004*/ MainCallback prev; // unused
+ /*0x008*/ MainCallback next; // unused
+ /*0x00C*/ u16 state; // unused
+ /*0x00E*/ u16 species;
+ /*0x010*/ struct PokeDexAreaScreenMapIdentity overworldAreasWithMons[0x40];
+ /*0x110*/ u16 numOverworldAreas;
+ /*0x112*/ u16 numSpecialAreas;
+ /*0x114*/ u16 drawAreaGlowState;
+ /*0x116*/ u16 areaGlowTilemap[0x280];
+ /*0x616*/ u16 areaShadeOrMarkerFrameCounter;
+ /*0x618*/ u16 areaShadeFrameCounter;
+ /*0x61A*/ u16 areaShadeBldArgLo;
+ /*0x61C*/ u16 areaShadeBldArgHi;
+ /*0x61E*/ u8 whichMarkersFlashing;
+ /*0x61F*/ u8 specialMarkerCycleCounter;
+ /*0x620*/ u16 specialAreaRegionMapSectionIds[0x20];
+ /*0x660*/ struct Sprite *areaMarkerSprites[0x20];
+ /*0x6E0*/ u16 numAreaMarkerSprites;
+ /*0x6E2*/ u16 unk6E2;
+ /*0x6E4*/ u16 unk6E4;
+ /*0x6E8*/ u8 *errno;
+ /*0x6EC*/ struct RegionMap regionMap;
+ /*0xF70*/ u8 charBuffer[0x40];
+ /*0xFB0*/ struct Sprite * areaUnknownSprites[3];
+ /*0xFBC*/ u8 areaUnknownGraphicsBuffer[0x600];
+};
+
+static EWRAM_DATA struct PokeDexAreaScreen *sPokedexAreaScreen = NULL;
+
+static void FindMapsWithMon(u16);
+static void BuildAreaGlowTilemap(void);
+static void SetAreaHasMon(u16, u16);
+static void SetSpecialMapHasMon(u16, u16);
+static u16 GetRegionMapSectionId(u8, u8);
+static bool8 MapHasMon(const struct WildPokemonHeader *, u16);
+static bool8 MonListHasMon(const struct WildPokemonInfo *, u16, u16);
+static void DoAreaGlow(void);
+static void Task_PokedexAreaScreen_0(u8);
+static void CreateAreaMarkerSprites(void);
+static void LoadAreaUnknownGraphics(void);
+static void CreateAreaUnknownSprites(void);
+static void Task_PokedexAreaScreen_1(u8);
+static void sub_813D6B4(void);
+static void DestroyAreaMarkerSprites(void);
+
+static const u32 sAreaGlow_Pal[] = INCBIN_U32("graphics/pokedex/area_glow.gbapal");
+static const u32 sAreaGlow_Gfx[] = INCBIN_U32("graphics/pokedex/area_glow.4bpp.lz");
+
+static const u16 sSpeciesHiddenFromAreaScreen[] = { SPECIES_WYNAUT };
+
+static const u16 sMovingRegionMapSections[3] = { MAPSEC_MARINE_CAVE, MAPSEC_UNDERWATER_MARINE_CAVE, MAPSEC_TERRA_CAVE };
+
+static const u16 sFeebasData[][3] = {
+ {SPECIES_FEEBAS, MAP_GROUP(ROUTE119), MAP_NUM(ROUTE119)},
+ {NUM_SPECIES}
+};
+
+static const u16 sLandmarkData[][2] = {
+ {MAPSEC_SKY_PILLAR, FLAG_LANDMARK_SKY_PILLAR},
+ {MAPSEC_SEAFLOOR_CAVERN, FLAG_LANDMARK_SEAFLOOR_CAVERN},
+ {MAPSEC_ALTERING_CAVE_2, FLAG_LANDMARK_ALTERING_CAVE},
+ {MAPSEC_MIRAGE_TOWER, FLAG_LANDMARK_MIRAGE_TOWER},
+ {MAPSEC_DESERT_UNDERPASS, FLAG_LANDMARK_DESERT_UNDERPASS},
+ {MAPSEC_ARTISAN_CAVE, FLAG_0x8DF},
+ {MAPSEC_NONE}
+};
+
+static const u8 sAreaGlowTilemapMapping[] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x11, 0x20, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x12, 0x21, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x13, 0x22, 0x02, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x14, 0x01, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x15, 0x20, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x16, 0x21, 0x23, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x17, 0x22, 0x23, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2a, 0x2e, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x18, 0x01, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x19, 0x20, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1a, 0x21, 0x24, 0x03, 0x04, 0x05, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1b, 0x22, 0x24, 0x03, 0x27, 0x2d, 0x06, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1c, 0x01, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1d, 0x20, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x29, 0x09, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1e, 0x21, 0x25, 0x03, 0x26, 0x05, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x1f, 0x22, 0x25, 0x03, 0x28, 0x2d, 0x2c, 0x07, 0x2b, 0x2e, 0x2f, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+};
+
+static const struct UnkStruct_1C4D70 sUnknown_085B4018 = {
+ .bg = 3,
+ .unk2 = 0,
+ .unk10 = 0,
+ .unk12 = 2,
+};
+
+static const u8 sAreaMarkerTiles[];
+static const struct SpriteSheet sAreaMarkerSpriteSheet = {
+ sAreaMarkerTiles, 0x80, 2
+};
+
+static const u16 sAreaMarkerPalette[];
+static const struct SpritePalette sAreaMarkerSpritePalette = {
+ sAreaMarkerPalette, 2
+};
+
+static const struct OamData sAreaMarkerOamData = {
+ .size = 1,
+ .priority = 1
+};
+
+static const struct SpriteTemplate sAreaMarkerSpriteTemplate = {
+ 2,
+ 2,
+ &sAreaMarkerOamData,
+ gDummySpriteAnimTable,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+static const u16 sAreaMarkerPalette[] = INCBIN_U16("graphics/pokedex/area_marker.gbapal");
+static const u8 sAreaMarkerTiles[] = INCBIN_U8("graphics/pokedex/area_marker.4bpp");
+
+static const struct SpritePalette sAreaUnknownSpritePalette = {
+ gPokedexAreaScreenAreaUnknown_Pal, 3
+};
+
+static const struct OamData sAreaUnknownOamData = {
+ .size = 2,
+ .priority = 1
+};
+
+static const struct SpriteTemplate sAreaUnknownSpriteTemplate = {
+ 3,
+ 3,
+ &sAreaUnknownOamData,
+ gDummySpriteAnimTable,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallbackDummy
+};
+
+static void ResetDrawAreaGlowState(void)
+{
+ sPokedexAreaScreen->drawAreaGlowState = 0;
+}
+
+static bool8 DrawAreaGlow(void)
+{
+ switch (sPokedexAreaScreen->drawAreaGlowState)
+ {
+ case 0:
+ FindMapsWithMon(sPokedexAreaScreen->species);
+ break;
+ case 1:
+ BuildAreaGlowTilemap();
+ break;
+ case 2:
+ decompress_and_copy_tile_data_to_vram(2, sAreaGlow_Gfx, 0, 0, 0);
+ LoadBgTilemap(2, sPokedexAreaScreen->areaGlowTilemap, 0x500, 0);
+ break;
+ case 3:
+ if (!free_temp_tile_data_buffers_if_possible())
+ {
+ CpuCopy32(sAreaGlow_Pal, gPlttBufferUnfaded + 0xA0, 0x20);
+ sPokedexAreaScreen->drawAreaGlowState++;
+ }
+ return TRUE;
+ case 4:
+ ChangeBgY(2, -0x800, 0);
+ break;
+ default:
+ return FALSE;
+ }
+
+ sPokedexAreaScreen->drawAreaGlowState++;
+ return TRUE;
+}
+
+static void FindMapsWithMon(u16 species)
+{
+ u16 i;
+ struct Roamer *roamer;
+
+ sPokedexAreaScreen->unk6E2 = 0;
+ sPokedexAreaScreen->unk6E4 = VarGet(VAR_ALTERING_CAVE_WILD_SET);
+ if (sPokedexAreaScreen->unk6E4 > 8)
+ sPokedexAreaScreen->unk6E4 = 0;
+
+ roamer = &gSaveBlock1Ptr->roamer;
+ if (species != roamer->species)
+ {
+ sPokedexAreaScreen->numOverworldAreas = 0;
+ sPokedexAreaScreen->numSpecialAreas = 0;
+ for (i = 0; i < ARRAY_COUNT(sSpeciesHiddenFromAreaScreen); i++)
+ {
+ if (sSpeciesHiddenFromAreaScreen[i] == species)
+ return;
+ }
+
+ for (i = 0; sFeebasData[i][0] != NUM_SPECIES; i++)
+ {
+ if (species == sFeebasData[i][0])
+ {
+ switch (sFeebasData[i][1])
+ {
+ case MAP_GROUP(PETALBURG_CITY):
+ SetAreaHasMon(sFeebasData[i][1], sFeebasData[i][2]);
+ break;
+ case MAP_GROUP(METEOR_FALLS_1F_1R):
+ case MAP_GROUP(SAFARI_ZONE_NORTHWEST):
+ SetSpecialMapHasMon(sFeebasData[i][1], sFeebasData[i][2]);
+ break;
+ }
+ }
+ }
+
+ for (i = 0; gWildMonHeaders[i].mapGroup != 0xFF; i++)
+ {
+ if (MapHasMon(gWildMonHeaders + i, species))
+ {
+ switch (gWildMonHeaders[i].mapGroup)
+ {
+ case MAP_GROUP(PETALBURG_CITY):
+ SetAreaHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
+ break;
+ case MAP_GROUP(METEOR_FALLS_1F_1R):
+ case MAP_GROUP(SAFARI_ZONE_NORTHWEST):
+ SetSpecialMapHasMon(gWildMonHeaders[i].mapGroup, gWildMonHeaders[i].mapNum);
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ sPokedexAreaScreen->numSpecialAreas = 0;
+ if (roamer->active)
+ {
+ GetRoamerLocation(&sPokedexAreaScreen->overworldAreasWithMons[0].mapGroup, &sPokedexAreaScreen->overworldAreasWithMons[0].mapNum);
+ sPokedexAreaScreen->overworldAreasWithMons[0].regionMapSectionId = Overworld_GetMapHeaderByGroupAndId(sPokedexAreaScreen->overworldAreasWithMons[0].mapGroup, sPokedexAreaScreen->overworldAreasWithMons[0].mapNum)->regionMapSectionId;
+ sPokedexAreaScreen->numOverworldAreas = 1;
+ }
+ else
+ {
+ sPokedexAreaScreen->numOverworldAreas = 0;
+ }
+ }
+}
+
+static void SetAreaHasMon(u16 mapGroup, u16 mapNum)
+{
+ if (sPokedexAreaScreen->numOverworldAreas < 0x40)
+ {
+ sPokedexAreaScreen->overworldAreasWithMons[sPokedexAreaScreen->numOverworldAreas].mapGroup = mapGroup;
+ sPokedexAreaScreen->overworldAreasWithMons[sPokedexAreaScreen->numOverworldAreas].mapNum = mapNum;
+ sPokedexAreaScreen->overworldAreasWithMons[sPokedexAreaScreen->numOverworldAreas].regionMapSectionId = CorrectSpecialMapSecId(Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId);
+ sPokedexAreaScreen->numOverworldAreas++;
+ }
+}
+
+static void SetSpecialMapHasMon(u16 mapGroup, u16 mapNum)
+{
+ int i;
+
+ if (sPokedexAreaScreen->numSpecialAreas < 0x20)
+ {
+ u16 regionMapSectionId = GetRegionMapSectionId(mapGroup, mapNum);
+ if (regionMapSectionId < MAPSEC_NONE)
+ {
+ for (i = 0; i < ARRAY_COUNT(sMovingRegionMapSections); i++)
+ {
+ if (regionMapSectionId == sMovingRegionMapSections[i])
+ return;
+ }
+
+ for (i = 0; sLandmarkData[i][0] != MAPSEC_NONE; i++)
+ {
+ if (regionMapSectionId == sLandmarkData[i][0] && !FlagGet(sLandmarkData[i][1]))
+ return;
+ }
+
+ for (i = 0; i < sPokedexAreaScreen->numSpecialAreas; i++)
+ {
+ if (sPokedexAreaScreen->specialAreaRegionMapSectionIds[i] == regionMapSectionId)
+ break;
+ }
+
+ if (i == sPokedexAreaScreen->numSpecialAreas)
+ {
+ sPokedexAreaScreen->specialAreaRegionMapSectionIds[i] = regionMapSectionId;
+ sPokedexAreaScreen->numSpecialAreas++;
+ }
+ }
+ }
+}
+
+static u16 GetRegionMapSectionId(u8 mapGroup, u8 mapNum)
+{
+ return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId;
+}
+
+static bool8 MapHasMon(const struct WildPokemonHeader *info, u16 species)
+{
+ if (GetRegionMapSectionId(info->mapGroup, info->mapNum) == MAPSEC_ALTERING_CAVE_2)
+ {
+ sPokedexAreaScreen->unk6E2++;
+ if (sPokedexAreaScreen->unk6E2 != sPokedexAreaScreen->unk6E4 + 1)
+ return FALSE;
+ }
+
+ if (MonListHasMon(info->landMonsInfo, species, 12))
+ return TRUE;
+ if (MonListHasMon(info->waterMonsInfo, species, 5))
+ return TRUE;
+ if (MonListHasMon(info->fishingMonsInfo, species, 12))
+ return TRUE;
+ if (MonListHasMon(info->rockSmashMonsInfo, species, 5))
+ return TRUE;
+ return FALSE;
+}
+
+static bool8 MonListHasMon(const struct WildPokemonInfo *info, u16 species, u16 size)
+{
+ u16 i;
+ if (info != NULL)
+ {
+ for (i = 0; i < size; i++)
+ {
+ if (info->wildPokemon[i].species == species)
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+static void BuildAreaGlowTilemap(void)
+{
+ u16 i, y, x, j;
+ u16 val;
+
+ for (i = 0; i < 0x280; i++)
+ sPokedexAreaScreen->areaGlowTilemap[i] = 0;
+
+ for (i = 0; i < sPokedexAreaScreen->numOverworldAreas; i++)
+ {
+ j = 0;
+ for (y = 0; y < 20; y++)
+ {
+ for (x = 0; x < 32; x++)
+ {
+ if (GetRegionMapSectionIdAt(x, y) == sPokedexAreaScreen->overworldAreasWithMons[i].regionMapSectionId)
+ sPokedexAreaScreen->areaGlowTilemap[j] = 0xFFFF;
+
+ j++;
+ }
+ }
+ }
+
+ j = 0;
+ for (y = 0; y < 20; y++)
+ {
+ for (x = 0; x < 32; x++)
+ {
+ if (sPokedexAreaScreen->areaGlowTilemap[j] == 0xFFFF)
+ {
+ if (x != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 1] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j - 1] |= 0x02;
+ if (x != 31 && sPokedexAreaScreen->areaGlowTilemap[j + 1] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j + 1] |= 0x01;
+ if (y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 32] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j - 32] |= 0x08;
+ if (y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 32] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j + 32] |= 0x04;
+ if (x != 0 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 33] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j - 33] |= 0x10;
+ if (x != 31 && y != 0 && sPokedexAreaScreen->areaGlowTilemap[j - 31] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j - 31] |= 0x40;
+ if (x != 0 && y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 31] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j + 31] |= 0x20;
+ if (x != 31 && y != 19 && sPokedexAreaScreen->areaGlowTilemap[j + 33] != 0xFFFF)
+ sPokedexAreaScreen->areaGlowTilemap[j + 33] |= 0x80;
+ }
+
+ j++;
+ }
+ }
+
+ for (i = 0; i < 0x280; i++)
+ {
+ if (sPokedexAreaScreen->areaGlowTilemap[i] == 0xFFFF)
+ {
+ sPokedexAreaScreen->areaGlowTilemap[i] = 0x10;
+ sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
+ }
+ else if (sPokedexAreaScreen->areaGlowTilemap[i])
+ {
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x02)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFFCF;
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x01)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFF3F;
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x08)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFFAF;
+ if (sPokedexAreaScreen->areaGlowTilemap[i] & 0x04)
+ sPokedexAreaScreen->areaGlowTilemap[i] &= 0xFF5F;
+
+ sPokedexAreaScreen->areaGlowTilemap[i] = sAreaGlowTilemapMapping[sPokedexAreaScreen->areaGlowTilemap[i]];
+ sPokedexAreaScreen->areaGlowTilemap[i] |= 0xA000;
+ }
+ }
+}
+
+static void StartAreaGlow(void)
+{
+ if (sPokedexAreaScreen->numSpecialAreas && sPokedexAreaScreen->numOverworldAreas == 0)
+ sPokedexAreaScreen->whichMarkersFlashing = 1;
+ else
+ sPokedexAreaScreen->whichMarkersFlashing = 0;
+
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
+ sPokedexAreaScreen->areaShadeFrameCounter = 0;
+ sPokedexAreaScreen->areaShadeBldArgLo = 0;
+ sPokedexAreaScreen->areaShadeBldArgHi = 0x40;
+ sPokedexAreaScreen->specialMarkerCycleCounter = 1;
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
+ DoAreaGlow();
+}
+
+static void DoAreaGlow(void)
+{
+ u16 x, y;
+ u16 i;
+
+ if (sPokedexAreaScreen->whichMarkersFlashing == 0)
+ {
+ if (sPokedexAreaScreen->areaShadeOrMarkerFrameCounter == 0)
+ {
+ sPokedexAreaScreen->areaShadeFrameCounter++;
+ if (sPokedexAreaScreen->areaShadeFrameCounter & 1)
+ sPokedexAreaScreen->areaShadeBldArgLo = (sPokedexAreaScreen->areaShadeBldArgLo + 4) & 0x7f;
+ else
+ sPokedexAreaScreen->areaShadeBldArgHi = (sPokedexAreaScreen->areaShadeBldArgHi + 4) & 0x7f;
+
+ x = gSineTable[sPokedexAreaScreen->areaShadeBldArgLo] >> 4;
+ y = gSineTable[sPokedexAreaScreen->areaShadeBldArgHi] >> 4;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(x, y));
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
+ if (sPokedexAreaScreen->areaShadeFrameCounter == 0x40)
+ {
+ sPokedexAreaScreen->areaShadeFrameCounter = 0;
+ if (sPokedexAreaScreen->numSpecialAreas != 0)
+ sPokedexAreaScreen->whichMarkersFlashing = 1;
+ }
+ }
+ else
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter--;
+ }
+ else
+ {
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter++;
+ if (sPokedexAreaScreen->areaShadeOrMarkerFrameCounter > 12)
+ {
+ sPokedexAreaScreen->areaShadeOrMarkerFrameCounter = 0;
+ sPokedexAreaScreen->specialMarkerCycleCounter++;
+ for (i = 0; i < sPokedexAreaScreen->numSpecialAreas; i++)
+ sPokedexAreaScreen->areaMarkerSprites[i]->invisible = sPokedexAreaScreen->specialMarkerCycleCounter & 1;
+
+ if (sPokedexAreaScreen->specialMarkerCycleCounter > 4)
+ {
+ sPokedexAreaScreen->specialMarkerCycleCounter = 1;
+ if (sPokedexAreaScreen->numOverworldAreas != 0)
+ sPokedexAreaScreen->whichMarkersFlashing = 0;
+ }
+ }
+ }
+}
+
+void ShowPokedexAreaScreen(u16 species, u8 *errno)
+{
+ u8 taskId;
+
+ sPokedexAreaScreen = AllocZeroed(sizeof(*sPokedexAreaScreen));
+ sPokedexAreaScreen->species = species;
+ sPokedexAreaScreen->errno = errno;
+ errno[0] = 0;
+ taskId = CreateTask(Task_PokedexAreaScreen_0, 0);
+ gTasks[taskId].data[0] = 0;
+}
+
+static void Task_PokedexAreaScreen_0(u8 taskId)
+{
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ ResetSpriteData();
+ FreeAllSpritePalettes();
+ HideBg(3);
+ HideBg(2);
+ HideBg(0);
+ break;
+ case 1:
+ SetBgAttribute(3, BG_CTRL_ATTR_VISIBLE, 3);
+ sub_81C4D70(&sUnknown_085B4018);
+ StringFill(sPokedexAreaScreen->charBuffer, CHAR_SPACE, 16);
+ break;
+ case 2:
+ if (sub_81C4E90() == TRUE)
+ return;
+ sub_81C4ED0(-8);
+ break;
+ case 3:
+ ResetDrawAreaGlowState();
+ break;
+ case 4:
+ if (DrawAreaGlow())
+ return;
+ break;
+ case 5:
+ sub_8122D88(&sPokedexAreaScreen->regionMap);
+ CreateRegionMapPlayerIcon(1, 1);
+ PokedexAreaScreen_UpdateRegionMapVariablesAndVideoRegs(0, -8);
+ break;
+ case 6:
+ CreateAreaMarkerSprites();
+ break;
+ case 7:
+ LoadAreaUnknownGraphics();
+ break;
+ case 8:
+ CreateAreaUnknownSprites();
+ break;
+ case 9:
+ BeginNormalPaletteFade(0xFFFFFFEB, 0, 16, 0, RGB(0, 0, 0));
+ break;
+ case 10:
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_ALL);
+ StartAreaGlow();
+ ShowBg(2);
+ ShowBg(3);
+ SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON);
+ break;
+ case 11:
+ gTasks[taskId].func = Task_PokedexAreaScreen_1;
+ gTasks[taskId].data[0] = 0;
+ return;
+ }
+
+ gTasks[taskId].data[0]++;
+}
+
+static void Task_PokedexAreaScreen_1(u8 taskId)
+{
+ DoAreaGlow();
+ switch (gTasks[taskId].data[0])
+ {
+ default:
+ gTasks[taskId].data[0] = 0;
+ // fall through
+ case 0:
+ if (gPaletteFade.active)
+ return;
+ break;
+ case 1:
+ if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].data[1] = 1;
+ PlaySE(SE_PC_OFF);
+ }
+ else if (gMain.newKeys & DPAD_RIGHT || (gMain.newKeys & R_BUTTON && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_LR))
+ {
+ gTasks[taskId].data[1] = 2;
+ PlaySE(SE_Z_PAGE);
+ }
+ else
+ return;
+ break;
+ case 2:
+ BeginNormalPaletteFade(0xFFFFFFEB, 0, 0, 16, RGB(0, 0, 0));
+ break;
+ case 3:
+ if (gPaletteFade.active)
+ return;
+ DestroyAreaMarkerSprites();
+ sPokedexAreaScreen->errno[0] = gTasks[taskId].data[1];
+ sub_813D6B4();
+ DestroyTask(taskId);
+ sub_81C4EB4();
+ FREE_AND_SET_NULL(sPokedexAreaScreen);
+ return;
+ }
+
+ gTasks[taskId].data[0]++;
+}
+
+static void sub_813D6B4(void)
+{
+ SetBgAttribute(3, BG_CTRL_ATTR_VISIBLE, 0);
+ SetBgAttribute(3, BG_CTRL_ATTR_SCREENSIZE, 0);
+}
+
+static void CreateAreaMarkerSprites(void)
+{
+ u8 spriteId;
+ static IWRAM_DATA s16 x;
+ static IWRAM_DATA s16 y;
+ static IWRAM_DATA s16 i;
+ static IWRAM_DATA s16 mapSecId;
+ static IWRAM_DATA s16 numSprites;
+
+ LoadSpriteSheet(&sAreaMarkerSpriteSheet);
+ LoadSpritePalette(&sAreaMarkerSpritePalette);
+ numSprites = 0;
+ for (i = 0; i < sPokedexAreaScreen->numSpecialAreas; i++)
+ {
+ mapSecId = sPokedexAreaScreen->specialAreaRegionMapSectionIds[i];
+ x = 8 * (gRegionMapEntries[mapSecId].x + 1) + 4;
+ y = 8 * (gRegionMapEntries[mapSecId].y) + 28;
+ x += 4 * (gRegionMapEntries[mapSecId].width - 1);
+ y += 4 * (gRegionMapEntries[mapSecId].height - 1);
+ spriteId = CreateSprite(&sAreaMarkerSpriteTemplate, x, y, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].invisible = TRUE;
+ sPokedexAreaScreen->areaMarkerSprites[numSprites++] = &gSprites[spriteId];
+ }
+ }
+
+ sPokedexAreaScreen->numAreaMarkerSprites = numSprites;
+}
+
+static void DestroyAreaMarkerSprites(void)
+{
+ u16 i;
+ FreeSpriteTilesByTag(2);
+ FreeSpritePaletteByTag(2);
+ for (i = 0; i < sPokedexAreaScreen->numAreaMarkerSprites; i++)
+ DestroySprite(sPokedexAreaScreen->areaMarkerSprites[i]);
+
+ FreeSpriteTilesByTag(3);
+ FreeSpritePaletteByTag(3);
+ for (i = 0; i < 3; i++)
+ {
+ if (sPokedexAreaScreen->areaUnknownSprites[i])
+ DestroySprite(sPokedexAreaScreen->areaUnknownSprites[i]);
+ }
+}
+
+static void LoadAreaUnknownGraphics(void)
+{
+ struct SpriteSheet spriteSheet = {
+ .data = sPokedexAreaScreen->areaUnknownGraphicsBuffer,
+ .size = 0x600,
+ .tag = 3,
+ };
+ LZ77UnCompWram(gPokedexAreaScreenAreaUnknown_Gfx, sPokedexAreaScreen->areaUnknownGraphicsBuffer);
+ LoadSpriteSheet(&spriteSheet);
+ LoadSpritePalette(&sAreaUnknownSpritePalette);
+}
+
+static void CreateAreaUnknownSprites(void)
+{
+ u16 i;
+ u8 spriteId;
+
+ if (sPokedexAreaScreen->numOverworldAreas || sPokedexAreaScreen->numSpecialAreas)
+ {
+ for (i = 0; i < 3; i++)
+ sPokedexAreaScreen->areaUnknownSprites[i] = NULL;
+ }
+ else
+ {
+ for (i = 0; i < 3; i++)
+ {
+ spriteId = CreateSprite(&sAreaUnknownSpriteTemplate, i * 32 + 0xa0, 0x8c, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].oam.tileNum += i * 16;
+ sPokedexAreaScreen->areaUnknownSprites[i] = gSprites + spriteId;
+ }
+ else
+ {
+ sPokedexAreaScreen->areaUnknownSprites[i] = NULL;
+ }
+ }
+ }
+}
diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c
new file mode 100755
index 000000000..4a9227b99
--- /dev/null
+++ b/src/pokedex_cry_screen.c
@@ -0,0 +1,511 @@
+#include "global.h"
+#include "bg.h"
+#include "m4a.h"
+#include "main.h"
+#include "alloc.h"
+#include "palette.h"
+#include "pokedex_cry_screen.h"
+#include "sound.h"
+#include "trig.h"
+#include "window.h"
+
+struct PokedexCryVolumeMeter {
+ s8 unk0;
+ s8 unk1;
+ u8 unk2;
+ u16 needleSpriteId;
+};
+
+struct PokedexCryScreen
+{
+ u8 unk0[16];
+ u8 unk10;
+ u8 unk11;
+ u8 unk12;
+ u16 unk14;
+ u8 unk16;
+ u16 species;
+ u8 unk1A;
+ u8 unk1B;
+};
+
+static void sub_8145588(u16);
+static void sub_81455A8(void);
+static void sub_814560C(void);
+static void sub_8145648(u8);
+static void sub_81456A8(u8, u8);
+static void sub_8145814(u8);
+static void sub_8145824(u8, s16, u8);
+static void sub_814596C(struct Sprite *);
+static void sub_8145B24(s8);
+
+extern u8 gDexCryScreenState;
+static EWRAM_DATA struct PokedexCryScreen *sDexCryScreen = NULL;
+static EWRAM_DATA u8 *sCryWaveformWindowTiledata = NULL;
+static EWRAM_DATA struct PokedexCryVolumeMeter *sCryVolumeMeter = NULL;
+
+const u16 CryMeterNeedlePalette[] = INCBIN_U16("graphics/pokedex/cry_meter_needle.gbapal");
+const u8 CryMeterNeedleTiles[] = INCBIN_U8("graphics/pokedex/cry_meter_needle.4bpp");
+
+const u16 gUnknown_085B8378[] = INCBIN_U16("graphics/pokedex/cry_meter_map.bin");
+const u16 gUnknown_085B8418[] = INCBIN_U16("graphics/pokedex/cry_meter.gbapal");
+const u8 gUnknown_085B8438[] = INCBIN_U8("graphics/pokedex/cry_meter.4bpp.lz");
+
+const u16 gUnknown_085B8770[][72] = {
+ {
+ 0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C,
+ 0x0400, 0x0404, 0x0408, 0x040C, 0x0410, 0x0414, 0x0418, 0x041C,
+ 0x0800, 0x0804, 0x0808, 0x080C, 0x0810, 0x0814, 0x0818, 0x081C,
+ 0x0C00, 0x0C04, 0x0C08, 0x0C0C, 0x0C10, 0x0C14, 0x0C18, 0x0C1C,
+ 0x1000, 0x1004, 0x1008, 0x100C, 0x1010, 0x1014, 0x1018, 0x101C,
+ 0x1400, 0x1404, 0x1408, 0x140C, 0x1410, 0x1414, 0x1418, 0x141C,
+ 0x1800, 0x1804, 0x1808, 0x180C, 0x1810, 0x1814, 0x1818, 0x181C,
+ 0x1C00, 0x1C04, 0x1C08, 0x1C0C, 0x1C10, 0x1C14, 0x1C18, 0x1C1C,
+ 0x2000, 0x2004, 0x2008, 0x200C, 0x2010, 0x2014, 0x2018, 0x201C
+ }, {
+ 0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x001C,
+ 0x0400, 0x0404, 0x0408, 0x040C, 0x0410, 0x0414, 0x0418, 0x041C,
+ 0x0800, 0x0804, 0x0808, 0x080C, 0x0810, 0x0814, 0x0818, 0x081C,
+ 0x0C00, 0x0C04, 0x0C08, 0x0C0C, 0x0C10, 0x0C14, 0x0C18, 0x0C1C,
+ 0x1000, 0x1004, 0x1008, 0x100C, 0x1010, 0x1014, 0x1018, 0x101C,
+ 0x1400, 0x1404, 0x1408, 0x140C, 0x1410, 0x1414, 0x1418, 0x141C,
+ 0x1800, 0x1804, 0x1808, 0x180C, 0x1810, 0x1814, 0x1818, 0x181C,
+ 0x1C00, 0x1C04, 0x1C08, 0x1C0C, 0x1C10, 0x1C14, 0x1C18, 0x1C1C,
+ 0x2000, 0x2004, 0x2008, 0x200C, 0x2010, 0x2014, 0x2018, 0x201C
+ }, {
+ 0x0001, 0x0005, 0x0009, 0x000D, 0x0011, 0x0015, 0x0019, 0x001D,
+ 0x0401, 0x0405, 0x0409, 0x040D, 0x0411, 0x0415, 0x0419, 0x041D,
+ 0x0801, 0x0805, 0x0809, 0x080D, 0x0811, 0x0815, 0x0819, 0x081D,
+ 0x0C01, 0x0C05, 0x0C09, 0x0C0D, 0x0C11, 0x0C15, 0x0C19, 0x0C1D,
+ 0x1001, 0x1005, 0x1009, 0x100D, 0x1011, 0x1015, 0x1019, 0x101D,
+ 0x1401, 0x1405, 0x1409, 0x140D, 0x1411, 0x1415, 0x1419, 0x141D,
+ 0x1801, 0x1805, 0x1809, 0x180D, 0x1811, 0x1815, 0x1819, 0x181D,
+ 0x1C01, 0x1C05, 0x1C09, 0x1C0D, 0x1C11, 0x1C15, 0x1C19, 0x1C1D,
+ 0x2001, 0x2005, 0x2009, 0x200D, 0x2011, 0x2015, 0x2019, 0x201D
+ }, {
+ 0x0001, 0x0005, 0x0009, 0x000D, 0x0011, 0x0015, 0x0019, 0x001D,
+ 0x0401, 0x0405, 0x0409, 0x040D, 0x0411, 0x0415, 0x0419, 0x041D,
+ 0x0801, 0x0805, 0x0809, 0x080D, 0x0811, 0x0815, 0x0819, 0x081D,
+ 0x0C01, 0x0C05, 0x0C09, 0x0C0D, 0x0C11, 0x0C15, 0x0C19, 0x0C1D,
+ 0x1001, 0x1005, 0x1009, 0x100D, 0x1011, 0x1015, 0x1019, 0x101D,
+ 0x1401, 0x1405, 0x1409, 0x140D, 0x1411, 0x1415, 0x1419, 0x141D,
+ 0x1801, 0x1805, 0x1809, 0x180D, 0x1811, 0x1815, 0x1819, 0x181D,
+ 0x1C01, 0x1C05, 0x1C09, 0x1C0D, 0x1C11, 0x1C15, 0x1C19, 0x1C1D,
+ 0x2001, 0x2005, 0x2009, 0x200D, 0x2011, 0x2015, 0x2019, 0x201D
+ }, {
+ 0x0002, 0x0006, 0x000A, 0x000E, 0x0012, 0x0016, 0x001A, 0x001E,
+ 0x0402, 0x0406, 0x040A, 0x040E, 0x0412, 0x0416, 0x041A, 0x041E,
+ 0x0802, 0x0806, 0x080A, 0x080E, 0x0812, 0x0816, 0x081A, 0x081E,
+ 0x0C02, 0x0C06, 0x0C0A, 0x0C0E, 0x0C12, 0x0C16, 0x0C1A, 0x0C1E,
+ 0x1002, 0x1006, 0x100A, 0x100E, 0x1012, 0x1016, 0x101A, 0x101E,
+ 0x1402, 0x1406, 0x140A, 0x140E, 0x1412, 0x1416, 0x141A, 0x141E,
+ 0x1802, 0x1806, 0x180A, 0x180E, 0x1812, 0x1816, 0x181A, 0x181E,
+ 0x1C02, 0x1C06, 0x1C0A, 0x1C0E, 0x1C12, 0x1C16, 0x1C1A, 0x1C1E,
+ 0x2002, 0x2006, 0x200A, 0x200E, 0x2012, 0x2016, 0x201A, 0x201E
+ }, {
+ 0x0002, 0x0006, 0x000A, 0x000E, 0x0012, 0x0016, 0x001A, 0x001E,
+ 0x0402, 0x0406, 0x040A, 0x040E, 0x0412, 0x0416, 0x041A, 0x041E,
+ 0x0802, 0x0806, 0x080A, 0x080E, 0x0812, 0x0816, 0x081A, 0x081E,
+ 0x0C02, 0x0C06, 0x0C0A, 0x0C0E, 0x0C12, 0x0C16, 0x0C1A, 0x0C1E,
+ 0x1002, 0x1006, 0x100A, 0x100E, 0x1012, 0x1016, 0x101A, 0x101E,
+ 0x1402, 0x1406, 0x140A, 0x140E, 0x1412, 0x1416, 0x141A, 0x141E,
+ 0x1802, 0x1806, 0x180A, 0x180E, 0x1812, 0x1816, 0x181A, 0x181E,
+ 0x1C02, 0x1C06, 0x1C0A, 0x1C0E, 0x1C12, 0x1C16, 0x1C1A, 0x1C1E,
+ 0x2002, 0x2006, 0x200A, 0x200E, 0x2012, 0x2016, 0x201A, 0x201E
+ }, {
+ 0x0003, 0x0007, 0x000B, 0x000F, 0x0013, 0x0017, 0x001B, 0x001F,
+ 0x0403, 0x0407, 0x040B, 0x040F, 0x0413, 0x0417, 0x041B, 0x041F,
+ 0x0803, 0x0807, 0x080B, 0x080F, 0x0813, 0x0817, 0x081B, 0x081F,
+ 0x0C03, 0x0C07, 0x0C0B, 0x0C0F, 0x0C13, 0x0C17, 0x0C1B, 0x0C1F,
+ 0x1003, 0x1007, 0x100B, 0x100F, 0x1013, 0x1017, 0x101B, 0x101F,
+ 0x1403, 0x1407, 0x140B, 0x140F, 0x1413, 0x1417, 0x141B, 0x141F,
+ 0x1803, 0x1807, 0x180B, 0x180F, 0x1813, 0x1817, 0x181B, 0x181F,
+ 0x1C03, 0x1C07, 0x1C0B, 0x1C0F, 0x1C13, 0x1C17, 0x1C1B, 0x1C1F,
+ 0x2003, 0x2007, 0x200B, 0x200F, 0x2013, 0x2017, 0x201B, 0x201F
+ }, {
+ 0x0003, 0x0007, 0x000B, 0x000F, 0x0013, 0x0017, 0x001B, 0x001F,
+ 0x0403, 0x0407, 0x040B, 0x040F, 0x0413, 0x0417, 0x041B, 0x041F,
+ 0x0803, 0x0807, 0x080B, 0x080F, 0x0813, 0x0817, 0x081B, 0x081F,
+ 0x0C03, 0x0C07, 0x0C0B, 0x0C0F, 0x0C13, 0x0C17, 0x0C1B, 0x0C1F,
+ 0x1003, 0x1007, 0x100B, 0x100F, 0x1013, 0x1017, 0x101B, 0x101F,
+ 0x1403, 0x1407, 0x140B, 0x140F, 0x1413, 0x1417, 0x141B, 0x141F,
+ 0x1803, 0x1807, 0x180B, 0x180F, 0x1813, 0x1817, 0x181B, 0x181F,
+ 0x1C03, 0x1C07, 0x1C0B, 0x1C0F, 0x1C13, 0x1C17, 0x1C1B, 0x1C1F,
+ 0x2003, 0x2007, 0x200B, 0x200F, 0x2013, 0x2017, 0x201B, 0x201F
+ }
+};
+
+const u16 gUnknown_085B8BF0[] = INCBIN_U16("graphics/pokedex/85B8C10.gbapal");
+const u8 gUnknown_085B8C10[] = INCBIN_U8("graphics/pokedex/85B8C10.4bpp");
+
+const u8 gUnknown_085B8C30[] = {0xF0, 0x0F};
+const u8 gUnknown_085B8C32[][16] = {
+ {
+ 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08,
+ 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
+ }, {
+ 0xF0, 0xE0, 0xD0, 0xC0, 0xB0, 0xA0, 0x90, 0x80,
+ 0x80, 0x90, 0xA0, 0xB0, 0xC0, 0xD0, 0xE0, 0xF0
+ }
+};
+
+const union AnimCmd gSpriteAnim_85B8C54[] = {
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_85B8C5C[] = {
+ gSpriteAnim_85B8C54
+};
+
+const struct OamData gOamData_85B8C60 = {
+ .y = 160,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .size = 3,
+ .priority = 1
+};
+
+const struct SpriteTemplate gUnknown_085B8C68 = {
+ 0x2000,
+ 0x2000,
+ &gOamData_85B8C60,
+ gSpriteAnimTable_85B8C5C,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ sub_814596C
+};
+
+const struct SpriteSheet gCryMeterNeedleSpriteSheets[] = {
+ {CryMeterNeedleTiles, 0x800, 0x2000},
+ {}
+};
+
+const struct SpritePalette gCryMeterNeedleSpritePalettes[] = {
+ {CryMeterNeedlePalette, 0x2000},
+ {}
+};
+
+bool8 sub_8145354(struct CryRelatedStruct *arg0, u8 windowId)
+{
+ u8 i;
+ u8 retVal = FALSE;
+
+ switch (gDexCryScreenState)
+ {
+ case 0:
+ if (!sDexCryScreen)
+ {
+ sDexCryScreen = AllocZeroed(sizeof(*sDexCryScreen));
+ sCryWaveformWindowTiledata = (u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA);
+ }
+
+ sDexCryScreen->unk14 = arg0->unk0;
+ sDexCryScreen->unk16 = arg0->yPos;
+ sDexCryScreen->unk1A = 0;
+ sDexCryScreen->unk1B = 0;
+ sDexCryScreen->unk10 = 0;
+ sDexCryScreen->unk12 = 28;
+ sDexCryScreen->unk11 = 0;
+ sub_8145824(windowId, -8 * arg0->xPos, 1);
+ for (i = 0; i < 224; i++)
+ CopyToWindowPixelBuffer(windowId, gUnknown_085B8C10, TILE_SIZE_4BPP, i);
+
+ gDexCryScreenState++;
+ break;
+ case 1:
+ for (i = 0; i < sDexCryScreen->unk16 * 8; i++)
+ sub_81456A8(i, 0);
+
+ gDexCryScreenState++;
+ break;
+ case 2:
+ sub_8145814(windowId);
+ LoadPalette(gUnknown_085B8BF0, arg0->paletteNo * 16, 32);
+ retVal = TRUE;
+ break;
+ }
+
+ return retVal;
+}
+
+void sub_814545C(u8 windowId)
+{
+ u8 var0;
+
+ sub_8145814(windowId);
+ sub_8145648(windowId);
+ if (sDexCryScreen->unk1B)
+ sDexCryScreen->unk1B--;
+
+ if (sDexCryScreen->unk1A)
+ {
+ sDexCryScreen->unk1A--;
+ if (!sDexCryScreen->unk1A)
+ {
+ sub_8145588(sDexCryScreen->species);
+ sub_814560C();
+ return;
+ }
+ }
+
+ if (sDexCryScreen->unk10 == 0)
+ {
+ sub_814560C();
+ return;
+ }
+
+ if (sDexCryScreen->unk10 == 1)
+ {
+ sub_81455A8();
+ }
+ else if (sDexCryScreen->unk10 > 8)
+ {
+ if (!IsCryPlaying())
+ {
+ sub_814560C();
+ sDexCryScreen->unk10 = 0;
+ return;
+ }
+
+ sub_81455A8();
+ sDexCryScreen->unk10 = 1;
+ }
+
+ var0 = 2 * (sDexCryScreen->unk10 - 1);
+ sub_81456A8(sDexCryScreen->unk16 * 8 + sDexCryScreen->unk11 - 2, sDexCryScreen->unk0[var0]);
+ sub_81456A8(sDexCryScreen->unk16 * 8 + sDexCryScreen->unk11 - 1, sDexCryScreen->unk0[var0 + 1]);
+ sDexCryScreen->unk10++;
+}
+
+void sub_8145534(u16 species)
+{
+ if (gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_PAUSE && !sDexCryScreen->unk1A)
+ {
+ if (!sDexCryScreen->unk1B)
+ {
+ sDexCryScreen->unk1B = 4;
+ if (IsCryPlaying() == TRUE)
+ {
+ StopCry();
+ sDexCryScreen->species = species;
+ sDexCryScreen->unk1A = 2;
+ }
+ else
+ {
+ sub_8145588(species);
+ }
+ }
+ }
+}
+
+static void sub_8145588(u16 species)
+{
+ PlayCry2(species, 0, 0x7d, 10);
+ sDexCryScreen->unk10 = 1;
+}
+
+static void sub_81455A8(void)
+{
+ u8 i;
+ s8 *baseBuffer;
+ s8 *buffer;
+
+ if (gPcmDmaCounter < 2)
+ baseBuffer = gSoundInfo.pcmBuffer;
+ else
+ baseBuffer = gSoundInfo.pcmBuffer + (gSoundInfo.pcmDmaPeriod + 1 - gPcmDmaCounter) * gSoundInfo.pcmSamplesPerVBlank;
+
+ buffer = baseBuffer + 0x630;
+ for (i = 0; i < 16; i++)
+ sDexCryScreen->unk0[i] = buffer[i * 2] * 2;
+}
+
+static void sub_814560C(void)
+{
+ sub_81456A8(sDexCryScreen->unk16 * 8 + sDexCryScreen->unk11 - 2, 0);
+ sub_81456A8(sDexCryScreen->unk16 * 8 + sDexCryScreen->unk11 - 1, 0);
+}
+
+static void sub_8145648(u8 windowId)
+{
+ u8 i;
+ u16 offset;
+
+ sub_8145824(windowId, sDexCryScreen->unk11, 0);
+ sDexCryScreen->unk11 += 2;
+ offset = (sDexCryScreen->unk11 / 8 + sDexCryScreen->unk16 + 1) % 32;
+ for (i = 0; i < 7; i++)
+ CopyToWindowPixelBuffer(windowId, gUnknown_085B8C10, TILE_SIZE_4BPP, offset + (i * TILE_SIZE_4BPP));
+}
+
+static void sub_81456A8(u8 a0, u8 a1)
+{
+ u8 sp0;
+ u8 r6;
+ u8 r8;
+ u16 offset;
+ u16 r1;
+ u8 i;
+
+ r1 = (a1 + 127) * 256;
+ i = r1 / 1152.0;
+ if (i > 55)
+ i = 55;
+ sp0 = i;
+ r6 = a0 & 1;
+ if (i > sDexCryScreen->unk12)
+ {
+ do
+ {
+ offset = gUnknown_085B8770[a0 & 0x7][i] + (a0 / 8) * TILE_SIZE_4BPP;
+ sCryWaveformWindowTiledata[offset] &= gUnknown_085B8C30[r6];
+ sCryWaveformWindowTiledata[offset] |= gUnknown_085B8C32[r6][((i / 3) - 1) & 0x0F];
+ i--;
+ } while (i > sDexCryScreen->unk12);
+ }
+ else
+ {
+ do
+ {
+ offset = gUnknown_085B8770[a0 & 0x7][i] + (a0 / 8) * TILE_SIZE_4BPP;
+ sCryWaveformWindowTiledata[offset] &= gUnknown_085B8C30[r6];
+ sCryWaveformWindowTiledata[offset] |= gUnknown_085B8C32[r6][((i / 3) - 1) & 0x0F];
+ i++;
+ } while (i < sDexCryScreen->unk12);
+ }
+
+ sDexCryScreen->unk12 = sp0;
+}
+
+static void sub_8145814(u8 windowId)
+{
+ CopyWindowToVram(windowId, 2);
+}
+
+static void sub_8145824(u8 windowId, s16 arg1, u8 arg2)
+{
+ if (!arg2)
+ {
+ u8 bg = GetWindowAttribute(windowId, WINDOW_BG);
+ ChangeBgX(bg, arg1 << 8, 0);
+ }
+}
+
+bool8 sub_8145850(struct CryRelatedStruct *arg0, u8 windowId)
+{
+ int retVal = FALSE;
+
+ switch (gDexCryScreenState)
+ {
+ case 0:
+ if (!sCryVolumeMeter)
+ sCryVolumeMeter = AllocZeroed(sizeof(*sCryVolumeMeter));
+
+ CopyToWindowPixelBuffer(windowId, gUnknown_085B8438, 0, 0);
+ LoadPalette(gUnknown_085B8418, arg0->paletteNo * 16, 32);
+ gDexCryScreenState++;
+ break;
+ case 1:
+ LoadSpriteSheets(gCryMeterNeedleSpriteSheets);
+ LoadSpritePalettes(gCryMeterNeedleSpritePalettes);
+ sCryVolumeMeter->needleSpriteId = CreateSprite(&gUnknown_085B8C68, 40 + arg0->xPos * 8, 56 + arg0->yPos * 8, 1);
+ sCryVolumeMeter->unk0 = 0x20;
+ sCryVolumeMeter->unk1 = 0x20;
+ sCryVolumeMeter->unk2 = 0;
+ retVal = TRUE;
+ break;
+ }
+
+ return retVal;
+}
+
+void sub_8145914(void)
+{
+ FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(gSprites[sCryVolumeMeter->needleSpriteId].oam.paletteNum));
+ DestroySprite(gSprites + sCryVolumeMeter->needleSpriteId);
+ FREE_AND_SET_NULL(sDexCryScreen);
+ FREE_AND_SET_NULL(sCryVolumeMeter);
+}
+
+static void sub_814596C(struct Sprite *sprite)
+{
+ u16 i;
+ s8 r3;
+ s16 x;
+ s16 y;
+ struct ObjAffineSrcData affine;
+ struct OamMatrix matrix;
+ u8 *var0;
+
+ gSprites[sCryVolumeMeter->needleSpriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
+ gSprites[sCryVolumeMeter->needleSpriteId].oam.affineParam = 0;
+ switch (sDexCryScreen->unk10)
+ {
+ case 0:
+ sCryVolumeMeter->unk1 = 0x20;
+ if (sCryVolumeMeter->unk0 > 0)
+ {
+ if (sCryVolumeMeter->unk2 != 1)
+ sCryVolumeMeter->unk2--;
+ }
+ else
+ sCryVolumeMeter->unk2 = 5;
+ break;
+ case 2:
+ r3 = 0;
+ for (i = 0; i < 16; i++)
+ {
+ if (r3 < sDexCryScreen->unk0[i])
+ r3 = sDexCryScreen->unk0[i];
+ }
+ sub_8145B24(r3 * 0xd0 / 0x100);
+ break;
+ case 6:
+ var0 = &sDexCryScreen->unk0[10];
+ sub_8145B24(*var0 * 0xd0 / 0x100);
+ break;
+ }
+
+ if (sCryVolumeMeter->unk0 == sCryVolumeMeter->unk1)
+ {
+ // empty block
+ }
+ else if (sCryVolumeMeter->unk0 < sCryVolumeMeter->unk1)
+ {
+ sCryVolumeMeter->unk0 += sCryVolumeMeter->unk2;
+ if (sCryVolumeMeter->unk0 > sCryVolumeMeter->unk1)
+ {
+ sCryVolumeMeter->unk0 = sCryVolumeMeter->unk1;
+ sCryVolumeMeter->unk1 = 0;
+ }
+ }
+ else
+ {
+ sCryVolumeMeter->unk0 -= sCryVolumeMeter->unk2;
+ if (sCryVolumeMeter->unk0 < sCryVolumeMeter->unk1)
+ {
+ sCryVolumeMeter->unk0 = sCryVolumeMeter->unk1;
+ sCryVolumeMeter->unk1 = 0;
+ }
+ }
+
+ affine.xScale = 0x100;
+ affine.yScale = 0x100;
+ affine.rotation = sCryVolumeMeter->unk0 * 256;
+ ObjAffineSet(&affine, &matrix, 1, 2);
+ SetOamMatrix(0, matrix.a, matrix.b, matrix.c, matrix.d);
+ x = gSineTable[((sCryVolumeMeter->unk0 + 0x7F) & 0xFF)];
+ y = gSineTable[((sCryVolumeMeter->unk0 + 0x7F) & 0xFF) + 0x40];
+ sprite->pos2.x = x * 24 / 256;
+ sprite->pos2.y = y * 24 / 256;
+}
+
+static void sub_8145B24(s8 a0)
+{
+ u16 r2 = (0x20 - a0) & 0xff;
+ if (r2 > 0x20 && r2 < 0xe0)
+ r2 = 0xe0;
+
+ sCryVolumeMeter->unk1 = r2;
+ sCryVolumeMeter->unk2 = 5;
+}
diff --git a/src/pokemon.c b/src/pokemon.c
index 0f7c80b77..14b4ea388 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -12,7 +12,7 @@
#include "item.h"
#include "link.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "m4a.h"
#include "pokedex.h"
#include "pokeblock.h"
@@ -45,12 +45,6 @@ struct SpeciesItem
u16 item;
};
-// Extracts the upper 16 bits of a 32-bit number
-#define HIHALF(n) (((n) & 0xFFFF0000) >> 16)
-
-// Extracts the lower 16 bits of a 32-bit number
-#define LOHALF(n) ((n) & 0xFFFF)
-
extern const struct OamData gUnknown_0831ACB0;
extern const struct OamData gUnknown_0831ACA8;
extern const struct SpriteFrameImage gUnknown_082FF3A8[];
@@ -107,1252 +101,1253 @@ EWRAM_DATA struct Unknown_806F160_Struct *gUnknown_020249B4[2] = {NULL};
#include "data/battle_moves.h"
static const u8 sUnreferencedData[] = {0x34, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00};
+#define SPECIES_TO_HOENN(name) [SPECIES_##name - 1] = HOENN_DEX_##name
+#define SPECIES_TO_NATIONAL(name) [SPECIES_##name - 1] = NATIONAL_DEX_##name
+#define HOENN_TO_NATIONAL(name) [HOENN_DEX_##name - 1] = NATIONAL_DEX_##name
+
const u16 gSpeciesToHoennPokedexNum[] = // Assigns all species to the Hoenn Dex Index (Summary No. for Hoenn Dex)
{
- // SPECIES_NONE
- HOENN_DEX_BULBASAUR, // SPECIES_BULBASAUR
- HOENN_DEX_IVYSAUR, // SPECIES_IVYSAUR
- HOENN_DEX_VENUSAUR, // SPECIES_VENUSAUR
- HOENN_DEX_CHARMANDER, // SPECIES_CHARMANDER
- HOENN_DEX_CHARMELEON, // SPECIES_CHARMELEON
- HOENN_DEX_CHARIZARD, // SPECIES_CHARIZARD
- HOENN_DEX_SQUIRTLE, // SPECIES_SQUIRTLE
- HOENN_DEX_WARTORTLE, // SPECIES_WARTORTLE
- HOENN_DEX_BLASTOISE, // SPECIES_BLASTOISE
- HOENN_DEX_CATERPIE, // SPECIES_CATERPIE
- HOENN_DEX_METAPOD, // SPECIES_METAPOD
- HOENN_DEX_BUTTERFREE, // SPECIES_BUTTERFREE
- HOENN_DEX_WEEDLE, // SPECIES_WEEDLE
- HOENN_DEX_KAKUNA, // SPECIES_KAKUNA
- HOENN_DEX_BEEDRILL, // SPECIES_BEEDRILL
- HOENN_DEX_PIDGEY, // SPECIES_PIDGEY
- HOENN_DEX_PIDGEOTTO, // SPECIES_PIDGEOTTO
- HOENN_DEX_PIDGEOT, // SPECIES_PIDGEOT
- HOENN_DEX_RATTATA, // SPECIES_RATTATA
- HOENN_DEX_RATICATE, // SPECIES_RATICATE
- HOENN_DEX_SPEAROW, // SPECIES_SPEAROW
- HOENN_DEX_FEAROW, // SPECIES_FEAROW
- HOENN_DEX_EKANS, // SPECIES_EKANS
- HOENN_DEX_ARBOK, // SPECIES_ARBOK
- HOENN_DEX_PIKACHU, // SPECIES_PIKACHU
- HOENN_DEX_RAICHU, // SPECIES_RAICHU
- HOENN_DEX_SANDSHREW, // SPECIES_SANDSHREW
- HOENN_DEX_SANDSLASH, // SPECIES_SANDSLASH
- HOENN_DEX_NIDORAN_F, // SPECIES_NIDORAN_F
- HOENN_DEX_NIDORINA, // SPECIES_NIDORINA
- HOENN_DEX_NIDOQUEEN, // SPECIES_NIDOQUEEN
- HOENN_DEX_NIDORAN_M, // SPECIES_NIDORAN_M
- HOENN_DEX_NIDORINO, // SPECIES_NIDORINO
- HOENN_DEX_NIDOKING, // SPECIES_NIDOKING
- HOENN_DEX_CLEFAIRY, // SPECIES_CLEFAIRY
- HOENN_DEX_CLEFABLE, // SPECIES_CLEFABLE
- HOENN_DEX_VULPIX, // SPECIES_VULPIX
- HOENN_DEX_NINETALES, // SPECIES_NINETALES
- HOENN_DEX_JIGGLYPUFF, // SPECIES_JIGGLYPUFF
- HOENN_DEX_WIGGLYTUFF, // SPECIES_WIGGLYTUFF
- HOENN_DEX_ZUBAT, // SPECIES_ZUBAT
- HOENN_DEX_GOLBAT, // SPECIES_GOLBAT
- HOENN_DEX_ODDISH, // SPECIES_ODDISH
- HOENN_DEX_GLOOM, // SPECIES_GLOOM
- HOENN_DEX_VILEPLUME, // SPECIES_VILEPLUME
- HOENN_DEX_PARAS, // SPECIES_PARAS
- HOENN_DEX_PARASECT, // SPECIES_PARASECT
- HOENN_DEX_VENONAT, // SPECIES_VENONAT
- HOENN_DEX_VENOMOTH, // SPECIES_VENOMOTH
- HOENN_DEX_DIGLETT, // SPECIES_DIGLETT
- HOENN_DEX_DUGTRIO, // SPECIES_DUGTRIO
- HOENN_DEX_MEOWTH, // SPECIES_MEOWTH
- HOENN_DEX_PERSIAN, // SPECIES_PERSIAN
- HOENN_DEX_PSYDUCK, // SPECIES_PSYDUCK
- HOENN_DEX_GOLDUCK, // SPECIES_GOLDUCK
- HOENN_DEX_MANKEY, // SPECIES_MANKEY
- HOENN_DEX_PRIMEAPE, // SPECIES_PRIMEAPE
- HOENN_DEX_GROWLITHE, // SPECIES_GROWLITHE
- HOENN_DEX_ARCANINE, // SPECIES_ARCANINE
- HOENN_DEX_POLIWAG, // SPECIES_POLIWAG
- HOENN_DEX_POLIWHIRL, // SPECIES_POLIWHIRL
- HOENN_DEX_POLIWRATH, // SPECIES_POLIWRATH
- HOENN_DEX_ABRA, // SPECIES_ABRA
- HOENN_DEX_KADABRA, // SPECIES_KADABRA
- HOENN_DEX_ALAKAZAM, // SPECIES_ALAKAZAM
- HOENN_DEX_MACHOP, // SPECIES_MACHOP
- HOENN_DEX_MACHOKE, // SPECIES_MACHOKE
- HOENN_DEX_MACHAMP, // SPECIES_MACHAMP
- HOENN_DEX_BELLSPROUT, // SPECIES_BELLSPROUT
- HOENN_DEX_WEEPINBELL, // SPECIES_WEEPINBELL
- HOENN_DEX_VICTREEBEL, // SPECIES_VICTREEBEL
- HOENN_DEX_TENTACOOL, // SPECIES_TENTACOOL
- HOENN_DEX_TENTACRUEL, // SPECIES_TENTACRUEL
- HOENN_DEX_GEODUDE, // SPECIES_GEODUDE
- HOENN_DEX_GRAVELER, // SPECIES_GRAVELER
- HOENN_DEX_GOLEM, // SPECIES_GOLEM
- HOENN_DEX_PONYTA, // SPECIES_PONYTA
- HOENN_DEX_RAPIDASH, // SPECIES_RAPIDASH
- HOENN_DEX_SLOWPOKE, // SPECIES_SLOWPOKE
- HOENN_DEX_SLOWBRO, // SPECIES_SLOWBRO
- HOENN_DEX_MAGNEMITE, // SPECIES_MAGNEMITE
- HOENN_DEX_MAGNETON, // SPECIES_MAGNETON
- HOENN_DEX_FARFETCHD, // SPECIES_FARFETCHD
- HOENN_DEX_DODUO, // SPECIES_DODUO
- HOENN_DEX_DODRIO, // SPECIES_DODRIO
- HOENN_DEX_SEEL, // SPECIES_SEEL
- HOENN_DEX_DEWGONG, // SPECIES_DEWGONG
- HOENN_DEX_GRIMER, // SPECIES_GRIMER
- HOENN_DEX_MUK, // SPECIES_MUK
- HOENN_DEX_SHELLDER, // SPECIES_SHELLDER
- HOENN_DEX_CLOYSTER, // SPECIES_CLOYSTER
- HOENN_DEX_GASTLY, // SPECIES_GASTLY
- HOENN_DEX_HAUNTER, // SPECIES_HAUNTER
- HOENN_DEX_GENGAR, // SPECIES_GENGAR
- HOENN_DEX_ONIX, // SPECIES_ONIX
- HOENN_DEX_DROWZEE, // SPECIES_DROWZEE
- HOENN_DEX_HYPNO, // SPECIES_HYPNO
- HOENN_DEX_KRABBY, // SPECIES_KRABBY
- HOENN_DEX_KINGLER, // SPECIES_KINGLER
- HOENN_DEX_VOLTORB, // SPECIES_VOLTORB
- HOENN_DEX_ELECTRODE, // SPECIES_ELECTRODE
- HOENN_DEX_EXEGGCUTE, // SPECIES_EXEGGCUTE
- HOENN_DEX_EXEGGUTOR, // SPECIES_EXEGGUTOR
- HOENN_DEX_CUBONE, // SPECIES_CUBONE
- HOENN_DEX_MAROWAK, // SPECIES_MAROWAK
- HOENN_DEX_HITMONLEE, // SPECIES_HITMONLEE
- HOENN_DEX_HITMONCHAN, // SPECIES_HITMONCHAN
- HOENN_DEX_LICKITUNG, // SPECIES_LICKITUNG
- HOENN_DEX_KOFFING, // SPECIES_KOFFING
- HOENN_DEX_WEEZING, // SPECIES_WEEZING
- HOENN_DEX_RHYHORN, // SPECIES_RHYHORN
- HOENN_DEX_RHYDON, // SPECIES_RHYDON
- HOENN_DEX_CHANSEY, // SPECIES_CHANSEY
- HOENN_DEX_TANGELA, // SPECIES_TANGELA
- HOENN_DEX_KANGASKHAN, // SPECIES_KANGASKHAN
- HOENN_DEX_HORSEA, // SPECIES_HORSEA
- HOENN_DEX_SEADRA, // SPECIES_SEADRA
- HOENN_DEX_GOLDEEN, // SPECIES_GOLDEEN
- HOENN_DEX_SEAKING, // SPECIES_SEAKING
- HOENN_DEX_STARYU, // SPECIES_STARYU
- HOENN_DEX_STARMIE, // SPECIES_STARMIE
- HOENN_DEX_MR_MIME, // SPECIES_MR_MIME
- HOENN_DEX_SCYTHER, // SPECIES_SCYTHER
- HOENN_DEX_JYNX, // SPECIES_JYNX
- HOENN_DEX_ELECTABUZZ, // SPECIES_ELECTABUZZ
- HOENN_DEX_MAGMAR, // SPECIES_MAGMAR
- HOENN_DEX_PINSIR, // SPECIES_PINSIR
- HOENN_DEX_TAUROS, // SPECIES_TAUROS
- HOENN_DEX_MAGIKARP, // SPECIES_MAGIKARP
- HOENN_DEX_GYARADOS, // SPECIES_GYARADOS
- HOENN_DEX_LAPRAS, // SPECIES_LAPRAS
- HOENN_DEX_DITTO, // SPECIES_DITTO
- HOENN_DEX_EEVEE, // SPECIES_EEVEE
- HOENN_DEX_VAPOREON, // SPECIES_VAPOREON
- HOENN_DEX_JOLTEON, // SPECIES_JOLTEON
- HOENN_DEX_FLAREON, // SPECIES_FLAREON
- HOENN_DEX_PORYGON, // SPECIES_PORYGON
- HOENN_DEX_OMANYTE, // SPECIES_OMANYTE
- HOENN_DEX_OMASTAR, // SPECIES_OMASTAR
- HOENN_DEX_KABUTO, // SPECIES_KABUTO
- HOENN_DEX_KABUTOPS, // SPECIES_KABUTOPS
- HOENN_DEX_AERODACTYL, // SPECIES_AERODACTYL
- HOENN_DEX_SNORLAX, // SPECIES_SNORLAX
- HOENN_DEX_ARTICUNO, // SPECIES_ARTICUNO
- HOENN_DEX_ZAPDOS, // SPECIES_ZAPDOS
- HOENN_DEX_MOLTRES, // SPECIES_MOLTRES
- HOENN_DEX_DRATINI, // SPECIES_DRATINI
- HOENN_DEX_DRAGONAIR, // SPECIES_DRAGONAIR
- HOENN_DEX_DRAGONITE, // SPECIES_DRAGONITE
- HOENN_DEX_MEWTWO, // SPECIES_MEWTWO
- HOENN_DEX_MEW, // SPECIES_MEW
- HOENN_DEX_CHIKORITA, // SPECIES_CHIKORITA
- HOENN_DEX_BAYLEEF, // SPECIES_BAYLEEF
- HOENN_DEX_MEGANIUM, // SPECIES_MEGANIUM
- HOENN_DEX_CYNDAQUIL, // SPECIES_CYNDAQUIL
- HOENN_DEX_QUILAVA, // SPECIES_QUILAVA
- HOENN_DEX_TYPHLOSION, // SPECIES_TYPHLOSION
- HOENN_DEX_TOTODILE, // SPECIES_TOTODILE
- HOENN_DEX_CROCONAW, // SPECIES_CROCONAW
- HOENN_DEX_FERALIGATR, // SPECIES_FERALIGATR
- HOENN_DEX_SENTRET, // SPECIES_SENTRET
- HOENN_DEX_FURRET, // SPECIES_FURRET
- HOENN_DEX_HOOTHOOT, // SPECIES_HOOTHOOT
- HOENN_DEX_NOCTOWL, // SPECIES_NOCTOWL
- HOENN_DEX_LEDYBA, // SPECIES_LEDYBA
- HOENN_DEX_LEDIAN, // SPECIES_LEDIAN
- HOENN_DEX_SPINARAK, // SPECIES_SPINARAK
- HOENN_DEX_ARIADOS, // SPECIES_ARIADOS
- HOENN_DEX_CROBAT, // SPECIES_CROBAT
- HOENN_DEX_CHINCHOU, // SPECIES_CHINCHOU
- HOENN_DEX_LANTURN, // SPECIES_LANTURN
- HOENN_DEX_PICHU, // SPECIES_PICHU
- HOENN_DEX_CLEFFA, // SPECIES_CLEFFA
- HOENN_DEX_IGGLYBUFF, // SPECIES_IGGLYBUFF
- HOENN_DEX_TOGEPI, // SPECIES_TOGEPI
- HOENN_DEX_TOGETIC, // SPECIES_TOGETIC
- HOENN_DEX_NATU, // SPECIES_NATU
- HOENN_DEX_XATU, // SPECIES_XATU
- HOENN_DEX_MAREEP, // SPECIES_MAREEP
- HOENN_DEX_FLAAFFY, // SPECIES_FLAAFFY
- HOENN_DEX_AMPHAROS, // SPECIES_AMPHAROS
- HOENN_DEX_BELLOSSOM, // SPECIES_BELLOSSOM
- HOENN_DEX_MARILL, // SPECIES_MARILL
- HOENN_DEX_AZUMARILL, // SPECIES_AZUMARILL
- HOENN_DEX_SUDOWOODO, // SPECIES_SUDOWOODO
- HOENN_DEX_POLITOED, // SPECIES_POLITOED
- HOENN_DEX_HOPPIP, // SPECIES_HOPPIP
- HOENN_DEX_SKIPLOOM, // SPECIES_SKIPLOOM
- HOENN_DEX_JUMPLUFF, // SPECIES_JUMPLUFF
- HOENN_DEX_AIPOM, // SPECIES_AIPOM
- HOENN_DEX_SUNKERN, // SPECIES_SUNKERN
- HOENN_DEX_SUNFLORA, // SPECIES_SUNFLORA
- HOENN_DEX_YANMA, // SPECIES_YANMA
- HOENN_DEX_WOOPER, // SPECIES_WOOPER
- HOENN_DEX_QUAGSIRE, // SPECIES_QUAGSIRE
- HOENN_DEX_ESPEON, // SPECIES_ESPEON
- HOENN_DEX_UMBREON, // SPECIES_UMBREON
- HOENN_DEX_MURKROW, // SPECIES_MURKROW
- HOENN_DEX_SLOWKING, // SPECIES_SLOWKING
- HOENN_DEX_MISDREAVUS, // SPECIES_MISDREAVUS
- HOENN_DEX_UNOWN, // SPECIES_UNOWN
- HOENN_DEX_WOBBUFFET, // SPECIES_WOBBUFFET
- HOENN_DEX_GIRAFARIG, // SPECIES_GIRAFARIG
- HOENN_DEX_PINECO, // SPECIES_PINECO
- HOENN_DEX_FORRETRESS, // SPECIES_FORRETRESS
- HOENN_DEX_DUNSPARCE, // SPECIES_DUNSPARCE
- HOENN_DEX_GLIGAR, // SPECIES_GLIGAR
- HOENN_DEX_STEELIX, // SPECIES_STEELIX
- HOENN_DEX_SNUBBULL, // SPECIES_SNUBBULL
- HOENN_DEX_GRANBULL, // SPECIES_GRANBULL
- HOENN_DEX_QWILFISH, // SPECIES_QWILFISH
- HOENN_DEX_SCIZOR, // SPECIES_SCIZOR
- HOENN_DEX_SHUCKLE, // SPECIES_SHUCKLE
- HOENN_DEX_HERACROSS, // SPECIES_HERACROSS
- HOENN_DEX_SNEASEL, // SPECIES_SNEASEL
- HOENN_DEX_TEDDIURSA, // SPECIES_TEDDIURSA
- HOENN_DEX_URSARING, // SPECIES_URSARING
- HOENN_DEX_SLUGMA, // SPECIES_SLUGMA
- HOENN_DEX_MAGCARGO, // SPECIES_MAGCARGO
- HOENN_DEX_SWINUB, // SPECIES_SWINUB
- HOENN_DEX_PILOSWINE, // SPECIES_PILOSWINE
- HOENN_DEX_CORSOLA, // SPECIES_CORSOLA
- HOENN_DEX_REMORAID, // SPECIES_REMORAID
- HOENN_DEX_OCTILLERY, // SPECIES_OCTILLERY
- HOENN_DEX_DELIBIRD, // SPECIES_DELIBIRD
- HOENN_DEX_MANTINE, // SPECIES_MANTINE
- HOENN_DEX_SKARMORY, // SPECIES_SKARMORY
- HOENN_DEX_HOUNDOUR, // SPECIES_HOUNDOUR
- HOENN_DEX_HOUNDOOM, // SPECIES_HOUNDOOM
- HOENN_DEX_KINGDRA, // SPECIES_KINGDRA
- HOENN_DEX_PHANPY, // SPECIES_PHANPY
- HOENN_DEX_DONPHAN, // SPECIES_DONPHAN
- HOENN_DEX_PORYGON2, // SPECIES_PORYGON2
- HOENN_DEX_STANTLER, // SPECIES_STANTLER
- HOENN_DEX_SMEARGLE, // SPECIES_SMEARGLE
- HOENN_DEX_TYROGUE, // SPECIES_TYROGUE
- HOENN_DEX_HITMONTOP, // SPECIES_HITMONTOP
- HOENN_DEX_SMOOCHUM, // SPECIES_SMOOCHUM
- HOENN_DEX_ELEKID, // SPECIES_ELEKID
- HOENN_DEX_MAGBY, // SPECIES_MAGBY
- HOENN_DEX_MILTANK, // SPECIES_MILTANK
- HOENN_DEX_BLISSEY, // SPECIES_BLISSEY
- HOENN_DEX_RAIKOU, // SPECIES_RAIKOU
- HOENN_DEX_ENTEI, // SPECIES_ENTEI
- HOENN_DEX_SUICUNE, // SPECIES_SUICUNE
- HOENN_DEX_LARVITAR, // SPECIES_LARVITAR
- HOENN_DEX_PUPITAR, // SPECIES_PUPITAR
- HOENN_DEX_TYRANITAR, // SPECIES_TYRANITAR
- HOENN_DEX_LUGIA, // SPECIES_LUGIA
- HOENN_DEX_HO_OH, // SPECIES_HO-OH
- HOENN_DEX_CELEBI, // SPECIES_CELEBI
- HOENN_DEX_OLD_UNOWN_B, // SPECIES_OLD_UNOWN_B
- HOENN_DEX_OLD_UNOWN_C, // SPECIES_OLD_UNOWN_C
- HOENN_DEX_OLD_UNOWN_D, // SPECIES_OLD_UNOWN_D
- HOENN_DEX_OLD_UNOWN_E, // SPECIES_OLD_UNOWN_E
- HOENN_DEX_OLD_UNOWN_F, // SPECIES_OLD_UNOWN_F
- HOENN_DEX_OLD_UNOWN_G, // SPECIES_OLD_UNOWN_G
- HOENN_DEX_OLD_UNOWN_H, // SPECIES_OLD_UNOWN_H
- HOENN_DEX_OLD_UNOWN_I, // SPECIES_OLD_UNOWN_I
- HOENN_DEX_OLD_UNOWN_J, // SPECIES_OLD_UNOWN_J
- HOENN_DEX_OLD_UNOWN_K, // SPECIES_OLD_UNOWN_K
- HOENN_DEX_OLD_UNOWN_L, // SPECIES_OLD_UNOWN_L
- HOENN_DEX_OLD_UNOWN_M, // SPECIES_OLD_UNOWN_M
- HOENN_DEX_OLD_UNOWN_N, // SPECIES_OLD_UNOWN_N
- HOENN_DEX_OLD_UNOWN_O, // SPECIES_OLD_UNOWN_O
- HOENN_DEX_OLD_UNOWN_P, // SPECIES_OLD_UNOWN_P
- HOENN_DEX_OLD_UNOWN_Q, // SPECIES_OLD_UNOWN_Q
- HOENN_DEX_OLD_UNOWN_R, // SPECIES_OLD_UNOWN_R
- HOENN_DEX_OLD_UNOWN_S, // SPECIES_OLD_UNOWN_S
- HOENN_DEX_OLD_UNOWN_T, // SPECIES_OLD_UNOWN_T
- HOENN_DEX_OLD_UNOWN_U, // SPECIES_OLD_UNOWN_U
- HOENN_DEX_OLD_UNOWN_V, // SPECIES_OLD_UNOWN_V
- HOENN_DEX_OLD_UNOWN_W, // SPECIES_OLD_UNOWN_W
- HOENN_DEX_OLD_UNOWN_X, // SPECIES_OLD_UNOWN_X
- HOENN_DEX_OLD_UNOWN_Y, // SPECIES_OLD_UNOWN_Y
- HOENN_DEX_OLD_UNOWN_Z, // SPECIES_OLD_UNOWN_Z
- HOENN_DEX_TREECKO, // SPECIES_TREECKO
- HOENN_DEX_GROVYLE, // SPECIES_GROVYLE
- HOENN_DEX_SCEPTILE, // SPECIES_SCEPTILE
- HOENN_DEX_TORCHIC, // SPECIES_TORCHIC
- HOENN_DEX_COMBUSKEN, // SPECIES_COMBUSKEN
- HOENN_DEX_BLAZIKEN, // SPECIES_BLAZIKEN
- HOENN_DEX_MUDKIP, // SPECIES_MUDKIP
- HOENN_DEX_MARSHTOMP, // SPECIES_MARSHTOMP
- HOENN_DEX_SWAMPERT, // SPECIES_SWAMPERT
- HOENN_DEX_POOCHYENA, // SPECIES_POOCHYENA
- HOENN_DEX_MIGHTYENA, // SPECIES_MIGHTYENA
- HOENN_DEX_ZIGZAGOON, // SPECIES_ZIGZAGOON
- HOENN_DEX_LINOONE, // SPECIES_LINOONE
- HOENN_DEX_WURMPLE, // SPECIES_WURMPLE
- HOENN_DEX_SILCOON, // SPECIES_SILCOON
- HOENN_DEX_BEAUTIFLY, // SPECIES_BEAUTIFLY
- HOENN_DEX_CASCOON, // SPECIES_CASCOON
- HOENN_DEX_DUSTOX, // SPECIES_DUSTOX
- HOENN_DEX_LOTAD, // SPECIES_LOTAD
- HOENN_DEX_LOMBRE, // SPECIES_LOMBRE
- HOENN_DEX_LUDICOLO, // SPECIES_LUDICOLO
- HOENN_DEX_SEEDOT, // SPECIES_SEEDOT
- HOENN_DEX_NUZLEAF, // SPECIES_NUZLEAF
- HOENN_DEX_SHIFTRY, // SPECIES_SHIFTRY
- HOENN_DEX_NINCADA, // SPECIES_NINCADA
- HOENN_DEX_NINJASK, // SPECIES_NINJASK
- HOENN_DEX_SHEDINJA, // SPECIES_SHEDINJA
- HOENN_DEX_TAILLOW, // SPECIES_TAILLOW
- HOENN_DEX_SWELLOW, // SPECIES_SWELLOW
- HOENN_DEX_SHROOMISH, // SPECIES_SHROOMISH
- HOENN_DEX_BRELOOM, // SPECIES_BRELOOM
- HOENN_DEX_SPINDA, // SPECIES_SPINDA
- HOENN_DEX_WINGULL, // SPECIES_WINGULL
- HOENN_DEX_PELIPPER, // SPECIES_PELIPPER
- HOENN_DEX_SURSKIT, // SPECIES_SURSKIT
- HOENN_DEX_MASQUERAIN, // SPECIES_MASQUERAIN
- HOENN_DEX_WAILMER, // SPECIES_WAILMER
- HOENN_DEX_WAILORD, // SPECIES_WAILORD
- HOENN_DEX_SKITTY, // SPECIES_SKITTY
- HOENN_DEX_DELCATTY, // SPECIES_DELCATTY
- HOENN_DEX_KECLEON, // SPECIES_KECLEON
- HOENN_DEX_BALTOY, // SPECIES_BALTOY
- HOENN_DEX_CLAYDOL, // SPECIES_CLAYDOL
- HOENN_DEX_NOSEPASS, // SPECIES_NOSEPASS
- HOENN_DEX_TORKOAL, // SPECIES_TORKOAL
- HOENN_DEX_SABLEYE, // SPECIES_SABLEYE
- HOENN_DEX_BARBOACH, // SPECIES_BARBOACH
- HOENN_DEX_WHISCASH, // SPECIES_WHISCASH
- HOENN_DEX_LUVDISC, // SPECIES_LUVDISC
- HOENN_DEX_CORPHISH, // SPECIES_CORPHISH
- HOENN_DEX_CRAWDAUNT, // SPECIES_CRAWDAUNT
- HOENN_DEX_FEEBAS, // SPECIES_FEEBAS
- HOENN_DEX_MILOTIC, // SPECIES_MILOTIC
- HOENN_DEX_CARVANHA, // SPECIES_CARVANHA
- HOENN_DEX_SHARPEDO, // SPECIES_SHARPEDO
- HOENN_DEX_TRAPINCH, // SPECIES_TRAPINCH
- HOENN_DEX_VIBRAVA, // SPECIES_VIBRAVA
- HOENN_DEX_FLYGON, // SPECIES_FLYGON
- HOENN_DEX_MAKUHITA, // SPECIES_MAKUHITA
- HOENN_DEX_HARIYAMA, // SPECIES_HARIYAMA
- HOENN_DEX_ELECTRIKE, // SPECIES_ELECTRIKE
- HOENN_DEX_MANECTRIC, // SPECIES_MANECTRIC
- HOENN_DEX_NUMEL, // SPECIES_NUMEL
- HOENN_DEX_CAMERUPT, // SPECIES_CAMERUPT
- HOENN_DEX_SPHEAL, // SPECIES_SPHEAL
- HOENN_DEX_SEALEO, // SPECIES_SEALEO
- HOENN_DEX_WALREIN, // SPECIES_WALREIN
- HOENN_DEX_CACNEA, // SPECIES_CACNEA
- HOENN_DEX_CACTURNE, // SPECIES_CACTURNE
- HOENN_DEX_SNORUNT, // SPECIES_SNORUNT
- HOENN_DEX_GLALIE, // SPECIES_GLALIE
- HOENN_DEX_LUNATONE, // SPECIES_LUNATONE
- HOENN_DEX_SOLROCK, // SPECIES_SOLROCK
- HOENN_DEX_AZURILL, // SPECIES_AZURILL
- HOENN_DEX_SPOINK, // SPECIES_SPOINK
- HOENN_DEX_GRUMPIG, // SPECIES_GRUMPIG
- HOENN_DEX_PLUSLE, // SPECIES_PLUSLE
- HOENN_DEX_MINUN, // SPECIES_MINUN
- HOENN_DEX_MAWILE, // SPECIES_MAWILE
- HOENN_DEX_MEDITITE, // SPECIES_MEDITITE
- HOENN_DEX_MEDICHAM, // SPECIES_MEDICHAM
- HOENN_DEX_SWABLU, // SPECIES_SWABLU
- HOENN_DEX_ALTARIA, // SPECIES_ALTARIA
- HOENN_DEX_WYNAUT, // SPECIES_WYNAUT
- HOENN_DEX_DUSKULL, // SPECIES_DUSKULL
- HOENN_DEX_DUSCLOPS, // SPECIES_DUSCLOPS
- HOENN_DEX_ROSELIA, // SPECIES_ROSELIA
- HOENN_DEX_SLAKOTH, // SPECIES_SLAKOTH
- HOENN_DEX_VIGOROTH, // SPECIES_VIGOROTH
- HOENN_DEX_SLAKING, // SPECIES_SLAKING
- HOENN_DEX_GULPIN, // SPECIES_GULPIN
- HOENN_DEX_SWALOT, // SPECIES_SWALOT
- HOENN_DEX_TROPIUS, // SPECIES_TROPIUS
- HOENN_DEX_WHISMUR, // SPECIES_WHISMUR
- HOENN_DEX_LOUDRED, // SPECIES_LOUDRED
- HOENN_DEX_EXPLOUD, // SPECIES_EXPLOUD
- HOENN_DEX_CLAMPERL, // SPECIES_CLAMPERL
- HOENN_DEX_HUNTAIL, // SPECIES_HUNTAIL
- HOENN_DEX_GOREBYSS, // SPECIES_GOREBYSS
- HOENN_DEX_ABSOL, // SPECIES_ABSOL
- HOENN_DEX_SHUPPET, // SPECIES_SHUPPET
- HOENN_DEX_BANETTE, // SPECIES_BANETTE
- HOENN_DEX_SEVIPER, // SPECIES_SEVIPER
- HOENN_DEX_ZANGOOSE, // SPECIES_ZANGOOSE
- HOENN_DEX_RELICANTH, // SPECIES_RELICANTH
- HOENN_DEX_ARON, // SPECIES_ARON
- HOENN_DEX_LAIRON, // SPECIES_LAIRON
- HOENN_DEX_AGGRON, // SPECIES_AGGRON
- HOENN_DEX_CASTFORM, // SPECIES_CASTFORM
- HOENN_DEX_VOLBEAT, // SPECIES_VOLBEAT
- HOENN_DEX_ILLUMISE, // SPECIES_ILLUMISE
- HOENN_DEX_LILEEP, // SPECIES_LILEEP
- HOENN_DEX_CRADILY, // SPECIES_CRADILY
- HOENN_DEX_ANORITH, // SPECIES_ANORITH
- HOENN_DEX_ARMALDO, // SPECIES_ARMALDO
- HOENN_DEX_RALTS, // SPECIES_RALTS
- HOENN_DEX_KIRLIA, // SPECIES_KIRLIA
- HOENN_DEX_GARDEVOIR, // SPECIES_GARDEVOIR
- HOENN_DEX_BAGON, // SPECIES_BAGON
- HOENN_DEX_SHELGON, // SPECIES_SHELGON
- HOENN_DEX_SALAMENCE, // SPECIES_SALAMENCE
- HOENN_DEX_BELDUM, // SPECIES_BELDUM
- HOENN_DEX_METANG, // SPECIES_METANG
- HOENN_DEX_METAGROSS, // SPECIES_METAGROSS
- HOENN_DEX_REGIROCK, // SPECIES_REGIROCK
- HOENN_DEX_REGICE, // SPECIES_REGICE
- HOENN_DEX_REGISTEEL, // SPECIES_REGISTEEL
- HOENN_DEX_KYOGRE, // SPECIES_KYOGRE
- HOENN_DEX_GROUDON, // SPECIES_GROUDON
- HOENN_DEX_RAYQUAZA, // SPECIES_RAYQUAZA
- HOENN_DEX_LATIAS, // SPECIES_LATIAS
- HOENN_DEX_LATIOS, // SPECIES_LATIOS
- HOENN_DEX_JIRACHI, // SPECIES_JIRACHI
- HOENN_DEX_DEOXYS, // SPECIES_DEOXYS
- HOENN_DEX_CHIMECHO // SPECIES_CHIMECHO
+ SPECIES_TO_HOENN(BULBASAUR),
+ SPECIES_TO_HOENN(IVYSAUR),
+ SPECIES_TO_HOENN(VENUSAUR),
+ SPECIES_TO_HOENN(CHARMANDER),
+ SPECIES_TO_HOENN(CHARMELEON),
+ SPECIES_TO_HOENN(CHARIZARD),
+ SPECIES_TO_HOENN(SQUIRTLE),
+ SPECIES_TO_HOENN(WARTORTLE),
+ SPECIES_TO_HOENN(BLASTOISE),
+ SPECIES_TO_HOENN(CATERPIE),
+ SPECIES_TO_HOENN(METAPOD),
+ SPECIES_TO_HOENN(BUTTERFREE),
+ SPECIES_TO_HOENN(WEEDLE),
+ SPECIES_TO_HOENN(KAKUNA),
+ SPECIES_TO_HOENN(BEEDRILL),
+ SPECIES_TO_HOENN(PIDGEY),
+ SPECIES_TO_HOENN(PIDGEOTTO),
+ SPECIES_TO_HOENN(PIDGEOT),
+ SPECIES_TO_HOENN(RATTATA),
+ SPECIES_TO_HOENN(RATICATE),
+ SPECIES_TO_HOENN(SPEAROW),
+ SPECIES_TO_HOENN(FEAROW),
+ SPECIES_TO_HOENN(EKANS),
+ SPECIES_TO_HOENN(ARBOK),
+ SPECIES_TO_HOENN(PIKACHU),
+ SPECIES_TO_HOENN(RAICHU),
+ SPECIES_TO_HOENN(SANDSHREW),
+ SPECIES_TO_HOENN(SANDSLASH),
+ SPECIES_TO_HOENN(NIDORAN_F),
+ SPECIES_TO_HOENN(NIDORINA),
+ SPECIES_TO_HOENN(NIDOQUEEN),
+ SPECIES_TO_HOENN(NIDORAN_M),
+ SPECIES_TO_HOENN(NIDORINO),
+ SPECIES_TO_HOENN(NIDOKING),
+ SPECIES_TO_HOENN(CLEFAIRY),
+ SPECIES_TO_HOENN(CLEFABLE),
+ SPECIES_TO_HOENN(VULPIX),
+ SPECIES_TO_HOENN(NINETALES),
+ SPECIES_TO_HOENN(JIGGLYPUFF),
+ SPECIES_TO_HOENN(WIGGLYTUFF),
+ SPECIES_TO_HOENN(ZUBAT),
+ SPECIES_TO_HOENN(GOLBAT),
+ SPECIES_TO_HOENN(ODDISH),
+ SPECIES_TO_HOENN(GLOOM),
+ SPECIES_TO_HOENN(VILEPLUME),
+ SPECIES_TO_HOENN(PARAS),
+ SPECIES_TO_HOENN(PARASECT),
+ SPECIES_TO_HOENN(VENONAT),
+ SPECIES_TO_HOENN(VENOMOTH),
+ SPECIES_TO_HOENN(DIGLETT),
+ SPECIES_TO_HOENN(DUGTRIO),
+ SPECIES_TO_HOENN(MEOWTH),
+ SPECIES_TO_HOENN(PERSIAN),
+ SPECIES_TO_HOENN(PSYDUCK),
+ SPECIES_TO_HOENN(GOLDUCK),
+ SPECIES_TO_HOENN(MANKEY),
+ SPECIES_TO_HOENN(PRIMEAPE),
+ SPECIES_TO_HOENN(GROWLITHE),
+ SPECIES_TO_HOENN(ARCANINE),
+ SPECIES_TO_HOENN(POLIWAG),
+ SPECIES_TO_HOENN(POLIWHIRL),
+ SPECIES_TO_HOENN(POLIWRATH),
+ SPECIES_TO_HOENN(ABRA),
+ SPECIES_TO_HOENN(KADABRA),
+ SPECIES_TO_HOENN(ALAKAZAM),
+ SPECIES_TO_HOENN(MACHOP),
+ SPECIES_TO_HOENN(MACHOKE),
+ SPECIES_TO_HOENN(MACHAMP),
+ SPECIES_TO_HOENN(BELLSPROUT),
+ SPECIES_TO_HOENN(WEEPINBELL),
+ SPECIES_TO_HOENN(VICTREEBEL),
+ SPECIES_TO_HOENN(TENTACOOL),
+ SPECIES_TO_HOENN(TENTACRUEL),
+ SPECIES_TO_HOENN(GEODUDE),
+ SPECIES_TO_HOENN(GRAVELER),
+ SPECIES_TO_HOENN(GOLEM),
+ SPECIES_TO_HOENN(PONYTA),
+ SPECIES_TO_HOENN(RAPIDASH),
+ SPECIES_TO_HOENN(SLOWPOKE),
+ SPECIES_TO_HOENN(SLOWBRO),
+ SPECIES_TO_HOENN(MAGNEMITE),
+ SPECIES_TO_HOENN(MAGNETON),
+ SPECIES_TO_HOENN(FARFETCHD),
+ SPECIES_TO_HOENN(DODUO),
+ SPECIES_TO_HOENN(DODRIO),
+ SPECIES_TO_HOENN(SEEL),
+ SPECIES_TO_HOENN(DEWGONG),
+ SPECIES_TO_HOENN(GRIMER),
+ SPECIES_TO_HOENN(MUK),
+ SPECIES_TO_HOENN(SHELLDER),
+ SPECIES_TO_HOENN(CLOYSTER),
+ SPECIES_TO_HOENN(GASTLY),
+ SPECIES_TO_HOENN(HAUNTER),
+ SPECIES_TO_HOENN(GENGAR),
+ SPECIES_TO_HOENN(ONIX),
+ SPECIES_TO_HOENN(DROWZEE),
+ SPECIES_TO_HOENN(HYPNO),
+ SPECIES_TO_HOENN(KRABBY),
+ SPECIES_TO_HOENN(KINGLER),
+ SPECIES_TO_HOENN(VOLTORB),
+ SPECIES_TO_HOENN(ELECTRODE),
+ SPECIES_TO_HOENN(EXEGGCUTE),
+ SPECIES_TO_HOENN(EXEGGUTOR),
+ SPECIES_TO_HOENN(CUBONE),
+ SPECIES_TO_HOENN(MAROWAK),
+ SPECIES_TO_HOENN(HITMONLEE),
+ SPECIES_TO_HOENN(HITMONCHAN),
+ SPECIES_TO_HOENN(LICKITUNG),
+ SPECIES_TO_HOENN(KOFFING),
+ SPECIES_TO_HOENN(WEEZING),
+ SPECIES_TO_HOENN(RHYHORN),
+ SPECIES_TO_HOENN(RHYDON),
+ SPECIES_TO_HOENN(CHANSEY),
+ SPECIES_TO_HOENN(TANGELA),
+ SPECIES_TO_HOENN(KANGASKHAN),
+ SPECIES_TO_HOENN(HORSEA),
+ SPECIES_TO_HOENN(SEADRA),
+ SPECIES_TO_HOENN(GOLDEEN),
+ SPECIES_TO_HOENN(SEAKING),
+ SPECIES_TO_HOENN(STARYU),
+ SPECIES_TO_HOENN(STARMIE),
+ SPECIES_TO_HOENN(MR_MIME),
+ SPECIES_TO_HOENN(SCYTHER),
+ SPECIES_TO_HOENN(JYNX),
+ SPECIES_TO_HOENN(ELECTABUZZ),
+ SPECIES_TO_HOENN(MAGMAR),
+ SPECIES_TO_HOENN(PINSIR),
+ SPECIES_TO_HOENN(TAUROS),
+ SPECIES_TO_HOENN(MAGIKARP),
+ SPECIES_TO_HOENN(GYARADOS),
+ SPECIES_TO_HOENN(LAPRAS),
+ SPECIES_TO_HOENN(DITTO),
+ SPECIES_TO_HOENN(EEVEE),
+ SPECIES_TO_HOENN(VAPOREON),
+ SPECIES_TO_HOENN(JOLTEON),
+ SPECIES_TO_HOENN(FLAREON),
+ SPECIES_TO_HOENN(PORYGON),
+ SPECIES_TO_HOENN(OMANYTE),
+ SPECIES_TO_HOENN(OMASTAR),
+ SPECIES_TO_HOENN(KABUTO),
+ SPECIES_TO_HOENN(KABUTOPS),
+ SPECIES_TO_HOENN(AERODACTYL),
+ SPECIES_TO_HOENN(SNORLAX),
+ SPECIES_TO_HOENN(ARTICUNO),
+ SPECIES_TO_HOENN(ZAPDOS),
+ SPECIES_TO_HOENN(MOLTRES),
+ SPECIES_TO_HOENN(DRATINI),
+ SPECIES_TO_HOENN(DRAGONAIR),
+ SPECIES_TO_HOENN(DRAGONITE),
+ SPECIES_TO_HOENN(MEWTWO),
+ SPECIES_TO_HOENN(MEW),
+ SPECIES_TO_HOENN(CHIKORITA),
+ SPECIES_TO_HOENN(BAYLEEF),
+ SPECIES_TO_HOENN(MEGANIUM),
+ SPECIES_TO_HOENN(CYNDAQUIL),
+ SPECIES_TO_HOENN(QUILAVA),
+ SPECIES_TO_HOENN(TYPHLOSION),
+ SPECIES_TO_HOENN(TOTODILE),
+ SPECIES_TO_HOENN(CROCONAW),
+ SPECIES_TO_HOENN(FERALIGATR),
+ SPECIES_TO_HOENN(SENTRET),
+ SPECIES_TO_HOENN(FURRET),
+ SPECIES_TO_HOENN(HOOTHOOT),
+ SPECIES_TO_HOENN(NOCTOWL),
+ SPECIES_TO_HOENN(LEDYBA),
+ SPECIES_TO_HOENN(LEDIAN),
+ SPECIES_TO_HOENN(SPINARAK),
+ SPECIES_TO_HOENN(ARIADOS),
+ SPECIES_TO_HOENN(CROBAT),
+ SPECIES_TO_HOENN(CHINCHOU),
+ SPECIES_TO_HOENN(LANTURN),
+ SPECIES_TO_HOENN(PICHU),
+ SPECIES_TO_HOENN(CLEFFA),
+ SPECIES_TO_HOENN(IGGLYBUFF),
+ SPECIES_TO_HOENN(TOGEPI),
+ SPECIES_TO_HOENN(TOGETIC),
+ SPECIES_TO_HOENN(NATU),
+ SPECIES_TO_HOENN(XATU),
+ SPECIES_TO_HOENN(MAREEP),
+ SPECIES_TO_HOENN(FLAAFFY),
+ SPECIES_TO_HOENN(AMPHAROS),
+ SPECIES_TO_HOENN(BELLOSSOM),
+ SPECIES_TO_HOENN(MARILL),
+ SPECIES_TO_HOENN(AZUMARILL),
+ SPECIES_TO_HOENN(SUDOWOODO),
+ SPECIES_TO_HOENN(POLITOED),
+ SPECIES_TO_HOENN(HOPPIP),
+ SPECIES_TO_HOENN(SKIPLOOM),
+ SPECIES_TO_HOENN(JUMPLUFF),
+ SPECIES_TO_HOENN(AIPOM),
+ SPECIES_TO_HOENN(SUNKERN),
+ SPECIES_TO_HOENN(SUNFLORA),
+ SPECIES_TO_HOENN(YANMA),
+ SPECIES_TO_HOENN(WOOPER),
+ SPECIES_TO_HOENN(QUAGSIRE),
+ SPECIES_TO_HOENN(ESPEON),
+ SPECIES_TO_HOENN(UMBREON),
+ SPECIES_TO_HOENN(MURKROW),
+ SPECIES_TO_HOENN(SLOWKING),
+ SPECIES_TO_HOENN(MISDREAVUS),
+ SPECIES_TO_HOENN(UNOWN),
+ SPECIES_TO_HOENN(WOBBUFFET),
+ SPECIES_TO_HOENN(GIRAFARIG),
+ SPECIES_TO_HOENN(PINECO),
+ SPECIES_TO_HOENN(FORRETRESS),
+ SPECIES_TO_HOENN(DUNSPARCE),
+ SPECIES_TO_HOENN(GLIGAR),
+ SPECIES_TO_HOENN(STEELIX),
+ SPECIES_TO_HOENN(SNUBBULL),
+ SPECIES_TO_HOENN(GRANBULL),
+ SPECIES_TO_HOENN(QWILFISH),
+ SPECIES_TO_HOENN(SCIZOR),
+ SPECIES_TO_HOENN(SHUCKLE),
+ SPECIES_TO_HOENN(HERACROSS),
+ SPECIES_TO_HOENN(SNEASEL),
+ SPECIES_TO_HOENN(TEDDIURSA),
+ SPECIES_TO_HOENN(URSARING),
+ SPECIES_TO_HOENN(SLUGMA),
+ SPECIES_TO_HOENN(MAGCARGO),
+ SPECIES_TO_HOENN(SWINUB),
+ SPECIES_TO_HOENN(PILOSWINE),
+ SPECIES_TO_HOENN(CORSOLA),
+ SPECIES_TO_HOENN(REMORAID),
+ SPECIES_TO_HOENN(OCTILLERY),
+ SPECIES_TO_HOENN(DELIBIRD),
+ SPECIES_TO_HOENN(MANTINE),
+ SPECIES_TO_HOENN(SKARMORY),
+ SPECIES_TO_HOENN(HOUNDOUR),
+ SPECIES_TO_HOENN(HOUNDOOM),
+ SPECIES_TO_HOENN(KINGDRA),
+ SPECIES_TO_HOENN(PHANPY),
+ SPECIES_TO_HOENN(DONPHAN),
+ SPECIES_TO_HOENN(PORYGON2),
+ SPECIES_TO_HOENN(STANTLER),
+ SPECIES_TO_HOENN(SMEARGLE),
+ SPECIES_TO_HOENN(TYROGUE),
+ SPECIES_TO_HOENN(HITMONTOP),
+ SPECIES_TO_HOENN(SMOOCHUM),
+ SPECIES_TO_HOENN(ELEKID),
+ SPECIES_TO_HOENN(MAGBY),
+ SPECIES_TO_HOENN(MILTANK),
+ SPECIES_TO_HOENN(BLISSEY),
+ SPECIES_TO_HOENN(RAIKOU),
+ SPECIES_TO_HOENN(ENTEI),
+ SPECIES_TO_HOENN(SUICUNE),
+ SPECIES_TO_HOENN(LARVITAR),
+ SPECIES_TO_HOENN(PUPITAR),
+ SPECIES_TO_HOENN(TYRANITAR),
+ SPECIES_TO_HOENN(LUGIA),
+ SPECIES_TO_HOENN(HO_OH),
+ SPECIES_TO_HOENN(CELEBI),
+ SPECIES_TO_HOENN(OLD_UNOWN_B),
+ SPECIES_TO_HOENN(OLD_UNOWN_C),
+ SPECIES_TO_HOENN(OLD_UNOWN_D),
+ SPECIES_TO_HOENN(OLD_UNOWN_E),
+ SPECIES_TO_HOENN(OLD_UNOWN_F),
+ SPECIES_TO_HOENN(OLD_UNOWN_G),
+ SPECIES_TO_HOENN(OLD_UNOWN_H),
+ SPECIES_TO_HOENN(OLD_UNOWN_I),
+ SPECIES_TO_HOENN(OLD_UNOWN_J),
+ SPECIES_TO_HOENN(OLD_UNOWN_K),
+ SPECIES_TO_HOENN(OLD_UNOWN_L),
+ SPECIES_TO_HOENN(OLD_UNOWN_M),
+ SPECIES_TO_HOENN(OLD_UNOWN_N),
+ SPECIES_TO_HOENN(OLD_UNOWN_O),
+ SPECIES_TO_HOENN(OLD_UNOWN_P),
+ SPECIES_TO_HOENN(OLD_UNOWN_Q),
+ SPECIES_TO_HOENN(OLD_UNOWN_R),
+ SPECIES_TO_HOENN(OLD_UNOWN_S),
+ SPECIES_TO_HOENN(OLD_UNOWN_T),
+ SPECIES_TO_HOENN(OLD_UNOWN_U),
+ SPECIES_TO_HOENN(OLD_UNOWN_V),
+ SPECIES_TO_HOENN(OLD_UNOWN_W),
+ SPECIES_TO_HOENN(OLD_UNOWN_X),
+ SPECIES_TO_HOENN(OLD_UNOWN_Y),
+ SPECIES_TO_HOENN(OLD_UNOWN_Z),
+ SPECIES_TO_HOENN(TREECKO),
+ SPECIES_TO_HOENN(GROVYLE),
+ SPECIES_TO_HOENN(SCEPTILE),
+ SPECIES_TO_HOENN(TORCHIC),
+ SPECIES_TO_HOENN(COMBUSKEN),
+ SPECIES_TO_HOENN(BLAZIKEN),
+ SPECIES_TO_HOENN(MUDKIP),
+ SPECIES_TO_HOENN(MARSHTOMP),
+ SPECIES_TO_HOENN(SWAMPERT),
+ SPECIES_TO_HOENN(POOCHYENA),
+ SPECIES_TO_HOENN(MIGHTYENA),
+ SPECIES_TO_HOENN(ZIGZAGOON),
+ SPECIES_TO_HOENN(LINOONE),
+ SPECIES_TO_HOENN(WURMPLE),
+ SPECIES_TO_HOENN(SILCOON),
+ SPECIES_TO_HOENN(BEAUTIFLY),
+ SPECIES_TO_HOENN(CASCOON),
+ SPECIES_TO_HOENN(DUSTOX),
+ SPECIES_TO_HOENN(LOTAD),
+ SPECIES_TO_HOENN(LOMBRE),
+ SPECIES_TO_HOENN(LUDICOLO),
+ SPECIES_TO_HOENN(SEEDOT),
+ SPECIES_TO_HOENN(NUZLEAF),
+ SPECIES_TO_HOENN(SHIFTRY),
+ SPECIES_TO_HOENN(NINCADA),
+ SPECIES_TO_HOENN(NINJASK),
+ SPECIES_TO_HOENN(SHEDINJA),
+ SPECIES_TO_HOENN(TAILLOW),
+ SPECIES_TO_HOENN(SWELLOW),
+ SPECIES_TO_HOENN(SHROOMISH),
+ SPECIES_TO_HOENN(BRELOOM),
+ SPECIES_TO_HOENN(SPINDA),
+ SPECIES_TO_HOENN(WINGULL),
+ SPECIES_TO_HOENN(PELIPPER),
+ SPECIES_TO_HOENN(SURSKIT),
+ SPECIES_TO_HOENN(MASQUERAIN),
+ SPECIES_TO_HOENN(WAILMER),
+ SPECIES_TO_HOENN(WAILORD),
+ SPECIES_TO_HOENN(SKITTY),
+ SPECIES_TO_HOENN(DELCATTY),
+ SPECIES_TO_HOENN(KECLEON),
+ SPECIES_TO_HOENN(BALTOY),
+ SPECIES_TO_HOENN(CLAYDOL),
+ SPECIES_TO_HOENN(NOSEPASS),
+ SPECIES_TO_HOENN(TORKOAL),
+ SPECIES_TO_HOENN(SABLEYE),
+ SPECIES_TO_HOENN(BARBOACH),
+ SPECIES_TO_HOENN(WHISCASH),
+ SPECIES_TO_HOENN(LUVDISC),
+ SPECIES_TO_HOENN(CORPHISH),
+ SPECIES_TO_HOENN(CRAWDAUNT),
+ SPECIES_TO_HOENN(FEEBAS),
+ SPECIES_TO_HOENN(MILOTIC),
+ SPECIES_TO_HOENN(CARVANHA),
+ SPECIES_TO_HOENN(SHARPEDO),
+ SPECIES_TO_HOENN(TRAPINCH),
+ SPECIES_TO_HOENN(VIBRAVA),
+ SPECIES_TO_HOENN(FLYGON),
+ SPECIES_TO_HOENN(MAKUHITA),
+ SPECIES_TO_HOENN(HARIYAMA),
+ SPECIES_TO_HOENN(ELECTRIKE),
+ SPECIES_TO_HOENN(MANECTRIC),
+ SPECIES_TO_HOENN(NUMEL),
+ SPECIES_TO_HOENN(CAMERUPT),
+ SPECIES_TO_HOENN(SPHEAL),
+ SPECIES_TO_HOENN(SEALEO),
+ SPECIES_TO_HOENN(WALREIN),
+ SPECIES_TO_HOENN(CACNEA),
+ SPECIES_TO_HOENN(CACTURNE),
+ SPECIES_TO_HOENN(SNORUNT),
+ SPECIES_TO_HOENN(GLALIE),
+ SPECIES_TO_HOENN(LUNATONE),
+ SPECIES_TO_HOENN(SOLROCK),
+ SPECIES_TO_HOENN(AZURILL),
+ SPECIES_TO_HOENN(SPOINK),
+ SPECIES_TO_HOENN(GRUMPIG),
+ SPECIES_TO_HOENN(PLUSLE),
+ SPECIES_TO_HOENN(MINUN),
+ SPECIES_TO_HOENN(MAWILE),
+ SPECIES_TO_HOENN(MEDITITE),
+ SPECIES_TO_HOENN(MEDICHAM),
+ SPECIES_TO_HOENN(SWABLU),
+ SPECIES_TO_HOENN(ALTARIA),
+ SPECIES_TO_HOENN(WYNAUT),
+ SPECIES_TO_HOENN(DUSKULL),
+ SPECIES_TO_HOENN(DUSCLOPS),
+ SPECIES_TO_HOENN(ROSELIA),
+ SPECIES_TO_HOENN(SLAKOTH),
+ SPECIES_TO_HOENN(VIGOROTH),
+ SPECIES_TO_HOENN(SLAKING),
+ SPECIES_TO_HOENN(GULPIN),
+ SPECIES_TO_HOENN(SWALOT),
+ SPECIES_TO_HOENN(TROPIUS),
+ SPECIES_TO_HOENN(WHISMUR),
+ SPECIES_TO_HOENN(LOUDRED),
+ SPECIES_TO_HOENN(EXPLOUD),
+ SPECIES_TO_HOENN(CLAMPERL),
+ SPECIES_TO_HOENN(HUNTAIL),
+ SPECIES_TO_HOENN(GOREBYSS),
+ SPECIES_TO_HOENN(ABSOL),
+ SPECIES_TO_HOENN(SHUPPET),
+ SPECIES_TO_HOENN(BANETTE),
+ SPECIES_TO_HOENN(SEVIPER),
+ SPECIES_TO_HOENN(ZANGOOSE),
+ SPECIES_TO_HOENN(RELICANTH),
+ SPECIES_TO_HOENN(ARON),
+ SPECIES_TO_HOENN(LAIRON),
+ SPECIES_TO_HOENN(AGGRON),
+ SPECIES_TO_HOENN(CASTFORM),
+ SPECIES_TO_HOENN(VOLBEAT),
+ SPECIES_TO_HOENN(ILLUMISE),
+ SPECIES_TO_HOENN(LILEEP),
+ SPECIES_TO_HOENN(CRADILY),
+ SPECIES_TO_HOENN(ANORITH),
+ SPECIES_TO_HOENN(ARMALDO),
+ SPECIES_TO_HOENN(RALTS),
+ SPECIES_TO_HOENN(KIRLIA),
+ SPECIES_TO_HOENN(GARDEVOIR),
+ SPECIES_TO_HOENN(BAGON),
+ SPECIES_TO_HOENN(SHELGON),
+ SPECIES_TO_HOENN(SALAMENCE),
+ SPECIES_TO_HOENN(BELDUM),
+ SPECIES_TO_HOENN(METANG),
+ SPECIES_TO_HOENN(METAGROSS),
+ SPECIES_TO_HOENN(REGIROCK),
+ SPECIES_TO_HOENN(REGICE),
+ SPECIES_TO_HOENN(REGISTEEL),
+ SPECIES_TO_HOENN(KYOGRE),
+ SPECIES_TO_HOENN(GROUDON),
+ SPECIES_TO_HOENN(RAYQUAZA),
+ SPECIES_TO_HOENN(LATIAS),
+ SPECIES_TO_HOENN(LATIOS),
+ SPECIES_TO_HOENN(JIRACHI),
+ SPECIES_TO_HOENN(DEOXYS),
+ SPECIES_TO_HOENN(CHIMECHO),
};
const u16 gSpeciesToNationalPokedexNum[] = // Assigns all species to the National Dex Index (Summary No. for National Dex)
{
- // SPECIES_NONE
- NATIONAL_DEX_BULBASAUR, // SPECIES_BULBASAUR
- NATIONAL_DEX_IVYSAUR, // SPECIES_IVYSAUR
- NATIONAL_DEX_VENUSAUR, // SPECIES_VENUSAUR
- NATIONAL_DEX_CHARMANDER, // SPECIES_CHARMANDER
- NATIONAL_DEX_CHARMELEON, // SPECIES_CHARMELEON
- NATIONAL_DEX_CHARIZARD, // SPECIES_CHARIZARD
- NATIONAL_DEX_SQUIRTLE, // SPECIES_SQUIRTLE
- NATIONAL_DEX_WARTORTLE, // SPECIES_WARTORTLE
- NATIONAL_DEX_BLASTOISE, // SPECIES_BLASTOISE
- NATIONAL_DEX_CATERPIE, // SPECIES_CATERPIE
- NATIONAL_DEX_METAPOD, // SPECIES_METAPOD
- NATIONAL_DEX_BUTTERFREE, // SPECIES_BUTTERFREE
- NATIONAL_DEX_WEEDLE, // SPECIES_WEEDLE
- NATIONAL_DEX_KAKUNA, // SPECIES_KAKUNA
- NATIONAL_DEX_BEEDRILL, // SPECIES_BEEDRILL
- NATIONAL_DEX_PIDGEY, // SPECIES_PIDGEY
- NATIONAL_DEX_PIDGEOTTO, // SPECIES_PIDGEOTTO
- NATIONAL_DEX_PIDGEOT, // SPECIES_PIDGEOT
- NATIONAL_DEX_RATTATA, // SPECIES_RATTATA
- NATIONAL_DEX_RATICATE, // SPECIES_RATICATE
- NATIONAL_DEX_SPEAROW, // SPECIES_SPEAROW
- NATIONAL_DEX_FEAROW, // SPECIES_FEAROW
- NATIONAL_DEX_EKANS, // SPECIES_EKANS
- NATIONAL_DEX_ARBOK, // SPECIES_ARBOK
- NATIONAL_DEX_PIKACHU, // SPECIES_PIKACHU
- NATIONAL_DEX_RAICHU, // SPECIES_RAICHU
- NATIONAL_DEX_SANDSHREW, // SPECIES_SANDSHREW
- NATIONAL_DEX_SANDSLASH, // SPECIES_SANDSLASH
- NATIONAL_DEX_NIDORAN_F, // SPECIES_NIDORAN_F
- NATIONAL_DEX_NIDORINA, // SPECIES_NIDORINA
- NATIONAL_DEX_NIDOQUEEN, // SPECIES_NIDOQUEEN
- NATIONAL_DEX_NIDORAN_M, // SPECIES_NIDORAN_M
- NATIONAL_DEX_NIDORINO, // SPECIES_NIDORINO
- NATIONAL_DEX_NIDOKING, // SPECIES_NIDOKING
- NATIONAL_DEX_CLEFAIRY, // SPECIES_CLEFAIRY
- NATIONAL_DEX_CLEFABLE, // SPECIES_CLEFABLE
- NATIONAL_DEX_VULPIX, // SPECIES_VULPIX
- NATIONAL_DEX_NINETALES, // SPECIES_NINETALES
- NATIONAL_DEX_JIGGLYPUFF, // SPECIES_JIGGLYPUFF
- NATIONAL_DEX_WIGGLYTUFF, // SPECIES_WIGGLYTUFF
- NATIONAL_DEX_ZUBAT, // SPECIES_ZUBAT
- NATIONAL_DEX_GOLBAT, // SPECIES_GOLBAT
- NATIONAL_DEX_ODDISH, // SPECIES_ODDISH
- NATIONAL_DEX_GLOOM, // SPECIES_GLOOM
- NATIONAL_DEX_VILEPLUME, // SPECIES_VILEPLUME
- NATIONAL_DEX_PARAS, // SPECIES_PARAS
- NATIONAL_DEX_PARASECT, // SPECIES_PARASECT
- NATIONAL_DEX_VENONAT, // SPECIES_VENONAT
- NATIONAL_DEX_VENOMOTH, // SPECIES_VENOMOTH
- NATIONAL_DEX_DIGLETT, // SPECIES_DIGLETT
- NATIONAL_DEX_DUGTRIO, // SPECIES_DUGTRIO
- NATIONAL_DEX_MEOWTH, // SPECIES_MEOWTH
- NATIONAL_DEX_PERSIAN, // SPECIES_PERSIAN
- NATIONAL_DEX_PSYDUCK, // SPECIES_PSYDUCK
- NATIONAL_DEX_GOLDUCK, // SPECIES_GOLDUCK
- NATIONAL_DEX_MANKEY, // SPECIES_MANKEY
- NATIONAL_DEX_PRIMEAPE, // SPECIES_PRIMEAPE
- NATIONAL_DEX_GROWLITHE, // SPECIES_GROWLITHE
- NATIONAL_DEX_ARCANINE, // SPECIES_ARCANINE
- NATIONAL_DEX_POLIWAG, // SPECIES_POLIWAG
- NATIONAL_DEX_POLIWHIRL, // SPECIES_POLIWHIRL
- NATIONAL_DEX_POLIWRATH, // SPECIES_POLIWRATH
- NATIONAL_DEX_ABRA, // SPECIES_ABRA
- NATIONAL_DEX_KADABRA, // SPECIES_KADABRA
- NATIONAL_DEX_ALAKAZAM, // SPECIES_ALAKAZAM
- NATIONAL_DEX_MACHOP, // SPECIES_MACHOP
- NATIONAL_DEX_MACHOKE, // SPECIES_MACHOKE
- NATIONAL_DEX_MACHAMP, // SPECIES_MACHAMP
- NATIONAL_DEX_BELLSPROUT, // SPECIES_BELLSPROUT
- NATIONAL_DEX_WEEPINBELL, // SPECIES_WEEPINBELL
- NATIONAL_DEX_VICTREEBEL, // SPECIES_VICTREEBEL
- NATIONAL_DEX_TENTACOOL, // SPECIES_TENTACOOL
- NATIONAL_DEX_TENTACRUEL, // SPECIES_TENTACRUEL
- NATIONAL_DEX_GEODUDE, // SPECIES_GEODUDE
- NATIONAL_DEX_GRAVELER, // SPECIES_GRAVELER
- NATIONAL_DEX_GOLEM, // SPECIES_GOLEM
- NATIONAL_DEX_PONYTA, // SPECIES_PONYTA
- NATIONAL_DEX_RAPIDASH, // SPECIES_RAPIDASH
- NATIONAL_DEX_SLOWPOKE, // SPECIES_SLOWPOKE
- NATIONAL_DEX_SLOWBRO, // SPECIES_SLOWBRO
- NATIONAL_DEX_MAGNEMITE, // SPECIES_MAGNEMITE
- NATIONAL_DEX_MAGNETON, // SPECIES_MAGNETON
- NATIONAL_DEX_FARFETCHD, // SPECIES_FARFETCHD
- NATIONAL_DEX_DODUO, // SPECIES_DODUO
- NATIONAL_DEX_DODRIO, // SPECIES_DODRIO
- NATIONAL_DEX_SEEL, // SPECIES_SEEL
- NATIONAL_DEX_DEWGONG, // SPECIES_DEWGONG
- NATIONAL_DEX_GRIMER, // SPECIES_GRIMER
- NATIONAL_DEX_MUK, // SPECIES_MUK
- NATIONAL_DEX_SHELLDER, // SPECIES_SHELLDER
- NATIONAL_DEX_CLOYSTER, // SPECIES_CLOYSTER
- NATIONAL_DEX_GASTLY, // SPECIES_GASTLY
- NATIONAL_DEX_HAUNTER, // SPECIES_HAUNTER
- NATIONAL_DEX_GENGAR, // SPECIES_GENGAR
- NATIONAL_DEX_ONIX, // SPECIES_ONIX
- NATIONAL_DEX_DROWZEE, // SPECIES_DROWZEE
- NATIONAL_DEX_HYPNO, // SPECIES_HYPNO
- NATIONAL_DEX_KRABBY, // SPECIES_KRABBY
- NATIONAL_DEX_KINGLER, // SPECIES_KINGLER
- NATIONAL_DEX_VOLTORB, // SPECIES_VOLTORB
- NATIONAL_DEX_ELECTRODE, // SPECIES_ELECTRODE
- NATIONAL_DEX_EXEGGCUTE, // SPECIES_EXEGGCUTE
- NATIONAL_DEX_EXEGGUTOR, // SPECIES_EXEGGUTOR
- NATIONAL_DEX_CUBONE, // SPECIES_CUBONE
- NATIONAL_DEX_MAROWAK, // SPECIES_MAROWAK
- NATIONAL_DEX_HITMONLEE, // SPECIES_HITMONLEE
- NATIONAL_DEX_HITMONCHAN, // SPECIES_HITMONCHAN
- NATIONAL_DEX_LICKITUNG, // SPECIES_LICKITUNG
- NATIONAL_DEX_KOFFING, // SPECIES_KOFFING
- NATIONAL_DEX_WEEZING, // SPECIES_WEEZING
- NATIONAL_DEX_RHYHORN, // SPECIES_RHYHORN
- NATIONAL_DEX_RHYDON, // SPECIES_RHYDON
- NATIONAL_DEX_CHANSEY, // SPECIES_CHANSEY
- NATIONAL_DEX_TANGELA, // SPECIES_TANGELA
- NATIONAL_DEX_KANGASKHAN, // SPECIES_KANGASKHAN
- NATIONAL_DEX_HORSEA, // SPECIES_HORSEA
- NATIONAL_DEX_SEADRA, // SPECIES_SEADRA
- NATIONAL_DEX_GOLDEEN, // SPECIES_GOLDEEN
- NATIONAL_DEX_SEAKING, // SPECIES_SEAKING
- NATIONAL_DEX_STARYU, // SPECIES_STARYU
- NATIONAL_DEX_STARMIE, // SPECIES_STARMIE
- NATIONAL_DEX_MR_MIME, // SPECIES_MR_MIME
- NATIONAL_DEX_SCYTHER, // SPECIES_SCYTHER
- NATIONAL_DEX_JYNX, // SPECIES_JYNX
- NATIONAL_DEX_ELECTABUZZ, // SPECIES_ELECTABUZZ
- NATIONAL_DEX_MAGMAR, // SPECIES_MAGMAR
- NATIONAL_DEX_PINSIR, // SPECIES_PINSIR
- NATIONAL_DEX_TAUROS, // SPECIES_TAUROS
- NATIONAL_DEX_MAGIKARP, // SPECIES_MAGIKARP
- NATIONAL_DEX_GYARADOS, // SPECIES_GYARADOS
- NATIONAL_DEX_LAPRAS, // SPECIES_LAPRAS
- NATIONAL_DEX_DITTO, // SPECIES_DITTO
- NATIONAL_DEX_EEVEE, // SPECIES_EEVEE
- NATIONAL_DEX_VAPOREON, // SPECIES_VAPOREON
- NATIONAL_DEX_JOLTEON, // SPECIES_JOLTEON
- NATIONAL_DEX_FLAREON, // SPECIES_FLAREON
- NATIONAL_DEX_PORYGON, // SPECIES_PORYGON
- NATIONAL_DEX_OMANYTE, // SPECIES_OMANYTE
- NATIONAL_DEX_OMASTAR, // SPECIES_OMASTAR
- NATIONAL_DEX_KABUTO, // SPECIES_KABUTO
- NATIONAL_DEX_KABUTOPS, // SPECIES_KABUTOPS
- NATIONAL_DEX_AERODACTYL, // SPECIES_AERODACTYL
- NATIONAL_DEX_SNORLAX, // SPECIES_SNORLAX
- NATIONAL_DEX_ARTICUNO, // SPECIES_ARTICUNO
- NATIONAL_DEX_ZAPDOS, // SPECIES_ZAPDOS
- NATIONAL_DEX_MOLTRES, // SPECIES_MOLTRES
- NATIONAL_DEX_DRATINI, // SPECIES_DRATINI
- NATIONAL_DEX_DRAGONAIR, // SPECIES_DRAGONAIR
- NATIONAL_DEX_DRAGONITE, // SPECIES_DRAGONITE
- NATIONAL_DEX_MEWTWO, // SPECIES_MEWTWO
- NATIONAL_DEX_MEW, // SPECIES_MEW
- NATIONAL_DEX_CHIKORITA, // SPECIES_CHIKORITA
- NATIONAL_DEX_BAYLEEF, // SPECIES_BAYLEEF
- NATIONAL_DEX_MEGANIUM, // SPECIES_MEGANIUM
- NATIONAL_DEX_CYNDAQUIL, // SPECIES_CYNDAQUIL
- NATIONAL_DEX_QUILAVA, // SPECIES_QUILAVA
- NATIONAL_DEX_TYPHLOSION, // SPECIES_TYPHLOSION
- NATIONAL_DEX_TOTODILE, // SPECIES_TOTODILE
- NATIONAL_DEX_CROCONAW, // SPECIES_CROCONAW
- NATIONAL_DEX_FERALIGATR, // SPECIES_FERALIGATR
- NATIONAL_DEX_SENTRET, // SPECIES_SENTRET
- NATIONAL_DEX_FURRET, // SPECIES_FURRET
- NATIONAL_DEX_HOOTHOOT, // SPECIES_HOOTHOOT
- NATIONAL_DEX_NOCTOWL, // SPECIES_NOCTOWL
- NATIONAL_DEX_LEDYBA, // SPECIES_LEDYBA
- NATIONAL_DEX_LEDIAN, // SPECIES_LEDIAN
- NATIONAL_DEX_SPINARAK, // SPECIES_SPINARAK
- NATIONAL_DEX_ARIADOS, // SPECIES_ARIADOS
- NATIONAL_DEX_CROBAT, // SPECIES_CROBAT
- NATIONAL_DEX_CHINCHOU, // SPECIES_CHINCHOU
- NATIONAL_DEX_LANTURN, // SPECIES_LANTURN
- NATIONAL_DEX_PICHU, // SPECIES_PICHU
- NATIONAL_DEX_CLEFFA, // SPECIES_CLEFFA
- NATIONAL_DEX_IGGLYBUFF, // SPECIES_IGGLYBUFF
- NATIONAL_DEX_TOGEPI, // SPECIES_TOGEPI
- NATIONAL_DEX_TOGETIC, // SPECIES_TOGETIC
- NATIONAL_DEX_NATU, // SPECIES_NATU
- NATIONAL_DEX_XATU, // SPECIES_XATU
- NATIONAL_DEX_MAREEP, // SPECIES_MAREEP
- NATIONAL_DEX_FLAAFFY, // SPECIES_FLAAFFY
- NATIONAL_DEX_AMPHAROS, // SPECIES_AMPHAROS
- NATIONAL_DEX_BELLOSSOM, // SPECIES_BELLOSSOM
- NATIONAL_DEX_MARILL, // SPECIES_MARILL
- NATIONAL_DEX_AZUMARILL, // SPECIES_AZUMARILL
- NATIONAL_DEX_SUDOWOODO, // SPECIES_SUDOWOODO
- NATIONAL_DEX_POLITOED, // SPECIES_POLITOED
- NATIONAL_DEX_HOPPIP, // SPECIES_HOPPIP
- NATIONAL_DEX_SKIPLOOM, // SPECIES_SKIPLOOM
- NATIONAL_DEX_JUMPLUFF, // SPECIES_JUMPLUFF
- NATIONAL_DEX_AIPOM, // SPECIES_AIPOM
- NATIONAL_DEX_SUNKERN, // SPECIES_SUNKERN
- NATIONAL_DEX_SUNFLORA, // SPECIES_SUNFLORA
- NATIONAL_DEX_YANMA, // SPECIES_YANMA
- NATIONAL_DEX_WOOPER, // SPECIES_WOOPER
- NATIONAL_DEX_QUAGSIRE, // SPECIES_QUAGSIRE
- NATIONAL_DEX_ESPEON, // SPECIES_ESPEON
- NATIONAL_DEX_UMBREON, // SPECIES_UMBREON
- NATIONAL_DEX_MURKROW, // SPECIES_MURKROW
- NATIONAL_DEX_SLOWKING, // SPECIES_SLOWKING
- NATIONAL_DEX_MISDREAVUS, // SPECIES_MISDREAVUS
- NATIONAL_DEX_UNOWN, // SPECIES_UNOWN
- NATIONAL_DEX_WOBBUFFET, // SPECIES_WOBBUFFET
- NATIONAL_DEX_GIRAFARIG, // SPECIES_GIRAFARIG
- NATIONAL_DEX_PINECO, // SPECIES_PINECO
- NATIONAL_DEX_FORRETRESS, // SPECIES_FORRETRESS
- NATIONAL_DEX_DUNSPARCE, // SPECIES_DUNSPARCE
- NATIONAL_DEX_GLIGAR, // SPECIES_GLIGAR
- NATIONAL_DEX_STEELIX, // SPECIES_STEELIX
- NATIONAL_DEX_SNUBBULL, // SPECIES_SNUBBULL
- NATIONAL_DEX_GRANBULL, // SPECIES_GRANBULL
- NATIONAL_DEX_QWILFISH, // SPECIES_QWILFISH
- NATIONAL_DEX_SCIZOR, // SPECIES_SCIZOR
- NATIONAL_DEX_SHUCKLE, // SPECIES_SHUCKLE
- NATIONAL_DEX_HERACROSS, // SPECIES_HERACROSS
- NATIONAL_DEX_SNEASEL, // SPECIES_SNEASEL
- NATIONAL_DEX_TEDDIURSA, // SPECIES_TEDDIURSA
- NATIONAL_DEX_URSARING, // SPECIES_URSARING
- NATIONAL_DEX_SLUGMA, // SPECIES_SLUGMA
- NATIONAL_DEX_MAGCARGO, // SPECIES_MAGCARGO
- NATIONAL_DEX_SWINUB, // SPECIES_SWINUB
- NATIONAL_DEX_PILOSWINE, // SPECIES_PILOSWINE
- NATIONAL_DEX_CORSOLA, // SPECIES_CORSOLA
- NATIONAL_DEX_REMORAID, // SPECIES_REMORAID
- NATIONAL_DEX_OCTILLERY, // SPECIES_OCTILLERY
- NATIONAL_DEX_DELIBIRD, // SPECIES_DELIBIRD
- NATIONAL_DEX_MANTINE, // SPECIES_MANTINE
- NATIONAL_DEX_SKARMORY, // SPECIES_SKARMORY
- NATIONAL_DEX_HOUNDOUR, // SPECIES_HOUNDOUR
- NATIONAL_DEX_HOUNDOOM, // SPECIES_HOUNDOOM
- NATIONAL_DEX_KINGDRA, // SPECIES_KINGDRA
- NATIONAL_DEX_PHANPY, // SPECIES_PHANPY
- NATIONAL_DEX_DONPHAN, // SPECIES_DONPHAN
- NATIONAL_DEX_PORYGON2, // SPECIES_PORYGON2
- NATIONAL_DEX_STANTLER, // SPECIES_STANTLER
- NATIONAL_DEX_SMEARGLE, // SPECIES_SMEARGLE
- NATIONAL_DEX_TYROGUE, // SPECIES_TYROGUE
- NATIONAL_DEX_HITMONTOP, // SPECIES_HITMONTOP
- NATIONAL_DEX_SMOOCHUM, // SPECIES_SMOOCHUM
- NATIONAL_DEX_ELEKID, // SPECIES_ELEKID
- NATIONAL_DEX_MAGBY, // SPECIES_MAGBY
- NATIONAL_DEX_MILTANK, // SPECIES_MILTANK
- NATIONAL_DEX_BLISSEY, // SPECIES_BLISSEY
- NATIONAL_DEX_RAIKOU, // SPECIES_RAIKOU
- NATIONAL_DEX_ENTEI, // SPECIES_ENTEI
- NATIONAL_DEX_SUICUNE, // SPECIES_SUICUNE
- NATIONAL_DEX_LARVITAR, // SPECIES_LARVITAR
- NATIONAL_DEX_PUPITAR, // SPECIES_PUPITAR
- NATIONAL_DEX_TYRANITAR, // SPECIES_TYRANITAR
- NATIONAL_DEX_LUGIA, // SPECIES_LUGIA
- NATIONAL_DEX_HO_OH, // SPECIES_HO-OH
- NATIONAL_DEX_CELEBI, // SPECIES_CELEBI
- NATIONAL_DEX_OLD_UNOWN_B, // SPECIES_OLD_UNOWN_B
- NATIONAL_DEX_OLD_UNOWN_C, // SPECIES_OLD_UNOWN_C
- NATIONAL_DEX_OLD_UNOWN_D, // SPECIES_OLD_UNOWN_D
- NATIONAL_DEX_OLD_UNOWN_E, // SPECIES_OLD_UNOWN_E
- NATIONAL_DEX_OLD_UNOWN_F, // SPECIES_OLD_UNOWN_F
- NATIONAL_DEX_OLD_UNOWN_G, // SPECIES_OLD_UNOWN_G
- NATIONAL_DEX_OLD_UNOWN_H, // SPECIES_OLD_UNOWN_H
- NATIONAL_DEX_OLD_UNOWN_I, // SPECIES_OLD_UNOWN_I
- NATIONAL_DEX_OLD_UNOWN_J, // SPECIES_OLD_UNOWN_J
- NATIONAL_DEX_OLD_UNOWN_K, // SPECIES_OLD_UNOWN_K
- NATIONAL_DEX_OLD_UNOWN_L, // SPECIES_OLD_UNOWN_L
- NATIONAL_DEX_OLD_UNOWN_M, // SPECIES_OLD_UNOWN_M
- NATIONAL_DEX_OLD_UNOWN_N, // SPECIES_OLD_UNOWN_N
- NATIONAL_DEX_OLD_UNOWN_O, // SPECIES_OLD_UNOWN_O
- NATIONAL_DEX_OLD_UNOWN_P, // SPECIES_OLD_UNOWN_P
- NATIONAL_DEX_OLD_UNOWN_Q, // SPECIES_OLD_UNOWN_Q
- NATIONAL_DEX_OLD_UNOWN_R, // SPECIES_OLD_UNOWN_R
- NATIONAL_DEX_OLD_UNOWN_S, // SPECIES_OLD_UNOWN_S
- NATIONAL_DEX_OLD_UNOWN_T, // SPECIES_OLD_UNOWN_T
- NATIONAL_DEX_OLD_UNOWN_U, // SPECIES_OLD_UNOWN_U
- NATIONAL_DEX_OLD_UNOWN_V, // SPECIES_OLD_UNOWN_V
- NATIONAL_DEX_OLD_UNOWN_W, // SPECIES_OLD_UNOWN_W
- NATIONAL_DEX_OLD_UNOWN_X, // SPECIES_OLD_UNOWN_X
- NATIONAL_DEX_OLD_UNOWN_Y, // SPECIES_OLD_UNOWN_Y
- NATIONAL_DEX_OLD_UNOWN_Z, // SPECIES_OLD_UNOWN_Z
- NATIONAL_DEX_TREECKO, // SPECIES_TREECKO
- NATIONAL_DEX_GROVYLE, // SPECIES_GROVYLE
- NATIONAL_DEX_SCEPTILE, // SPECIES_SCEPTILE
- NATIONAL_DEX_TORCHIC, // SPECIES_TORCHIC
- NATIONAL_DEX_COMBUSKEN, // SPECIES_COMBUSKEN
- NATIONAL_DEX_BLAZIKEN, // SPECIES_BLAZIKEN
- NATIONAL_DEX_MUDKIP, // SPECIES_MUDKIP
- NATIONAL_DEX_MARSHTOMP, // SPECIES_MARSHTOMP
- NATIONAL_DEX_SWAMPERT, // SPECIES_SWAMPERT
- NATIONAL_DEX_POOCHYENA, // SPECIES_POOCHYENA
- NATIONAL_DEX_MIGHTYENA, // SPECIES_MIGHTYENA
- NATIONAL_DEX_ZIGZAGOON, // SPECIES_ZIGZAGOON
- NATIONAL_DEX_LINOONE, // SPECIES_LINOONE
- NATIONAL_DEX_WURMPLE, // SPECIES_WURMPLE
- NATIONAL_DEX_SILCOON, // SPECIES_SILCOON
- NATIONAL_DEX_BEAUTIFLY, // SPECIES_BEAUTIFLY
- NATIONAL_DEX_CASCOON, // SPECIES_CASCOON
- NATIONAL_DEX_DUSTOX, // SPECIES_DUSTOX
- NATIONAL_DEX_LOTAD, // SPECIES_LOTAD
- NATIONAL_DEX_LOMBRE, // SPECIES_LOMBRE
- NATIONAL_DEX_LUDICOLO, // SPECIES_LUDICOLO
- NATIONAL_DEX_SEEDOT, // SPECIES_SEEDOT
- NATIONAL_DEX_NUZLEAF, // SPECIES_NUZLEAF
- NATIONAL_DEX_SHIFTRY, // SPECIES_SHIFTRY
- NATIONAL_DEX_NINCADA, // SPECIES_NINCADA
- NATIONAL_DEX_NINJASK, // SPECIES_NINJASK
- NATIONAL_DEX_SHEDINJA, // SPECIES_SHEDINJA
- NATIONAL_DEX_TAILLOW, // SPECIES_TAILLOW
- NATIONAL_DEX_SWELLOW, // SPECIES_SWELLOW
- NATIONAL_DEX_SHROOMISH, // SPECIES_SHROOMISH
- NATIONAL_DEX_BRELOOM, // SPECIES_BRELOOM
- NATIONAL_DEX_SPINDA, // SPECIES_SPINDA
- NATIONAL_DEX_WINGULL, // SPECIES_WINGULL
- NATIONAL_DEX_PELIPPER, // SPECIES_PELIPPER
- NATIONAL_DEX_SURSKIT, // SPECIES_SURSKIT
- NATIONAL_DEX_MASQUERAIN, // SPECIES_MASQUERAIN
- NATIONAL_DEX_WAILMER, // SPECIES_WAILMER
- NATIONAL_DEX_WAILORD, // SPECIES_WAILORD
- NATIONAL_DEX_SKITTY, // SPECIES_SKITTY
- NATIONAL_DEX_DELCATTY, // SPECIES_DELCATTY
- NATIONAL_DEX_KECLEON, // SPECIES_KECLEON
- NATIONAL_DEX_BALTOY, // SPECIES_BALTOY
- NATIONAL_DEX_CLAYDOL, // SPECIES_CLAYDOL
- NATIONAL_DEX_NOSEPASS, // SPECIES_NOSEPASS
- NATIONAL_DEX_TORKOAL, // SPECIES_TORKOAL
- NATIONAL_DEX_SABLEYE, // SPECIES_SABLEYE
- NATIONAL_DEX_BARBOACH, // SPECIES_BARBOACH
- NATIONAL_DEX_WHISCASH, // SPECIES_WHISCASH
- NATIONAL_DEX_LUVDISC, // SPECIES_LUVDISC
- NATIONAL_DEX_CORPHISH, // SPECIES_CORPHISH
- NATIONAL_DEX_CRAWDAUNT, // SPECIES_CRAWDAUNT
- NATIONAL_DEX_FEEBAS, // SPECIES_FEEBAS
- NATIONAL_DEX_MILOTIC, // SPECIES_MILOTIC
- NATIONAL_DEX_CARVANHA, // SPECIES_CARVANHA
- NATIONAL_DEX_SHARPEDO, // SPECIES_SHARPEDO
- NATIONAL_DEX_TRAPINCH, // SPECIES_TRAPINCH
- NATIONAL_DEX_VIBRAVA, // SPECIES_VIBRAVA
- NATIONAL_DEX_FLYGON, // SPECIES_FLYGON
- NATIONAL_DEX_MAKUHITA, // SPECIES_MAKUHITA
- NATIONAL_DEX_HARIYAMA, // SPECIES_HARIYAMA
- NATIONAL_DEX_ELECTRIKE, // SPECIES_ELECTRIKE
- NATIONAL_DEX_MANECTRIC, // SPECIES_MANECTRIC
- NATIONAL_DEX_NUMEL, // SPECIES_NUMEL
- NATIONAL_DEX_CAMERUPT, // SPECIES_CAMERUPT
- NATIONAL_DEX_SPHEAL, // SPECIES_SPHEAL
- NATIONAL_DEX_SEALEO, // SPECIES_SEALEO
- NATIONAL_DEX_WALREIN, // SPECIES_WALREIN
- NATIONAL_DEX_CACNEA, // SPECIES_CACNEA
- NATIONAL_DEX_CACTURNE, // SPECIES_CACTURNE
- NATIONAL_DEX_SNORUNT, // SPECIES_SNORUNT
- NATIONAL_DEX_GLALIE, // SPECIES_GLALIE
- NATIONAL_DEX_LUNATONE, // SPECIES_LUNATONE
- NATIONAL_DEX_SOLROCK, // SPECIES_SOLROCK
- NATIONAL_DEX_AZURILL, // SPECIES_AZURILL
- NATIONAL_DEX_SPOINK, // SPECIES_SPOINK
- NATIONAL_DEX_GRUMPIG, // SPECIES_GRUMPIG
- NATIONAL_DEX_PLUSLE, // SPECIES_PLUSLE
- NATIONAL_DEX_MINUN, // SPECIES_MINUN
- NATIONAL_DEX_MAWILE, // SPECIES_MAWILE
- NATIONAL_DEX_MEDITITE, // SPECIES_MEDITITE
- NATIONAL_DEX_MEDICHAM, // SPECIES_MEDICHAM
- NATIONAL_DEX_SWABLU, // SPECIES_SWABLU
- NATIONAL_DEX_ALTARIA, // SPECIES_ALTARIA
- NATIONAL_DEX_WYNAUT, // SPECIES_WYNAUT
- NATIONAL_DEX_DUSKULL, // SPECIES_DUSKULL
- NATIONAL_DEX_DUSCLOPS, // SPECIES_DUSCLOPS
- NATIONAL_DEX_ROSELIA, // SPECIES_ROSELIA
- NATIONAL_DEX_SLAKOTH, // SPECIES_SLAKOTH
- NATIONAL_DEX_VIGOROTH, // SPECIES_VIGOROTH
- NATIONAL_DEX_SLAKING, // SPECIES_SLAKING
- NATIONAL_DEX_GULPIN, // SPECIES_GULPIN
- NATIONAL_DEX_SWALOT, // SPECIES_SWALOT
- NATIONAL_DEX_TROPIUS, // SPECIES_TROPIUS
- NATIONAL_DEX_WHISMUR, // SPECIES_WHISMUR
- NATIONAL_DEX_LOUDRED, // SPECIES_LOUDRED
- NATIONAL_DEX_EXPLOUD, // SPECIES_EXPLOUD
- NATIONAL_DEX_CLAMPERL, // SPECIES_CLAMPERL
- NATIONAL_DEX_HUNTAIL, // SPECIES_HUNTAIL
- NATIONAL_DEX_GOREBYSS, // SPECIES_GOREBYSS
- NATIONAL_DEX_ABSOL, // SPECIES_ABSOL
- NATIONAL_DEX_SHUPPET, // SPECIES_SHUPPET
- NATIONAL_DEX_BANETTE, // SPECIES_BANETTE
- NATIONAL_DEX_SEVIPER, // SPECIES_SEVIPER
- NATIONAL_DEX_ZANGOOSE, // SPECIES_ZANGOOSE
- NATIONAL_DEX_RELICANTH, // SPECIES_RELICANTH
- NATIONAL_DEX_ARON, // SPECIES_ARON
- NATIONAL_DEX_LAIRON, // SPECIES_LAIRON
- NATIONAL_DEX_AGGRON, // SPECIES_AGGRON
- NATIONAL_DEX_CASTFORM, // SPECIES_CASTFORM
- NATIONAL_DEX_VOLBEAT, // SPECIES_VOLBEAT
- NATIONAL_DEX_ILLUMISE, // SPECIES_ILLUMISE
- NATIONAL_DEX_LILEEP, // SPECIES_LILEEP
- NATIONAL_DEX_CRADILY, // SPECIES_CRADILY
- NATIONAL_DEX_ANORITH, // SPECIES_ANORITH
- NATIONAL_DEX_ARMALDO, // SPECIES_ARMALDO
- NATIONAL_DEX_RALTS, // SPECIES_RALTS
- NATIONAL_DEX_KIRLIA, // SPECIES_KIRLIA
- NATIONAL_DEX_GARDEVOIR, // SPECIES_GARDEVOIR
- NATIONAL_DEX_BAGON, // SPECIES_BAGON
- NATIONAL_DEX_SHELGON, // SPECIES_SHELGON
- NATIONAL_DEX_SALAMENCE, // SPECIES_SALAMENCE
- NATIONAL_DEX_BELDUM, // SPECIES_BELDUM
- NATIONAL_DEX_METANG, // SPECIES_METANG
- NATIONAL_DEX_METAGROSS, // SPECIES_METAGROSS
- NATIONAL_DEX_REGIROCK, // SPECIES_REGIROCK
- NATIONAL_DEX_REGICE, // SPECIES_REGICE
- NATIONAL_DEX_REGISTEEL, // SPECIES_REGISTEEL
- NATIONAL_DEX_KYOGRE, // SPECIES_KYOGRE
- NATIONAL_DEX_GROUDON, // SPECIES_GROUDON
- NATIONAL_DEX_RAYQUAZA, // SPECIES_RAYQUAZA
- NATIONAL_DEX_LATIAS, // SPECIES_LATIAS
- NATIONAL_DEX_LATIOS, // SPECIES_LATIOS
- NATIONAL_DEX_JIRACHI, // SPECIES_JIRACHI
- NATIONAL_DEX_DEOXYS, // SPECIES_DEOXYS
- NATIONAL_DEX_CHIMECHO // SPECIES_CHIMECHO
+ SPECIES_TO_NATIONAL(BULBASAUR),
+ SPECIES_TO_NATIONAL(IVYSAUR),
+ SPECIES_TO_NATIONAL(VENUSAUR),
+ SPECIES_TO_NATIONAL(CHARMANDER),
+ SPECIES_TO_NATIONAL(CHARMELEON),
+ SPECIES_TO_NATIONAL(CHARIZARD),
+ SPECIES_TO_NATIONAL(SQUIRTLE),
+ SPECIES_TO_NATIONAL(WARTORTLE),
+ SPECIES_TO_NATIONAL(BLASTOISE),
+ SPECIES_TO_NATIONAL(CATERPIE),
+ SPECIES_TO_NATIONAL(METAPOD),
+ SPECIES_TO_NATIONAL(BUTTERFREE),
+ SPECIES_TO_NATIONAL(WEEDLE),
+ SPECIES_TO_NATIONAL(KAKUNA),
+ SPECIES_TO_NATIONAL(BEEDRILL),
+ SPECIES_TO_NATIONAL(PIDGEY),
+ SPECIES_TO_NATIONAL(PIDGEOTTO),
+ SPECIES_TO_NATIONAL(PIDGEOT),
+ SPECIES_TO_NATIONAL(RATTATA),
+ SPECIES_TO_NATIONAL(RATICATE),
+ SPECIES_TO_NATIONAL(SPEAROW),
+ SPECIES_TO_NATIONAL(FEAROW),
+ SPECIES_TO_NATIONAL(EKANS),
+ SPECIES_TO_NATIONAL(ARBOK),
+ SPECIES_TO_NATIONAL(PIKACHU),
+ SPECIES_TO_NATIONAL(RAICHU),
+ SPECIES_TO_NATIONAL(SANDSHREW),
+ SPECIES_TO_NATIONAL(SANDSLASH),
+ SPECIES_TO_NATIONAL(NIDORAN_F),
+ SPECIES_TO_NATIONAL(NIDORINA),
+ SPECIES_TO_NATIONAL(NIDOQUEEN),
+ SPECIES_TO_NATIONAL(NIDORAN_M),
+ SPECIES_TO_NATIONAL(NIDORINO),
+ SPECIES_TO_NATIONAL(NIDOKING),
+ SPECIES_TO_NATIONAL(CLEFAIRY),
+ SPECIES_TO_NATIONAL(CLEFABLE),
+ SPECIES_TO_NATIONAL(VULPIX),
+ SPECIES_TO_NATIONAL(NINETALES),
+ SPECIES_TO_NATIONAL(JIGGLYPUFF),
+ SPECIES_TO_NATIONAL(WIGGLYTUFF),
+ SPECIES_TO_NATIONAL(ZUBAT),
+ SPECIES_TO_NATIONAL(GOLBAT),
+ SPECIES_TO_NATIONAL(ODDISH),
+ SPECIES_TO_NATIONAL(GLOOM),
+ SPECIES_TO_NATIONAL(VILEPLUME),
+ SPECIES_TO_NATIONAL(PARAS),
+ SPECIES_TO_NATIONAL(PARASECT),
+ SPECIES_TO_NATIONAL(VENONAT),
+ SPECIES_TO_NATIONAL(VENOMOTH),
+ SPECIES_TO_NATIONAL(DIGLETT),
+ SPECIES_TO_NATIONAL(DUGTRIO),
+ SPECIES_TO_NATIONAL(MEOWTH),
+ SPECIES_TO_NATIONAL(PERSIAN),
+ SPECIES_TO_NATIONAL(PSYDUCK),
+ SPECIES_TO_NATIONAL(GOLDUCK),
+ SPECIES_TO_NATIONAL(MANKEY),
+ SPECIES_TO_NATIONAL(PRIMEAPE),
+ SPECIES_TO_NATIONAL(GROWLITHE),
+ SPECIES_TO_NATIONAL(ARCANINE),
+ SPECIES_TO_NATIONAL(POLIWAG),
+ SPECIES_TO_NATIONAL(POLIWHIRL),
+ SPECIES_TO_NATIONAL(POLIWRATH),
+ SPECIES_TO_NATIONAL(ABRA),
+ SPECIES_TO_NATIONAL(KADABRA),
+ SPECIES_TO_NATIONAL(ALAKAZAM),
+ SPECIES_TO_NATIONAL(MACHOP),
+ SPECIES_TO_NATIONAL(MACHOKE),
+ SPECIES_TO_NATIONAL(MACHAMP),
+ SPECIES_TO_NATIONAL(BELLSPROUT),
+ SPECIES_TO_NATIONAL(WEEPINBELL),
+ SPECIES_TO_NATIONAL(VICTREEBEL),
+ SPECIES_TO_NATIONAL(TENTACOOL),
+ SPECIES_TO_NATIONAL(TENTACRUEL),
+ SPECIES_TO_NATIONAL(GEODUDE),
+ SPECIES_TO_NATIONAL(GRAVELER),
+ SPECIES_TO_NATIONAL(GOLEM),
+ SPECIES_TO_NATIONAL(PONYTA),
+ SPECIES_TO_NATIONAL(RAPIDASH),
+ SPECIES_TO_NATIONAL(SLOWPOKE),
+ SPECIES_TO_NATIONAL(SLOWBRO),
+ SPECIES_TO_NATIONAL(MAGNEMITE),
+ SPECIES_TO_NATIONAL(MAGNETON),
+ SPECIES_TO_NATIONAL(FARFETCHD),
+ SPECIES_TO_NATIONAL(DODUO),
+ SPECIES_TO_NATIONAL(DODRIO),
+ SPECIES_TO_NATIONAL(SEEL),
+ SPECIES_TO_NATIONAL(DEWGONG),
+ SPECIES_TO_NATIONAL(GRIMER),
+ SPECIES_TO_NATIONAL(MUK),
+ SPECIES_TO_NATIONAL(SHELLDER),
+ SPECIES_TO_NATIONAL(CLOYSTER),
+ SPECIES_TO_NATIONAL(GASTLY),
+ SPECIES_TO_NATIONAL(HAUNTER),
+ SPECIES_TO_NATIONAL(GENGAR),
+ SPECIES_TO_NATIONAL(ONIX),
+ SPECIES_TO_NATIONAL(DROWZEE),
+ SPECIES_TO_NATIONAL(HYPNO),
+ SPECIES_TO_NATIONAL(KRABBY),
+ SPECIES_TO_NATIONAL(KINGLER),
+ SPECIES_TO_NATIONAL(VOLTORB),
+ SPECIES_TO_NATIONAL(ELECTRODE),
+ SPECIES_TO_NATIONAL(EXEGGCUTE),
+ SPECIES_TO_NATIONAL(EXEGGUTOR),
+ SPECIES_TO_NATIONAL(CUBONE),
+ SPECIES_TO_NATIONAL(MAROWAK),
+ SPECIES_TO_NATIONAL(HITMONLEE),
+ SPECIES_TO_NATIONAL(HITMONCHAN),
+ SPECIES_TO_NATIONAL(LICKITUNG),
+ SPECIES_TO_NATIONAL(KOFFING),
+ SPECIES_TO_NATIONAL(WEEZING),
+ SPECIES_TO_NATIONAL(RHYHORN),
+ SPECIES_TO_NATIONAL(RHYDON),
+ SPECIES_TO_NATIONAL(CHANSEY),
+ SPECIES_TO_NATIONAL(TANGELA),
+ SPECIES_TO_NATIONAL(KANGASKHAN),
+ SPECIES_TO_NATIONAL(HORSEA),
+ SPECIES_TO_NATIONAL(SEADRA),
+ SPECIES_TO_NATIONAL(GOLDEEN),
+ SPECIES_TO_NATIONAL(SEAKING),
+ SPECIES_TO_NATIONAL(STARYU),
+ SPECIES_TO_NATIONAL(STARMIE),
+ SPECIES_TO_NATIONAL(MR_MIME),
+ SPECIES_TO_NATIONAL(SCYTHER),
+ SPECIES_TO_NATIONAL(JYNX),
+ SPECIES_TO_NATIONAL(ELECTABUZZ),
+ SPECIES_TO_NATIONAL(MAGMAR),
+ SPECIES_TO_NATIONAL(PINSIR),
+ SPECIES_TO_NATIONAL(TAUROS),
+ SPECIES_TO_NATIONAL(MAGIKARP),
+ SPECIES_TO_NATIONAL(GYARADOS),
+ SPECIES_TO_NATIONAL(LAPRAS),
+ SPECIES_TO_NATIONAL(DITTO),
+ SPECIES_TO_NATIONAL(EEVEE),
+ SPECIES_TO_NATIONAL(VAPOREON),
+ SPECIES_TO_NATIONAL(JOLTEON),
+ SPECIES_TO_NATIONAL(FLAREON),
+ SPECIES_TO_NATIONAL(PORYGON),
+ SPECIES_TO_NATIONAL(OMANYTE),
+ SPECIES_TO_NATIONAL(OMASTAR),
+ SPECIES_TO_NATIONAL(KABUTO),
+ SPECIES_TO_NATIONAL(KABUTOPS),
+ SPECIES_TO_NATIONAL(AERODACTYL),
+ SPECIES_TO_NATIONAL(SNORLAX),
+ SPECIES_TO_NATIONAL(ARTICUNO),
+ SPECIES_TO_NATIONAL(ZAPDOS),
+ SPECIES_TO_NATIONAL(MOLTRES),
+ SPECIES_TO_NATIONAL(DRATINI),
+ SPECIES_TO_NATIONAL(DRAGONAIR),
+ SPECIES_TO_NATIONAL(DRAGONITE),
+ SPECIES_TO_NATIONAL(MEWTWO),
+ SPECIES_TO_NATIONAL(MEW),
+ SPECIES_TO_NATIONAL(CHIKORITA),
+ SPECIES_TO_NATIONAL(BAYLEEF),
+ SPECIES_TO_NATIONAL(MEGANIUM),
+ SPECIES_TO_NATIONAL(CYNDAQUIL),
+ SPECIES_TO_NATIONAL(QUILAVA),
+ SPECIES_TO_NATIONAL(TYPHLOSION),
+ SPECIES_TO_NATIONAL(TOTODILE),
+ SPECIES_TO_NATIONAL(CROCONAW),
+ SPECIES_TO_NATIONAL(FERALIGATR),
+ SPECIES_TO_NATIONAL(SENTRET),
+ SPECIES_TO_NATIONAL(FURRET),
+ SPECIES_TO_NATIONAL(HOOTHOOT),
+ SPECIES_TO_NATIONAL(NOCTOWL),
+ SPECIES_TO_NATIONAL(LEDYBA),
+ SPECIES_TO_NATIONAL(LEDIAN),
+ SPECIES_TO_NATIONAL(SPINARAK),
+ SPECIES_TO_NATIONAL(ARIADOS),
+ SPECIES_TO_NATIONAL(CROBAT),
+ SPECIES_TO_NATIONAL(CHINCHOU),
+ SPECIES_TO_NATIONAL(LANTURN),
+ SPECIES_TO_NATIONAL(PICHU),
+ SPECIES_TO_NATIONAL(CLEFFA),
+ SPECIES_TO_NATIONAL(IGGLYBUFF),
+ SPECIES_TO_NATIONAL(TOGEPI),
+ SPECIES_TO_NATIONAL(TOGETIC),
+ SPECIES_TO_NATIONAL(NATU),
+ SPECIES_TO_NATIONAL(XATU),
+ SPECIES_TO_NATIONAL(MAREEP),
+ SPECIES_TO_NATIONAL(FLAAFFY),
+ SPECIES_TO_NATIONAL(AMPHAROS),
+ SPECIES_TO_NATIONAL(BELLOSSOM),
+ SPECIES_TO_NATIONAL(MARILL),
+ SPECIES_TO_NATIONAL(AZUMARILL),
+ SPECIES_TO_NATIONAL(SUDOWOODO),
+ SPECIES_TO_NATIONAL(POLITOED),
+ SPECIES_TO_NATIONAL(HOPPIP),
+ SPECIES_TO_NATIONAL(SKIPLOOM),
+ SPECIES_TO_NATIONAL(JUMPLUFF),
+ SPECIES_TO_NATIONAL(AIPOM),
+ SPECIES_TO_NATIONAL(SUNKERN),
+ SPECIES_TO_NATIONAL(SUNFLORA),
+ SPECIES_TO_NATIONAL(YANMA),
+ SPECIES_TO_NATIONAL(WOOPER),
+ SPECIES_TO_NATIONAL(QUAGSIRE),
+ SPECIES_TO_NATIONAL(ESPEON),
+ SPECIES_TO_NATIONAL(UMBREON),
+ SPECIES_TO_NATIONAL(MURKROW),
+ SPECIES_TO_NATIONAL(SLOWKING),
+ SPECIES_TO_NATIONAL(MISDREAVUS),
+ SPECIES_TO_NATIONAL(UNOWN),
+ SPECIES_TO_NATIONAL(WOBBUFFET),
+ SPECIES_TO_NATIONAL(GIRAFARIG),
+ SPECIES_TO_NATIONAL(PINECO),
+ SPECIES_TO_NATIONAL(FORRETRESS),
+ SPECIES_TO_NATIONAL(DUNSPARCE),
+ SPECIES_TO_NATIONAL(GLIGAR),
+ SPECIES_TO_NATIONAL(STEELIX),
+ SPECIES_TO_NATIONAL(SNUBBULL),
+ SPECIES_TO_NATIONAL(GRANBULL),
+ SPECIES_TO_NATIONAL(QWILFISH),
+ SPECIES_TO_NATIONAL(SCIZOR),
+ SPECIES_TO_NATIONAL(SHUCKLE),
+ SPECIES_TO_NATIONAL(HERACROSS),
+ SPECIES_TO_NATIONAL(SNEASEL),
+ SPECIES_TO_NATIONAL(TEDDIURSA),
+ SPECIES_TO_NATIONAL(URSARING),
+ SPECIES_TO_NATIONAL(SLUGMA),
+ SPECIES_TO_NATIONAL(MAGCARGO),
+ SPECIES_TO_NATIONAL(SWINUB),
+ SPECIES_TO_NATIONAL(PILOSWINE),
+ SPECIES_TO_NATIONAL(CORSOLA),
+ SPECIES_TO_NATIONAL(REMORAID),
+ SPECIES_TO_NATIONAL(OCTILLERY),
+ SPECIES_TO_NATIONAL(DELIBIRD),
+ SPECIES_TO_NATIONAL(MANTINE),
+ SPECIES_TO_NATIONAL(SKARMORY),
+ SPECIES_TO_NATIONAL(HOUNDOUR),
+ SPECIES_TO_NATIONAL(HOUNDOOM),
+ SPECIES_TO_NATIONAL(KINGDRA),
+ SPECIES_TO_NATIONAL(PHANPY),
+ SPECIES_TO_NATIONAL(DONPHAN),
+ SPECIES_TO_NATIONAL(PORYGON2),
+ SPECIES_TO_NATIONAL(STANTLER),
+ SPECIES_TO_NATIONAL(SMEARGLE),
+ SPECIES_TO_NATIONAL(TYROGUE),
+ SPECIES_TO_NATIONAL(HITMONTOP),
+ SPECIES_TO_NATIONAL(SMOOCHUM),
+ SPECIES_TO_NATIONAL(ELEKID),
+ SPECIES_TO_NATIONAL(MAGBY),
+ SPECIES_TO_NATIONAL(MILTANK),
+ SPECIES_TO_NATIONAL(BLISSEY),
+ SPECIES_TO_NATIONAL(RAIKOU),
+ SPECIES_TO_NATIONAL(ENTEI),
+ SPECIES_TO_NATIONAL(SUICUNE),
+ SPECIES_TO_NATIONAL(LARVITAR),
+ SPECIES_TO_NATIONAL(PUPITAR),
+ SPECIES_TO_NATIONAL(TYRANITAR),
+ SPECIES_TO_NATIONAL(LUGIA),
+ SPECIES_TO_NATIONAL(HO_OH),
+ SPECIES_TO_NATIONAL(CELEBI),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_B),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_C),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_D),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_E),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_F),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_G),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_H),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_I),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_J),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_K),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_L),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_M),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_N),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_O),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_P),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_Q),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_R),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_S),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_T),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_U),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_V),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_W),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_X),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_Y),
+ SPECIES_TO_NATIONAL(OLD_UNOWN_Z),
+ SPECIES_TO_NATIONAL(TREECKO),
+ SPECIES_TO_NATIONAL(GROVYLE),
+ SPECIES_TO_NATIONAL(SCEPTILE),
+ SPECIES_TO_NATIONAL(TORCHIC),
+ SPECIES_TO_NATIONAL(COMBUSKEN),
+ SPECIES_TO_NATIONAL(BLAZIKEN),
+ SPECIES_TO_NATIONAL(MUDKIP),
+ SPECIES_TO_NATIONAL(MARSHTOMP),
+ SPECIES_TO_NATIONAL(SWAMPERT),
+ SPECIES_TO_NATIONAL(POOCHYENA),
+ SPECIES_TO_NATIONAL(MIGHTYENA),
+ SPECIES_TO_NATIONAL(ZIGZAGOON),
+ SPECIES_TO_NATIONAL(LINOONE),
+ SPECIES_TO_NATIONAL(WURMPLE),
+ SPECIES_TO_NATIONAL(SILCOON),
+ SPECIES_TO_NATIONAL(BEAUTIFLY),
+ SPECIES_TO_NATIONAL(CASCOON),
+ SPECIES_TO_NATIONAL(DUSTOX),
+ SPECIES_TO_NATIONAL(LOTAD),
+ SPECIES_TO_NATIONAL(LOMBRE),
+ SPECIES_TO_NATIONAL(LUDICOLO),
+ SPECIES_TO_NATIONAL(SEEDOT),
+ SPECIES_TO_NATIONAL(NUZLEAF),
+ SPECIES_TO_NATIONAL(SHIFTRY),
+ SPECIES_TO_NATIONAL(NINCADA),
+ SPECIES_TO_NATIONAL(NINJASK),
+ SPECIES_TO_NATIONAL(SHEDINJA),
+ SPECIES_TO_NATIONAL(TAILLOW),
+ SPECIES_TO_NATIONAL(SWELLOW),
+ SPECIES_TO_NATIONAL(SHROOMISH),
+ SPECIES_TO_NATIONAL(BRELOOM),
+ SPECIES_TO_NATIONAL(SPINDA),
+ SPECIES_TO_NATIONAL(WINGULL),
+ SPECIES_TO_NATIONAL(PELIPPER),
+ SPECIES_TO_NATIONAL(SURSKIT),
+ SPECIES_TO_NATIONAL(MASQUERAIN),
+ SPECIES_TO_NATIONAL(WAILMER),
+ SPECIES_TO_NATIONAL(WAILORD),
+ SPECIES_TO_NATIONAL(SKITTY),
+ SPECIES_TO_NATIONAL(DELCATTY),
+ SPECIES_TO_NATIONAL(KECLEON),
+ SPECIES_TO_NATIONAL(BALTOY),
+ SPECIES_TO_NATIONAL(CLAYDOL),
+ SPECIES_TO_NATIONAL(NOSEPASS),
+ SPECIES_TO_NATIONAL(TORKOAL),
+ SPECIES_TO_NATIONAL(SABLEYE),
+ SPECIES_TO_NATIONAL(BARBOACH),
+ SPECIES_TO_NATIONAL(WHISCASH),
+ SPECIES_TO_NATIONAL(LUVDISC),
+ SPECIES_TO_NATIONAL(CORPHISH),
+ SPECIES_TO_NATIONAL(CRAWDAUNT),
+ SPECIES_TO_NATIONAL(FEEBAS),
+ SPECIES_TO_NATIONAL(MILOTIC),
+ SPECIES_TO_NATIONAL(CARVANHA),
+ SPECIES_TO_NATIONAL(SHARPEDO),
+ SPECIES_TO_NATIONAL(TRAPINCH),
+ SPECIES_TO_NATIONAL(VIBRAVA),
+ SPECIES_TO_NATIONAL(FLYGON),
+ SPECIES_TO_NATIONAL(MAKUHITA),
+ SPECIES_TO_NATIONAL(HARIYAMA),
+ SPECIES_TO_NATIONAL(ELECTRIKE),
+ SPECIES_TO_NATIONAL(MANECTRIC),
+ SPECIES_TO_NATIONAL(NUMEL),
+ SPECIES_TO_NATIONAL(CAMERUPT),
+ SPECIES_TO_NATIONAL(SPHEAL),
+ SPECIES_TO_NATIONAL(SEALEO),
+ SPECIES_TO_NATIONAL(WALREIN),
+ SPECIES_TO_NATIONAL(CACNEA),
+ SPECIES_TO_NATIONAL(CACTURNE),
+ SPECIES_TO_NATIONAL(SNORUNT),
+ SPECIES_TO_NATIONAL(GLALIE),
+ SPECIES_TO_NATIONAL(LUNATONE),
+ SPECIES_TO_NATIONAL(SOLROCK),
+ SPECIES_TO_NATIONAL(AZURILL),
+ SPECIES_TO_NATIONAL(SPOINK),
+ SPECIES_TO_NATIONAL(GRUMPIG),
+ SPECIES_TO_NATIONAL(PLUSLE),
+ SPECIES_TO_NATIONAL(MINUN),
+ SPECIES_TO_NATIONAL(MAWILE),
+ SPECIES_TO_NATIONAL(MEDITITE),
+ SPECIES_TO_NATIONAL(MEDICHAM),
+ SPECIES_TO_NATIONAL(SWABLU),
+ SPECIES_TO_NATIONAL(ALTARIA),
+ SPECIES_TO_NATIONAL(WYNAUT),
+ SPECIES_TO_NATIONAL(DUSKULL),
+ SPECIES_TO_NATIONAL(DUSCLOPS),
+ SPECIES_TO_NATIONAL(ROSELIA),
+ SPECIES_TO_NATIONAL(SLAKOTH),
+ SPECIES_TO_NATIONAL(VIGOROTH),
+ SPECIES_TO_NATIONAL(SLAKING),
+ SPECIES_TO_NATIONAL(GULPIN),
+ SPECIES_TO_NATIONAL(SWALOT),
+ SPECIES_TO_NATIONAL(TROPIUS),
+ SPECIES_TO_NATIONAL(WHISMUR),
+ SPECIES_TO_NATIONAL(LOUDRED),
+ SPECIES_TO_NATIONAL(EXPLOUD),
+ SPECIES_TO_NATIONAL(CLAMPERL),
+ SPECIES_TO_NATIONAL(HUNTAIL),
+ SPECIES_TO_NATIONAL(GOREBYSS),
+ SPECIES_TO_NATIONAL(ABSOL),
+ SPECIES_TO_NATIONAL(SHUPPET),
+ SPECIES_TO_NATIONAL(BANETTE),
+ SPECIES_TO_NATIONAL(SEVIPER),
+ SPECIES_TO_NATIONAL(ZANGOOSE),
+ SPECIES_TO_NATIONAL(RELICANTH),
+ SPECIES_TO_NATIONAL(ARON),
+ SPECIES_TO_NATIONAL(LAIRON),
+ SPECIES_TO_NATIONAL(AGGRON),
+ SPECIES_TO_NATIONAL(CASTFORM),
+ SPECIES_TO_NATIONAL(VOLBEAT),
+ SPECIES_TO_NATIONAL(ILLUMISE),
+ SPECIES_TO_NATIONAL(LILEEP),
+ SPECIES_TO_NATIONAL(CRADILY),
+ SPECIES_TO_NATIONAL(ANORITH),
+ SPECIES_TO_NATIONAL(ARMALDO),
+ SPECIES_TO_NATIONAL(RALTS),
+ SPECIES_TO_NATIONAL(KIRLIA),
+ SPECIES_TO_NATIONAL(GARDEVOIR),
+ SPECIES_TO_NATIONAL(BAGON),
+ SPECIES_TO_NATIONAL(SHELGON),
+ SPECIES_TO_NATIONAL(SALAMENCE),
+ SPECIES_TO_NATIONAL(BELDUM),
+ SPECIES_TO_NATIONAL(METANG),
+ SPECIES_TO_NATIONAL(METAGROSS),
+ SPECIES_TO_NATIONAL(REGIROCK),
+ SPECIES_TO_NATIONAL(REGICE),
+ SPECIES_TO_NATIONAL(REGISTEEL),
+ SPECIES_TO_NATIONAL(KYOGRE),
+ SPECIES_TO_NATIONAL(GROUDON),
+ SPECIES_TO_NATIONAL(RAYQUAZA),
+ SPECIES_TO_NATIONAL(LATIAS),
+ SPECIES_TO_NATIONAL(LATIOS),
+ SPECIES_TO_NATIONAL(JIRACHI),
+ SPECIES_TO_NATIONAL(DEOXYS),
+ SPECIES_TO_NATIONAL(CHIMECHO),
};
-const u16 gHoennToNationalOrder[] = // Assigns Hoenn Dex Pokémon (Using National Dex Index)
-{
- // 0
- NATIONAL_DEX_TREECKO, // HOENN_DEX_TREECKO
- NATIONAL_DEX_GROVYLE, // HOENN_DEX_GROVYLE
- NATIONAL_DEX_SCEPTILE, // HOENN_DEX_SCEPTILE
- NATIONAL_DEX_TORCHIC, // HOENN_DEX_TORCHIC
- NATIONAL_DEX_COMBUSKEN, // HOENN_DEX_COMBUSKEN
- NATIONAL_DEX_BLAZIKEN, // HOENN_DEX_BLAZIKEN
- NATIONAL_DEX_MUDKIP, // HOENN_DEX_MUDKIP
- NATIONAL_DEX_MARSHTOMP, // HOENN_DEX_MARSHTOMP
- NATIONAL_DEX_SWAMPERT, // HOENN_DEX_SWAMPERT
- NATIONAL_DEX_POOCHYENA, // HOENN_DEX_POOCHYENA
- NATIONAL_DEX_MIGHTYENA, // HOENN_DEX_MIGHTYENA
- NATIONAL_DEX_ZIGZAGOON, // HOENN_DEX_ZIGZAGOON
- NATIONAL_DEX_LINOONE, // HOENN_DEX_LINOONE
- NATIONAL_DEX_WURMPLE, // HOENN_DEX_WURMPLE
- NATIONAL_DEX_SILCOON, // HOENN_DEX_SILCOON
- NATIONAL_DEX_BEAUTIFLY, // HOENN_DEX_BEAUTIFLY
- NATIONAL_DEX_CASCOON, // HOENN_DEX_CASCOON
- NATIONAL_DEX_DUSTOX, // HOENN_DEX_DUSTOX
- NATIONAL_DEX_LOTAD, // HOENN_DEX_LOTAD
- NATIONAL_DEX_LOMBRE, // HOENN_DEX_LOMBRE
- NATIONAL_DEX_LUDICOLO, // HOENN_DEX_LUDICOLO
- NATIONAL_DEX_SEEDOT, // HOENN_DEX_SEEDOT
- NATIONAL_DEX_NUZLEAF, // HOENN_DEX_NUZLEAF
- NATIONAL_DEX_SHIFTRY, // HOENN_DEX_SHIFTRY
- NATIONAL_DEX_TAILLOW, // HOENN_DEX_TAILLOW
- NATIONAL_DEX_SWELLOW, // HOENN_DEX_SWELLOW
- NATIONAL_DEX_WINGULL, // HOENN_DEX_WINGULL
- NATIONAL_DEX_PELIPPER, // HOENN_DEX_PELIPPER
- NATIONAL_DEX_RALTS, // HOENN_DEX_RALTS
- NATIONAL_DEX_KIRLIA, // HOENN_DEX_KIRLIA
- NATIONAL_DEX_GARDEVOIR, // HOENN_DEX_GARDEVOIR
- NATIONAL_DEX_SURSKIT, // HOENN_DEX_SURSKIT
- NATIONAL_DEX_MASQUERAIN, // HOENN_DEX_MASQUERAIN
- NATIONAL_DEX_SHROOMISH, // HOENN_DEX_SHROOMISH
- NATIONAL_DEX_BRELOOM, // HOENN_DEX_BRELOOM
- NATIONAL_DEX_SLAKOTH, // HOENN_DEX_SLAKOTH
- NATIONAL_DEX_VIGOROTH, // HOENN_DEX_VIGOROTH
- NATIONAL_DEX_SLAKING, // HOENN_DEX_SLAKING
- NATIONAL_DEX_ABRA, // HOENN_DEX_ABRA
- NATIONAL_DEX_KADABRA, // HOENN_DEX_KADABRA
- NATIONAL_DEX_ALAKAZAM, // HOENN_DEX_ALAKAZAM
- NATIONAL_DEX_NINCADA, // HOENN_DEX_NINCADA
- NATIONAL_DEX_NINJASK, // HOENN_DEX_NINJASK
- NATIONAL_DEX_SHEDINJA, // HOENN_DEX_SHEDINJA
- NATIONAL_DEX_WHISMUR, // HOENN_DEX_WHISMUR
- NATIONAL_DEX_LOUDRED, // HOENN_DEX_LOUDRED
- NATIONAL_DEX_EXPLOUD, // HOENN_DEX_EXPLOUD
- NATIONAL_DEX_MAKUHITA, // HOENN_DEX_MAKUHITA
- NATIONAL_DEX_HARIYAMA, // HOENN_DEX_HARIYAMA
- NATIONAL_DEX_GOLDEEN, // HOENN_DEX_GOLDEEN
- NATIONAL_DEX_SEAKING, // HOENN_DEX_SEAKING
- NATIONAL_DEX_MAGIKARP, // HOENN_DEX_MAGIKARP
- NATIONAL_DEX_GYARADOS, // HOENN_DEX_GYARADOS
- NATIONAL_DEX_AZURILL, // HOENN_DEX_AZURILL
- NATIONAL_DEX_MARILL, // HOENN_DEX_MARILL
- NATIONAL_DEX_AZUMARILL, // HOENN_DEX_AZUMARILL
- NATIONAL_DEX_GEODUDE, // HOENN_DEX_GEODUDE
- NATIONAL_DEX_GRAVELER, // HOENN_DEX_GRAVELER
- NATIONAL_DEX_GOLEM, // HOENN_DEX_GOLEM
- NATIONAL_DEX_NOSEPASS, // HOENN_DEX_NOSEPASS
- NATIONAL_DEX_SKITTY, // HOENN_DEX_SKITTY
- NATIONAL_DEX_DELCATTY, // HOENN_DEX_DELCATTY
- NATIONAL_DEX_ZUBAT, // HOENN_DEX_ZUBAT
- NATIONAL_DEX_GOLBAT, // HOENN_DEX_GOLBAT
- NATIONAL_DEX_CROBAT, // HOENN_DEX_CROBAT
- NATIONAL_DEX_TENTACOOL, // HOENN_DEX_TENTACOOL
- NATIONAL_DEX_TENTACRUEL, // HOENN_DEX_TENTACRUEL
- NATIONAL_DEX_SABLEYE, // HOENN_DEX_SABLEYE
- NATIONAL_DEX_MAWILE, // HOENN_DEX_MAWILE
- NATIONAL_DEX_ARON, // HOENN_DEX_ARON
- NATIONAL_DEX_LAIRON, // HOENN_DEX_LAIRON
- NATIONAL_DEX_AGGRON, // HOENN_DEX_AGGRON
- NATIONAL_DEX_MACHOP, // HOENN_DEX_MACHOP
- NATIONAL_DEX_MACHOKE, // HOENN_DEX_MACHOKE
- NATIONAL_DEX_MACHAMP, // HOENN_DEX_MACHAMP
- NATIONAL_DEX_MEDITITE, // HOENN_DEX_MEDITITE
- NATIONAL_DEX_MEDICHAM, // HOENN_DEX_MEDICHAM
- NATIONAL_DEX_ELECTRIKE, // HOENN_DEX_ELECTRIKE
- NATIONAL_DEX_MANECTRIC, // HOENN_DEX_MANECTRIC
- NATIONAL_DEX_PLUSLE, // HOENN_DEX_PLUSLE
- NATIONAL_DEX_MINUN, // HOENN_DEX_MINUN
- NATIONAL_DEX_MAGNEMITE, // HOENN_DEX_MAGNEMITE
- NATIONAL_DEX_MAGNETON, // HOENN_DEX_MAGNETON
- NATIONAL_DEX_VOLTORB, // HOENN_DEX_VOLTORB
- NATIONAL_DEX_ELECTRODE, // HOENN_DEX_ELECTRODE
- NATIONAL_DEX_VOLBEAT, // HOENN_DEX_VOLBEAT
- NATIONAL_DEX_ILLUMISE, // HOENN_DEX_ILLUMISE
- NATIONAL_DEX_ODDISH, // HOENN_DEX_ODDISH
- NATIONAL_DEX_GLOOM, // HOENN_DEX_GLOOM
- NATIONAL_DEX_VILEPLUME, // HOENN_DEX_VILEPLUME
- NATIONAL_DEX_BELLOSSOM, // HOENN_DEX_BELLOSSOM
- NATIONAL_DEX_DODUO, // HOENN_DEX_DODUO
- NATIONAL_DEX_DODRIO, // HOENN_DEX_DODRIO
- NATIONAL_DEX_ROSELIA, // HOENN_DEX_ROSELIA
- NATIONAL_DEX_GULPIN, // HOENN_DEX_GULPIN
- NATIONAL_DEX_SWALOT, // HOENN_DEX_SWALOT
- NATIONAL_DEX_CARVANHA, // HOENN_DEX_CARVANHA
- NATIONAL_DEX_SHARPEDO, // HOENN_DEX_SHARPEDO
- NATIONAL_DEX_WAILMER, // HOENN_DEX_WAILMER
- NATIONAL_DEX_WAILORD, // HOENN_DEX_WAILORD
- NATIONAL_DEX_NUMEL, // HOENN_DEX_NUMEL
- NATIONAL_DEX_CAMERUPT, // HOENN_DEX_CAMERUPT
- NATIONAL_DEX_SLUGMA, // HOENN_DEX_SLUGMA
- NATIONAL_DEX_MAGCARGO, // HOENN_DEX_MAGCARGO
- NATIONAL_DEX_TORKOAL, // HOENN_DEX_TORKOAL
- NATIONAL_DEX_GRIMER, // HOENN_DEX_GRIMER
- NATIONAL_DEX_MUK, // HOENN_DEX_MUK
- NATIONAL_DEX_KOFFING, // HOENN_DEX_KOFFING
- NATIONAL_DEX_WEEZING, // HOENN_DEX_WEEZING
- NATIONAL_DEX_SPOINK, // HOENN_DEX_SPOINK
- NATIONAL_DEX_GRUMPIG, // HOENN_DEX_GRUMPIG
- NATIONAL_DEX_SANDSHREW, // HOENN_DEX_SANDSHREW
- NATIONAL_DEX_SANDSLASH, // HOENN_DEX_SANDSLASH
- NATIONAL_DEX_SPINDA, // HOENN_DEX_SPINDA
- NATIONAL_DEX_SKARMORY, // HOENN_DEX_SKARMORY
- NATIONAL_DEX_TRAPINCH, // HOENN_DEX_TRAPINCH
- NATIONAL_DEX_VIBRAVA, // HOENN_DEX_VIBRAVA
- NATIONAL_DEX_FLYGON, // HOENN_DEX_FLYGON
- NATIONAL_DEX_CACNEA, // HOENN_DEX_CACNEA
- NATIONAL_DEX_CACTURNE, // HOENN_DEX_CACTURNE
- NATIONAL_DEX_SWABLU, // HOENN_DEX_SWABLU
- NATIONAL_DEX_ALTARIA, // HOENN_DEX_ALTARIA
- NATIONAL_DEX_ZANGOOSE, // HOENN_DEX_ZANGOOSE
- NATIONAL_DEX_SEVIPER, // HOENN_DEX_SEVIPER
- NATIONAL_DEX_LUNATONE, // HOENN_DEX_LUNATONE
- NATIONAL_DEX_SOLROCK, // HOENN_DEX_SOLROCK
- NATIONAL_DEX_BARBOACH, // HOENN_DEX_BARBOACH
- NATIONAL_DEX_WHISCASH, // HOENN_DEX_WHISCASH
- NATIONAL_DEX_CORPHISH, // HOENN_DEX_CORPHISH
- NATIONAL_DEX_CRAWDAUNT, // HOENN_DEX_CRAWDAUNT
- NATIONAL_DEX_BALTOY, // HOENN_DEX_BALTOY
- NATIONAL_DEX_CLAYDOL, // HOENN_DEX_CLAYDOL
- NATIONAL_DEX_LILEEP, // HOENN_DEX_LILEEP
- NATIONAL_DEX_CRADILY, // HOENN_DEX_CRADILY
- NATIONAL_DEX_ANORITH, // HOENN_DEX_ANORITH
- NATIONAL_DEX_ARMALDO, // HOENN_DEX_ARMALDO
- NATIONAL_DEX_IGGLYBUFF, // HOENN_DEX_IGGLYBUFF
- NATIONAL_DEX_JIGGLYPUFF, // HOENN_DEX_JIGGLYPUFF
- NATIONAL_DEX_WIGGLYTUFF, // HOENN_DEX_WIGGLYTUFF
- NATIONAL_DEX_FEEBAS, // HOENN_DEX_FEEBAS
- NATIONAL_DEX_MILOTIC, // HOENN_DEX_MILOTIC
- NATIONAL_DEX_CASTFORM, // HOENN_DEX_CASTFORM
- NATIONAL_DEX_STARYU, // HOENN_DEX_STARYU
- NATIONAL_DEX_STARMIE, // HOENN_DEX_STARMIE
- NATIONAL_DEX_KECLEON, // HOENN_DEX_KECLEON
- NATIONAL_DEX_SHUPPET, // HOENN_DEX_SHUPPET
- NATIONAL_DEX_BANETTE, // HOENN_DEX_BANETTE
- NATIONAL_DEX_DUSKULL, // HOENN_DEX_DUSKULL
- NATIONAL_DEX_DUSCLOPS, // HOENN_DEX_DUSCLOPS
- NATIONAL_DEX_TROPIUS, // HOENN_DEX_TROPIUS
- NATIONAL_DEX_CHIMECHO, // HOENN_DEX_CHIMECHO
- NATIONAL_DEX_ABSOL, // HOENN_DEX_ABSOL
- NATIONAL_DEX_VULPIX, // HOENN_DEX_VULPIX
- NATIONAL_DEX_NINETALES, // HOENN_DEX_NINETALES
- NATIONAL_DEX_PICHU, // HOENN_DEX_PICHU
- NATIONAL_DEX_PIKACHU, // HOENN_DEX_PIKACHU
- NATIONAL_DEX_RAICHU, // HOENN_DEX_RAICHU
- NATIONAL_DEX_PSYDUCK, // HOENN_DEX_PSYDUCK
- NATIONAL_DEX_GOLDUCK, // HOENN_DEX_GOLDUCK
- NATIONAL_DEX_WYNAUT, // HOENN_DEX_WYNAUT
- NATIONAL_DEX_WOBBUFFET, // HOENN_DEX_WOBBUFFET
- NATIONAL_DEX_NATU, // HOENN_DEX_NATU
- NATIONAL_DEX_XATU, // HOENN_DEX_XATU
- NATIONAL_DEX_GIRAFARIG, // HOENN_DEX_GIRAFARIG
- NATIONAL_DEX_PHANPY, // HOENN_DEX_PHANPY
- NATIONAL_DEX_DONPHAN, // HOENN_DEX_DONPHAN
- NATIONAL_DEX_PINSIR, // HOENN_DEX_PINSIR
- NATIONAL_DEX_HERACROSS, // HOENN_DEX_HERACROSS
- NATIONAL_DEX_RHYHORN, // HOENN_DEX_RHYHORN
- NATIONAL_DEX_RHYDON, // HOENN_DEX_RHYDON
- NATIONAL_DEX_SNORUNT, // HOENN_DEX_SNORUNT
- NATIONAL_DEX_GLALIE, // HOENN_DEX_GLALIE
- NATIONAL_DEX_SPHEAL, // HOENN_DEX_SPHEAL
- NATIONAL_DEX_SEALEO, // HOENN_DEX_SEALEO
- NATIONAL_DEX_WALREIN, // HOENN_DEX_WALREIN
- NATIONAL_DEX_CLAMPERL, // HOENN_DEX_CLAMPERL
- NATIONAL_DEX_HUNTAIL, // HOENN_DEX_HUNTAIL
- NATIONAL_DEX_GOREBYSS, // HOENN_DEX_GOREBYSS
- NATIONAL_DEX_RELICANTH, // HOENN_DEX_RELICANTH
- NATIONAL_DEX_CORSOLA, // HOENN_DEX_CORSOLA
- NATIONAL_DEX_CHINCHOU, // HOENN_DEX_CHINCHOU
- NATIONAL_DEX_LANTURN, // HOENN_DEX_LANTURN
- NATIONAL_DEX_LUVDISC, // HOENN_DEX_LUVDISC
- NATIONAL_DEX_HORSEA, // HOENN_DEX_HORSEA
- NATIONAL_DEX_SEADRA, // HOENN_DEX_SEADRA
- NATIONAL_DEX_KINGDRA, // HOENN_DEX_KINGDRA
- NATIONAL_DEX_BAGON, // HOENN_DEX_BAGON
- NATIONAL_DEX_SHELGON, // HOENN_DEX_SHELGON
- NATIONAL_DEX_SALAMENCE, // HOENN_DEX_SALAMENCE
- NATIONAL_DEX_BELDUM, // HOENN_DEX_BELDUM
- NATIONAL_DEX_METANG, // HOENN_DEX_METANG
- NATIONAL_DEX_METAGROSS, // HOENN_DEX_METAGROSS
- NATIONAL_DEX_REGIROCK, // HOENN_DEX_REGIROCK
- NATIONAL_DEX_REGICE, // HOENN_DEX_REGICE
- NATIONAL_DEX_REGISTEEL, // HOENN_DEX_REGISTEEL
- NATIONAL_DEX_LATIAS, // HOENN_DEX_LATIAS
- NATIONAL_DEX_LATIOS, // HOENN_DEX_LATIOS
- NATIONAL_DEX_KYOGRE, // HOENN_DEX_KYOGRE
- NATIONAL_DEX_GROUDON, // HOENN_DEX_GROUDON
- NATIONAL_DEX_RAYQUAZA, // HOENN_DEX_RAYQUAZA
- NATIONAL_DEX_JIRACHI, // HOENN_DEX_JIRACHI
- NATIONAL_DEX_DEOXYS, // HOENN_DEX_DEOXYS
- NATIONAL_DEX_BULBASAUR, // HOENN_DEX_BULBASAUR - Pokémon from here onwards are UNSEEN in the Hoenn Dex.
- NATIONAL_DEX_IVYSAUR, // HOENN_DEX_IVYSAUR
- NATIONAL_DEX_VENUSAUR, // HOENN_DEX_VENUSAUR
- NATIONAL_DEX_CHARMANDER, // HOENN_DEX_CHARMANDER
- NATIONAL_DEX_CHARMELEON, // HOENN_DEX_CHARMELEON
- NATIONAL_DEX_CHARIZARD, // HOENN_DEX_CHARIZARD
- NATIONAL_DEX_SQUIRTLE, // HOENN_DEX_SQUIRTLE
- NATIONAL_DEX_WARTORTLE, // HOENN_DEX_WARTORTLE
- NATIONAL_DEX_BLASTOISE, // HOENN_DEX_BLASTOISE
- NATIONAL_DEX_CATERPIE, // HOENN_DEX_CATERPIE
- NATIONAL_DEX_METAPOD, // HOENN_DEX_METAPOD
- NATIONAL_DEX_BUTTERFREE, // HOENN_DEX_BUTTERFREE
- NATIONAL_DEX_WEEDLE, // HOENN_DEX_WEEDLE
- NATIONAL_DEX_KAKUNA, // HOENN_DEX_KAKUNA
- NATIONAL_DEX_BEEDRILL, // HOENN_DEX_BEEDRILL
- NATIONAL_DEX_PIDGEY, // HOENN_DEX_PIDGEY
- NATIONAL_DEX_PIDGEOTTO, // HOENN_DEX_PIDGEOTTO
- NATIONAL_DEX_PIDGEOT, // HOENN_DEX_PIDGEOT
- NATIONAL_DEX_RATTATA, // HOENN_DEX_RATTATA
- NATIONAL_DEX_RATICATE, // HOENN_DEX_RATICATE
- NATIONAL_DEX_SPEAROW, // HOENN_DEX_SPEAROW
- NATIONAL_DEX_FEAROW, // HOENN_DEX_FEAROW
- NATIONAL_DEX_EKANS, // HOENN_DEX_EKANS
- NATIONAL_DEX_ARBOK, // HOENN_DEX_ARBOK
- NATIONAL_DEX_NIDORAN_F, // HOENN_DEX_NIDORAN♀
- NATIONAL_DEX_NIDORINA, // HOENN_DEX_NIDORINA
- NATIONAL_DEX_NIDOQUEEN, // HOENN_DEX_NIDOQUEEN
- NATIONAL_DEX_NIDORAN_M, // HOENN_DEX_NIDORAN♂
- NATIONAL_DEX_NIDORINO, // HOENN_DEX_NIDORINO
- NATIONAL_DEX_NIDOKING, // HOENN_DEX_NIDOKING
- NATIONAL_DEX_CLEFAIRY, // HOENN_DEX_CLEFAIRY
- NATIONAL_DEX_CLEFABLE, // HOENN_DEX_CLEFABLE
- NATIONAL_DEX_PARAS, // HOENN_DEX_PARAS
- NATIONAL_DEX_PARASECT, // HOENN_DEX_PARASECT
- NATIONAL_DEX_VENONAT, // HOENN_DEX_VENONAT
- NATIONAL_DEX_VENOMOTH, // HOENN_DEX_VENOMOTH
- NATIONAL_DEX_DIGLETT, // HOENN_DEX_DIGLETT
- NATIONAL_DEX_DUGTRIO, // HOENN_DEX_DUGTRIO
- NATIONAL_DEX_MEOWTH, // HOENN_DEX_MEOWTH
- NATIONAL_DEX_PERSIAN, // HOENN_DEX_PERSIAN
- NATIONAL_DEX_MANKEY, // HOENN_DEX_MANKEY
- NATIONAL_DEX_PRIMEAPE, // HOENN_DEX_PRIMEAPE
- NATIONAL_DEX_GROWLITHE, // HOENN_DEX_GROWLITHE
- NATIONAL_DEX_ARCANINE, // HOENN_DEX_ARCANINE
- NATIONAL_DEX_POLIWAG, // HOENN_DEX_POLIWAG
- NATIONAL_DEX_POLIWHIRL, // HOENN_DEX_POLIWHIRL
- NATIONAL_DEX_POLIWRATH, // HOENN_DEX_POLIWRATH
- NATIONAL_DEX_BELLSPROUT, // HOENN_DEX_BELLSPROUT
- NATIONAL_DEX_WEEPINBELL, // HOENN_DEX_WEEPINBELL
- NATIONAL_DEX_VICTREEBEL, // HOENN_DEX_VICTREEBEL
- NATIONAL_DEX_PONYTA, // HOENN_DEX_PONYTA
- NATIONAL_DEX_RAPIDASH, // HOENN_DEX_RAPIDASH
- NATIONAL_DEX_SLOWPOKE, // HOENN_DEX_SLOWPOKE
- NATIONAL_DEX_SLOWBRO, // HOENN_DEX_SLOWBRO
- NATIONAL_DEX_FARFETCHD, // HOENN_DEX_FARFETCH'D
- NATIONAL_DEX_SEEL, // HOENN_DEX_SEEL
- NATIONAL_DEX_DEWGONG, // HOENN_DEX_DEWGONG
- NATIONAL_DEX_SHELLDER, // HOENN_DEX_SHELLDER
- NATIONAL_DEX_CLOYSTER, // HOENN_DEX_CLOYSTER
- NATIONAL_DEX_GASTLY, // HOENN_DEX_GASTLY
- NATIONAL_DEX_HAUNTER, // HOENN_DEX_HAUNTER
- NATIONAL_DEX_GENGAR, // HOENN_DEX_GENGAR
- NATIONAL_DEX_ONIX, // HOENN_DEX_ONIX
- NATIONAL_DEX_DROWZEE, // HOENN_DEX_DROWZEE
- NATIONAL_DEX_HYPNO, // HOENN_DEX_HYPNO
- NATIONAL_DEX_KRABBY, // HOENN_DEX_KRABBY
- NATIONAL_DEX_KINGLER, // HOENN_DEX_KINGLER
- NATIONAL_DEX_EXEGGCUTE, // HOENN_DEX_EXEGGCUTE
- NATIONAL_DEX_EXEGGUTOR, // HOENN_DEX_EXEGGUTOR
- NATIONAL_DEX_CUBONE, // HOENN_DEX_CUBONE
- NATIONAL_DEX_MAROWAK, // HOENN_DEX_MAROWAK
- NATIONAL_DEX_HITMONLEE, // HOENN_DEX_HITMONLEE
- NATIONAL_DEX_HITMONCHAN, // HOENN_DEX_HITMONCHAN
- NATIONAL_DEX_LICKITUNG, // HOENN_DEX_LICKITUNG
- NATIONAL_DEX_CHANSEY, // HOENN_DEX_CHANSEY
- NATIONAL_DEX_TANGELA, // HOENN_DEX_TANGELA
- NATIONAL_DEX_KANGASKHAN, // HOENN_DEX_KANGASKHAN
- NATIONAL_DEX_MR_MIME, // HOENN_DEX_MR. MIME
- NATIONAL_DEX_SCYTHER, // HOENN_DEX_SCYTHER
- NATIONAL_DEX_JYNX, // HOENN_DEX_JYNX
- NATIONAL_DEX_ELECTABUZZ, // HOENN_DEX_ELECTABUZZ
- NATIONAL_DEX_MAGMAR, // HOENN_DEX_MAGMAR
- NATIONAL_DEX_TAUROS, // HOENN_DEX_TAUROS
- NATIONAL_DEX_LAPRAS, // HOENN_DEX_LAPRAS
- NATIONAL_DEX_DITTO, // HOENN_DEX_DITTO
- NATIONAL_DEX_EEVEE, // HOENN_DEX_EEVEE
- NATIONAL_DEX_VAPOREON, // HOENN_DEX_VAPOREON
- NATIONAL_DEX_JOLTEON, // HOENN_DEX_JOLTEON
- NATIONAL_DEX_FLAREON, // HOENN_DEX_FLAREON
- NATIONAL_DEX_PORYGON, // HOENN_DEX_PORYGON
- NATIONAL_DEX_OMANYTE, // HOENN_DEX_OMANYTE
- NATIONAL_DEX_OMASTAR, // HOENN_DEX_OMASTAR
- NATIONAL_DEX_KABUTO, // HOENN_DEX_KABUTO
- NATIONAL_DEX_KABUTOPS, // HOENN_DEX_KABUTOPS
- NATIONAL_DEX_AERODACTYL, // HOENN_DEX_AERODACTYL
- NATIONAL_DEX_SNORLAX, // HOENN_DEX_SNORLAX
- NATIONAL_DEX_ARTICUNO, // HOENN_DEX_ARTICUNO
- NATIONAL_DEX_ZAPDOS, // HOENN_DEX_ZAPDOS
- NATIONAL_DEX_MOLTRES, // HOENN_DEX_MOLTRES
- NATIONAL_DEX_DRATINI, // HOENN_DEX_DRATINI
- NATIONAL_DEX_DRAGONAIR, // HOENN_DEX_DRAGONAIR
- NATIONAL_DEX_DRAGONITE, // HOENN_DEX_DRAGONITE
- NATIONAL_DEX_MEWTWO, // HOENN_DEX_MEWTWO
- NATIONAL_DEX_MEW, // HOENN_DEX_MEW
- NATIONAL_DEX_CHIKORITA, // HOENN_DEX_CHIKORITA
- NATIONAL_DEX_BAYLEEF, // HOENN_DEX_BAYLEEF
- NATIONAL_DEX_MEGANIUM, // HOENN_DEX_MEGANIUM
- NATIONAL_DEX_CYNDAQUIL, // HOENN_DEX_CYNDAQUIL
- NATIONAL_DEX_QUILAVA, // HOENN_DEX_QUILAVA
- NATIONAL_DEX_TYPHLOSION, // HOENN_DEX_TYPHLOSION
- NATIONAL_DEX_TOTODILE, // HOENN_DEX_TOTODILE
- NATIONAL_DEX_CROCONAW, // HOENN_DEX_CROCONAW
- NATIONAL_DEX_FERALIGATR, // HOENN_DEX_FERALIGATR
- NATIONAL_DEX_SENTRET, // HOENN_DEX_SENTRET
- NATIONAL_DEX_FURRET, // HOENN_DEX_FURRET
- NATIONAL_DEX_HOOTHOOT, // HOENN_DEX_HOOTHOOT
- NATIONAL_DEX_NOCTOWL, // HOENN_DEX_NOCTOWL
- NATIONAL_DEX_LEDYBA, // HOENN_DEX_LEDYBA
- NATIONAL_DEX_LEDIAN, // HOENN_DEX_LEDIAN
- NATIONAL_DEX_SPINARAK, // HOENN_DEX_SPINARAK
- NATIONAL_DEX_ARIADOS, // HOENN_DEX_ARIADOS
- NATIONAL_DEX_CLEFFA, // HOENN_DEX_CLEFFA
- NATIONAL_DEX_TOGEPI, // HOENN_DEX_TOGEPI
- NATIONAL_DEX_TOGETIC, // HOENN_DEX_TOGETIC
- NATIONAL_DEX_MAREEP, // HOENN_DEX_MAREEP
- NATIONAL_DEX_FLAAFFY, // HOENN_DEX_FLAAFFY
- NATIONAL_DEX_AMPHAROS, // HOENN_DEX_AMPHAROS
- NATIONAL_DEX_SUDOWOODO, // HOENN_DEX_SUDOWOODO
- NATIONAL_DEX_POLITOED, // HOENN_DEX_POLITOED
- NATIONAL_DEX_HOPPIP, // HOENN_DEX_HOPPIP
- NATIONAL_DEX_SKIPLOOM, // HOENN_DEX_SKIPLOOM
- NATIONAL_DEX_JUMPLUFF, // HOENN_DEX_JUMPLUFF
- NATIONAL_DEX_AIPOM, // HOENN_DEX_AIPOM
- NATIONAL_DEX_SUNKERN, // HOENN_DEX_SUNKERN
- NATIONAL_DEX_SUNFLORA, // HOENN_DEX_SUNFLORA
- NATIONAL_DEX_YANMA, // HOENN_DEX_YANMA
- NATIONAL_DEX_WOOPER, // HOENN_DEX_WOOPER
- NATIONAL_DEX_QUAGSIRE, // HOENN_DEX_QUAGSIRE
- NATIONAL_DEX_ESPEON, // HOENN_DEX_ESPEON
- NATIONAL_DEX_UMBREON, // HOENN_DEX_UMBREON
- NATIONAL_DEX_MURKROW, // HOENN_DEX_MURKROW
- NATIONAL_DEX_SLOWKING, // HOENN_DEX_SLOWKING
- NATIONAL_DEX_MISDREAVUS, // HOENN_DEX_MISDREAVUS
- NATIONAL_DEX_UNOWN, // HOENN_DEX_UNOWN
- NATIONAL_DEX_PINECO, // HOENN_DEX_PINECO
- NATIONAL_DEX_FORRETRESS, // HOENN_DEX_FORRETRESS
- NATIONAL_DEX_DUNSPARCE, // HOENN_DEX_DUNSPARCE
- NATIONAL_DEX_GLIGAR, // HOENN_DEX_GLIGAR
- NATIONAL_DEX_STEELIX, // HOENN_DEX_STEELIX
- NATIONAL_DEX_SNUBBULL, // HOENN_DEX_SNUBBULL
- NATIONAL_DEX_GRANBULL, // HOENN_DEX_GRANBULL
- NATIONAL_DEX_QWILFISH, // HOENN_DEX_QWILFISH
- NATIONAL_DEX_SCIZOR, // HOENN_DEX_SCIZOR
- NATIONAL_DEX_SHUCKLE, // HOENN_DEX_SHUCKLE
- NATIONAL_DEX_SNEASEL, // HOENN_DEX_SNEASEL
- NATIONAL_DEX_TEDDIURSA, // HOENN_DEX_TEDDIURSA
- NATIONAL_DEX_URSARING, // HOENN_DEX_URSARING
- NATIONAL_DEX_SWINUB, // HOENN_DEX_SWINUB
- NATIONAL_DEX_PILOSWINE, // HOENN_DEX_PILOSWINE
- NATIONAL_DEX_REMORAID, // HOENN_DEX_REMORAID
- NATIONAL_DEX_OCTILLERY, // HOENN_DEX_OCTILLERY
- NATIONAL_DEX_DELIBIRD, // HOENN_DEX_DELIBIRD
- NATIONAL_DEX_MANTINE, // HOENN_DEX_MANTINE
- NATIONAL_DEX_HOUNDOUR, // HOENN_DEX_HOUNDOUR
- NATIONAL_DEX_HOUNDOOM, // HOENN_DEX_HOUNDOOM
- NATIONAL_DEX_PORYGON2, // HOENN_DEX_PORYGON2
- NATIONAL_DEX_STANTLER, // HOENN_DEX_STANTLER
- NATIONAL_DEX_SMEARGLE, // HOENN_DEX_SMEARGLE
- NATIONAL_DEX_TYROGUE, // HOENN_DEX_TYROGUE
- NATIONAL_DEX_HITMONTOP, // HOENN_DEX_HITMONTOP
- NATIONAL_DEX_SMOOCHUM, // HOENN_DEX_SMOOCHUM
- NATIONAL_DEX_ELEKID, // HOENN_DEX_ELEKID
- NATIONAL_DEX_MAGBY, // HOENN_DEX_MAGBY
- NATIONAL_DEX_MILTANK, // HOENN_DEX_MILTANK
- NATIONAL_DEX_BLISSEY, // HOENN_DEX_BLISSEY
- NATIONAL_DEX_RAIKOU, // HOENN_DEX_RAIKOU
- NATIONAL_DEX_ENTEI, // HOENN_DEX_ENTEI
- NATIONAL_DEX_SUICUNE, // HOENN_DEX_SUICUNE
- NATIONAL_DEX_LARVITAR, // HOENN_DEX_LARVITAR
- NATIONAL_DEX_PUPITAR, // HOENN_DEX_PUPITAR
- NATIONAL_DEX_TYRANITAR, // HOENN_DEX_TYRANITAR
- NATIONAL_DEX_LUGIA, // HOENN_DEX_LUGIA
- NATIONAL_DEX_HO_OH, // HOENN_DEX_HO-OH
- NATIONAL_DEX_CELEBI, // HOENN_DEX_CELEBI
- NATIONAL_DEX_OLD_UNOWN_B, // HOENN_DEX_OLD_UNOWN_B
- NATIONAL_DEX_OLD_UNOWN_C, // HOENN_DEX_OLD_UNOWN_C
- NATIONAL_DEX_OLD_UNOWN_D, // HOENN_DEX_OLD_UNOWN_D
- NATIONAL_DEX_OLD_UNOWN_E, // HOENN_DEX_OLD_UNOWN_E
- NATIONAL_DEX_OLD_UNOWN_F, // HOENN_DEX_OLD_UNOWN_F
- NATIONAL_DEX_OLD_UNOWN_G, // HOENN_DEX_OLD_UNOWN_G
- NATIONAL_DEX_OLD_UNOWN_H, // HOENN_DEX_OLD_UNOWN_H
- NATIONAL_DEX_OLD_UNOWN_I, // HOENN_DEX_OLD_UNOWN_I
- NATIONAL_DEX_OLD_UNOWN_J, // HOENN_DEX_OLD_UNOWN_J
- NATIONAL_DEX_OLD_UNOWN_K, // HOENN_DEX_OLD_UNOWN_K
- NATIONAL_DEX_OLD_UNOWN_L, // HOENN_DEX_OLD_UNOWN_L
- NATIONAL_DEX_OLD_UNOWN_M, // HOENN_DEX_OLD_UNOWN_M
- NATIONAL_DEX_OLD_UNOWN_N, // HOENN_DEX_OLD_UNOWN_N
- NATIONAL_DEX_OLD_UNOWN_O, // HOENN_DEX_OLD_UNOWN_O
- NATIONAL_DEX_OLD_UNOWN_P, // HOENN_DEX_OLD_UNOWN_P
- NATIONAL_DEX_OLD_UNOWN_Q, // HOENN_DEX_OLD_UNOWN_Q
- NATIONAL_DEX_OLD_UNOWN_R, // HOENN_DEX_OLD_UNOWN_R
- NATIONAL_DEX_OLD_UNOWN_S, // HOENN_DEX_OLD_UNOWN_S
- NATIONAL_DEX_OLD_UNOWN_T, // HOENN_DEX_OLD_UNOWN_T
- NATIONAL_DEX_OLD_UNOWN_U, // HOENN_DEX_OLD_UNOWN_U
- NATIONAL_DEX_OLD_UNOWN_V, // HOENN_DEX_OLD_UNOWN_V
- NATIONAL_DEX_OLD_UNOWN_W, // HOENN_DEX_OLD_UNOWN_W
- NATIONAL_DEX_OLD_UNOWN_X, // HOENN_DEX_OLD_UNOWN_X
- NATIONAL_DEX_OLD_UNOWN_Y, // HOENN_DEX_OLD_UNOWN_Y
- NATIONAL_DEX_OLD_UNOWN_Z // HOENN_DEX_OLD_UNOWN_Z
+const u16 gHoennToNationalOrder[] = // Assigns Hoenn Dex Pokmon (Using National Dex Index)
+{
+ HOENN_TO_NATIONAL(TREECKO),
+ HOENN_TO_NATIONAL(GROVYLE),
+ HOENN_TO_NATIONAL(SCEPTILE),
+ HOENN_TO_NATIONAL(TORCHIC),
+ HOENN_TO_NATIONAL(COMBUSKEN),
+ HOENN_TO_NATIONAL(BLAZIKEN),
+ HOENN_TO_NATIONAL(MUDKIP),
+ HOENN_TO_NATIONAL(MARSHTOMP),
+ HOENN_TO_NATIONAL(SWAMPERT),
+ HOENN_TO_NATIONAL(POOCHYENA),
+ HOENN_TO_NATIONAL(MIGHTYENA),
+ HOENN_TO_NATIONAL(ZIGZAGOON),
+ HOENN_TO_NATIONAL(LINOONE),
+ HOENN_TO_NATIONAL(WURMPLE),
+ HOENN_TO_NATIONAL(SILCOON),
+ HOENN_TO_NATIONAL(BEAUTIFLY),
+ HOENN_TO_NATIONAL(CASCOON),
+ HOENN_TO_NATIONAL(DUSTOX),
+ HOENN_TO_NATIONAL(LOTAD),
+ HOENN_TO_NATIONAL(LOMBRE),
+ HOENN_TO_NATIONAL(LUDICOLO),
+ HOENN_TO_NATIONAL(SEEDOT),
+ HOENN_TO_NATIONAL(NUZLEAF),
+ HOENN_TO_NATIONAL(SHIFTRY),
+ HOENN_TO_NATIONAL(TAILLOW),
+ HOENN_TO_NATIONAL(SWELLOW),
+ HOENN_TO_NATIONAL(WINGULL),
+ HOENN_TO_NATIONAL(PELIPPER),
+ HOENN_TO_NATIONAL(RALTS),
+ HOENN_TO_NATIONAL(KIRLIA),
+ HOENN_TO_NATIONAL(GARDEVOIR),
+ HOENN_TO_NATIONAL(SURSKIT),
+ HOENN_TO_NATIONAL(MASQUERAIN),
+ HOENN_TO_NATIONAL(SHROOMISH),
+ HOENN_TO_NATIONAL(BRELOOM),
+ HOENN_TO_NATIONAL(SLAKOTH),
+ HOENN_TO_NATIONAL(VIGOROTH),
+ HOENN_TO_NATIONAL(SLAKING),
+ HOENN_TO_NATIONAL(ABRA),
+ HOENN_TO_NATIONAL(KADABRA),
+ HOENN_TO_NATIONAL(ALAKAZAM),
+ HOENN_TO_NATIONAL(NINCADA),
+ HOENN_TO_NATIONAL(NINJASK),
+ HOENN_TO_NATIONAL(SHEDINJA),
+ HOENN_TO_NATIONAL(WHISMUR),
+ HOENN_TO_NATIONAL(LOUDRED),
+ HOENN_TO_NATIONAL(EXPLOUD),
+ HOENN_TO_NATIONAL(MAKUHITA),
+ HOENN_TO_NATIONAL(HARIYAMA),
+ HOENN_TO_NATIONAL(GOLDEEN),
+ HOENN_TO_NATIONAL(SEAKING),
+ HOENN_TO_NATIONAL(MAGIKARP),
+ HOENN_TO_NATIONAL(GYARADOS),
+ HOENN_TO_NATIONAL(AZURILL),
+ HOENN_TO_NATIONAL(MARILL),
+ HOENN_TO_NATIONAL(AZUMARILL),
+ HOENN_TO_NATIONAL(GEODUDE),
+ HOENN_TO_NATIONAL(GRAVELER),
+ HOENN_TO_NATIONAL(GOLEM),
+ HOENN_TO_NATIONAL(NOSEPASS),
+ HOENN_TO_NATIONAL(SKITTY),
+ HOENN_TO_NATIONAL(DELCATTY),
+ HOENN_TO_NATIONAL(ZUBAT),
+ HOENN_TO_NATIONAL(GOLBAT),
+ HOENN_TO_NATIONAL(CROBAT),
+ HOENN_TO_NATIONAL(TENTACOOL),
+ HOENN_TO_NATIONAL(TENTACRUEL),
+ HOENN_TO_NATIONAL(SABLEYE),
+ HOENN_TO_NATIONAL(MAWILE),
+ HOENN_TO_NATIONAL(ARON),
+ HOENN_TO_NATIONAL(LAIRON),
+ HOENN_TO_NATIONAL(AGGRON),
+ HOENN_TO_NATIONAL(MACHOP),
+ HOENN_TO_NATIONAL(MACHOKE),
+ HOENN_TO_NATIONAL(MACHAMP),
+ HOENN_TO_NATIONAL(MEDITITE),
+ HOENN_TO_NATIONAL(MEDICHAM),
+ HOENN_TO_NATIONAL(ELECTRIKE),
+ HOENN_TO_NATIONAL(MANECTRIC),
+ HOENN_TO_NATIONAL(PLUSLE),
+ HOENN_TO_NATIONAL(MINUN),
+ HOENN_TO_NATIONAL(MAGNEMITE),
+ HOENN_TO_NATIONAL(MAGNETON),
+ HOENN_TO_NATIONAL(VOLTORB),
+ HOENN_TO_NATIONAL(ELECTRODE),
+ HOENN_TO_NATIONAL(VOLBEAT),
+ HOENN_TO_NATIONAL(ILLUMISE),
+ HOENN_TO_NATIONAL(ODDISH),
+ HOENN_TO_NATIONAL(GLOOM),
+ HOENN_TO_NATIONAL(VILEPLUME),
+ HOENN_TO_NATIONAL(BELLOSSOM),
+ HOENN_TO_NATIONAL(DODUO),
+ HOENN_TO_NATIONAL(DODRIO),
+ HOENN_TO_NATIONAL(ROSELIA),
+ HOENN_TO_NATIONAL(GULPIN),
+ HOENN_TO_NATIONAL(SWALOT),
+ HOENN_TO_NATIONAL(CARVANHA),
+ HOENN_TO_NATIONAL(SHARPEDO),
+ HOENN_TO_NATIONAL(WAILMER),
+ HOENN_TO_NATIONAL(WAILORD),
+ HOENN_TO_NATIONAL(NUMEL),
+ HOENN_TO_NATIONAL(CAMERUPT),
+ HOENN_TO_NATIONAL(SLUGMA),
+ HOENN_TO_NATIONAL(MAGCARGO),
+ HOENN_TO_NATIONAL(TORKOAL),
+ HOENN_TO_NATIONAL(GRIMER),
+ HOENN_TO_NATIONAL(MUK),
+ HOENN_TO_NATIONAL(KOFFING),
+ HOENN_TO_NATIONAL(WEEZING),
+ HOENN_TO_NATIONAL(SPOINK),
+ HOENN_TO_NATIONAL(GRUMPIG),
+ HOENN_TO_NATIONAL(SANDSHREW),
+ HOENN_TO_NATIONAL(SANDSLASH),
+ HOENN_TO_NATIONAL(SPINDA),
+ HOENN_TO_NATIONAL(SKARMORY),
+ HOENN_TO_NATIONAL(TRAPINCH),
+ HOENN_TO_NATIONAL(VIBRAVA),
+ HOENN_TO_NATIONAL(FLYGON),
+ HOENN_TO_NATIONAL(CACNEA),
+ HOENN_TO_NATIONAL(CACTURNE),
+ HOENN_TO_NATIONAL(SWABLU),
+ HOENN_TO_NATIONAL(ALTARIA),
+ HOENN_TO_NATIONAL(ZANGOOSE),
+ HOENN_TO_NATIONAL(SEVIPER),
+ HOENN_TO_NATIONAL(LUNATONE),
+ HOENN_TO_NATIONAL(SOLROCK),
+ HOENN_TO_NATIONAL(BARBOACH),
+ HOENN_TO_NATIONAL(WHISCASH),
+ HOENN_TO_NATIONAL(CORPHISH),
+ HOENN_TO_NATIONAL(CRAWDAUNT),
+ HOENN_TO_NATIONAL(BALTOY),
+ HOENN_TO_NATIONAL(CLAYDOL),
+ HOENN_TO_NATIONAL(LILEEP),
+ HOENN_TO_NATIONAL(CRADILY),
+ HOENN_TO_NATIONAL(ANORITH),
+ HOENN_TO_NATIONAL(ARMALDO),
+ HOENN_TO_NATIONAL(IGGLYBUFF),
+ HOENN_TO_NATIONAL(JIGGLYPUFF),
+ HOENN_TO_NATIONAL(WIGGLYTUFF),
+ HOENN_TO_NATIONAL(FEEBAS),
+ HOENN_TO_NATIONAL(MILOTIC),
+ HOENN_TO_NATIONAL(CASTFORM),
+ HOENN_TO_NATIONAL(STARYU),
+ HOENN_TO_NATIONAL(STARMIE),
+ HOENN_TO_NATIONAL(KECLEON),
+ HOENN_TO_NATIONAL(SHUPPET),
+ HOENN_TO_NATIONAL(BANETTE),
+ HOENN_TO_NATIONAL(DUSKULL),
+ HOENN_TO_NATIONAL(DUSCLOPS),
+ HOENN_TO_NATIONAL(TROPIUS),
+ HOENN_TO_NATIONAL(CHIMECHO),
+ HOENN_TO_NATIONAL(ABSOL),
+ HOENN_TO_NATIONAL(VULPIX),
+ HOENN_TO_NATIONAL(NINETALES),
+ HOENN_TO_NATIONAL(PICHU),
+ HOENN_TO_NATIONAL(PIKACHU),
+ HOENN_TO_NATIONAL(RAICHU),
+ HOENN_TO_NATIONAL(PSYDUCK),
+ HOENN_TO_NATIONAL(GOLDUCK),
+ HOENN_TO_NATIONAL(WYNAUT),
+ HOENN_TO_NATIONAL(WOBBUFFET),
+ HOENN_TO_NATIONAL(NATU),
+ HOENN_TO_NATIONAL(XATU),
+ HOENN_TO_NATIONAL(GIRAFARIG),
+ HOENN_TO_NATIONAL(PHANPY),
+ HOENN_TO_NATIONAL(DONPHAN),
+ HOENN_TO_NATIONAL(PINSIR),
+ HOENN_TO_NATIONAL(HERACROSS),
+ HOENN_TO_NATIONAL(RHYHORN),
+ HOENN_TO_NATIONAL(RHYDON),
+ HOENN_TO_NATIONAL(SNORUNT),
+ HOENN_TO_NATIONAL(GLALIE),
+ HOENN_TO_NATIONAL(SPHEAL),
+ HOENN_TO_NATIONAL(SEALEO),
+ HOENN_TO_NATIONAL(WALREIN),
+ HOENN_TO_NATIONAL(CLAMPERL),
+ HOENN_TO_NATIONAL(HUNTAIL),
+ HOENN_TO_NATIONAL(GOREBYSS),
+ HOENN_TO_NATIONAL(RELICANTH),
+ HOENN_TO_NATIONAL(CORSOLA),
+ HOENN_TO_NATIONAL(CHINCHOU),
+ HOENN_TO_NATIONAL(LANTURN),
+ HOENN_TO_NATIONAL(LUVDISC),
+ HOENN_TO_NATIONAL(HORSEA),
+ HOENN_TO_NATIONAL(SEADRA),
+ HOENN_TO_NATIONAL(KINGDRA),
+ HOENN_TO_NATIONAL(BAGON),
+ HOENN_TO_NATIONAL(SHELGON),
+ HOENN_TO_NATIONAL(SALAMENCE),
+ HOENN_TO_NATIONAL(BELDUM),
+ HOENN_TO_NATIONAL(METANG),
+ HOENN_TO_NATIONAL(METAGROSS),
+ HOENN_TO_NATIONAL(REGIROCK),
+ HOENN_TO_NATIONAL(REGICE),
+ HOENN_TO_NATIONAL(REGISTEEL),
+ HOENN_TO_NATIONAL(LATIAS),
+ HOENN_TO_NATIONAL(LATIOS),
+ HOENN_TO_NATIONAL(KYOGRE),
+ HOENN_TO_NATIONAL(GROUDON),
+ HOENN_TO_NATIONAL(RAYQUAZA),
+ HOENN_TO_NATIONAL(JIRACHI),
+ HOENN_TO_NATIONAL(DEOXYS),
+ HOENN_TO_NATIONAL(BULBASAUR), // Pokmon from here onwards are UNSEEN in the HoennDex.
+ HOENN_TO_NATIONAL(IVYSAUR),
+ HOENN_TO_NATIONAL(VENUSAUR),
+ HOENN_TO_NATIONAL(CHARMANDER),
+ HOENN_TO_NATIONAL(CHARMELEON),
+ HOENN_TO_NATIONAL(CHARIZARD),
+ HOENN_TO_NATIONAL(SQUIRTLE),
+ HOENN_TO_NATIONAL(WARTORTLE),
+ HOENN_TO_NATIONAL(BLASTOISE),
+ HOENN_TO_NATIONAL(CATERPIE),
+ HOENN_TO_NATIONAL(METAPOD),
+ HOENN_TO_NATIONAL(BUTTERFREE),
+ HOENN_TO_NATIONAL(WEEDLE),
+ HOENN_TO_NATIONAL(KAKUNA),
+ HOENN_TO_NATIONAL(BEEDRILL),
+ HOENN_TO_NATIONAL(PIDGEY),
+ HOENN_TO_NATIONAL(PIDGEOTTO),
+ HOENN_TO_NATIONAL(PIDGEOT),
+ HOENN_TO_NATIONAL(RATTATA),
+ HOENN_TO_NATIONAL(RATICATE),
+ HOENN_TO_NATIONAL(SPEAROW),
+ HOENN_TO_NATIONAL(FEAROW),
+ HOENN_TO_NATIONAL(EKANS),
+ HOENN_TO_NATIONAL(ARBOK),
+ HOENN_TO_NATIONAL(NIDORAN_F),
+ HOENN_TO_NATIONAL(NIDORINA),
+ HOENN_TO_NATIONAL(NIDOQUEEN),
+ HOENN_TO_NATIONAL(NIDORAN_M),
+ HOENN_TO_NATIONAL(NIDORINO),
+ HOENN_TO_NATIONAL(NIDOKING),
+ HOENN_TO_NATIONAL(CLEFAIRY),
+ HOENN_TO_NATIONAL(CLEFABLE),
+ HOENN_TO_NATIONAL(PARAS),
+ HOENN_TO_NATIONAL(PARASECT),
+ HOENN_TO_NATIONAL(VENONAT),
+ HOENN_TO_NATIONAL(VENOMOTH),
+ HOENN_TO_NATIONAL(DIGLETT),
+ HOENN_TO_NATIONAL(DUGTRIO),
+ HOENN_TO_NATIONAL(MEOWTH),
+ HOENN_TO_NATIONAL(PERSIAN),
+ HOENN_TO_NATIONAL(MANKEY),
+ HOENN_TO_NATIONAL(PRIMEAPE),
+ HOENN_TO_NATIONAL(GROWLITHE),
+ HOENN_TO_NATIONAL(ARCANINE),
+ HOENN_TO_NATIONAL(POLIWAG),
+ HOENN_TO_NATIONAL(POLIWHIRL),
+ HOENN_TO_NATIONAL(POLIWRATH),
+ HOENN_TO_NATIONAL(BELLSPROUT),
+ HOENN_TO_NATIONAL(WEEPINBELL),
+ HOENN_TO_NATIONAL(VICTREEBEL),
+ HOENN_TO_NATIONAL(PONYTA),
+ HOENN_TO_NATIONAL(RAPIDASH),
+ HOENN_TO_NATIONAL(SLOWPOKE),
+ HOENN_TO_NATIONAL(SLOWBRO),
+ HOENN_TO_NATIONAL(FARFETCHD),
+ HOENN_TO_NATIONAL(SEEL),
+ HOENN_TO_NATIONAL(DEWGONG),
+ HOENN_TO_NATIONAL(SHELLDER),
+ HOENN_TO_NATIONAL(CLOYSTER),
+ HOENN_TO_NATIONAL(GASTLY),
+ HOENN_TO_NATIONAL(HAUNTER),
+ HOENN_TO_NATIONAL(GENGAR),
+ HOENN_TO_NATIONAL(ONIX),
+ HOENN_TO_NATIONAL(DROWZEE),
+ HOENN_TO_NATIONAL(HYPNO),
+ HOENN_TO_NATIONAL(KRABBY),
+ HOENN_TO_NATIONAL(KINGLER),
+ HOENN_TO_NATIONAL(EXEGGCUTE),
+ HOENN_TO_NATIONAL(EXEGGUTOR),
+ HOENN_TO_NATIONAL(CUBONE),
+ HOENN_TO_NATIONAL(MAROWAK),
+ HOENN_TO_NATIONAL(HITMONLEE),
+ HOENN_TO_NATIONAL(HITMONCHAN),
+ HOENN_TO_NATIONAL(LICKITUNG),
+ HOENN_TO_NATIONAL(CHANSEY),
+ HOENN_TO_NATIONAL(TANGELA),
+ HOENN_TO_NATIONAL(KANGASKHAN),
+ HOENN_TO_NATIONAL(MR_MIME),
+ HOENN_TO_NATIONAL(SCYTHER),
+ HOENN_TO_NATIONAL(JYNX),
+ HOENN_TO_NATIONAL(ELECTABUZZ),
+ HOENN_TO_NATIONAL(MAGMAR),
+ HOENN_TO_NATIONAL(TAUROS),
+ HOENN_TO_NATIONAL(LAPRAS),
+ HOENN_TO_NATIONAL(DITTO),
+ HOENN_TO_NATIONAL(EEVEE),
+ HOENN_TO_NATIONAL(VAPOREON),
+ HOENN_TO_NATIONAL(JOLTEON),
+ HOENN_TO_NATIONAL(FLAREON),
+ HOENN_TO_NATIONAL(PORYGON),
+ HOENN_TO_NATIONAL(OMANYTE),
+ HOENN_TO_NATIONAL(OMASTAR),
+ HOENN_TO_NATIONAL(KABUTO),
+ HOENN_TO_NATIONAL(KABUTOPS),
+ HOENN_TO_NATIONAL(AERODACTYL),
+ HOENN_TO_NATIONAL(SNORLAX),
+ HOENN_TO_NATIONAL(ARTICUNO),
+ HOENN_TO_NATIONAL(ZAPDOS),
+ HOENN_TO_NATIONAL(MOLTRES),
+ HOENN_TO_NATIONAL(DRATINI),
+ HOENN_TO_NATIONAL(DRAGONAIR),
+ HOENN_TO_NATIONAL(DRAGONITE),
+ HOENN_TO_NATIONAL(MEWTWO),
+ HOENN_TO_NATIONAL(MEW),
+ HOENN_TO_NATIONAL(CHIKORITA),
+ HOENN_TO_NATIONAL(BAYLEEF),
+ HOENN_TO_NATIONAL(MEGANIUM),
+ HOENN_TO_NATIONAL(CYNDAQUIL),
+ HOENN_TO_NATIONAL(QUILAVA),
+ HOENN_TO_NATIONAL(TYPHLOSION),
+ HOENN_TO_NATIONAL(TOTODILE),
+ HOENN_TO_NATIONAL(CROCONAW),
+ HOENN_TO_NATIONAL(FERALIGATR),
+ HOENN_TO_NATIONAL(SENTRET),
+ HOENN_TO_NATIONAL(FURRET),
+ HOENN_TO_NATIONAL(HOOTHOOT),
+ HOENN_TO_NATIONAL(NOCTOWL),
+ HOENN_TO_NATIONAL(LEDYBA),
+ HOENN_TO_NATIONAL(LEDIAN),
+ HOENN_TO_NATIONAL(SPINARAK),
+ HOENN_TO_NATIONAL(ARIADOS),
+ HOENN_TO_NATIONAL(CLEFFA),
+ HOENN_TO_NATIONAL(TOGEPI),
+ HOENN_TO_NATIONAL(TOGETIC),
+ HOENN_TO_NATIONAL(MAREEP),
+ HOENN_TO_NATIONAL(FLAAFFY),
+ HOENN_TO_NATIONAL(AMPHAROS),
+ HOENN_TO_NATIONAL(SUDOWOODO),
+ HOENN_TO_NATIONAL(POLITOED),
+ HOENN_TO_NATIONAL(HOPPIP),
+ HOENN_TO_NATIONAL(SKIPLOOM),
+ HOENN_TO_NATIONAL(JUMPLUFF),
+ HOENN_TO_NATIONAL(AIPOM),
+ HOENN_TO_NATIONAL(SUNKERN),
+ HOENN_TO_NATIONAL(SUNFLORA),
+ HOENN_TO_NATIONAL(YANMA),
+ HOENN_TO_NATIONAL(WOOPER),
+ HOENN_TO_NATIONAL(QUAGSIRE),
+ HOENN_TO_NATIONAL(ESPEON),
+ HOENN_TO_NATIONAL(UMBREON),
+ HOENN_TO_NATIONAL(MURKROW),
+ HOENN_TO_NATIONAL(SLOWKING),
+ HOENN_TO_NATIONAL(MISDREAVUS),
+ HOENN_TO_NATIONAL(UNOWN),
+ HOENN_TO_NATIONAL(PINECO),
+ HOENN_TO_NATIONAL(FORRETRESS),
+ HOENN_TO_NATIONAL(DUNSPARCE),
+ HOENN_TO_NATIONAL(GLIGAR),
+ HOENN_TO_NATIONAL(STEELIX),
+ HOENN_TO_NATIONAL(SNUBBULL),
+ HOENN_TO_NATIONAL(GRANBULL),
+ HOENN_TO_NATIONAL(QWILFISH),
+ HOENN_TO_NATIONAL(SCIZOR),
+ HOENN_TO_NATIONAL(SHUCKLE),
+ HOENN_TO_NATIONAL(SNEASEL),
+ HOENN_TO_NATIONAL(TEDDIURSA),
+ HOENN_TO_NATIONAL(URSARING),
+ HOENN_TO_NATIONAL(SWINUB),
+ HOENN_TO_NATIONAL(PILOSWINE),
+ HOENN_TO_NATIONAL(REMORAID),
+ HOENN_TO_NATIONAL(OCTILLERY),
+ HOENN_TO_NATIONAL(DELIBIRD),
+ HOENN_TO_NATIONAL(MANTINE),
+ HOENN_TO_NATIONAL(HOUNDOUR),
+ HOENN_TO_NATIONAL(HOUNDOOM),
+ HOENN_TO_NATIONAL(PORYGON2),
+ HOENN_TO_NATIONAL(STANTLER),
+ HOENN_TO_NATIONAL(SMEARGLE),
+ HOENN_TO_NATIONAL(TYROGUE),
+ HOENN_TO_NATIONAL(HITMONTOP),
+ HOENN_TO_NATIONAL(SMOOCHUM),
+ HOENN_TO_NATIONAL(ELEKID),
+ HOENN_TO_NATIONAL(MAGBY),
+ HOENN_TO_NATIONAL(MILTANK),
+ HOENN_TO_NATIONAL(BLISSEY),
+ HOENN_TO_NATIONAL(RAIKOU),
+ HOENN_TO_NATIONAL(ENTEI),
+ HOENN_TO_NATIONAL(SUICUNE),
+ HOENN_TO_NATIONAL(LARVITAR),
+ HOENN_TO_NATIONAL(PUPITAR),
+ HOENN_TO_NATIONAL(TYRANITAR),
+ HOENN_TO_NATIONAL(LUGIA),
+ HOENN_TO_NATIONAL(HO_OH),
+ HOENN_TO_NATIONAL(CELEBI),
+ HOENN_TO_NATIONAL(OLD_UNOWN_B),
+ HOENN_TO_NATIONAL(OLD_UNOWN_C),
+ HOENN_TO_NATIONAL(OLD_UNOWN_D),
+ HOENN_TO_NATIONAL(OLD_UNOWN_E),
+ HOENN_TO_NATIONAL(OLD_UNOWN_F),
+ HOENN_TO_NATIONAL(OLD_UNOWN_G),
+ HOENN_TO_NATIONAL(OLD_UNOWN_H),
+ HOENN_TO_NATIONAL(OLD_UNOWN_I),
+ HOENN_TO_NATIONAL(OLD_UNOWN_J),
+ HOENN_TO_NATIONAL(OLD_UNOWN_K),
+ HOENN_TO_NATIONAL(OLD_UNOWN_L),
+ HOENN_TO_NATIONAL(OLD_UNOWN_M),
+ HOENN_TO_NATIONAL(OLD_UNOWN_N),
+ HOENN_TO_NATIONAL(OLD_UNOWN_O),
+ HOENN_TO_NATIONAL(OLD_UNOWN_P),
+ HOENN_TO_NATIONAL(OLD_UNOWN_Q),
+ HOENN_TO_NATIONAL(OLD_UNOWN_R),
+ HOENN_TO_NATIONAL(OLD_UNOWN_S),
+ HOENN_TO_NATIONAL(OLD_UNOWN_T),
+ HOENN_TO_NATIONAL(OLD_UNOWN_U),
+ HOENN_TO_NATIONAL(OLD_UNOWN_V),
+ HOENN_TO_NATIONAL(OLD_UNOWN_W),
+ HOENN_TO_NATIONAL(OLD_UNOWN_X),
+ HOENN_TO_NATIONAL(OLD_UNOWN_Y),
+ HOENN_TO_NATIONAL(OLD_UNOWN_Z),
};
const struct SpindaSpot gSpindaSpotGraphics[] =
@@ -1404,834 +1399,836 @@ const s8 gNatureStatTable[][5] =
#include "data/pokemon/evolution.h"
#include "data/pokemon/level_up_learnset_pointers.h"
+// SPECIES_NONE are ignored in the following two tables, so decrement before accessing these arrays to get the right result
+
static const u8 sMonFrontAnimIdsTable[] =
{
- 0x06, // SPECIES_BULBASAUR
- 0x17, // SPECIES_IVYSAUR
- 0x2f, // SPECIES_VENUSAUR
- 0x52, // SPECIES_CHARMANDER
- 0x25, // SPECIES_CHARMELEON
- 0x10, // SPECIES_CHARIZARD
- 0x0b, // SPECIES_SQUIRTLE
- 0x13, // SPECIES_WARTORTLE
- 0x19, // SPECIES_BLASTOISE
- 0x0b, // SPECIES_CATERPIE
- 0x0b, // SPECIES_METAPOD
- 0x1d, // SPECIES_BUTTERFREE
- 0x46, // SPECIES_WEEDLE
- 0x20, // SPECIES_KAKUNA
- 0x02, // SPECIES_BEEDRILL
- 0x47, // SPECIES_PIDGEY
- 0x17, // SPECIES_PIDGEOTTO
- 0x29, // SPECIES_PIDGEOT
- 0x43, // SPECIES_RATTATA
- 0x2b, // SPECIES_RATICATE
- 0x18, // SPECIES_SPEAROW
- 0x2b, // SPECIES_FEAROW
- 0x16, // SPECIES_EKANS
- 0x17, // SPECIES_ARBOK
- 0x2c, // SPECIES_PIKACHU
- 0x17, // SPECIES_RAICHU
- 0x2d, // SPECIES_SANDSHREW
- 0x17, // SPECIES_SANDSLASH
- 0x00, // SPECIES_NIDORAN_F
- 0x17, // SPECIES_NIDORINA
- 0x0f, // SPECIES_NIDOQUEEN
- 0x09, // SPECIES_NIDORAN_M
- 0x13, // SPECIES_NIDORINO
- 0x0f, // SPECIES_NIDOKING
- 0x00, // SPECIES_CLEFAIRY
- 0x4a, // SPECIES_CLEFABLE
- 0x17, // SPECIES_VULPIX
- 0x10, // SPECIES_NINETALES
- 0x48, // SPECIES_JIGGLYPUFF
- 0x31, // SPECIES_WIGGLYTUFF
- 0x00, // SPECIES_ZUBAT
- 0x1d, // SPECIES_GOLBAT
- 0x00, // SPECIES_ODDISH
- 0x45, // SPECIES_GLOOM
- 0x49, // SPECIES_VILEPLUME
- 0x46, // SPECIES_PARAS
- 0x0f, // SPECIES_PARASECT
- 0x06, // SPECIES_VENONAT
- 0x4b, // SPECIES_VENOMOTH
- 0x10, // SPECIES_DIGLETT
- 0x4c, // SPECIES_DUGTRIO
- 0x52, // SPECIES_MEOWTH
- 0x17, // SPECIES_PERSIAN
- 0x06, // SPECIES_PSYDUCK
- 0x4c, // SPECIES_GOLDUCK
- 0x32, // SPECIES_MANKEY
- 0x48, // SPECIES_PRIMEAPE
- 0x25, // SPECIES_GROWLITHE
- 0x02, // SPECIES_ARCANINE
- 0x00, // SPECIES_POLIWAG
- 0x32, // SPECIES_POLIWHIRL
- 0x19, // SPECIES_POLIWRATH
- 0x31, // SPECIES_ABRA
- 0x09, // SPECIES_KADABRA
- 0x17, // SPECIES_ALAKAZAM
- 0x00, // SPECIES_MACHOP
- 0x10, // SPECIES_MACHOKE
- 0x31, // SPECIES_MACHAMP
- 0x17, // SPECIES_BELLSPROUT
- 0x0d, // SPECIES_WEEPINBELL
- 0x32, // SPECIES_VICTREEBEL
- 0x00, // SPECIES_TENTACOOL
- 0x00, // SPECIES_TENTACRUEL
- 0x48, // SPECIES_GEODUDE
- 0x48, // SPECIES_GRAVELER
- 0x2f, // SPECIES_GOLEM
- 0x20, // SPECIES_PONYTA
- 0x11, // SPECIES_RAPIDASH
- 0x45, // SPECIES_SLOWPOKE
- 0x0b, // SPECIES_SLOWBRO
- 0x54, // SPECIES_MAGNEMITE
- 0x2c, // SPECIES_MAGNETON
- 0x48, // SPECIES_FARFETCHD
- 0x4c, // SPECIES_DODUO
- 0x41, // SPECIES_DODRIO
- 0x0b, // SPECIES_SEEL
- 0x45, // SPECIES_DEWGONG
- 0x46, // SPECIES_GRIMER
- 0x30, // SPECIES_MUK
- 0x12, // SPECIES_SHELLDER
- 0x1d, // SPECIES_CLOYSTER
- 0x15, // SPECIES_GASTLY
- 0x35, // SPECIES_HAUNTER
- 0x3a, // SPECIES_GENGAR
- 0x43, // SPECIES_ONIX
- 0x4f, // SPECIES_DROWZEE
- 0x09, // SPECIES_HYPNO
- 0x03, // SPECIES_KRABBY
- 0x4b, // SPECIES_KINGLER
- 0x00, // SPECIES_VOLTORB
- 0x00, // SPECIES_ELECTRODE
- 0x46, // SPECIES_EXEGGCUTE
- 0x32, // SPECIES_EXEGGUTOR
- 0x48, // SPECIES_CUBONE
- 0x05, // SPECIES_MAROWAK
- 0x16, // SPECIES_HITMONLEE
- 0x09, // SPECIES_HITMONCHAN
- 0x45, // SPECIES_LICKITUNG
- 0x13, // SPECIES_KOFFING
- 0x04, // SPECIES_WEEZING
- 0x10, // SPECIES_RHYHORN
- 0x13, // SPECIES_RHYDON
- 0x45, // SPECIES_CHANSEY
- 0x48, // SPECIES_TANGELA
- 0x17, // SPECIES_KANGASKHAN
- 0x12, // SPECIES_HORSEA
- 0x04, // SPECIES_SEADRA
- 0x0d, // SPECIES_GOLDEEN
- 0x1c, // SPECIES_SEAKING
- 0x4e, // SPECIES_STARYU
- 0x12, // SPECIES_STARMIE
- 0x46, // SPECIES_MR_MIME
- 0x02, // SPECIES_SCYTHER
- 0x17, // SPECIES_JYNX
- 0x2c, // SPECIES_ELECTABUZZ
- 0x0f, // SPECIES_MAGMAR
- 0x09, // SPECIES_PINSIR
- 0x19, // SPECIES_TAUROS
- 0x05, // SPECIES_MAGIKARP
- 0x48, // SPECIES_GYARADOS
- 0x17, // SPECIES_LAPRAS
- 0x01, // SPECIES_DITTO
- 0x17, // SPECIES_EEVEE
- 0x17, // SPECIES_VAPOREON
- 0x00, // SPECIES_JOLTEON
- 0x17, // SPECIES_FLAREON
- 0x52, // SPECIES_PORYGON
- 0x51, // SPECIES_OMANYTE
- 0x09, // SPECIES_OMASTAR
- 0x1d, // SPECIES_KABUTO
- 0x0f, // SPECIES_KABUTOPS
- 0x47, // SPECIES_AERODACTYL
- 0x0b, // SPECIES_SNORLAX
- 0x09, // SPECIES_ARTICUNO
- 0x2c, // SPECIES_ZAPDOS
- 0x45, // SPECIES_MOLTRES
- 0x00, // SPECIES_DRATINI
- 0x10, // SPECIES_DRAGONAIR
- 0x47, // SPECIES_DRAGONITE
- 0x09, // SPECIES_MEWTWO
- 0x0d, // SPECIES_MEW
- 0x00, // SPECIES_CHIKORITA
- 0x00, // SPECIES_BAYLEEF
- 0x17, // SPECIES_MEGANIUM
- 0x52, // SPECIES_CYNDAQUIL
- 0x17, // SPECIES_QUILAVA
- 0x10, // SPECIES_TYPHLOSION
- 0x31, // SPECIES_TOTODILE
- 0x0f, // SPECIES_CROCONAW
- 0x0f, // SPECIES_FERALIGATR
- 0x00, // SPECIES_SENTRET
- 0x32, // SPECIES_FURRET
- 0x47, // SPECIES_HOOTHOOT
- 0x17, // SPECIES_NOCTOWL
- 0x52, // SPECIES_LEDYBA
- 0x47, // SPECIES_LEDIAN
- 0x4f, // SPECIES_SPINARAK
- 0x0f, // SPECIES_ARIADOS
- 0x00, // SPECIES_CROBAT
- 0x45, // SPECIES_CHINCHOU
- 0x51, // SPECIES_LANTURN
- 0x1e, // SPECIES_PICHU
- 0x52, // SPECIES_CLEFFA
- 0x0c, // SPECIES_IGGLYBUFF
- 0x0b, // SPECIES_TOGEPI
- 0x00, // SPECIES_TOGETIC
- 0x31, // SPECIES_NATU
- 0x09, // SPECIES_XATU
- 0x00, // SPECIES_MAREEP
- 0x1e, // SPECIES_FLAAFFY
- 0x2c, // SPECIES_AMPHAROS
- 0x0b, // SPECIES_BELLOSSOM
- 0x00, // SPECIES_MARILL
- 0x4a, // SPECIES_AZUMARILL
- 0x46, // SPECIES_SUDOWOODO
- 0x32, // SPECIES_POLITOED
- 0x1c, // SPECIES_HOPPIP
- 0x18, // SPECIES_SKIPLOOM
- 0x51, // SPECIES_JUMPLUFF
- 0x32, // SPECIES_AIPOM
- 0x52, // SPECIES_SUNKERN
- 0x00, // SPECIES_SUNFLORA
- 0x2b, // SPECIES_YANMA
- 0x00, // SPECIES_WOOPER
- 0x16, // SPECIES_QUAGSIRE
- 0x09, // SPECIES_ESPEON
- 0x10, // SPECIES_UMBREON
- 0x00, // SPECIES_MURKROW
- 0x13, // SPECIES_SLOWKING
- 0x1c, // SPECIES_MISDREAVUS
- 0x0a, // SPECIES_UNOWN
- 0x30, // SPECIES_WOBBUFFET
- 0x1e, // SPECIES_GIRAFARIG
- 0x0b, // SPECIES_PINECO
- 0x10, // SPECIES_FORRETRESS
- 0x00, // SPECIES_DUNSPARCE
- 0x13, // SPECIES_GLIGAR
- 0x0f, // SPECIES_STEELIX
- 0x17, // SPECIES_SNUBBULL
- 0x10, // SPECIES_GRANBULL
- 0x3a, // SPECIES_QWILFISH
- 0x02, // SPECIES_SCIZOR
- 0x0b, // SPECIES_SHUCKLE
- 0x41, // SPECIES_HERACROSS
- 0x16, // SPECIES_SNEASEL
- 0x17, // SPECIES_TEDDIURSA
- 0x10, // SPECIES_URSARING
- 0x17, // SPECIES_SLUGMA
- 0x17, // SPECIES_MAGCARGO
- 0x00, // SPECIES_SWINUB
- 0x0f, // SPECIES_PILOSWINE
- 0x03, // SPECIES_CORSOLA
- 0x52, // SPECIES_REMORAID
- 0x17, // SPECIES_OCTILLERY
- 0x52, // SPECIES_DELIBIRD
- 0x0d, // SPECIES_MANTINE
- 0x17, // SPECIES_SKARMORY
- 0x17, // SPECIES_HOUNDOUR
- 0x10, // SPECIES_HOUNDOOM
- 0x42, // SPECIES_KINGDRA
- 0x32, // SPECIES_PHANPY
- 0x19, // SPECIES_DONPHAN
- 0x00, // SPECIES_PORYGON2
- 0x00, // SPECIES_STANTLER
- 0x31, // SPECIES_SMEARGLE
- 0x16, // SPECIES_TYROGUE
- 0x02, // SPECIES_HITMONTOP
- 0x09, // SPECIES_SMOOCHUM
- 0x2c, // SPECIES_ELEKID
- 0x00, // SPECIES_MAGBY
- 0x45, // SPECIES_MILTANK
- 0x00, // SPECIES_BLISSEY
- 0x2c, // SPECIES_RAIKOU
- 0x09, // SPECIES_ENTEI
- 0x10, // SPECIES_SUICUNE
- 0x52, // SPECIES_LARVITAR
- 0x10, // SPECIES_PUPITAR
- 0x0f, // SPECIES_TYRANITAR
- 0x3a, // SPECIES_LUGIA
- 0x09, // SPECIES_HO_OH
- 0x18, // SPECIES_CELEBI
- 0x00, // 252
- 0x00, // 253
- 0x00, // 254
- 0x00, // 255
- 0x00, // 256
- 0x00, // 257
- 0x00, // 258
- 0x00, // 259
- 0x00, // 260
- 0x00, // 261
- 0x00, // 262
- 0x00, // 263
- 0x00, // 264
- 0x00, // 265
- 0x00, // 266
- 0x00, // 267
- 0x00, // 268
- 0x00, // 269
- 0x00, // 270
- 0x00, // 271
- 0x00, // 272
- 0x00, // 273
- 0x00, // 274
- 0x00, // 275
- 0x00, // 276
- 0x00, // SPECIES_TREECKO
- 0x17, // SPECIES_GROVYLE
- 0x10, // SPECIES_SCEPTILE
- 0x16, // SPECIES_TORCHIC
- 0x06, // SPECIES_COMBUSKEN
- 0x0f, // SPECIES_BLAZIKEN
- 0x01, // SPECIES_MUDKIP
- 0x04, // SPECIES_MARSHTOMP
- 0x1e, // SPECIES_SWAMPERT
- 0x10, // SPECIES_POOCHYENA
- 0x10, // SPECIES_MIGHTYENA
- 0x03, // SPECIES_ZIGZAGOON
- 0x09, // SPECIES_LINOONE
- 0x00, // SPECIES_WURMPLE
- 0x00, // SPECIES_SILCOON
- 0x04, // SPECIES_BEAUTIFLY
- 0x04, // SPECIES_CASCOON
- 0x06, // SPECIES_DUSTOX
- 0x00, // SPECIES_LOTAD
- 0x00, // SPECIES_LOMBRE
- 0x49, // SPECIES_LUDICOLO
- 0x05, // SPECIES_SEEDOT
- 0x00, // SPECIES_NUZLEAF
- 0x02, // SPECIES_SHIFTRY
- 0x00, // SPECIES_NINCADA
- 0x46, // SPECIES_NINJASK
- 0x1c, // SPECIES_SHEDINJA
- 0x1e, // SPECIES_TAILLOW
- 0x01, // SPECIES_SWELLOW
- 0x00, // SPECIES_SHROOMISH
- 0x00, // SPECIES_BRELOOM
- 0x31, // SPECIES_SPINDA
- 0x1b, // SPECIES_WINGULL
- 0x1c, // SPECIES_PELIPPER
- 0x00, // SPECIES_SURSKIT
- 0x00, // SPECIES_MASQUERAIN
- 0x01, // SPECIES_WAILMER
- 0x1c, // SPECIES_WAILORD
- 0x00, // SPECIES_SKITTY
- 0x17, // SPECIES_DELCATTY
- 0x35, // SPECIES_KECLEON
- 0x1d, // SPECIES_BALTOY
- 0x51, // SPECIES_CLAYDOL
- 0x49, // SPECIES_NOSEPASS
- 0x17, // SPECIES_TORKOAL
- 0x15, // SPECIES_SABLEYE
- 0x49, // SPECIES_BARBOACH
- 0x49, // SPECIES_WHISCASH
- 0x1d, // SPECIES_LUVDISC
- 0x10, // SPECIES_CORPHISH
- 0x09, // SPECIES_CRAWDAUNT
- 0x49, // SPECIES_FEEBAS
- 0x22, // SPECIES_MILOTIC
- 0x49, // SPECIES_CARVANHA
- 0x56, // SPECIES_SHARPEDO
- 0x10, // SPECIES_TRAPINCH
- 0x0f, // SPECIES_VIBRAVA
- 0x4b, // SPECIES_FLYGON
- 0x0b, // SPECIES_MAKUHITA
- 0x34, // SPECIES_HARIYAMA
- 0x00, // SPECIES_ELECTRIKE
- 0x00, // SPECIES_MANECTRIC
- 0x04, // SPECIES_NUMEL
- 0x10, // SPECIES_CAMERUPT
- 0x53, // SPECIES_SPHEAL
- 0x17, // SPECIES_SEALEO
- 0x0f, // SPECIES_WALREIN
- 0x49, // SPECIES_CACNEA
- 0x04, // SPECIES_CACTURNE
- 0x45, // SPECIES_SNORUNT
- 0x0a, // SPECIES_GLALIE
- 0x0e, // SPECIES_LUNATONE
- 0x08, // SPECIES_SOLROCK
- 0x00, // SPECIES_AZURILL
- 0x56, // SPECIES_SPOINK
- 0x32, // SPECIES_GRUMPIG
- 0x00, // SPECIES_PLUSLE
- 0x01, // SPECIES_MINUN
- 0x00, // SPECIES_MAWILE
- 0x05, // SPECIES_MEDITITE
- 0x45, // SPECIES_MEDICHAM
- 0x04, // SPECIES_SWABLU
- 0x16, // SPECIES_ALTARIA
- 0x32, // SPECIES_WYNAUT
- 0x0a, // SPECIES_DUSKULL
- 0x02, // SPECIES_DUSCLOPS
- 0x45, // SPECIES_ROSELIA
- 0x45, // SPECIES_SLAKOTH
- 0x31, // SPECIES_VIGOROTH
- 0x45, // SPECIES_SLAKING
- 0x00, // SPECIES_GULPIN
- 0x45, // SPECIES_SWALOT
- 0x10, // SPECIES_TROPIUS
- 0x03, // SPECIES_WHISMUR
- 0x49, // SPECIES_LOUDRED
- 0x19, // SPECIES_EXPLOUD
- 0x12, // SPECIES_CLAMPERL
- 0x09, // SPECIES_HUNTAIL
- 0x1c, // SPECIES_GOREBYSS
- 0x11, // SPECIES_ABSOL
- 0x1c, // SPECIES_SHUPPET
- 0x0d, // SPECIES_BANETTE
- 0x17, // SPECIES_SEVIPER
- 0x09, // SPECIES_ZANGOOSE
- 0x1a, // SPECIES_RELICANTH
- 0x45, // SPECIES_ARON
- 0x00, // SPECIES_LAIRON
- 0x19, // SPECIES_AGGRON
- 0x1d, // SPECIES_CASTFORM
- 0x00, // SPECIES_VOLBEAT
- 0x05, // SPECIES_ILLUMISE
- 0x17, // SPECIES_LILEEP
- 0x19, // SPECIES_CRADILY
- 0x12, // SPECIES_ANORITH
- 0x10, // SPECIES_ARMALDO
- 0x45, // SPECIES_RALTS
- 0x00, // SPECIES_KIRLIA
- 0x00, // SPECIES_GARDEVOIR
- 0x19, // SPECIES_BAGON
- 0x04, // SPECIES_SHELGON
- 0x0f, // SPECIES_SALAMENCE
- 0x0f, // SPECIES_BELDUM
- 0x04, // SPECIES_METANG
- 0x10, // SPECIES_METAGROSS
- 0x01, // SPECIES_REGIROCK
- 0x44, // SPECIES_REGICE
- 0x09, // SPECIES_REGISTEEL
- 0x2d, // SPECIES_KYOGRE
- 0x10, // SPECIES_GROUDON
- 0x0f, // SPECIES_RAYQUAZA
- 0x2d, // SPECIES_LATIAS
- 0x10, // SPECIES_LATIOS
- 0x0d, // SPECIES_JIRACHI
- 0x1b, // SPECIES_DEOXYS
- 0x1d, // SPECIES_CHIMECHO
+ [SPECIES_BULBASAUR - 1] = 0x06,
+ [SPECIES_IVYSAUR - 1] = 0x17,
+ [SPECIES_VENUSAUR - 1] = 0x2f,
+ [SPECIES_CHARMANDER - 1] = 0x52,
+ [SPECIES_CHARMELEON - 1] = 0x25,
+ [SPECIES_CHARIZARD - 1] = 0x10,
+ [SPECIES_SQUIRTLE - 1] = 0x0b,
+ [SPECIES_WARTORTLE - 1] = 0x13,
+ [SPECIES_BLASTOISE - 1] = 0x19,
+ [SPECIES_CATERPIE - 1] = 0x0b,
+ [SPECIES_METAPOD - 1] = 0x0b,
+ [SPECIES_BUTTERFREE - 1] = 0x1d,
+ [SPECIES_WEEDLE - 1] = 0x46,
+ [SPECIES_KAKUNA - 1] = 0x20,
+ [SPECIES_BEEDRILL - 1] = 0x02,
+ [SPECIES_PIDGEY - 1] = 0x47,
+ [SPECIES_PIDGEOTTO - 1] = 0x17,
+ [SPECIES_PIDGEOT - 1] = 0x29,
+ [SPECIES_RATTATA - 1] = 0x43,
+ [SPECIES_RATICATE - 1] = 0x2b,
+ [SPECIES_SPEAROW - 1] = 0x18,
+ [SPECIES_FEAROW - 1] = 0x2b,
+ [SPECIES_EKANS - 1] = 0x16,
+ [SPECIES_ARBOK - 1] = 0x17,
+ [SPECIES_PIKACHU - 1] = 0x2c,
+ [SPECIES_RAICHU - 1] = 0x17,
+ [SPECIES_SANDSHREW - 1] = 0x2d,
+ [SPECIES_SANDSLASH - 1] = 0x17,
+ [SPECIES_NIDORAN_F - 1] = 0x00,
+ [SPECIES_NIDORINA - 1] = 0x17,
+ [SPECIES_NIDOQUEEN - 1] = 0x0f,
+ [SPECIES_NIDORAN_M - 1] = 0x09,
+ [SPECIES_NIDORINO - 1] = 0x13,
+ [SPECIES_NIDOKING - 1] = 0x0f,
+ [SPECIES_CLEFAIRY - 1] = 0x00,
+ [SPECIES_CLEFABLE - 1] = 0x4a,
+ [SPECIES_VULPIX - 1] = 0x17,
+ [SPECIES_NINETALES - 1] = 0x10,
+ [SPECIES_JIGGLYPUFF - 1] = 0x48,
+ [SPECIES_WIGGLYTUFF - 1] = 0x31,
+ [SPECIES_ZUBAT - 1] = 0x00,
+ [SPECIES_GOLBAT - 1] = 0x1d,
+ [SPECIES_ODDISH - 1] = 0x00,
+ [SPECIES_GLOOM - 1] = 0x45,
+ [SPECIES_VILEPLUME - 1] = 0x49,
+ [SPECIES_PARAS - 1] = 0x46,
+ [SPECIES_PARASECT - 1] = 0x0f,
+ [SPECIES_VENONAT - 1] = 0x06,
+ [SPECIES_VENOMOTH - 1] = 0x4b,
+ [SPECIES_DIGLETT - 1] = 0x10,
+ [SPECIES_DUGTRIO - 1] = 0x4c,
+ [SPECIES_MEOWTH - 1] = 0x52,
+ [SPECIES_PERSIAN - 1] = 0x17,
+ [SPECIES_PSYDUCK - 1] = 0x06,
+ [SPECIES_GOLDUCK - 1] = 0x4c,
+ [SPECIES_MANKEY - 1] = 0x32,
+ [SPECIES_PRIMEAPE - 1] = 0x48,
+ [SPECIES_GROWLITHE - 1] = 0x25,
+ [SPECIES_ARCANINE - 1] = 0x02,
+ [SPECIES_POLIWAG - 1] = 0x00,
+ [SPECIES_POLIWHIRL - 1] = 0x32,
+ [SPECIES_POLIWRATH - 1] = 0x19,
+ [SPECIES_ABRA - 1] = 0x31,
+ [SPECIES_KADABRA - 1] = 0x09,
+ [SPECIES_ALAKAZAM - 1] = 0x17,
+ [SPECIES_MACHOP - 1] = 0x00,
+ [SPECIES_MACHOKE - 1] = 0x10,
+ [SPECIES_MACHAMP - 1] = 0x31,
+ [SPECIES_BELLSPROUT - 1] = 0x17,
+ [SPECIES_WEEPINBELL - 1] = 0x0d,
+ [SPECIES_VICTREEBEL - 1] = 0x32,
+ [SPECIES_TENTACOOL - 1] = 0x00,
+ [SPECIES_TENTACRUEL - 1] = 0x00,
+ [SPECIES_GEODUDE - 1] = 0x48,
+ [SPECIES_GRAVELER - 1] = 0x48,
+ [SPECIES_GOLEM - 1] = 0x2f,
+ [SPECIES_PONYTA - 1] = 0x20,
+ [SPECIES_RAPIDASH - 1] = 0x11,
+ [SPECIES_SLOWPOKE - 1] = 0x45,
+ [SPECIES_SLOWBRO - 1] = 0x0b,
+ [SPECIES_MAGNEMITE - 1] = 0x54,
+ [SPECIES_MAGNETON - 1] = 0x2c,
+ [SPECIES_FARFETCHD - 1] = 0x48,
+ [SPECIES_DODUO - 1] = 0x4c,
+ [SPECIES_DODRIO - 1] = 0x41,
+ [SPECIES_SEEL - 1] = 0x0b,
+ [SPECIES_DEWGONG - 1] = 0x45,
+ [SPECIES_GRIMER - 1] = 0x46,
+ [SPECIES_MUK - 1] = 0x30,
+ [SPECIES_SHELLDER - 1] = 0x12,
+ [SPECIES_CLOYSTER - 1] = 0x1d,
+ [SPECIES_GASTLY - 1] = 0x15,
+ [SPECIES_HAUNTER - 1] = 0x35,
+ [SPECIES_GENGAR - 1] = 0x3a,
+ [SPECIES_ONIX - 1] = 0x43,
+ [SPECIES_DROWZEE - 1] = 0x4f,
+ [SPECIES_HYPNO - 1] = 0x09,
+ [SPECIES_KRABBY - 1] = 0x03,
+ [SPECIES_KINGLER - 1] = 0x4b,
+ [SPECIES_VOLTORB - 1] = 0x00,
+ [SPECIES_ELECTRODE - 1] = 0x00,
+ [SPECIES_EXEGGCUTE - 1] = 0x46,
+ [SPECIES_EXEGGUTOR - 1] = 0x32,
+ [SPECIES_CUBONE - 1] = 0x48,
+ [SPECIES_MAROWAK - 1] = 0x05,
+ [SPECIES_HITMONLEE - 1] = 0x16,
+ [SPECIES_HITMONCHAN - 1] = 0x09,
+ [SPECIES_LICKITUNG - 1] = 0x45,
+ [SPECIES_KOFFING - 1] = 0x13,
+ [SPECIES_WEEZING - 1] = 0x04,
+ [SPECIES_RHYHORN - 1] = 0x10,
+ [SPECIES_RHYDON - 1] = 0x13,
+ [SPECIES_CHANSEY - 1] = 0x45,
+ [SPECIES_TANGELA - 1] = 0x48,
+ [SPECIES_KANGASKHAN - 1] = 0x17,
+ [SPECIES_HORSEA - 1] = 0x12,
+ [SPECIES_SEADRA - 1] = 0x04,
+ [SPECIES_GOLDEEN - 1] = 0x0d,
+ [SPECIES_SEAKING - 1] = 0x1c,
+ [SPECIES_STARYU - 1] = 0x4e,
+ [SPECIES_STARMIE - 1] = 0x12,
+ [SPECIES_MR_MIME - 1] = 0x46,
+ [SPECIES_SCYTHER - 1] = 0x02,
+ [SPECIES_JYNX - 1] = 0x17,
+ [SPECIES_ELECTABUZZ - 1] = 0x2c,
+ [SPECIES_MAGMAR - 1] = 0x0f,
+ [SPECIES_PINSIR - 1] = 0x09,
+ [SPECIES_TAUROS - 1] = 0x19,
+ [SPECIES_MAGIKARP - 1] = 0x05,
+ [SPECIES_GYARADOS - 1] = 0x48,
+ [SPECIES_LAPRAS - 1] = 0x17,
+ [SPECIES_DITTO - 1] = 0x01,
+ [SPECIES_EEVEE - 1] = 0x17,
+ [SPECIES_VAPOREON - 1] = 0x17,
+ [SPECIES_JOLTEON - 1] = 0x00,
+ [SPECIES_FLAREON - 1] = 0x17,
+ [SPECIES_PORYGON - 1] = 0x52,
+ [SPECIES_OMANYTE - 1] = 0x51,
+ [SPECIES_OMASTAR - 1] = 0x09,
+ [SPECIES_KABUTO - 1] = 0x1d,
+ [SPECIES_KABUTOPS - 1] = 0x0f,
+ [SPECIES_AERODACTYL - 1] = 0x47,
+ [SPECIES_SNORLAX - 1] = 0x0b,
+ [SPECIES_ARTICUNO - 1] = 0x09,
+ [SPECIES_ZAPDOS - 1] = 0x2c,
+ [SPECIES_MOLTRES - 1] = 0x45,
+ [SPECIES_DRATINI - 1] = 0x00,
+ [SPECIES_DRAGONAIR - 1] = 0x10,
+ [SPECIES_DRAGONITE - 1] = 0x47,
+ [SPECIES_MEWTWO - 1] = 0x09,
+ [SPECIES_MEW - 1] = 0x0d,
+ [SPECIES_CHIKORITA - 1] = 0x00,
+ [SPECIES_BAYLEEF - 1] = 0x00,
+ [SPECIES_MEGANIUM - 1] = 0x17,
+ [SPECIES_CYNDAQUIL - 1] = 0x52,
+ [SPECIES_QUILAVA - 1] = 0x17,
+ [SPECIES_TYPHLOSION - 1] = 0x10,
+ [SPECIES_TOTODILE - 1] = 0x31,
+ [SPECIES_CROCONAW - 1] = 0x0f,
+ [SPECIES_FERALIGATR - 1] = 0x0f,
+ [SPECIES_SENTRET - 1] = 0x00,
+ [SPECIES_FURRET - 1] = 0x32,
+ [SPECIES_HOOTHOOT - 1] = 0x47,
+ [SPECIES_NOCTOWL - 1] = 0x17,
+ [SPECIES_LEDYBA - 1] = 0x52,
+ [SPECIES_LEDIAN - 1] = 0x47,
+ [SPECIES_SPINARAK - 1] = 0x4f,
+ [SPECIES_ARIADOS - 1] = 0x0f,
+ [SPECIES_CROBAT - 1] = 0x00,
+ [SPECIES_CHINCHOU - 1] = 0x45,
+ [SPECIES_LANTURN - 1] = 0x51,
+ [SPECIES_PICHU - 1] = 0x1e,
+ [SPECIES_CLEFFA - 1] = 0x52,
+ [SPECIES_IGGLYBUFF - 1] = 0x0c,
+ [SPECIES_TOGEPI - 1] = 0x0b,
+ [SPECIES_TOGETIC - 1] = 0x00,
+ [SPECIES_NATU - 1] = 0x31,
+ [SPECIES_XATU - 1] = 0x09,
+ [SPECIES_MAREEP - 1] = 0x00,
+ [SPECIES_FLAAFFY - 1] = 0x1e,
+ [SPECIES_AMPHAROS - 1] = 0x2c,
+ [SPECIES_BELLOSSOM - 1] = 0x0b,
+ [SPECIES_MARILL - 1] = 0x00,
+ [SPECIES_AZUMARILL - 1] = 0x4a,
+ [SPECIES_SUDOWOODO - 1] = 0x46,
+ [SPECIES_POLITOED - 1] = 0x32,
+ [SPECIES_HOPPIP - 1] = 0x1c,
+ [SPECIES_SKIPLOOM - 1] = 0x18,
+ [SPECIES_JUMPLUFF - 1] = 0x51,
+ [SPECIES_AIPOM - 1] = 0x32,
+ [SPECIES_SUNKERN - 1] = 0x52,
+ [SPECIES_SUNFLORA - 1] = 0x00,
+ [SPECIES_YANMA - 1] = 0x2b,
+ [SPECIES_WOOPER - 1] = 0x00,
+ [SPECIES_QUAGSIRE - 1] = 0x16,
+ [SPECIES_ESPEON - 1] = 0x09,
+ [SPECIES_UMBREON - 1] = 0x10,
+ [SPECIES_MURKROW - 1] = 0x00,
+ [SPECIES_SLOWKING - 1] = 0x13,
+ [SPECIES_MISDREAVUS - 1] = 0x1c,
+ [SPECIES_UNOWN - 1] = 0x0a,
+ [SPECIES_WOBBUFFET - 1] = 0x30,
+ [SPECIES_GIRAFARIG - 1] = 0x1e,
+ [SPECIES_PINECO - 1] = 0x0b,
+ [SPECIES_FORRETRESS - 1] = 0x10,
+ [SPECIES_DUNSPARCE - 1] = 0x00,
+ [SPECIES_GLIGAR - 1] = 0x13,
+ [SPECIES_STEELIX - 1] = 0x0f,
+ [SPECIES_SNUBBULL - 1] = 0x17,
+ [SPECIES_GRANBULL - 1] = 0x10,
+ [SPECIES_QWILFISH - 1] = 0x3a,
+ [SPECIES_SCIZOR - 1] = 0x02,
+ [SPECIES_SHUCKLE - 1] = 0x0b,
+ [SPECIES_HERACROSS - 1] = 0x41,
+ [SPECIES_SNEASEL - 1] = 0x16,
+ [SPECIES_TEDDIURSA - 1] = 0x17,
+ [SPECIES_URSARING - 1] = 0x10,
+ [SPECIES_SLUGMA - 1] = 0x17,
+ [SPECIES_MAGCARGO - 1] = 0x17,
+ [SPECIES_SWINUB - 1] = 0x00,
+ [SPECIES_PILOSWINE - 1] = 0x0f,
+ [SPECIES_CORSOLA - 1] = 0x03,
+ [SPECIES_REMORAID - 1] = 0x52,
+ [SPECIES_OCTILLERY - 1] = 0x17,
+ [SPECIES_DELIBIRD - 1] = 0x52,
+ [SPECIES_MANTINE - 1] = 0x0d,
+ [SPECIES_SKARMORY - 1] = 0x17,
+ [SPECIES_HOUNDOUR - 1] = 0x17,
+ [SPECIES_HOUNDOOM - 1] = 0x10,
+ [SPECIES_KINGDRA - 1] = 0x42,
+ [SPECIES_PHANPY - 1] = 0x32,
+ [SPECIES_DONPHAN - 1] = 0x19,
+ [SPECIES_PORYGON2 - 1] = 0x00,
+ [SPECIES_STANTLER - 1] = 0x00,
+ [SPECIES_SMEARGLE - 1] = 0x31,
+ [SPECIES_TYROGUE - 1] = 0x16,
+ [SPECIES_HITMONTOP - 1] = 0x02,
+ [SPECIES_SMOOCHUM - 1] = 0x09,
+ [SPECIES_ELEKID - 1] = 0x2c,
+ [SPECIES_MAGBY - 1] = 0x00,
+ [SPECIES_MILTANK - 1] = 0x45,
+ [SPECIES_BLISSEY - 1] = 0x00,
+ [SPECIES_RAIKOU - 1] = 0x2c,
+ [SPECIES_ENTEI - 1] = 0x09,
+ [SPECIES_SUICUNE - 1] = 0x10,
+ [SPECIES_LARVITAR - 1] = 0x52,
+ [SPECIES_PUPITAR - 1] = 0x10,
+ [SPECIES_TYRANITAR - 1] = 0x0f,
+ [SPECIES_LUGIA - 1] = 0x3a,
+ [SPECIES_HO_OH - 1] = 0x09,
+ [SPECIES_CELEBI - 1] = 0x18,
+ [SPECIES_OLD_UNOWN_B - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_C - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_D - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_E - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_F - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_G - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_H - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_I - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_J - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_K - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_L - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_M - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_N - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_O - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_P - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_Q - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_R - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_S - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_T - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_U - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_V - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_W - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_X - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_Y - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_Z - 1] = 0x00,
+ [SPECIES_TREECKO - 1] = 0x00,
+ [SPECIES_GROVYLE - 1] = 0x17,
+ [SPECIES_SCEPTILE - 1] = 0x10,
+ [SPECIES_TORCHIC - 1] = 0x16,
+ [SPECIES_COMBUSKEN - 1] = 0x06,
+ [SPECIES_BLAZIKEN - 1] = 0x0f,
+ [SPECIES_MUDKIP - 1] = 0x01,
+ [SPECIES_MARSHTOMP - 1] = 0x04,
+ [SPECIES_SWAMPERT - 1] = 0x1e,
+ [SPECIES_POOCHYENA - 1] = 0x10,
+ [SPECIES_MIGHTYENA - 1] = 0x10,
+ [SPECIES_ZIGZAGOON - 1] = 0x03,
+ [SPECIES_LINOONE - 1] = 0x09,
+ [SPECIES_WURMPLE - 1] = 0x00,
+ [SPECIES_SILCOON - 1] = 0x00,
+ [SPECIES_BEAUTIFLY - 1] = 0x04,
+ [SPECIES_CASCOON - 1] = 0x04,
+ [SPECIES_DUSTOX - 1] = 0x06,
+ [SPECIES_LOTAD - 1] = 0x00,
+ [SPECIES_LOMBRE - 1] = 0x00,
+ [SPECIES_LUDICOLO - 1] = 0x49,
+ [SPECIES_SEEDOT - 1] = 0x05,
+ [SPECIES_NUZLEAF - 1] = 0x00,
+ [SPECIES_SHIFTRY - 1] = 0x02,
+ [SPECIES_NINCADA - 1] = 0x00,
+ [SPECIES_NINJASK - 1] = 0x46,
+ [SPECIES_SHEDINJA - 1] = 0x1c,
+ [SPECIES_TAILLOW - 1] = 0x1e,
+ [SPECIES_SWELLOW - 1] = 0x01,
+ [SPECIES_SHROOMISH - 1] = 0x00,
+ [SPECIES_BRELOOM - 1] = 0x00,
+ [SPECIES_SPINDA - 1] = 0x31,
+ [SPECIES_WINGULL - 1] = 0x1b,
+ [SPECIES_PELIPPER - 1] = 0x1c,
+ [SPECIES_SURSKIT - 1] = 0x00,
+ [SPECIES_MASQUERAIN - 1] = 0x00,
+ [SPECIES_WAILMER - 1] = 0x01,
+ [SPECIES_WAILORD - 1] = 0x1c,
+ [SPECIES_SKITTY - 1] = 0x00,
+ [SPECIES_DELCATTY - 1] = 0x17,
+ [SPECIES_KECLEON - 1] = 0x35,
+ [SPECIES_BALTOY - 1] = 0x1d,
+ [SPECIES_CLAYDOL - 1] = 0x51,
+ [SPECIES_NOSEPASS - 1] = 0x49,
+ [SPECIES_TORKOAL - 1] = 0x17,
+ [SPECIES_SABLEYE - 1] = 0x15,
+ [SPECIES_BARBOACH - 1] = 0x49,
+ [SPECIES_WHISCASH - 1] = 0x49,
+ [SPECIES_LUVDISC - 1] = 0x1d,
+ [SPECIES_CORPHISH - 1] = 0x10,
+ [SPECIES_CRAWDAUNT - 1] = 0x09,
+ [SPECIES_FEEBAS - 1] = 0x49,
+ [SPECIES_MILOTIC - 1] = 0x22,
+ [SPECIES_CARVANHA - 1] = 0x49,
+ [SPECIES_SHARPEDO - 1] = 0x56,
+ [SPECIES_TRAPINCH - 1] = 0x10,
+ [SPECIES_VIBRAVA - 1] = 0x0f,
+ [SPECIES_FLYGON - 1] = 0x4b,
+ [SPECIES_MAKUHITA - 1] = 0x0b,
+ [SPECIES_HARIYAMA - 1] = 0x34,
+ [SPECIES_ELECTRIKE - 1] = 0x00,
+ [SPECIES_MANECTRIC - 1] = 0x00,
+ [SPECIES_NUMEL - 1] = 0x04,
+ [SPECIES_CAMERUPT - 1] = 0x10,
+ [SPECIES_SPHEAL - 1] = 0x53,
+ [SPECIES_SEALEO - 1] = 0x17,
+ [SPECIES_WALREIN - 1] = 0x0f,
+ [SPECIES_CACNEA - 1] = 0x49,
+ [SPECIES_CACTURNE - 1] = 0x04,
+ [SPECIES_SNORUNT - 1] = 0x45,
+ [SPECIES_GLALIE - 1] = 0x0a,
+ [SPECIES_LUNATONE - 1] = 0x0e,
+ [SPECIES_SOLROCK - 1] = 0x08,
+ [SPECIES_AZURILL - 1] = 0x00,
+ [SPECIES_SPOINK - 1] = 0x56,
+ [SPECIES_GRUMPIG - 1] = 0x32,
+ [SPECIES_PLUSLE - 1] = 0x00,
+ [SPECIES_MINUN - 1] = 0x01,
+ [SPECIES_MAWILE - 1] = 0x00,
+ [SPECIES_MEDITITE - 1] = 0x05,
+ [SPECIES_MEDICHAM - 1] = 0x45,
+ [SPECIES_SWABLU - 1] = 0x04,
+ [SPECIES_ALTARIA - 1] = 0x16,
+ [SPECIES_WYNAUT - 1] = 0x32,
+ [SPECIES_DUSKULL - 1] = 0x0a,
+ [SPECIES_DUSCLOPS - 1] = 0x02,
+ [SPECIES_ROSELIA - 1] = 0x45,
+ [SPECIES_SLAKOTH - 1] = 0x45,
+ [SPECIES_VIGOROTH - 1] = 0x31,
+ [SPECIES_SLAKING - 1] = 0x45,
+ [SPECIES_GULPIN - 1] = 0x00,
+ [SPECIES_SWALOT - 1] = 0x45,
+ [SPECIES_TROPIUS - 1] = 0x10,
+ [SPECIES_WHISMUR - 1] = 0x03,
+ [SPECIES_LOUDRED - 1] = 0x49,
+ [SPECIES_EXPLOUD - 1] = 0x19,
+ [SPECIES_CLAMPERL - 1] = 0x12,
+ [SPECIES_HUNTAIL - 1] = 0x09,
+ [SPECIES_GOREBYSS - 1] = 0x1c,
+ [SPECIES_ABSOL - 1] = 0x11,
+ [SPECIES_SHUPPET - 1] = 0x1c,
+ [SPECIES_BANETTE - 1] = 0x0d,
+ [SPECIES_SEVIPER - 1] = 0x17,
+ [SPECIES_ZANGOOSE - 1] = 0x09,
+ [SPECIES_RELICANTH - 1] = 0x1a,
+ [SPECIES_ARON - 1] = 0x45,
+ [SPECIES_LAIRON - 1] = 0x00,
+ [SPECIES_AGGRON - 1] = 0x19,
+ [SPECIES_CASTFORM - 1] = 0x1d,
+ [SPECIES_VOLBEAT - 1] = 0x00,
+ [SPECIES_ILLUMISE - 1] = 0x05,
+ [SPECIES_LILEEP - 1] = 0x17,
+ [SPECIES_CRADILY - 1] = 0x19,
+ [SPECIES_ANORITH - 1] = 0x12,
+ [SPECIES_ARMALDO - 1] = 0x10,
+ [SPECIES_RALTS - 1] = 0x45,
+ [SPECIES_KIRLIA - 1] = 0x00,
+ [SPECIES_GARDEVOIR - 1] = 0x00,
+ [SPECIES_BAGON - 1] = 0x19,
+ [SPECIES_SHELGON - 1] = 0x04,
+ [SPECIES_SALAMENCE - 1] = 0x0f,
+ [SPECIES_BELDUM - 1] = 0x0f,
+ [SPECIES_METANG - 1] = 0x04,
+ [SPECIES_METAGROSS - 1] = 0x10,
+ [SPECIES_REGIROCK - 1] = 0x01,
+ [SPECIES_REGICE - 1] = 0x44,
+ [SPECIES_REGISTEEL - 1] = 0x09,
+ [SPECIES_KYOGRE - 1] = 0x2d,
+ [SPECIES_GROUDON - 1] = 0x10,
+ [SPECIES_RAYQUAZA - 1] = 0x0f,
+ [SPECIES_LATIAS - 1] = 0x2d,
+ [SPECIES_LATIOS - 1] = 0x10,
+ [SPECIES_JIRACHI - 1] = 0x0d,
+ [SPECIES_DEOXYS - 1] = 0x1b,
+ [SPECIES_CHIMECHO - 1] = 0x1d,
};
static const u8 sMonAnimationDelayTable[] =
{
- 0x00, // SPECIES_BULBASAUR
- 0x00, // SPECIES_IVYSAUR
- 0x00, // SPECIES_VENUSAUR
- 0x00, // SPECIES_CHARMANDER
- 0x00, // SPECIES_CHARMELEON
- 0x00, // SPECIES_CHARIZARD
- 0x00, // SPECIES_SQUIRTLE
- 0x00, // SPECIES_WARTORTLE
- 0x32, // SPECIES_BLASTOISE
- 0x00, // SPECIES_CATERPIE
- 0x00, // SPECIES_METAPOD
- 0x00, // SPECIES_BUTTERFREE
- 0x0a, // SPECIES_WEEDLE
- 0x14, // SPECIES_KAKUNA
- 0x23, // SPECIES_BEEDRILL
- 0x00, // SPECIES_PIDGEY
- 0x19, // SPECIES_PIDGEOTTO
- 0x00, // SPECIES_PIDGEOT
- 0x00, // SPECIES_RATTATA
- 0x00, // SPECIES_RATICATE
- 0x00, // SPECIES_SPEAROW
- 0x02, // SPECIES_FEAROW
- 0x1e, // SPECIES_EKANS
- 0x00, // SPECIES_ARBOK
- 0x00, // SPECIES_PIKACHU
- 0x00, // SPECIES_RAICHU
- 0x00, // SPECIES_SANDSHREW
- 0x00, // SPECIES_SANDSLASH
- 0x1c, // SPECIES_NIDORAN_F
- 0x00, // SPECIES_NIDORINA
- 0x00, // SPECIES_NIDOQUEEN
- 0x00, // SPECIES_NIDORAN_M
- 0x00, // SPECIES_NIDORINO
- 0x19, // SPECIES_NIDOKING
- 0x00, // SPECIES_CLEFAIRY
- 0x00, // SPECIES_CLEFABLE
- 0x00, // SPECIES_VULPIX
- 0x00, // SPECIES_NINETALES
- 0x00, // SPECIES_JIGGLYPUFF
- 0x00, // SPECIES_WIGGLYTUFF
- 0x00, // SPECIES_ZUBAT
- 0x00, // SPECIES_GOLBAT
- 0x00, // SPECIES_ODDISH
- 0x00, // SPECIES_GLOOM
- 0x00, // SPECIES_VILEPLUME
- 0x0a, // SPECIES_PARAS
- 0x2d, // SPECIES_PARASECT
- 0x14, // SPECIES_VENONAT
- 0x00, // SPECIES_VENOMOTH
- 0x19, // SPECIES_DIGLETT
- 0x23, // SPECIES_DUGTRIO
- 0x28, // SPECIES_MEOWTH
- 0x14, // SPECIES_PERSIAN
- 0x00, // SPECIES_PSYDUCK
- 0x00, // SPECIES_GOLDUCK
- 0x14, // SPECIES_MANKEY
- 0x00, // SPECIES_PRIMEAPE
- 0x1e, // SPECIES_GROWLITHE
- 0x28, // SPECIES_ARCANINE
- 0x00, // SPECIES_POLIWAG
- 0x05, // SPECIES_POLIWHIRL
- 0x00, // SPECIES_POLIWRATH
- 0x00, // SPECIES_ABRA
- 0x00, // SPECIES_KADABRA
- 0x00, // SPECIES_ALAKAZAM
- 0x00, // SPECIES_MACHOP
- 0x00, // SPECIES_MACHOKE
- 0x00, // SPECIES_MACHAMP
- 0x00, // SPECIES_BELLSPROUT
- 0x03, // SPECIES_WEEPINBELL
- 0x00, // SPECIES_VICTREEBEL
- 0x00, // SPECIES_TENTACOOL
- 0x00, // SPECIES_TENTACRUEL
- 0x00, // SPECIES_GEODUDE
- 0x00, // SPECIES_GRAVELER
- 0x00, // SPECIES_GOLEM
- 0x00, // SPECIES_PONYTA
- 0x00, // SPECIES_RAPIDASH
- 0x00, // SPECIES_SLOWPOKE
- 0x00, // SPECIES_SLOWBRO
- 0x00, // SPECIES_MAGNEMITE
- 0x00, // SPECIES_MAGNETON
- 0x00, // SPECIES_FARFETCHD
- 0x00, // SPECIES_DODUO
- 0x00, // SPECIES_DODRIO
- 0x00, // SPECIES_SEEL
- 0x00, // SPECIES_DEWGONG
- 0x00, // SPECIES_GRIMER
- 0x2d, // SPECIES_MUK
- 0x14, // SPECIES_SHELLDER
- 0x00, // SPECIES_CLOYSTER
- 0x00, // SPECIES_GASTLY
- 0x17, // SPECIES_HAUNTER
- 0x00, // SPECIES_GENGAR
- 0x00, // SPECIES_ONIX
- 0x30, // SPECIES_DROWZEE
- 0x28, // SPECIES_HYPNO
- 0x00, // SPECIES_KRABBY
- 0x00, // SPECIES_KINGLER
- 0x00, // SPECIES_VOLTORB
- 0x00, // SPECIES_ELECTRODE
- 0x00, // SPECIES_EXEGGCUTE
- 0x00, // SPECIES_EXEGGUTOR
- 0x00, // SPECIES_CUBONE
- 0x00, // SPECIES_MAROWAK
- 0x00, // SPECIES_HITMONLEE
- 0x19, // SPECIES_HITMONCHAN
- 0x00, // SPECIES_LICKITUNG
- 0x00, // SPECIES_KOFFING
- 0x00, // SPECIES_WEEZING
- 0x00, // SPECIES_RHYHORN
- 0x00, // SPECIES_RHYDON
- 0x00, // SPECIES_CHANSEY
- 0x00, // SPECIES_TANGELA
- 0x00, // SPECIES_KANGASKHAN
- 0x00, // SPECIES_HORSEA
- 0x00, // SPECIES_SEADRA
- 0x00, // SPECIES_GOLDEEN
- 0x00, // SPECIES_SEAKING
- 0x00, // SPECIES_STARYU
- 0x00, // SPECIES_STARMIE
- 0x00, // SPECIES_MR_MIME
- 0x0a, // SPECIES_SCYTHER
- 0x00, // SPECIES_JYNX
- 0x00, // SPECIES_ELECTABUZZ
- 0x00, // SPECIES_MAGMAR
- 0x00, // SPECIES_PINSIR
- 0x0a, // SPECIES_TAUROS
- 0x00, // SPECIES_MAGIKARP
- 0x00, // SPECIES_GYARADOS
- 0x00, // SPECIES_LAPRAS
- 0x00, // SPECIES_DITTO
- 0x00, // SPECIES_EEVEE
- 0x00, // SPECIES_VAPOREON
- 0x00, // SPECIES_JOLTEON
- 0x00, // SPECIES_FLAREON
- 0x00, // SPECIES_PORYGON
- 0x00, // SPECIES_OMANYTE
- 0x00, // SPECIES_OMASTAR
- 0x00, // SPECIES_KABUTO
- 0x00, // SPECIES_KABUTOPS
- 0x00, // SPECIES_AERODACTYL
- 0x00, // SPECIES_SNORLAX
- 0x00, // SPECIES_ARTICUNO
- 0x00, // SPECIES_ZAPDOS
- 0x00, // SPECIES_MOLTRES
- 0x00, // SPECIES_DRATINI
- 0x00, // SPECIES_DRAGONAIR
- 0x00, // SPECIES_DRAGONITE
- 0x00, // SPECIES_MEWTWO
- 0x00, // SPECIES_MEW
- 0x00, // SPECIES_CHIKORITA
- 0x00, // SPECIES_BAYLEEF
- 0x00, // SPECIES_MEGANIUM
- 0x00, // SPECIES_CYNDAQUIL
- 0x00, // SPECIES_QUILAVA
- 0x14, // SPECIES_TYPHLOSION
- 0x00, // SPECIES_TOTODILE
- 0x00, // SPECIES_CROCONAW
- 0x05, // SPECIES_FERALIGATR
- 0x00, // SPECIES_SENTRET
- 0x00, // SPECIES_FURRET
- 0x00, // SPECIES_HOOTHOOT
- 0x00, // SPECIES_NOCTOWL
- 0x00, // SPECIES_LEDYBA
- 0x00, // SPECIES_LEDIAN
- 0x00, // SPECIES_SPINARAK
- 0x00, // SPECIES_ARIADOS
- 0x00, // SPECIES_CROBAT
- 0x00, // SPECIES_CHINCHOU
- 0x00, // SPECIES_LANTURN
- 0x00, // SPECIES_PICHU
- 0x00, // SPECIES_CLEFFA
- 0x00, // SPECIES_IGGLYBUFF
- 0x00, // SPECIES_TOGEPI
- 0x00, // SPECIES_TOGETIC
- 0x1e, // SPECIES_NATU
- 0x00, // SPECIES_XATU
- 0x32, // SPECIES_MAREEP
- 0x00, // SPECIES_FLAAFFY
- 0x0a, // SPECIES_AMPHAROS
- 0x00, // SPECIES_BELLOSSOM
- 0x00, // SPECIES_MARILL
- 0x00, // SPECIES_AZUMARILL
- 0x00, // SPECIES_SUDOWOODO
- 0x28, // SPECIES_POLITOED
- 0x00, // SPECIES_HOPPIP
- 0x00, // SPECIES_SKIPLOOM
- 0x00, // SPECIES_JUMPLUFF
- 0x00, // SPECIES_AIPOM
- 0x00, // SPECIES_SUNKERN
- 0x00, // SPECIES_SUNFLORA
- 0x00, // SPECIES_YANMA
- 0x00, // SPECIES_WOOPER
- 0x00, // SPECIES_QUAGSIRE
- 0x00, // SPECIES_ESPEON
- 0x00, // SPECIES_UMBREON
- 0x00, // SPECIES_MURKROW
- 0x00, // SPECIES_SLOWKING
- 0x00, // SPECIES_MISDREAVUS
- 0x00, // SPECIES_UNOWN
- 0x00, // SPECIES_WOBBUFFET
- 0x00, // SPECIES_GIRAFARIG
- 0x00, // SPECIES_PINECO
- 0x00, // SPECIES_FORRETRESS
- 0x0a, // SPECIES_DUNSPARCE
- 0x00, // SPECIES_GLIGAR
- 0x2d, // SPECIES_STEELIX
- 0x00, // SPECIES_SNUBBULL
- 0x00, // SPECIES_GRANBULL
- 0x27, // SPECIES_QWILFISH
- 0x13, // SPECIES_SCIZOR
- 0x00, // SPECIES_SHUCKLE
- 0x00, // SPECIES_HERACROSS
- 0x00, // SPECIES_SNEASEL
- 0x00, // SPECIES_TEDDIURSA
- 0x00, // SPECIES_URSARING
- 0x00, // SPECIES_SLUGMA
- 0x00, // SPECIES_MAGCARGO
- 0x00, // SPECIES_SWINUB
- 0x00, // SPECIES_PILOSWINE
- 0x00, // SPECIES_CORSOLA
- 0x00, // SPECIES_REMORAID
- 0x14, // SPECIES_OCTILLERY
- 0x00, // SPECIES_DELIBIRD
- 0x00, // SPECIES_MANTINE
- 0x00, // SPECIES_SKARMORY
- 0x00, // SPECIES_HOUNDOUR
- 0x00, // SPECIES_HOUNDOOM
- 0x00, // SPECIES_KINGDRA
- 0x00, // SPECIES_PHANPY
- 0x00, // SPECIES_DONPHAN
- 0x00, // SPECIES_PORYGON2
- 0x00, // SPECIES_STANTLER
- 0x00, // SPECIES_SMEARGLE
- 0x00, // SPECIES_TYROGUE
- 0x00, // SPECIES_HITMONTOP
- 0x28, // SPECIES_SMOOCHUM
- 0x00, // SPECIES_ELEKID
- 0x00, // SPECIES_MAGBY
- 0x00, // SPECIES_MILTANK
- 0x00, // SPECIES_BLISSEY
- 0x00, // SPECIES_RAIKOU
- 0x00, // SPECIES_ENTEI
- 0x00, // SPECIES_SUICUNE
- 0x00, // SPECIES_LARVITAR
- 0x00, // SPECIES_PUPITAR
- 0x0a, // SPECIES_TYRANITAR
- 0x14, // SPECIES_LUGIA
- 0x00, // SPECIES_HO_OH
- 0x00, // SPECIES_CELEBI
- 0x00, // 252
- 0x00, // 253
- 0x00, // 254
- 0x00, // 255
- 0x00, // 256
- 0x00, // 257
- 0x00, // 258
- 0x00, // 259
- 0x00, // 260
- 0x00, // 261
- 0x00, // 262
- 0x00, // 263
- 0x00, // 264
- 0x00, // 265
- 0x00, // 266
- 0x00, // 267
- 0x00, // 268
- 0x00, // 269
- 0x00, // 270
- 0x00, // 271
- 0x00, // 272
- 0x00, // 273
- 0x00, // 274
- 0x00, // 275
- 0x00, // 276
- 0x00, // SPECIES_TREECKO
- 0x00, // SPECIES_GROVYLE
- 0x00, // SPECIES_SCEPTILE
- 0x00, // SPECIES_TORCHIC
- 0x00, // SPECIES_COMBUSKEN
- 0x00, // SPECIES_BLAZIKEN
- 0x00, // SPECIES_MUDKIP
- 0x00, // SPECIES_MARSHTOMP
- 0x00, // SPECIES_SWAMPERT
- 0x00, // SPECIES_POOCHYENA
- 0x00, // SPECIES_MIGHTYENA
- 0x00, // SPECIES_ZIGZAGOON
- 0x00, // SPECIES_LINOONE
- 0x00, // SPECIES_WURMPLE
- 0x00, // SPECIES_SILCOON
- 0x00, // SPECIES_BEAUTIFLY
- 0x00, // SPECIES_CASCOON
- 0x00, // SPECIES_DUSTOX
- 0x00, // SPECIES_LOTAD
- 0x00, // SPECIES_LOMBRE
- 0x00, // SPECIES_LUDICOLO
- 0x00, // SPECIES_SEEDOT
- 0x00, // SPECIES_NUZLEAF
- 0x00, // SPECIES_SHIFTRY
- 0x00, // SPECIES_NINCADA
- 0x00, // SPECIES_NINJASK
- 0x00, // SPECIES_SHEDINJA
- 0x00, // SPECIES_TAILLOW
- 0x00, // SPECIES_SWELLOW
- 0x00, // SPECIES_SHROOMISH
- 0x00, // SPECIES_BRELOOM
- 0x00, // SPECIES_SPINDA
- 0x00, // SPECIES_WINGULL
- 0x00, // SPECIES_PELIPPER
- 0x00, // SPECIES_SURSKIT
- 0x00, // SPECIES_MASQUERAIN
- 0x00, // SPECIES_WAILMER
- 0x0a, // SPECIES_WAILORD
- 0x00, // SPECIES_SKITTY
- 0x00, // SPECIES_DELCATTY
- 0x1e, // SPECIES_KECLEON
- 0x00, // SPECIES_BALTOY
- 0x00, // SPECIES_CLAYDOL
- 0x00, // SPECIES_NOSEPASS
- 0x00, // SPECIES_TORKOAL
- 0x00, // SPECIES_SABLEYE
- 0x00, // SPECIES_BARBOACH
- 0x00, // SPECIES_WHISCASH
- 0x00, // SPECIES_LUVDISC
- 0x00, // SPECIES_CORPHISH
- 0x00, // SPECIES_CRAWDAUNT
- 0x00, // SPECIES_FEEBAS
- 0x2d, // SPECIES_MILOTIC
- 0x00, // SPECIES_CARVANHA
- 0x00, // SPECIES_SHARPEDO
- 0x00, // SPECIES_TRAPINCH
- 0x00, // SPECIES_VIBRAVA
- 0x00, // SPECIES_FLYGON
- 0x00, // SPECIES_MAKUHITA
- 0x00, // SPECIES_HARIYAMA
- 0x00, // SPECIES_ELECTRIKE
- 0x00, // SPECIES_MANECTRIC
- 0x00, // SPECIES_NUMEL
- 0x00, // SPECIES_CAMERUPT
- 0x0f, // SPECIES_SPHEAL
- 0x00, // SPECIES_SEALEO
- 0x00, // SPECIES_WALREIN
- 0x00, // SPECIES_CACNEA
- 0x00, // SPECIES_CACTURNE
- 0x14, // SPECIES_SNORUNT
- 0x00, // SPECIES_GLALIE
- 0x00, // SPECIES_LUNATONE
- 0x00, // SPECIES_SOLROCK
- 0x00, // SPECIES_AZURILL
- 0x00, // SPECIES_SPOINK
- 0x0f, // SPECIES_GRUMPIG
- 0x00, // SPECIES_PLUSLE
- 0x00, // SPECIES_MINUN
- 0x00, // SPECIES_MAWILE
- 0x00, // SPECIES_MEDITITE
- 0x00, // SPECIES_MEDICHAM
- 0x00, // SPECIES_SWABLU
- 0x00, // SPECIES_ALTARIA
- 0x0f, // SPECIES_WYNAUT
- 0x00, // SPECIES_DUSKULL
- 0x1e, // SPECIES_DUSCLOPS
- 0x00, // SPECIES_ROSELIA
- 0x00, // SPECIES_SLAKOTH
- 0x00, // SPECIES_VIGOROTH
- 0x00, // SPECIES_SLAKING
- 0x00, // SPECIES_GULPIN
- 0x00, // SPECIES_SWALOT
- 0x00, // SPECIES_TROPIUS
- 0x00, // SPECIES_WHISMUR
- 0x00, // SPECIES_LOUDRED
- 0x00, // SPECIES_EXPLOUD
- 0x00, // SPECIES_CLAMPERL
- 0x00, // SPECIES_HUNTAIL
- 0x00, // SPECIES_GOREBYSS
- 0x2d, // SPECIES_ABSOL
- 0x00, // SPECIES_SHUPPET
- 0x00, // SPECIES_BANETTE
- 0x00, // SPECIES_SEVIPER
- 0x00, // SPECIES_ZANGOOSE
- 0x00, // SPECIES_RELICANTH
- 0x00, // SPECIES_ARON
- 0x00, // SPECIES_LAIRON
- 0x00, // SPECIES_AGGRON
- 0x00, // SPECIES_CASTFORM
- 0x00, // SPECIES_VOLBEAT
- 0x00, // SPECIES_ILLUMISE
- 0x00, // SPECIES_LILEEP
- 0x00, // SPECIES_CRADILY
- 0x00, // SPECIES_ANORITH
- 0x00, // SPECIES_ARMALDO
- 0x00, // SPECIES_RALTS
- 0x00, // SPECIES_KIRLIA
- 0x00, // SPECIES_GARDEVOIR
- 0x00, // SPECIES_BAGON
- 0x00, // SPECIES_SHELGON
- 0x46, // SPECIES_SALAMENCE
- 0x00, // SPECIES_BELDUM
- 0x00, // SPECIES_METANG
- 0x00, // SPECIES_METAGROSS
- 0x00, // SPECIES_REGIROCK
- 0x00, // SPECIES_REGICE
- 0x00, // SPECIES_REGISTEEL
- 0x3c, // SPECIES_KYOGRE
- 0x00, // SPECIES_GROUDON
- 0x3c, // SPECIES_RAYQUAZA
- 0x00, // SPECIES_LATIAS
- 0x00, // SPECIES_LATIOS
- 0x00, // SPECIES_JIRACHI
- 0x00, // SPECIES_DEOXYS
- 0x00, // SPECIES_CHIMECHO
+ [SPECIES_BULBASAUR - 1] = 0x00,
+ [SPECIES_IVYSAUR - 1] = 0x00,
+ [SPECIES_VENUSAUR - 1] = 0x00,
+ [SPECIES_CHARMANDER - 1] = 0x00,
+ [SPECIES_CHARMELEON - 1] = 0x00,
+ [SPECIES_CHARIZARD - 1] = 0x00,
+ [SPECIES_SQUIRTLE - 1] = 0x00,
+ [SPECIES_WARTORTLE - 1] = 0x00,
+ [SPECIES_BLASTOISE - 1] = 0x32,
+ [SPECIES_CATERPIE - 1] = 0x00,
+ [SPECIES_METAPOD - 1] = 0x00,
+ [SPECIES_BUTTERFREE - 1] = 0x00,
+ [SPECIES_WEEDLE - 1] = 0x0a,
+ [SPECIES_KAKUNA - 1] = 0x14,
+ [SPECIES_BEEDRILL - 1] = 0x23,
+ [SPECIES_PIDGEY - 1] = 0x00,
+ [SPECIES_PIDGEOTTO - 1] = 0x19,
+ [SPECIES_PIDGEOT - 1] = 0x00,
+ [SPECIES_RATTATA - 1] = 0x00,
+ [SPECIES_RATICATE - 1] = 0x00,
+ [SPECIES_SPEAROW - 1] = 0x00,
+ [SPECIES_FEAROW - 1] = 0x02,
+ [SPECIES_EKANS - 1] = 0x1e,
+ [SPECIES_ARBOK - 1] = 0x00,
+ [SPECIES_PIKACHU - 1] = 0x00,
+ [SPECIES_RAICHU - 1] = 0x00,
+ [SPECIES_SANDSHREW - 1] = 0x00,
+ [SPECIES_SANDSLASH - 1] = 0x00,
+ [SPECIES_NIDORAN_F - 1] = 0x1c,
+ [SPECIES_NIDORINA - 1] = 0x00,
+ [SPECIES_NIDOQUEEN - 1] = 0x00,
+ [SPECIES_NIDORAN_M - 1] = 0x00,
+ [SPECIES_NIDORINO - 1] = 0x00,
+ [SPECIES_NIDOKING - 1] = 0x19,
+ [SPECIES_CLEFAIRY - 1] = 0x00,
+ [SPECIES_CLEFABLE - 1] = 0x00,
+ [SPECIES_VULPIX - 1] = 0x00,
+ [SPECIES_NINETALES - 1] = 0x00,
+ [SPECIES_JIGGLYPUFF - 1] = 0x00,
+ [SPECIES_WIGGLYTUFF - 1] = 0x00,
+ [SPECIES_ZUBAT - 1] = 0x00,
+ [SPECIES_GOLBAT - 1] = 0x00,
+ [SPECIES_ODDISH - 1] = 0x00,
+ [SPECIES_GLOOM - 1] = 0x00,
+ [SPECIES_VILEPLUME - 1] = 0x00,
+ [SPECIES_PARAS - 1] = 0x0a,
+ [SPECIES_PARASECT - 1] = 0x2d,
+ [SPECIES_VENONAT - 1] = 0x14,
+ [SPECIES_VENOMOTH - 1] = 0x00,
+ [SPECIES_DIGLETT - 1] = 0x19,
+ [SPECIES_DUGTRIO - 1] = 0x23,
+ [SPECIES_MEOWTH - 1] = 0x28,
+ [SPECIES_PERSIAN - 1] = 0x14,
+ [SPECIES_PSYDUCK - 1] = 0x00,
+ [SPECIES_GOLDUCK - 1] = 0x00,
+ [SPECIES_MANKEY - 1] = 0x14,
+ [SPECIES_PRIMEAPE - 1] = 0x00,
+ [SPECIES_GROWLITHE - 1] = 0x1e,
+ [SPECIES_ARCANINE - 1] = 0x28,
+ [SPECIES_POLIWAG - 1] = 0x00,
+ [SPECIES_POLIWHIRL - 1] = 0x05,
+ [SPECIES_POLIWRATH - 1] = 0x00,
+ [SPECIES_ABRA - 1] = 0x00,
+ [SPECIES_KADABRA - 1] = 0x00,
+ [SPECIES_ALAKAZAM - 1] = 0x00,
+ [SPECIES_MACHOP - 1] = 0x00,
+ [SPECIES_MACHOKE - 1] = 0x00,
+ [SPECIES_MACHAMP - 1] = 0x00,
+ [SPECIES_BELLSPROUT - 1] = 0x00,
+ [SPECIES_WEEPINBELL - 1] = 0x03,
+ [SPECIES_VICTREEBEL - 1] = 0x00,
+ [SPECIES_TENTACOOL - 1] = 0x00,
+ [SPECIES_TENTACRUEL - 1] = 0x00,
+ [SPECIES_GEODUDE - 1] = 0x00,
+ [SPECIES_GRAVELER - 1] = 0x00,
+ [SPECIES_GOLEM - 1] = 0x00,
+ [SPECIES_PONYTA - 1] = 0x00,
+ [SPECIES_RAPIDASH - 1] = 0x00,
+ [SPECIES_SLOWPOKE - 1] = 0x00,
+ [SPECIES_SLOWBRO - 1] = 0x00,
+ [SPECIES_MAGNEMITE - 1] = 0x00,
+ [SPECIES_MAGNETON - 1] = 0x00,
+ [SPECIES_FARFETCHD - 1] = 0x00,
+ [SPECIES_DODUO - 1] = 0x00,
+ [SPECIES_DODRIO - 1] = 0x00,
+ [SPECIES_SEEL - 1] = 0x00,
+ [SPECIES_DEWGONG - 1] = 0x00,
+ [SPECIES_GRIMER - 1] = 0x00,
+ [SPECIES_MUK - 1] = 0x2d,
+ [SPECIES_SHELLDER - 1] = 0x14,
+ [SPECIES_CLOYSTER - 1] = 0x00,
+ [SPECIES_GASTLY - 1] = 0x00,
+ [SPECIES_HAUNTER - 1] = 0x17,
+ [SPECIES_GENGAR - 1] = 0x00,
+ [SPECIES_ONIX - 1] = 0x00,
+ [SPECIES_DROWZEE - 1] = 0x30,
+ [SPECIES_HYPNO - 1] = 0x28,
+ [SPECIES_KRABBY - 1] = 0x00,
+ [SPECIES_KINGLER - 1] = 0x00,
+ [SPECIES_VOLTORB - 1] = 0x00,
+ [SPECIES_ELECTRODE - 1] = 0x00,
+ [SPECIES_EXEGGCUTE - 1] = 0x00,
+ [SPECIES_EXEGGUTOR - 1] = 0x00,
+ [SPECIES_CUBONE - 1] = 0x00,
+ [SPECIES_MAROWAK - 1] = 0x00,
+ [SPECIES_HITMONLEE - 1] = 0x00,
+ [SPECIES_HITMONCHAN - 1] = 0x19,
+ [SPECIES_LICKITUNG - 1] = 0x00,
+ [SPECIES_KOFFING - 1] = 0x00,
+ [SPECIES_WEEZING - 1] = 0x00,
+ [SPECIES_RHYHORN - 1] = 0x00,
+ [SPECIES_RHYDON - 1] = 0x00,
+ [SPECIES_CHANSEY - 1] = 0x00,
+ [SPECIES_TANGELA - 1] = 0x00,
+ [SPECIES_KANGASKHAN - 1] = 0x00,
+ [SPECIES_HORSEA - 1] = 0x00,
+ [SPECIES_SEADRA - 1] = 0x00,
+ [SPECIES_GOLDEEN - 1] = 0x00,
+ [SPECIES_SEAKING - 1] = 0x00,
+ [SPECIES_STARYU - 1] = 0x00,
+ [SPECIES_STARMIE - 1] = 0x00,
+ [SPECIES_MR_MIME - 1] = 0x00,
+ [SPECIES_SCYTHER - 1] = 0x0a,
+ [SPECIES_JYNX - 1] = 0x00,
+ [SPECIES_ELECTABUZZ - 1] = 0x00,
+ [SPECIES_MAGMAR - 1] = 0x00,
+ [SPECIES_PINSIR - 1] = 0x00,
+ [SPECIES_TAUROS - 1] = 0x0a,
+ [SPECIES_MAGIKARP - 1] = 0x00,
+ [SPECIES_GYARADOS - 1] = 0x00,
+ [SPECIES_LAPRAS - 1] = 0x00,
+ [SPECIES_DITTO - 1] = 0x00,
+ [SPECIES_EEVEE - 1] = 0x00,
+ [SPECIES_VAPOREON - 1] = 0x00,
+ [SPECIES_JOLTEON - 1] = 0x00,
+ [SPECIES_FLAREON - 1] = 0x00,
+ [SPECIES_PORYGON - 1] = 0x00,
+ [SPECIES_OMANYTE - 1] = 0x00,
+ [SPECIES_OMASTAR - 1] = 0x00,
+ [SPECIES_KABUTO - 1] = 0x00,
+ [SPECIES_KABUTOPS - 1] = 0x00,
+ [SPECIES_AERODACTYL - 1] = 0x00,
+ [SPECIES_SNORLAX - 1] = 0x00,
+ [SPECIES_ARTICUNO - 1] = 0x00,
+ [SPECIES_ZAPDOS - 1] = 0x00,
+ [SPECIES_MOLTRES - 1] = 0x00,
+ [SPECIES_DRATINI - 1] = 0x00,
+ [SPECIES_DRAGONAIR - 1] = 0x00,
+ [SPECIES_DRAGONITE - 1] = 0x00,
+ [SPECIES_MEWTWO - 1] = 0x00,
+ [SPECIES_MEW - 1] = 0x00,
+ [SPECIES_CHIKORITA - 1] = 0x00,
+ [SPECIES_BAYLEEF - 1] = 0x00,
+ [SPECIES_MEGANIUM - 1] = 0x00,
+ [SPECIES_CYNDAQUIL - 1] = 0x00,
+ [SPECIES_QUILAVA - 1] = 0x00,
+ [SPECIES_TYPHLOSION - 1] = 0x14,
+ [SPECIES_TOTODILE - 1] = 0x00,
+ [SPECIES_CROCONAW - 1] = 0x00,
+ [SPECIES_FERALIGATR - 1] = 0x05,
+ [SPECIES_SENTRET - 1] = 0x00,
+ [SPECIES_FURRET - 1] = 0x00,
+ [SPECIES_HOOTHOOT - 1] = 0x00,
+ [SPECIES_NOCTOWL - 1] = 0x00,
+ [SPECIES_LEDYBA - 1] = 0x00,
+ [SPECIES_LEDIAN - 1] = 0x00,
+ [SPECIES_SPINARAK - 1] = 0x00,
+ [SPECIES_ARIADOS - 1] = 0x00,
+ [SPECIES_CROBAT - 1] = 0x00,
+ [SPECIES_CHINCHOU - 1] = 0x00,
+ [SPECIES_LANTURN - 1] = 0x00,
+ [SPECIES_PICHU - 1] = 0x00,
+ [SPECIES_CLEFFA - 1] = 0x00,
+ [SPECIES_IGGLYBUFF - 1] = 0x00,
+ [SPECIES_TOGEPI - 1] = 0x00,
+ [SPECIES_TOGETIC - 1] = 0x00,
+ [SPECIES_NATU - 1] = 0x1e,
+ [SPECIES_XATU - 1] = 0x00,
+ [SPECIES_MAREEP - 1] = 0x32,
+ [SPECIES_FLAAFFY - 1] = 0x00,
+ [SPECIES_AMPHAROS - 1] = 0x0a,
+ [SPECIES_BELLOSSOM - 1] = 0x00,
+ [SPECIES_MARILL - 1] = 0x00,
+ [SPECIES_AZUMARILL - 1] = 0x00,
+ [SPECIES_SUDOWOODO - 1] = 0x00,
+ [SPECIES_POLITOED - 1] = 0x28,
+ [SPECIES_HOPPIP - 1] = 0x00,
+ [SPECIES_SKIPLOOM - 1] = 0x00,
+ [SPECIES_JUMPLUFF - 1] = 0x00,
+ [SPECIES_AIPOM - 1] = 0x00,
+ [SPECIES_SUNKERN - 1] = 0x00,
+ [SPECIES_SUNFLORA - 1] = 0x00,
+ [SPECIES_YANMA - 1] = 0x00,
+ [SPECIES_WOOPER - 1] = 0x00,
+ [SPECIES_QUAGSIRE - 1] = 0x00,
+ [SPECIES_ESPEON - 1] = 0x00,
+ [SPECIES_UMBREON - 1] = 0x00,
+ [SPECIES_MURKROW - 1] = 0x00,
+ [SPECIES_SLOWKING - 1] = 0x00,
+ [SPECIES_MISDREAVUS - 1] = 0x00,
+ [SPECIES_UNOWN - 1] = 0x00,
+ [SPECIES_WOBBUFFET - 1] = 0x00,
+ [SPECIES_GIRAFARIG - 1] = 0x00,
+ [SPECIES_PINECO - 1] = 0x00,
+ [SPECIES_FORRETRESS - 1] = 0x00,
+ [SPECIES_DUNSPARCE - 1] = 0x0a,
+ [SPECIES_GLIGAR - 1] = 0x00,
+ [SPECIES_STEELIX - 1] = 0x2d,
+ [SPECIES_SNUBBULL - 1] = 0x00,
+ [SPECIES_GRANBULL - 1] = 0x00,
+ [SPECIES_QWILFISH - 1] = 0x27,
+ [SPECIES_SCIZOR - 1] = 0x13,
+ [SPECIES_SHUCKLE - 1] = 0x00,
+ [SPECIES_HERACROSS - 1] = 0x00,
+ [SPECIES_SNEASEL - 1] = 0x00,
+ [SPECIES_TEDDIURSA - 1] = 0x00,
+ [SPECIES_URSARING - 1] = 0x00,
+ [SPECIES_SLUGMA - 1] = 0x00,
+ [SPECIES_MAGCARGO - 1] = 0x00,
+ [SPECIES_SWINUB - 1] = 0x00,
+ [SPECIES_PILOSWINE - 1] = 0x00,
+ [SPECIES_CORSOLA - 1] = 0x00,
+ [SPECIES_REMORAID - 1] = 0x00,
+ [SPECIES_OCTILLERY - 1] = 0x14,
+ [SPECIES_DELIBIRD - 1] = 0x00,
+ [SPECIES_MANTINE - 1] = 0x00,
+ [SPECIES_SKARMORY - 1] = 0x00,
+ [SPECIES_HOUNDOUR - 1] = 0x00,
+ [SPECIES_HOUNDOOM - 1] = 0x00,
+ [SPECIES_KINGDRA - 1] = 0x00,
+ [SPECIES_PHANPY - 1] = 0x00,
+ [SPECIES_DONPHAN - 1] = 0x00,
+ [SPECIES_PORYGON2 - 1] = 0x00,
+ [SPECIES_STANTLER - 1] = 0x00,
+ [SPECIES_SMEARGLE - 1] = 0x00,
+ [SPECIES_TYROGUE - 1] = 0x00,
+ [SPECIES_HITMONTOP - 1] = 0x00,
+ [SPECIES_SMOOCHUM - 1] = 0x28,
+ [SPECIES_ELEKID - 1] = 0x00,
+ [SPECIES_MAGBY - 1] = 0x00,
+ [SPECIES_MILTANK - 1] = 0x00,
+ [SPECIES_BLISSEY - 1] = 0x00,
+ [SPECIES_RAIKOU - 1] = 0x00,
+ [SPECIES_ENTEI - 1] = 0x00,
+ [SPECIES_SUICUNE - 1] = 0x00,
+ [SPECIES_LARVITAR - 1] = 0x00,
+ [SPECIES_PUPITAR - 1] = 0x00,
+ [SPECIES_TYRANITAR - 1] = 0x0a,
+ [SPECIES_LUGIA - 1] = 0x14,
+ [SPECIES_HO_OH - 1] = 0x00,
+ [SPECIES_CELEBI - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_B - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_C - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_D - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_E - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_F - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_G - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_H - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_I - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_J - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_K - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_L - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_M - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_N - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_O - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_P - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_Q - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_R - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_S - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_T - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_U - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_V - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_W - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_X - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_Y - 1] = 0x00,
+ [SPECIES_OLD_UNOWN_Z - 1] = 0x00,
+ [SPECIES_TREECKO - 1] = 0x00,
+ [SPECIES_GROVYLE - 1] = 0x00,
+ [SPECIES_SCEPTILE - 1] = 0x00,
+ [SPECIES_TORCHIC - 1] = 0x00,
+ [SPECIES_COMBUSKEN - 1] = 0x00,
+ [SPECIES_BLAZIKEN - 1] = 0x00,
+ [SPECIES_MUDKIP - 1] = 0x00,
+ [SPECIES_MARSHTOMP - 1] = 0x00,
+ [SPECIES_SWAMPERT - 1] = 0x00,
+ [SPECIES_POOCHYENA - 1] = 0x00,
+ [SPECIES_MIGHTYENA - 1] = 0x00,
+ [SPECIES_ZIGZAGOON - 1] = 0x00,
+ [SPECIES_LINOONE - 1] = 0x00,
+ [SPECIES_WURMPLE - 1] = 0x00,
+ [SPECIES_SILCOON - 1] = 0x00,
+ [SPECIES_BEAUTIFLY - 1] = 0x00,
+ [SPECIES_CASCOON - 1] = 0x00,
+ [SPECIES_DUSTOX - 1] = 0x00,
+ [SPECIES_LOTAD - 1] = 0x00,
+ [SPECIES_LOMBRE - 1] = 0x00,
+ [SPECIES_LUDICOLO - 1] = 0x00,
+ [SPECIES_SEEDOT - 1] = 0x00,
+ [SPECIES_NUZLEAF - 1] = 0x00,
+ [SPECIES_SHIFTRY - 1] = 0x00,
+ [SPECIES_NINCADA - 1] = 0x00,
+ [SPECIES_NINJASK - 1] = 0x00,
+ [SPECIES_SHEDINJA - 1] = 0x00,
+ [SPECIES_TAILLOW - 1] = 0x00,
+ [SPECIES_SWELLOW - 1] = 0x00,
+ [SPECIES_SHROOMISH - 1] = 0x00,
+ [SPECIES_BRELOOM - 1] = 0x00,
+ [SPECIES_SPINDA - 1] = 0x00,
+ [SPECIES_WINGULL - 1] = 0x00,
+ [SPECIES_PELIPPER - 1] = 0x00,
+ [SPECIES_SURSKIT - 1] = 0x00,
+ [SPECIES_MASQUERAIN - 1] = 0x00,
+ [SPECIES_WAILMER - 1] = 0x00,
+ [SPECIES_WAILORD - 1] = 0x0a,
+ [SPECIES_SKITTY - 1] = 0x00,
+ [SPECIES_DELCATTY - 1] = 0x00,
+ [SPECIES_KECLEON - 1] = 0x1e,
+ [SPECIES_BALTOY - 1] = 0x00,
+ [SPECIES_CLAYDOL - 1] = 0x00,
+ [SPECIES_NOSEPASS - 1] = 0x00,
+ [SPECIES_TORKOAL - 1] = 0x00,
+ [SPECIES_SABLEYE - 1] = 0x00,
+ [SPECIES_BARBOACH - 1] = 0x00,
+ [SPECIES_WHISCASH - 1] = 0x00,
+ [SPECIES_LUVDISC - 1] = 0x00,
+ [SPECIES_CORPHISH - 1] = 0x00,
+ [SPECIES_CRAWDAUNT - 1] = 0x00,
+ [SPECIES_FEEBAS - 1] = 0x00,
+ [SPECIES_MILOTIC - 1] = 0x2d,
+ [SPECIES_CARVANHA - 1] = 0x00,
+ [SPECIES_SHARPEDO - 1] = 0x00,
+ [SPECIES_TRAPINCH - 1] = 0x00,
+ [SPECIES_VIBRAVA - 1] = 0x00,
+ [SPECIES_FLYGON - 1] = 0x00,
+ [SPECIES_MAKUHITA - 1] = 0x00,
+ [SPECIES_HARIYAMA - 1] = 0x00,
+ [SPECIES_ELECTRIKE - 1] = 0x00,
+ [SPECIES_MANECTRIC - 1] = 0x00,
+ [SPECIES_NUMEL - 1] = 0x00,
+ [SPECIES_CAMERUPT - 1] = 0x00,
+ [SPECIES_SPHEAL - 1] = 0x0f,
+ [SPECIES_SEALEO - 1] = 0x00,
+ [SPECIES_WALREIN - 1] = 0x00,
+ [SPECIES_CACNEA - 1] = 0x00,
+ [SPECIES_CACTURNE - 1] = 0x00,
+ [SPECIES_SNORUNT - 1] = 0x14,
+ [SPECIES_GLALIE - 1] = 0x00,
+ [SPECIES_LUNATONE - 1] = 0x00,
+ [SPECIES_SOLROCK - 1] = 0x00,
+ [SPECIES_AZURILL - 1] = 0x00,
+ [SPECIES_SPOINK - 1] = 0x00,
+ [SPECIES_GRUMPIG - 1] = 0x0f,
+ [SPECIES_PLUSLE - 1] = 0x00,
+ [SPECIES_MINUN - 1] = 0x00,
+ [SPECIES_MAWILE - 1] = 0x00,
+ [SPECIES_MEDITITE - 1] = 0x00,
+ [SPECIES_MEDICHAM - 1] = 0x00,
+ [SPECIES_SWABLU - 1] = 0x00,
+ [SPECIES_ALTARIA - 1] = 0x00,
+ [SPECIES_WYNAUT - 1] = 0x0f,
+ [SPECIES_DUSKULL - 1] = 0x00,
+ [SPECIES_DUSCLOPS - 1] = 0x1e,
+ [SPECIES_ROSELIA - 1] = 0x00,
+ [SPECIES_SLAKOTH - 1] = 0x00,
+ [SPECIES_VIGOROTH - 1] = 0x00,
+ [SPECIES_SLAKING - 1] = 0x00,
+ [SPECIES_GULPIN - 1] = 0x00,
+ [SPECIES_SWALOT - 1] = 0x00,
+ [SPECIES_TROPIUS - 1] = 0x00,
+ [SPECIES_WHISMUR - 1] = 0x00,
+ [SPECIES_LOUDRED - 1] = 0x00,
+ [SPECIES_EXPLOUD - 1] = 0x00,
+ [SPECIES_CLAMPERL - 1] = 0x00,
+ [SPECIES_HUNTAIL - 1] = 0x00,
+ [SPECIES_GOREBYSS - 1] = 0x00,
+ [SPECIES_ABSOL - 1] = 0x2d,
+ [SPECIES_SHUPPET - 1] = 0x00,
+ [SPECIES_BANETTE - 1] = 0x00,
+ [SPECIES_SEVIPER - 1] = 0x00,
+ [SPECIES_ZANGOOSE - 1] = 0x00,
+ [SPECIES_RELICANTH - 1] = 0x00,
+ [SPECIES_ARON - 1] = 0x00,
+ [SPECIES_LAIRON - 1] = 0x00,
+ [SPECIES_AGGRON - 1] = 0x00,
+ [SPECIES_CASTFORM - 1] = 0x00,
+ [SPECIES_VOLBEAT - 1] = 0x00,
+ [SPECIES_ILLUMISE - 1] = 0x00,
+ [SPECIES_LILEEP - 1] = 0x00,
+ [SPECIES_CRADILY - 1] = 0x00,
+ [SPECIES_ANORITH - 1] = 0x00,
+ [SPECIES_ARMALDO - 1] = 0x00,
+ [SPECIES_RALTS - 1] = 0x00,
+ [SPECIES_KIRLIA - 1] = 0x00,
+ [SPECIES_GARDEVOIR - 1] = 0x00,
+ [SPECIES_BAGON - 1] = 0x00,
+ [SPECIES_SHELGON - 1] = 0x00,
+ [SPECIES_SALAMENCE - 1] = 0x46,
+ [SPECIES_BELDUM - 1] = 0x00,
+ [SPECIES_METANG - 1] = 0x00,
+ [SPECIES_METAGROSS - 1] = 0x00,
+ [SPECIES_REGIROCK - 1] = 0x00,
+ [SPECIES_REGICE - 1] = 0x00,
+ [SPECIES_REGISTEEL - 1] = 0x00,
+ [SPECIES_KYOGRE - 1] = 0x3c,
+ [SPECIES_GROUDON - 1] = 0x00,
+ [SPECIES_RAYQUAZA - 1] = 0x3c,
+ [SPECIES_LATIAS - 1] = 0x00,
+ [SPECIES_LATIOS - 1] = 0x00,
+ [SPECIES_JIRACHI - 1] = 0x00,
+ [SPECIES_DEOXYS - 1] = 0x00,
+ [SPECIES_CHIMECHO - 1] = 0x00,
};
const u8 gUnknown_08329D22[] = {0x03, 0x0c, 0x30, 0xc0}; // Masks for getting PP Up count, also PP Max values
@@ -2269,9 +2266,9 @@ const u16 gUnknown_08329D54[] =
{
FACILITY_CLASS_COOLTRAINER_M, FACILITY_CLASS_BLACK_BELT, FACILITY_CLASS_CAMPER,
FACILITY_CLASS_YOUNGSTER, FACILITY_CLASS_PSYCHIC_M, FACILITY_CLASS_BUG_CATCHER,
- FACILITY_CLASS_PKMN_BREEDER_2, FACILITY_CLASS_GUITARIST, FACILITY_CLASS_COOLTRAINER_F,
+ FACILITY_CLASS_PKMN_BREEDER_M, FACILITY_CLASS_GUITARIST, FACILITY_CLASS_COOLTRAINER_F,
FACILITY_CLASS_HEX_MANIAC, FACILITY_CLASS_PICNICKER, FACILITY_CLASS_LASS,
- FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL, FACILITY_CLASS_PKMN_BREEDER_1,
+ FACILITY_CLASS_PSYCHIC_F, FACILITY_CLASS_BATTLE_GIRL, FACILITY_CLASS_POKEMON_BREEDER_F,
FACILITY_CLASS_BEAUTY
};
@@ -2456,13 +2453,13 @@ static const struct SpeciesItem sAlteringCaveWildMonHeldItems[] =
{
{SPECIES_NONE, ITEM_NONE},
{SPECIES_MAREEP, ITEM_GANLON_BERRY},
- {SPECIES_PINECO, ITEM_APICOT_BERRY},
- {SPECIES_HOUNDOUR, ITEM_BIG_MUSHROOM},
- {SPECIES_TEDDIURSA, ITEM_PETAYA_BERRY},
- {SPECIES_AIPOM, ITEM_BERRY_JUICE},
- {SPECIES_SHUCKLE, ITEM_BERRY_JUICE},
- {SPECIES_STANTLER, ITEM_PETAYA_BERRY},
- {SPECIES_SMEARGLE, ITEM_SALAC_BERRY},
+ {SPECIES_PINECO, ITEM_APICOT_BERRY},
+ {SPECIES_HOUNDOUR, ITEM_BIG_MUSHROOM},
+ {SPECIES_TEDDIURSA, ITEM_PETAYA_BERRY},
+ {SPECIES_AIPOM, ITEM_BERRY_JUICE},
+ {SPECIES_SHUCKLE, ITEM_BERRY_JUICE},
+ {SPECIES_STANTLER, ITEM_PETAYA_BERRY},
+ {SPECIES_SMEARGLE, ITEM_SALAC_BERRY},
};
static const struct OamData sOamData_8329F20 =
@@ -2752,7 +2749,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI
CalculateMonStats(mon);
}
-void sub_806819C(struct Pokemon *mon, struct UnknownPokemonStruct *src)
+void sub_806819C(struct Pokemon *mon, struct BattleTowerPokemon *src)
{
s32 i;
u8 nickname[30];
@@ -2806,7 +2803,7 @@ void sub_806819C(struct Pokemon *mon, struct UnknownPokemonStruct *src)
CalculateMonStats(mon);
}
-void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lvl50)
+void sub_8068338(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50)
{
s32 i;
u8 nickname[30];
@@ -2934,7 +2931,7 @@ void CreateMonWithEVSpreadNatureOTID(struct Pokemon *mon, u16 species, u8 level,
CalculateMonStats(mon);
}
-void sub_80686FC(struct Pokemon *mon, struct UnknownPokemonStruct *dest)
+void sub_80686FC(struct Pokemon *mon, struct BattleTowerPokemon *dest)
{
s32 i;
u16 heldItem;
@@ -3285,7 +3282,7 @@ u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
if (existingMove == move)
return -2;
}
- return -1;
+ return 0xFFFF;
}
u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move)
@@ -3302,7 +3299,7 @@ u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move)
}
}
- return -1;
+ return 0xFFFF;
}
void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot)
@@ -5861,10 +5858,10 @@ u16 HoennPokedexNumToSpecies(u16 hoennNum)
species = 0;
- while (species < 411 && gSpeciesToHoennPokedexNum[species] != hoennNum)
+ while (species < (NUM_SPECIES - 1) && gSpeciesToHoennPokedexNum[species] != hoennNum)
species++;
- if (species == 411)
+ if (species == NUM_SPECIES - 1)
return 0;
return species + 1;
@@ -5879,10 +5876,10 @@ u16 NationalPokedexNumToSpecies(u16 nationalNum)
species = 0;
- while (species < 411 && gSpeciesToNationalPokedexNum[species] != nationalNum)
+ while (species < (NUM_SPECIES - 1) && gSpeciesToNationalPokedexNum[species] != nationalNum)
species++;
- if (species == 411)
+ if (species == NUM_SPECIES - 1)
return 0;
return species + 1;
@@ -5897,10 +5894,10 @@ u16 NationalToHoennOrder(u16 nationalNum)
hoennNum = 0;
- while (hoennNum < 411 && gHoennToNationalOrder[hoennNum] != nationalNum)
+ while (hoennNum < (NUM_SPECIES - 1) && gHoennToNationalOrder[hoennNum] != nationalNum)
hoennNum++;
- if (hoennNum == 411)
+ if (hoennNum == NUM_SPECIES - 1)
return 0;
return hoennNum + 1;
@@ -6581,15 +6578,15 @@ u16 SpeciesToPokedexNum(u16 species)
else
{
species = SpeciesToHoennPokedexNum(species);
- if (species <= 202)
+ if (species <= HOENN_DEX_COUNT)
return species;
return 0xFFFF;
}
}
-bool32 sub_806E3F8(u16 species)
+bool32 IsSpeciesInHoennDex(u16 species)
{
- if (SpeciesToHoennPokedexNum(species) > 202)
+ if (SpeciesToHoennPokedexNum(species) > HOENN_DEX_COUNT)
return FALSE;
else
return TRUE;
@@ -6704,12 +6701,6 @@ const u32 *GetMonFrontSpritePal(struct Pokemon *mon)
return GetFrontSpritePalFromSpeciesAndPersonality(species, otId, personality);
}
-// Extracts the upper 16 bits of a 32-bit number
-#define HIHALF(n) (((n) & 0xFFFF0000) >> 16)
-
-// Extracts the lower 16 bits of a 32-bit number
-#define LOHALF(n) ((n) & 0xFFFF)
-
const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality)
{
u32 shinyValue;
@@ -7113,9 +7104,9 @@ u16 FacilityClassToPicIndex(u16 facilityClass)
u16 PlayerGenderToFrontTrainerPicId(u8 playerGender)
{
if (playerGender != MALE)
- return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_MAY);
+ return FacilityClassToPicIndex(FACILITY_CLASS_MAY);
else
- return FacilityClassToPicIndex(FACILITY_CLASS_PKMN_TRAINER_BRENDAN);
+ return FacilityClassToPicIndex(FACILITY_CLASS_BRENDAN);
}
void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality)
diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c
index 989bce37d..8c468d9f4 100644
--- a/src/pokemon_animation.c
+++ b/src/pokemon_animation.c
@@ -786,31 +786,31 @@ static const u8 sBackAnimationIds[] =
static const u8 sBackAnimNatureModTable[] =
{
- 0x00, // NATURE_HARDY
- 0x02, // NATURE_LONELY
- 0x00, // NATURE_BRAVE
- 0x00, // NATURE_ADAMANT
- 0x00, // NATURE_NAUGHTY
- 0x01, // NATURE_BOLD
- 0x01, // NATURE_DOCILE
- 0x01, // NATURE_RELAXED
- 0x00, // NATURE_IMPISH
- 0x01, // NATURE_LAX
- 0x02, // NATURE_TIMID
- 0x00, // NATURE_HASTY
- 0x01, // NATURE_SERIOUS
- 0x00, // NATURE_JOLLY
- 0x00, // NATURE_NAIVE
- 0x02, // NATURE_MODEST
- 0x02, // NATURE_MILD
- 0x02, // NATURE_QUIET
- 0x02, // NATURE_BASHFUL
- 0x01, // NATURE_RASH
- 0x01, // NATURE_CALM
- 0x02, // NATURE_GENTLE
- 0x01, // NATURE_SASSY
- 0x02, // NATURE_CAREFUL
- 0x01, // NATURE_QUIRKY
+ [NATURE_HARDY] = 0x00,
+ [NATURE_LONELY] = 0x02,
+ [NATURE_BRAVE] = 0x00,
+ [NATURE_ADAMANT] = 0x00,
+ [NATURE_NAUGHTY] = 0x00,
+ [NATURE_BOLD] = 0x01,
+ [NATURE_DOCILE] = 0x01,
+ [NATURE_RELAXED] = 0x01,
+ [NATURE_IMPISH] = 0x00,
+ [NATURE_LAX] = 0x01,
+ [NATURE_TIMID] = 0x02,
+ [NATURE_HASTY] = 0x00,
+ [NATURE_SERIOUS] = 0x01,
+ [NATURE_JOLLY] = 0x00,
+ [NATURE_NAIVE] = 0x00,
+ [NATURE_MODEST] = 0x02,
+ [NATURE_MILD] = 0x02,
+ [NATURE_QUIET] = 0x02,
+ [NATURE_BASHFUL] = 0x02,
+ [NATURE_RASH] = 0x01,
+ [NATURE_CALM] = 0x01,
+ [NATURE_GENTLE] = 0x02,
+ [NATURE_SASSY] = 0x01,
+ [NATURE_CAREFUL] = 0x02,
+ [NATURE_QUIRKY] = 0x01,
};
static const union AffineAnimCmd sSpriteAffineAnim_860AD48[] =
@@ -1164,67 +1164,67 @@ NAKED
static void sub_817F9F4(struct Sprite *sprite)
{
asm(".syntax unified\n\
- push {r4,lr}\n\
- adds r4, r0, 0\n\
- movs r0, 0x32\n\
- ldrsh r1, [r4, r0]\n\
- movs r0, 0xC0\n\
- lsls r0, 1\n\
- cmp r1, r0\n\
- ble _0817FA14\n\
- ldr r0, =SpriteCB_SetDummyOnAnimEnd\n\
- str r0, [r4, 0x1C]\n\
- movs r0, 0\n\
- strh r0, [r4, 0x24]\n\
- b _0817FA5E\n\
- .pool\n\
+ push {r4,lr}\n\
+ adds r4, r0, 0\n\
+ movs r0, 0x32\n\
+ ldrsh r1, [r4, r0]\n\
+ movs r0, 0xC0\n\
+ lsls r0, 1\n\
+ cmp r1, r0\n\
+ ble _0817FA14\n\
+ ldr r0, =SpriteCB_SetDummyOnAnimEnd\n\
+ str r0, [r4, 0x1C]\n\
+ movs r0, 0\n\
+ strh r0, [r4, 0x24]\n\
+ b _0817FA5E\n\
+ .pool\n\
_0817FA14:\n\
- adds r0, r1, 0\n\
- cmp r1, 0\n\
- bge _0817FA1C\n\
- adds r0, 0x7F\n\
+ adds r0, r1, 0\n\
+ cmp r1, 0\n\
+ bge _0817FA1C\n\
+ adds r0, 0x7F\n\
_0817FA1C:\n\
- asrs r2, r0, 7\n\
- lsls r0, r2, 16\n\
- asrs r0, 16\n\
- cmp r0, 0\n\
- blt _0817FA60\n\
- cmp r0, 0x1\n\
- ble _0817FA48\n\
- cmp r0, 0x3\n\
- bgt _0817FA60\n\
- ldr r2, =0xffffff00\n\
- adds r1, r2\n\
- lsls r0, r1, 16\n\
- asrs r0, 16\n\
- movs r1, 0x2E\n\
- ldrsh r2, [r4, r1]\n\
- lsls r1, r2, 1\n\
- adds r1, r2\n\
- lsls r1, 16\n\
- b _0817FA56\n\
- .pool\n\
+ asrs r2, r0, 7\n\
+ lsls r0, r2, 16\n\
+ asrs r0, 16\n\
+ cmp r0, 0\n\
+ blt _0817FA60\n\
+ cmp r0, 0x1\n\
+ ble _0817FA48\n\
+ cmp r0, 0x3\n\
+ bgt _0817FA60\n\
+ ldr r2, =0xffffff00\n\
+ adds r1, r2\n\
+ lsls r0, r1, 16\n\
+ asrs r0, 16\n\
+ movs r1, 0x2E\n\
+ ldrsh r2, [r4, r1]\n\
+ lsls r1, r2, 1\n\
+ adds r1, r2\n\
+ lsls r1, 16\n\
+ b _0817FA56\n\
+ .pool\n\
_0817FA48:\n\
- lsls r0, r2, 7\n\
- subs r0, r1, r0\n\
- lsls r0, 16\n\
- asrs r0, 16\n\
- movs r2, 0x2E\n\
- ldrsh r1, [r4, r2]\n\
- lsls r1, 17\n\
+ lsls r0, r2, 7\n\
+ subs r0, r1, r0\n\
+ lsls r0, 16\n\
+ asrs r0, 16\n\
+ movs r2, 0x2E\n\
+ ldrsh r1, [r4, r2]\n\
+ lsls r1, 17\n\
_0817FA56:\n\
- asrs r1, 16\n\
- bl Sin\n\
- negs r0, r0\n\
+ asrs r1, 16\n\
+ bl Sin\n\
+ negs r0, r0\n\
_0817FA5E:\n\
- strh r0, [r4, 0x26]\n\
+ strh r0, [r4, 0x26]\n\
_0817FA60:\n\
- ldrh r0, [r4, 0x32]\n\
- adds r0, 0xC\n\
- strh r0, [r4, 0x32]\n\
- pop {r4}\n\
- pop {r0}\n\
- bx r0\n\
+ ldrh r0, [r4, 0x32]\n\
+ adds r0, 0xC\n\
+ strh r0, [r4, 0x32]\n\
+ pop {r4}\n\
+ pop {r0}\n\
+ bx r0\n\
.syntax divided");
}
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index 994cc520e..c24c8a898 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -469,446 +469,446 @@ const u8 *const gMonIconTable[] =
const u8 gMonIconPaletteIndices[] =
{
- 0, // ??????????
- 1, // Bulbasaur
- 1, // Ivysaur
- 1, // Venusaur
- 0, // Charmander
- 0, // Charmeleon
- 0, // Charizard
- 0, // Squirtle
- 2, // Wartortle
- 2, // Blastoise
- 1, // Caterpie
- 1, // Metapod
- 0, // Butterfree
- 1, // Weedle
- 2, // Kakuna
- 2, // Beedrill
- 0, // Pidgey
- 0, // Pidgeotto
- 0, // Pidgeot
- 2, // Rattata
- 1, // Raticate
- 0, // Spearow
- 0, // Fearow
- 2, // Ekans
- 2, // Arbok
- 2, // Pikachu
- 0, // Raichu
- 2, // Sandshrew
- 2, // Sandslash
- 2, // Nidoran♀
- 2, // Nidorina
- 2, // Nidoqueen
- 2, // Nidoran♂
- 2, // Nidorino
- 2, // Nidoking
- 0, // Clefairy
- 0, // Clefable
- 2, // Vulpix
- 1, // Ninetales
- 0, // Jigglypuff
- 0, // Wigglytuff
- 2, // Zubat
- 2, // Golbat
- 1, // Oddish
- 0, // Gloom
- 0, // Vileplume
- 0, // Paras
- 0, // Parasect
- 0, // Venonat
- 2, // Venomoth
- 2, // Diglett
- 2, // Dugtrio
- 1, // Meowth
- 1, // Persian
- 1, // Psyduck
- 2, // Golduck
- 1, // Mankey
- 2, // Primeape
- 0, // Growlithe
- 0, // Arcanine
- 0, // Poliwag
- 0, // Poliwhirl
- 0, // Poliwrath
- 2, // Abra
- 2, // Kadabra
- 2, // Alakazam
- 0, // Machop
- 2, // Machoke
- 0, // Machamp
- 1, // Bellsprout
- 1, // Weepinbell
- 1, // Victreebel
- 2, // Tentacool
- 2, // Tentacruel
- 1, // Geodude
- 1, // Graveler
- 1, // Golem
- 0, // Ponyta
- 0, // Rapidash
- 0, // Slowpoke
- 0, // Slowbro
- 0, // Magnemite
- 0, // Magneton
- 1, // Farfetch'd
- 2, // Doduo
- 2, // Dodrio
- 2, // Seel
- 2, // Dewgong
- 2, // Grimer
- 2, // Muk
- 2, // Shellder
- 2, // Cloyster
- 2, // Gastly
- 2, // Haunter
- 2, // Gengar
- 2, // Onix
- 2, // Drowzee
- 1, // Hypno
- 2, // Krabby
- 2, // Kingler
- 0, // Voltorb
- 0, // Electrode
- 0, // Exeggcute
- 1, // Exeggutor
- 1, // Cubone
- 1, // Marowak
- 2, // Hitmonlee
- 2, // Hitmonchan
- 1, // Lickitung
- 2, // Koffing
- 2, // Weezing
- 1, // Rhyhorn
- 1, // Rhydon
- 0, // Chansey
- 0, // Tangela
- 1, // Kangaskhan
- 0, // Horsea
- 0, // Seadra
- 0, // Goldeen
- 0, // Seaking
- 2, // Staryu
- 2, // Starmie
- 0, // Mr. mime
- 1, // Scyther
- 2, // Jynx
- 1, // Electabuzz
- 0, // Magmar
- 2, // Pinsir
- 2, // Tauros
- 0, // Magikarp
- 0, // Gyarados
- 2, // Lapras
- 2, // Ditto
- 2, // Eevee
- 0, // Vaporeon
- 0, // Jolteon
- 0, // Flareon
- 0, // Porygon
- 0, // Omanyte
- 0, // Omastar
- 2, // Kabuto
- 2, // Kabutops
- 0, // Aerodactyl
- 1, // Snorlax
- 0, // Articuno
- 0, // Zapdos
- 0, // Moltres
- 0, // Dratini
- 0, // Dragonair
- 2, // Dragonite
- 2, // Mewtwo
- 0, // Mew
- 1, // Chikorita
- 1, // Bayleef
- 1, // Meganium
- 1, // Cyndaquil
- 1, // Quilava
- 1, // Typhlosion
- 2, // Totodile
- 2, // Croconaw
- 2, // Feraligatr
- 2, // Sentret
- 2, // Furret
- 2, // Hoothoot
- 2, // Noctowl
- 0, // Ledyba
- 0, // Ledian
- 1, // Spinarak
- 0, // Ariados
- 2, // Crobat
- 2, // Chinchou
- 0, // Lanturn
- 0, // Pichu
- 0, // Cleffa
- 1, // Igglybuff
- 2, // Togepi
- 2, // Togetic
- 0, // Natu
- 0, // Xatu
- 2, // Mareep
- 0, // Flaaffy
- 0, // Ampharos
- 1, // Bellossom
- 2, // Marill
- 2, // Azumarill
- 1, // Sudowoodo
- 1, // Politoed
- 1, // Hoppip
- 1, // Skiploom
- 2, // Jumpluff
- 2, // Aipom
- 1, // Sunkern
- 1, // Sunflora
- 1, // Yanma
- 0, // Wooper
- 0, // Quagsire
- 2, // Espeon
- 2, // Umbreon
- 2, // Murkrow
- 0, // Slowking
- 0, // Misdreavus
- 0, // Unown A
- 0, // Wobbuffet
- 1, // Girafarig
- 0, // Pineco
- 2, // Forretress
- 2, // Dunsparce
- 2, // Gligar
- 0, // Steelix
- 0, // Snubbull
- 2, // Granbull
- 0, // Qwilfish
- 0, // Scizor
- 1, // Shuckle
- 2, // Heracross
- 0, // Sneasel
- 0, // Teddiursa
- 2, // Ursaring
- 0, // Slugma
- 0, // Magcargo
- 2, // Swinub
- 2, // Piloswine
- 0, // Corsola
- 0, // Remoraid
- 0, // Octillery
- 0, // Delibird
- 2, // Mantine
- 0, // Skarmory
- 0, // Houndour
- 0, // Houndoom
- 0, // Kingdra
- 0, // Phanpy
- 0, // Donphan
- 0, // Porygon2
- 2, // Stantler
- 1, // Smeargle
- 2, // Tyrogue
- 2, // Hitmontop
- 1, // Smoochum
- 1, // Elekid
- 1, // Magby
- 1, // Miltank
- 1, // Blissey
- 0, // Raikou
- 2, // Entei
- 0, // Suicune
- 1, // Larvitar
- 0, // Pupitar
- 1, // Tyranitar
- 0, // Lugia
- 1, // Ho-Oh
- 1, // Celebi
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 0, // ?
- 1, // Treecko
- 0, // Grovyle
- 1, // Sceptile
- 0, // Torchic
- 0, // Combusken
- 0, // Blaziken
- 0, // Mudkip
- 0, // Marshtomp
- 0, // Swampert
- 2, // Poochyena
- 2, // Mightyena
- 2, // Zigzagoon
- 2, // Linoone
- 0, // Wurmple
- 2, // Silcoon
- 0, // Beautifly
- 2, // Cascoon
- 1, // Dustox
- 1, // Lotad
- 1, // Lombre
- 1, // Ludicolo
- 1, // Seedot
- 1, // Nuzleaf
- 0, // Shiftry
- 1, // Nincada
- 1, // Ninjask
- 1, // Shedinja
- 2, // Taillow
- 2, // Swellow
- 1, // Shroomish
- 1, // Breloom
- 1, // Spinda
- 0, // Wingull
- 0, // Pelipper
- 2, // Surskit
- 0, // Masquerain
- 2, // Wailmer
- 0, // Wailord
- 0, // Skitty
- 2, // Delcatty
- 1, // Kecleon
- 1, // Baltoy
- 0, // Claydol
- 0, // Nosepass
- 1, // Torkoal
- 2, // Sableye
- 0, // Barboach
- 0, // Whiscash
- 0, // Luvdisc
- 0, // Corphish
- 0, // Crawdaunt
- 2, // Feebas
- 0, // Milotic
- 0, // Carvanha
- 0, // Sharpedo
- 1, // Trapinch
- 1, // Vibrava
- 1, // Flygon
- 2, // Makuhita
- 1, // Hariyama
- 1, // Electrike
- 0, // Manectric
- 1, // Numel
- 0, // Camerupt
- 2, // Spheal
- 2, // Sealeo
- 0, // Walrein
- 1, // Cacnea
- 1, // Cacturne
- 2, // Snorunt
- 0, // Glalie
- 1, // Lunatone
- 0, // Solrock
- 2, // Azurill
- 0, // Spoink
- 2, // Grumpig
- 0, // Plusle
- 0, // Minun
- 2, // Mawile
- 0, // Meditite
- 0, // Medicham
- 0, // Swablu
- 0, // Altaria
- 0, // Wynaut
- 0, // Duskull
- 0, // Dusclops
- 0, // Roselia
- 2, // Slakoth
- 2, // Vigoroth
- 1, // Slaking
- 1, // Gulpin
- 2, // Swalot
- 1, // Tropius
- 0, // Whismur
- 2, // Loudred
- 2, // Exploud
- 0, // Clamperl
- 0, // Huntail
- 0, // Gorebyss
- 0, // Absol
- 0, // Shuppet
- 0, // Banette
- 2, // Seviper
- 0, // Zangoose
- 1, // Relicanth
- 2, // Aron
- 2, // Lairon
- 2, // Aggron
- 0, // Castform
- 0, // Volbeat
- 2, // Illumise
- 2, // Lileep
- 0, // Cradily
- 0, // Anorith
- 0, // Armaldo
- 1, // Ralts
- 1, // Kirlia
- 1, // Gardevoir
- 2, // Bagon
- 2, // Shelgon
- 0, // Salamence
- 0, // Beldum
- 0, // Metang
- 0, // Metagross
- 2, // Regirock
- 2, // Regice
- 2, // Registeel
- 2, // Kyogre
- 0, // Groudon
- 1, // Rayquaza
- 0, // Latias
- 2, // Latios
- 0, // Jirachi
- 0, // Deoxys
- 0, // Chimecho
- 1, // Egg
- 0, // Unown B
- 0, // Unown C
- 0, // Unown D
- 0, // Unown E
- 0, // Unown F
- 0, // Unown G
- 0, // Unown H
- 0, // Unown I
- 0, // Unown J
- 0, // Unown K
- 0, // Unown L
- 0, // Unown M
- 0, // Unown N
- 0, // Unown O
- 0, // Unown P
- 0, // Unown Q
- 0, // Unown R
- 0, // Unown S
- 0, // Unown T
- 0, // Unown U
- 0, // Unown V
- 0, // Unown W
- 0, // Unown X
- 0, // Unown Y
- 0, // Unown Z
- 0, // Unown Exclamation Mark
- 0, // Unown Question Mark
+ [SPECIES_NONE] = 0,
+ [SPECIES_BULBASAUR] = 1,
+ [SPECIES_IVYSAUR] = 1,
+ [SPECIES_VENUSAUR] = 1,
+ [SPECIES_CHARMANDER] = 0,
+ [SPECIES_CHARMELEON] = 0,
+ [SPECIES_CHARIZARD] = 0,
+ [SPECIES_SQUIRTLE] = 0,
+ [SPECIES_WARTORTLE] = 2,
+ [SPECIES_BLASTOISE] = 2,
+ [SPECIES_CATERPIE] = 1,
+ [SPECIES_METAPOD] = 1,
+ [SPECIES_BUTTERFREE] = 0,
+ [SPECIES_WEEDLE] = 1,
+ [SPECIES_KAKUNA] = 2,
+ [SPECIES_BEEDRILL] = 2,
+ [SPECIES_PIDGEY] = 0,
+ [SPECIES_PIDGEOTTO] = 0,
+ [SPECIES_PIDGEOT] = 0,
+ [SPECIES_RATTATA] = 2,
+ [SPECIES_RATICATE] = 1,
+ [SPECIES_SPEAROW] = 0,
+ [SPECIES_FEAROW] = 0,
+ [SPECIES_EKANS] = 2,
+ [SPECIES_ARBOK] = 2,
+ [SPECIES_PIKACHU] = 2,
+ [SPECIES_RAICHU] = 0,
+ [SPECIES_SANDSHREW] = 2,
+ [SPECIES_SANDSLASH] = 2,
+ [SPECIES_NIDORAN_F] = 2,
+ [SPECIES_NIDORINA] = 2,
+ [SPECIES_NIDOQUEEN] = 2,
+ [SPECIES_NIDORAN_M] = 2,
+ [SPECIES_NIDORINO] = 2,
+ [SPECIES_NIDOKING] = 2,
+ [SPECIES_CLEFAIRY] = 0,
+ [SPECIES_CLEFABLE] = 0,
+ [SPECIES_VULPIX] = 2,
+ [SPECIES_NINETALES] = 1,
+ [SPECIES_JIGGLYPUFF] = 0,
+ [SPECIES_WIGGLYTUFF] = 0,
+ [SPECIES_ZUBAT] = 2,
+ [SPECIES_GOLBAT] = 2,
+ [SPECIES_ODDISH] = 1,
+ [SPECIES_GLOOM] = 0,
+ [SPECIES_VILEPLUME] = 0,
+ [SPECIES_PARAS] = 0,
+ [SPECIES_PARASECT] = 0,
+ [SPECIES_VENONAT] = 0,
+ [SPECIES_VENOMOTH] = 2,
+ [SPECIES_DIGLETT] = 2,
+ [SPECIES_DUGTRIO] = 2,
+ [SPECIES_MEOWTH] = 1,
+ [SPECIES_PERSIAN] = 1,
+ [SPECIES_PSYDUCK] = 1,
+ [SPECIES_GOLDUCK] = 2,
+ [SPECIES_MANKEY] = 1,
+ [SPECIES_PRIMEAPE] = 2,
+ [SPECIES_GROWLITHE] = 0,
+ [SPECIES_ARCANINE] = 0,
+ [SPECIES_POLIWAG] = 0,
+ [SPECIES_POLIWHIRL] = 0,
+ [SPECIES_POLIWRATH] = 0,
+ [SPECIES_ABRA] = 2,
+ [SPECIES_KADABRA] = 2,
+ [SPECIES_ALAKAZAM] = 2,
+ [SPECIES_MACHOP] = 0,
+ [SPECIES_MACHOKE] = 2,
+ [SPECIES_MACHAMP] = 0,
+ [SPECIES_BELLSPROUT] = 1,
+ [SPECIES_WEEPINBELL] = 1,
+ [SPECIES_VICTREEBEL] = 1,
+ [SPECIES_TENTACOOL] = 2,
+ [SPECIES_TENTACRUEL] = 2,
+ [SPECIES_GEODUDE] = 1,
+ [SPECIES_GRAVELER] = 1,
+ [SPECIES_GOLEM] = 1,
+ [SPECIES_PONYTA] = 0,
+ [SPECIES_RAPIDASH] = 0,
+ [SPECIES_SLOWPOKE] = 0,
+ [SPECIES_SLOWBRO] = 0,
+ [SPECIES_MAGNEMITE] = 0,
+ [SPECIES_MAGNETON] = 0,
+ [SPECIES_FARFETCHD] = 1,
+ [SPECIES_DODUO] = 2,
+ [SPECIES_DODRIO] = 2,
+ [SPECIES_SEEL] = 2,
+ [SPECIES_DEWGONG] = 2,
+ [SPECIES_GRIMER] = 2,
+ [SPECIES_MUK] = 2,
+ [SPECIES_SHELLDER] = 2,
+ [SPECIES_CLOYSTER] = 2,
+ [SPECIES_GASTLY] = 2,
+ [SPECIES_HAUNTER] = 2,
+ [SPECIES_GENGAR] = 2,
+ [SPECIES_ONIX] = 2,
+ [SPECIES_DROWZEE] = 2,
+ [SPECIES_HYPNO] = 1,
+ [SPECIES_KRABBY] = 2,
+ [SPECIES_KINGLER] = 2,
+ [SPECIES_VOLTORB] = 0,
+ [SPECIES_ELECTRODE] = 0,
+ [SPECIES_EXEGGCUTE] = 0,
+ [SPECIES_EXEGGUTOR] = 1,
+ [SPECIES_CUBONE] = 1,
+ [SPECIES_MAROWAK] = 1,
+ [SPECIES_HITMONLEE] = 2,
+ [SPECIES_HITMONCHAN] = 2,
+ [SPECIES_LICKITUNG] = 1,
+ [SPECIES_KOFFING] = 2,
+ [SPECIES_WEEZING] = 2,
+ [SPECIES_RHYHORN] = 1,
+ [SPECIES_RHYDON] = 1,
+ [SPECIES_CHANSEY] = 0,
+ [SPECIES_TANGELA] = 0,
+ [SPECIES_KANGASKHAN] = 1,
+ [SPECIES_HORSEA] = 0,
+ [SPECIES_SEADRA] = 0,
+ [SPECIES_GOLDEEN] = 0,
+ [SPECIES_SEAKING] = 0,
+ [SPECIES_STARYU] = 2,
+ [SPECIES_STARMIE] = 2,
+ [SPECIES_MR_MIME] = 0,
+ [SPECIES_SCYTHER] = 1,
+ [SPECIES_JYNX] = 2,
+ [SPECIES_ELECTABUZZ] = 1,
+ [SPECIES_MAGMAR] = 0,
+ [SPECIES_PINSIR] = 2,
+ [SPECIES_TAUROS] = 2,
+ [SPECIES_MAGIKARP] = 0,
+ [SPECIES_GYARADOS] = 0,
+ [SPECIES_LAPRAS] = 2,
+ [SPECIES_DITTO] = 2,
+ [SPECIES_EEVEE] = 2,
+ [SPECIES_VAPOREON] = 0,
+ [SPECIES_JOLTEON] = 0,
+ [SPECIES_FLAREON] = 0,
+ [SPECIES_PORYGON] = 0,
+ [SPECIES_OMANYTE] = 0,
+ [SPECIES_OMASTAR] = 0,
+ [SPECIES_KABUTO] = 2,
+ [SPECIES_KABUTOPS] = 2,
+ [SPECIES_AERODACTYL] = 0,
+ [SPECIES_SNORLAX] = 1,
+ [SPECIES_ARTICUNO] = 0,
+ [SPECIES_ZAPDOS] = 0,
+ [SPECIES_MOLTRES] = 0,
+ [SPECIES_DRATINI] = 0,
+ [SPECIES_DRAGONAIR] = 0,
+ [SPECIES_DRAGONITE] = 2,
+ [SPECIES_MEWTWO] = 2,
+ [SPECIES_MEW] = 0,
+ [SPECIES_CHIKORITA] = 1,
+ [SPECIES_BAYLEEF] = 1,
+ [SPECIES_MEGANIUM] = 1,
+ [SPECIES_CYNDAQUIL] = 1,
+ [SPECIES_QUILAVA] = 1,
+ [SPECIES_TYPHLOSION] = 1,
+ [SPECIES_TOTODILE] = 2,
+ [SPECIES_CROCONAW] = 2,
+ [SPECIES_FERALIGATR] = 2,
+ [SPECIES_SENTRET] = 2,
+ [SPECIES_FURRET] = 2,
+ [SPECIES_HOOTHOOT] = 2,
+ [SPECIES_NOCTOWL] = 2,
+ [SPECIES_LEDYBA] = 0,
+ [SPECIES_LEDIAN] = 0,
+ [SPECIES_SPINARAK] = 1,
+ [SPECIES_ARIADOS] = 0,
+ [SPECIES_CROBAT] = 2,
+ [SPECIES_CHINCHOU] = 2,
+ [SPECIES_LANTURN] = 0,
+ [SPECIES_PICHU] = 0,
+ [SPECIES_CLEFFA] = 0,
+ [SPECIES_IGGLYBUFF] = 1,
+ [SPECIES_TOGEPI] = 2,
+ [SPECIES_TOGETIC] = 2,
+ [SPECIES_NATU] = 0,
+ [SPECIES_XATU] = 0,
+ [SPECIES_MAREEP] = 2,
+ [SPECIES_FLAAFFY] = 0,
+ [SPECIES_AMPHAROS] = 0,
+ [SPECIES_BELLOSSOM] = 1,
+ [SPECIES_MARILL] = 2,
+ [SPECIES_AZUMARILL] = 2,
+ [SPECIES_SUDOWOODO] = 1,
+ [SPECIES_POLITOED] = 1,
+ [SPECIES_HOPPIP] = 1,
+ [SPECIES_SKIPLOOM] = 1,
+ [SPECIES_JUMPLUFF] = 2,
+ [SPECIES_AIPOM] = 2,
+ [SPECIES_SUNKERN] = 1,
+ [SPECIES_SUNFLORA] = 1,
+ [SPECIES_YANMA] = 1,
+ [SPECIES_WOOPER] = 0,
+ [SPECIES_QUAGSIRE] = 0,
+ [SPECIES_ESPEON] = 2,
+ [SPECIES_UMBREON] = 2,
+ [SPECIES_MURKROW] = 2,
+ [SPECIES_SLOWKING] = 0,
+ [SPECIES_MISDREAVUS] = 0,
+ [SPECIES_UNOWN] = 0,
+ [SPECIES_WOBBUFFET] = 0,
+ [SPECIES_GIRAFARIG] = 1,
+ [SPECIES_PINECO] = 0,
+ [SPECIES_FORRETRESS] = 2,
+ [SPECIES_DUNSPARCE] = 2,
+ [SPECIES_GLIGAR] = 2,
+ [SPECIES_STEELIX] = 0,
+ [SPECIES_SNUBBULL] = 0,
+ [SPECIES_GRANBULL] = 2,
+ [SPECIES_QWILFISH] = 0,
+ [SPECIES_SCIZOR] = 0,
+ [SPECIES_SHUCKLE] = 1,
+ [SPECIES_HERACROSS] = 2,
+ [SPECIES_SNEASEL] = 0,
+ [SPECIES_TEDDIURSA] = 0,
+ [SPECIES_URSARING] = 2,
+ [SPECIES_SLUGMA] = 0,
+ [SPECIES_MAGCARGO] = 0,
+ [SPECIES_SWINUB] = 2,
+ [SPECIES_PILOSWINE] = 2,
+ [SPECIES_CORSOLA] = 0,
+ [SPECIES_REMORAID] = 0,
+ [SPECIES_OCTILLERY] = 0,
+ [SPECIES_DELIBIRD] = 0,
+ [SPECIES_MANTINE] = 2,
+ [SPECIES_SKARMORY] = 0,
+ [SPECIES_HOUNDOUR] = 0,
+ [SPECIES_HOUNDOOM] = 0,
+ [SPECIES_KINGDRA] = 0,
+ [SPECIES_PHANPY] = 0,
+ [SPECIES_DONPHAN] = 0,
+ [SPECIES_PORYGON2] = 0,
+ [SPECIES_STANTLER] = 2,
+ [SPECIES_SMEARGLE] = 1,
+ [SPECIES_TYROGUE] = 2,
+ [SPECIES_HITMONTOP] = 2,
+ [SPECIES_SMOOCHUM] = 1,
+ [SPECIES_ELEKID] = 1,
+ [SPECIES_MAGBY] = 1,
+ [SPECIES_MILTANK] = 1,
+ [SPECIES_BLISSEY] = 1,
+ [SPECIES_RAIKOU] = 0,
+ [SPECIES_ENTEI] = 2,
+ [SPECIES_SUICUNE] = 0,
+ [SPECIES_LARVITAR] = 1,
+ [SPECIES_PUPITAR] = 0,
+ [SPECIES_TYRANITAR] = 1,
+ [SPECIES_LUGIA] = 0,
+ [SPECIES_HO_OH] = 1,
+ [SPECIES_CELEBI] = 1,
+ [SPECIES_OLD_UNOWN_B] = 0,
+ [SPECIES_OLD_UNOWN_C] = 0,
+ [SPECIES_OLD_UNOWN_D] = 0,
+ [SPECIES_OLD_UNOWN_E] = 0,
+ [SPECIES_OLD_UNOWN_F] = 0,
+ [SPECIES_OLD_UNOWN_G] = 0,
+ [SPECIES_OLD_UNOWN_H] = 0,
+ [SPECIES_OLD_UNOWN_I] = 0,
+ [SPECIES_OLD_UNOWN_J] = 0,
+ [SPECIES_OLD_UNOWN_K] = 0,
+ [SPECIES_OLD_UNOWN_L] = 0,
+ [SPECIES_OLD_UNOWN_M] = 0,
+ [SPECIES_OLD_UNOWN_N] = 0,
+ [SPECIES_OLD_UNOWN_O] = 0,
+ [SPECIES_OLD_UNOWN_P] = 0,
+ [SPECIES_OLD_UNOWN_Q] = 0,
+ [SPECIES_OLD_UNOWN_R] = 0,
+ [SPECIES_OLD_UNOWN_S] = 0,
+ [SPECIES_OLD_UNOWN_T] = 0,
+ [SPECIES_OLD_UNOWN_U] = 0,
+ [SPECIES_OLD_UNOWN_V] = 0,
+ [SPECIES_OLD_UNOWN_W] = 0,
+ [SPECIES_OLD_UNOWN_X] = 0,
+ [SPECIES_OLD_UNOWN_Y] = 0,
+ [SPECIES_OLD_UNOWN_Z] = 0,
+ [SPECIES_TREECKO] = 1,
+ [SPECIES_GROVYLE] = 0,
+ [SPECIES_SCEPTILE] = 1,
+ [SPECIES_TORCHIC] = 0,
+ [SPECIES_COMBUSKEN] = 0,
+ [SPECIES_BLAZIKEN] = 0,
+ [SPECIES_MUDKIP] = 0,
+ [SPECIES_MARSHTOMP] = 0,
+ [SPECIES_SWAMPERT] = 0,
+ [SPECIES_POOCHYENA] = 2,
+ [SPECIES_MIGHTYENA] = 2,
+ [SPECIES_ZIGZAGOON] = 2,
+ [SPECIES_LINOONE] = 2,
+ [SPECIES_WURMPLE] = 0,
+ [SPECIES_SILCOON] = 2,
+ [SPECIES_BEAUTIFLY] = 0,
+ [SPECIES_CASCOON] = 2,
+ [SPECIES_DUSTOX] = 1,
+ [SPECIES_LOTAD] = 1,
+ [SPECIES_LOMBRE] = 1,
+ [SPECIES_LUDICOLO] = 1,
+ [SPECIES_SEEDOT] = 1,
+ [SPECIES_NUZLEAF] = 1,
+ [SPECIES_SHIFTRY] = 0,
+ [SPECIES_NINCADA] = 1,
+ [SPECIES_NINJASK] = 1,
+ [SPECIES_SHEDINJA] = 1,
+ [SPECIES_TAILLOW] = 2,
+ [SPECIES_SWELLOW] = 2,
+ [SPECIES_SHROOMISH] = 1,
+ [SPECIES_BRELOOM] = 1,
+ [SPECIES_SPINDA] = 1,
+ [SPECIES_WINGULL] = 0,
+ [SPECIES_PELIPPER] = 0,
+ [SPECIES_SURSKIT] = 2,
+ [SPECIES_MASQUERAIN] = 0,
+ [SPECIES_WAILMER] = 2,
+ [SPECIES_WAILORD] = 0,
+ [SPECIES_SKITTY] = 0,
+ [SPECIES_DELCATTY] = 2,
+ [SPECIES_KECLEON] = 1,
+ [SPECIES_BALTOY] = 1,
+ [SPECIES_CLAYDOL] = 0,
+ [SPECIES_NOSEPASS] = 0,
+ [SPECIES_TORKOAL] = 1,
+ [SPECIES_SABLEYE] = 2,
+ [SPECIES_BARBOACH] = 0,
+ [SPECIES_WHISCASH] = 0,
+ [SPECIES_LUVDISC] = 0,
+ [SPECIES_CORPHISH] = 0,
+ [SPECIES_CRAWDAUNT] = 0,
+ [SPECIES_FEEBAS] = 2,
+ [SPECIES_MILOTIC] = 0,
+ [SPECIES_CARVANHA] = 0,
+ [SPECIES_SHARPEDO] = 0,
+ [SPECIES_TRAPINCH] = 1,
+ [SPECIES_VIBRAVA] = 1,
+ [SPECIES_FLYGON] = 1,
+ [SPECIES_MAKUHITA] = 2,
+ [SPECIES_HARIYAMA] = 1,
+ [SPECIES_ELECTRIKE] = 1,
+ [SPECIES_MANECTRIC] = 0,
+ [SPECIES_NUMEL] = 1,
+ [SPECIES_CAMERUPT] = 0,
+ [SPECIES_SPHEAL] = 2,
+ [SPECIES_SEALEO] = 2,
+ [SPECIES_WALREIN] = 0,
+ [SPECIES_CACNEA] = 1,
+ [SPECIES_CACTURNE] = 1,
+ [SPECIES_SNORUNT] = 2,
+ [SPECIES_GLALIE] = 0,
+ [SPECIES_LUNATONE] = 1,
+ [SPECIES_SOLROCK] = 0,
+ [SPECIES_AZURILL] = 2,
+ [SPECIES_SPOINK] = 0,
+ [SPECIES_GRUMPIG] = 2,
+ [SPECIES_PLUSLE] = 0,
+ [SPECIES_MINUN] = 0,
+ [SPECIES_MAWILE] = 2,
+ [SPECIES_MEDITITE] = 0,
+ [SPECIES_MEDICHAM] = 0,
+ [SPECIES_SWABLU] = 0,
+ [SPECIES_ALTARIA] = 0,
+ [SPECIES_WYNAUT] = 0,
+ [SPECIES_DUSKULL] = 0,
+ [SPECIES_DUSCLOPS] = 0,
+ [SPECIES_ROSELIA] = 0,
+ [SPECIES_SLAKOTH] = 2,
+ [SPECIES_VIGOROTH] = 2,
+ [SPECIES_SLAKING] = 1,
+ [SPECIES_GULPIN] = 1,
+ [SPECIES_SWALOT] = 2,
+ [SPECIES_TROPIUS] = 1,
+ [SPECIES_WHISMUR] = 0,
+ [SPECIES_LOUDRED] = 2,
+ [SPECIES_EXPLOUD] = 2,
+ [SPECIES_CLAMPERL] = 0,
+ [SPECIES_HUNTAIL] = 0,
+ [SPECIES_GOREBYSS] = 0,
+ [SPECIES_ABSOL] = 0,
+ [SPECIES_SHUPPET] = 0,
+ [SPECIES_BANETTE] = 0,
+ [SPECIES_SEVIPER] = 2,
+ [SPECIES_ZANGOOSE] = 0,
+ [SPECIES_RELICANTH] = 1,
+ [SPECIES_ARON] = 2,
+ [SPECIES_LAIRON] = 2,
+ [SPECIES_AGGRON] = 2,
+ [SPECIES_CASTFORM] = 0,
+ [SPECIES_VOLBEAT] = 0,
+ [SPECIES_ILLUMISE] = 2,
+ [SPECIES_LILEEP] = 2,
+ [SPECIES_CRADILY] = 0,
+ [SPECIES_ANORITH] = 0,
+ [SPECIES_ARMALDO] = 0,
+ [SPECIES_RALTS] = 1,
+ [SPECIES_KIRLIA] = 1,
+ [SPECIES_GARDEVOIR] = 1,
+ [SPECIES_BAGON] = 2,
+ [SPECIES_SHELGON] = 2,
+ [SPECIES_SALAMENCE] = 0,
+ [SPECIES_BELDUM] = 0,
+ [SPECIES_METANG] = 0,
+ [SPECIES_METAGROSS] = 0,
+ [SPECIES_REGIROCK] = 2,
+ [SPECIES_REGICE] = 2,
+ [SPECIES_REGISTEEL] = 2,
+ [SPECIES_KYOGRE] = 2,
+ [SPECIES_GROUDON] = 0,
+ [SPECIES_RAYQUAZA] = 1,
+ [SPECIES_LATIAS] = 0,
+ [SPECIES_LATIOS] = 2,
+ [SPECIES_JIRACHI] = 0,
+ [SPECIES_DEOXYS] = 0,
+ [SPECIES_CHIMECHO] = 0,
+ [SPECIES_EGG] = 1,
+ [SPECIES_UNOWN_B] = 0,
+ [SPECIES_UNOWN_C] = 0,
+ [SPECIES_UNOWN_D] = 0,
+ [SPECIES_UNOWN_E] = 0,
+ [SPECIES_UNOWN_F] = 0,
+ [SPECIES_UNOWN_G] = 0,
+ [SPECIES_UNOWN_H] = 0,
+ [SPECIES_UNOWN_I] = 0,
+ [SPECIES_UNOWN_J] = 0,
+ [SPECIES_UNOWN_K] = 0,
+ [SPECIES_UNOWN_L] = 0,
+ [SPECIES_UNOWN_M] = 0,
+ [SPECIES_UNOWN_N] = 0,
+ [SPECIES_UNOWN_O] = 0,
+ [SPECIES_UNOWN_P] = 0,
+ [SPECIES_UNOWN_Q] = 0,
+ [SPECIES_UNOWN_R] = 0,
+ [SPECIES_UNOWN_S] = 0,
+ [SPECIES_UNOWN_T] = 0,
+ [SPECIES_UNOWN_U] = 0,
+ [SPECIES_UNOWN_V] = 0,
+ [SPECIES_UNOWN_W] = 0,
+ [SPECIES_UNOWN_X] = 0,
+ [SPECIES_UNOWN_Y] = 0,
+ [SPECIES_UNOWN_Z] = 0,
+ [SPECIES_UNOWN_EMARK] = 0,
+ [SPECIES_UNOWN_QMARK] = 0,
};
const struct SpritePalette gMonIconPaletteTable[] =
@@ -1211,7 +1211,7 @@ void sub_80D304C(u16 offset)
if(offset <= 0xA0)
{
monIconPalettePtr = gMonIconPaletteTable;
- for(i = 5; i >= 0 ; i--)
+ for(i = 5; i >= 0; i--)
{
LoadPalette(monIconPalettePtr->data, offset, 0x20);
offset += 0x10;
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 465b97da2..ad56b1678 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "bg.h"
#include "event_data.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "field_weather.h"
#include "gpu_regs.h"
#include "international_string_util.h"
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index f152e70a4..f1c248a1a 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -19,7 +19,7 @@
#include "item.h"
#include "link.h"
#include "m4a.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "mon_markings.h"
diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c
index 4783f73c0..b22e1db32 100644
--- a/src/rayquaza_scene.c
+++ b/src/rayquaza_scene.c
@@ -5,7 +5,7 @@
#include "graphics.h"
#include "bg.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "palette.h"
#include "scanline_effect.h"
#include "menu.h"
@@ -89,13 +89,13 @@ static void sub_81D9868(struct Sprite *sprite, u8 animNum, s16 x, s16 y);
// const rom data
static const TaskFunc sTasksForAnimations[] =
{
- Task_DuoFightAnim, // RAY_ANIM_DUO_FIGHT_PRE
- Task_DuoFightAnim, // RAY_ANIM_DUO_FIGHT
- Task_RayTakesFlightAnim, // RAY_ANIM_TAKES_FLIGHT
- Task_RayDescendsAnim, // RAY_ANIM_DESCENDS
- Task_RayChargesAnim, // RAY_ANIM_CHARGES
- Task_RayChasesAwayAnim, // RAY_ANIM_CHACES_AWAY
- Task_EndAfterFadeScreen // RAY_ANIM_END
+ [RAY_ANIM_DUO_FIGHT_PRE] = Task_DuoFightAnim,
+ [RAY_ANIM_DUO_FIGHT] = Task_DuoFightAnim,
+ [RAY_ANIM_TAKES_FLIGHT] = Task_RayTakesFlightAnim,
+ [RAY_ANIM_DESCENDS] = Task_RayDescendsAnim,
+ [RAY_ANIM_CHARGES] = Task_RayChargesAnim,
+ [RAY_ANIM_CHACES_AWAY] = Task_RayChasesAwayAnim,
+ [RAY_ANIM_END] = Task_EndAfterFadeScreen,
};
static const struct OamData sOamData_862A6BC =
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 5f1aef1df..6d5d49265 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -1,5 +1,5 @@
#include "global.h"
-#include "malloc.h"
+#include "alloc.h"
#include "random.h"
#include "constants/items.h"
#include "text.h"
@@ -22,7 +22,7 @@
#include "constants/songs.h"
#include "menu.h"
#include "overworld.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "fldeff_80F9BCC.h"
#include "script.h"
#include "event_data.h"
@@ -647,7 +647,7 @@ static void ReceiveOldManData(OldMan *oldMan, size_t recordSize, u8 which)
static void ReceiveBattleTowerData(void *battleTowerRecord, size_t recordSize, u8 which)
{
struct EmeraldBattleTowerRecord *dest;
- struct UnknownPokemonStruct *btPokemon;
+ struct BattleTowerPokemon *btPokemon;
u32 mixIndices[4];
s32 i;
@@ -1848,7 +1848,7 @@ static void SanitizeDayCareMailForRuby(struct RecordMixingDayCareMail *src)
if (mail->message.itemId != 0)
{
if (mail->gameLanguage != LANGUAGE_JAPANESE)
- PadNameString(mail->OT_name, 0xFC);
+ PadNameString(mail->OT_name, EXT_CTRL_CODE_BEGIN);
ConvertInternationalString(mail->monName, mail->monLanguage);
}
@@ -1866,7 +1866,7 @@ static void SanitizeEmeraldBattleTowerRecord(struct EmeraldBattleTowerRecord *ds
for (i = 0; i < 4; i++)
{
- struct UnknownPokemonStruct *towerMon = &dst->party[i];
+ struct BattleTowerPokemon *towerMon = &dst->party[i];
if (towerMon->species != 0)
StripExtCtrlCodes(towerMon->nickname);
}
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index 5d79cb789..81935b7c6 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -9,7 +9,7 @@
#include "string_util.h"
#include "palette.h"
#include "save.h"
-#include "malloc.h"
+#include "alloc.h"
#include "util.h"
#include "task.h"
#include "text.h"
@@ -221,7 +221,7 @@ u8 RecordedBattle_GetBattlerAction(u8 battlerId)
ResetPaletteFadeControl();
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0);
SetMainCallback2(CB2_QuitRecordedBattle);
- return -1;
+ return 0xFF;
}
else
{
diff --git a/src/region_map.c b/src/region_map.c
index c5bcd424b..d7b53d631 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -2,7 +2,7 @@
#include "main.h"
#include "text.h"
#include "menu.h"
-#include "malloc.h"
+#include "alloc.h"
#include "gpu_regs.h"
#include "palette.h"
#include "party_menu.h"
@@ -34,15 +34,6 @@
// Static type declarations
-struct RegionMapLocation
-{
- u8 x;
- u8 y;
- u8 width;
- u8 height;
- const u8 *name;
-};
-
// Static RAM declarations
static EWRAM_DATA struct RegionMap *gRegionMap = NULL;
diff --git a/src/reset_save_heap.c b/src/reset_save_heap.c
index 1d90448b2..d7c93a75c 100644
--- a/src/reset_save_heap.c
+++ b/src/reset_save_heap.c
@@ -6,7 +6,7 @@
#include "save.h"
#include "new_game.h"
#include "overworld.h"
-#include "malloc.h"
+#include "alloc.h"
void sub_81700F8(void)
{
diff --git a/src/roamer.c b/src/roamer.c
index fbd25bfad..be45642e0 100644
--- a/src/roamer.c
+++ b/src/roamer.c
@@ -1,9 +1,10 @@
#include "global.h"
-#include "roamer.h"
+#include "event_data.h"
#include "pokemon.h"
#include "random.h"
+#include "roamer.h"
+#include "constants/maps.h"
#include "constants/species.h"
-#include "event_data.h"
enum
{
@@ -16,26 +17,26 @@ EWRAM_DATA static u8 sRoamerLocation[2] = {0};
static const u8 sRoamerLocations[][6] =
{
- { 0x19, 0x1A, 0x20, 0x21, 0x31, 0xFF },
- { 0x1A, 0x19, 0x20, 0x21, 0xFF, 0xFF },
- { 0x20, 0x1A, 0x19, 0x21, 0xFF, 0xFF },
- { 0x21, 0x20, 0x19, 0x1A, 0x22, 0x26 },
- { 0x22, 0x21, 0x23, 0xFF, 0xFF, 0xFF },
- { 0x23, 0x22, 0x24, 0xFF, 0xFF, 0xFF },
- { 0x24, 0x23, 0x25, 0x26, 0xFF, 0xFF },
- { 0x25, 0x24, 0x26, 0xFF, 0xFF, 0xFF },
- { 0x26, 0x25, 0x21, 0xFF, 0xFF, 0xFF },
- { 0x27, 0x24, 0x28, 0x29, 0xFF, 0xFF },
- { 0x28, 0x27, 0x2A, 0xFF, 0xFF, 0xFF },
- { 0x29, 0x27, 0x2A, 0xFF, 0xFF, 0xFF },
- { 0x2A, 0x28, 0x29, 0x2B, 0xFF, 0xFF },
- { 0x2B, 0x2A, 0x2C, 0xFF, 0xFF, 0xFF },
- { 0x2C, 0x2B, 0x2D, 0xFF, 0xFF, 0xFF },
- { 0x2D, 0x2C, 0x2E, 0xFF, 0xFF, 0xFF },
- { 0x2E, 0x2D, 0x2F, 0xFF, 0xFF, 0xFF },
- { 0x2F, 0x2E, 0x30, 0xFF, 0xFF, 0xFF },
- { 0x30, 0x2F, 0x31, 0xFF, 0xFF, 0xFF },
- { 0x31, 0x30, 0x19, 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE110), MAP_NUM(ROUTE111), MAP_NUM(ROUTE117), MAP_NUM(ROUTE118), MAP_NUM(ROUTE134), 0xFF },
+ { MAP_NUM(ROUTE111), MAP_NUM(ROUTE110), MAP_NUM(ROUTE117), MAP_NUM(ROUTE118), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE117), MAP_NUM(ROUTE111), MAP_NUM(ROUTE110), MAP_NUM(ROUTE118), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE118), MAP_NUM(ROUTE117), MAP_NUM(ROUTE110), MAP_NUM(ROUTE111), MAP_NUM(ROUTE119), MAP_NUM(ROUTE123) },
+ { MAP_NUM(ROUTE119), MAP_NUM(ROUTE118), MAP_NUM(ROUTE120), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE120), MAP_NUM(ROUTE119), MAP_NUM(ROUTE121), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE121), MAP_NUM(ROUTE120), MAP_NUM(ROUTE122), MAP_NUM(ROUTE123), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE122), MAP_NUM(ROUTE121), MAP_NUM(ROUTE123), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE123), MAP_NUM(ROUTE122), MAP_NUM(ROUTE118), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE124), MAP_NUM(ROUTE121), MAP_NUM(ROUTE125), MAP_NUM(ROUTE126), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE125), MAP_NUM(ROUTE124), MAP_NUM(ROUTE127), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE126), MAP_NUM(ROUTE124), MAP_NUM(ROUTE127), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE127), MAP_NUM(ROUTE125), MAP_NUM(ROUTE126), MAP_NUM(ROUTE128), 0xFF, 0xFF },
+ { MAP_NUM(ROUTE128), MAP_NUM(ROUTE127), MAP_NUM(ROUTE129), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE129), MAP_NUM(ROUTE128), MAP_NUM(ROUTE130), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE130), MAP_NUM(ROUTE129), MAP_NUM(ROUTE131), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE131), MAP_NUM(ROUTE130), MAP_NUM(ROUTE132), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE132), MAP_NUM(ROUTE131), MAP_NUM(ROUTE133), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE133), MAP_NUM(ROUTE132), MAP_NUM(ROUTE134), 0xFF, 0xFF, 0xFF },
+ { MAP_NUM(ROUTE134), MAP_NUM(ROUTE133), MAP_NUM(ROUTE110), 0xFF, 0xFF, 0xFF },
{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
};
@@ -79,7 +80,7 @@ static void CreateInitialRoamerMon(bool16 createLatios)
(&gSaveBlock1Ptr->roamer)->smart = GetMonData(&gEnemyParty[0], MON_DATA_SMART);
(&gSaveBlock1Ptr->roamer)->tough = GetMonData(&gEnemyParty[0], MON_DATA_TOUGH);
sRoamerLocation[MAP_GRP] = 0;
- sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % 20][0];
+ sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0];
}
void InitRoamer(void)
@@ -103,20 +104,20 @@ void UpdateLocationHistoryForRoamer(void)
void RoamerMoveToOtherLocationSet(void)
{
- u8 val = 0;
+ u8 mapNum = 0;
struct Roamer *roamer = &gSaveBlock1Ptr->roamer;
if (!roamer->active)
return;
- sRoamerLocation[MAP_GRP] = val;
+ sRoamerLocation[MAP_GRP] = 0;
while (1)
{
- val = sRoamerLocations[Random() % 20][0];
- if (sRoamerLocation[MAP_NUM] != val)
+ mapNum = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0];
+ if (sRoamerLocation[MAP_NUM] != mapNum)
{
- sRoamerLocation[MAP_NUM] = val;
+ sRoamerLocation[MAP_NUM] = mapNum;
return;
}
}
@@ -137,7 +138,7 @@ void RoamerMove(void)
if (!roamer->active)
return;
- while (locSet < 20)
+ while (locSet < (ARRAY_COUNT(sRoamerLocations) - 1))
{
if (sRoamerLocation[MAP_NUM] == sRoamerLocations[locSet][0])
{
diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c
index b7ca087fd..deec55c9d 100644
--- a/src/rom_8011DC0.c
+++ b/src/rom_8011DC0.c
@@ -7,7 +7,7 @@
#include "link.h"
#include "link_rfu.h"
#include "librfu.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "list_menu.h"
#include "menu_helpers.h"
@@ -32,14 +32,14 @@
#include "decompress.h"
#include "start_menu.h"
#include "data2.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
extern void HealPlayerParty(void);
struct UnkStruct_Shared
{
struct UnkLinkRfuStruct_02022B14 field_0;
- u8 needingPadding[3];
+ u8 needingPadding[2];
u8 playerName[PLAYER_NAME_LENGTH + 1];
};
@@ -63,7 +63,7 @@ struct UnkStruct_x20
struct UnkStruct_Main0
{
- struct UnkStruct_x20 arr[5];
+ struct UnkStruct_x20 arr[8];
};
struct UnkStruct_Main4
@@ -153,9 +153,7 @@ struct UnkStruct_URoom
u16 field_4C[6];
u8 field_58[0x98 - 0x58];
u16 field_98;
- u16 field_9A;
- u16 field_9C;
- u16 field_9E;
+ u16 field_9A[3];
struct UnkStruct_8019BA8 field_A0[8];
};
@@ -182,17 +180,18 @@ struct TradeUnkStruct
};
extern struct TradeUnkStruct gUnknown_02022C40;
-
+extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38;
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 gUnknown_02022C20[];
extern u8 gFieldLinkPlayerCount;
extern u8 gUnknown_03005DB4;
+extern u8 gSelectedOrderFromParty[];
+extern struct MailStruct gUnknown_020321C0[PARTY_SIZE];
+extern u8 gUnknown_02032298[2];
// IWRAM vars
IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0;
@@ -212,7 +211,7 @@ 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);
+void sub_8017580(struct UnkStruct_x20 *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);
@@ -265,7 +264,7 @@ 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_8017CF8(s32 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);
@@ -282,7 +281,10 @@ void sub_8019E3C(void);
void sub_80173B0(void);
s32 sub_8017D04(u32 type, u32 species);
void sub_8017020(const u8 *src);
-void sub_8019BA8();
+void sub_8019BA8(void *);
+s32 sub_8017EA0(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom *arg3);
+void sub_801697C(u8 taskId);
+bool8 sub_8017630(struct UnkStruct_Shared* arg0, const struct UnkStruct_Shared* arg1);
// const rom data
extern const u8 *const gUnknown_082EDB60[][5];
@@ -376,7 +378,9 @@ extern const u8 *const gUnknown_082EE82C[][4];
extern const u8 *const gUnknown_082EE24C[][2];
-extern const struct UnkStruct_Shared gUnknown_082F045C[];
+extern const struct UnkStruct_Shared gUnknown_082F045C;
+
+extern const u8 *const gUnknown_082F04D8[22];
// code
void nullsub_89(void)
@@ -484,7 +488,7 @@ void sub_8012780(u8 taskId)
data->field_0 = AllocZeroed(0xA0);
data->field_8 = AllocZeroed(0xA0);
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 5);
+ sub_8017580(data->field_0->arr, 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;
@@ -1008,7 +1012,7 @@ u8 sub_8013398(struct UnkStruct_Main0 *arg0)
ret = copiedCount;
for (; copiedCount < 5; copiedCount++)
{
- data->field_0->arr[copiedCount].unk = gUnknown_082F045C[0];
+ data->field_0->arr[copiedCount].unk = gUnknown_082F045C;
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;
@@ -1068,7 +1072,7 @@ void sub_80134E8(u8 taskId)
break;
case 2:
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 16);
+ sub_8017580(data->field_0->arr, 16);
data->field_11 = sub_8016FC0(data->field_4, gSpecialVar_0x8004);
data->field_C = AddWindow(&gUnknown_082F00BC);
data->listWindowId = AddWindow(&gUnknown_082F0174);
@@ -1370,7 +1374,7 @@ void sub_8013C7C(u8 taskId)
break;
case 2:
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 16);
+ sub_8017580(data->field_0->arr, 16);
data->field_11 = sub_8016FC0(data->field_4, 0xFF);
data->field_F = 0;
data->state = 3;
@@ -1395,8 +1399,6 @@ void sub_8013C7C(u8 taskId)
}
}
-extern const u8 *const gUnknown_082F04D8[22];
-
bool32 sub_8013D88(u32 arg0, u32 id)
{
if (id == 0xFF)
@@ -1518,9 +1520,6 @@ u8 sub_8013F78(void)
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());
@@ -1784,8 +1783,6 @@ void sub_801440C(u8 taskId)
ScriptContext2_Disable();
}
-extern u8 gSelectedOrderFromParty[];
-
void sub_8014790(u8 taskId)
{
s16 *data = gTasks[taskId].data;
@@ -1934,7 +1931,7 @@ void sub_8014A40(u8 taskId)
data->field_0 = AllocZeroed(0xA0);
data->field_8 = AllocZeroed(0xA0);
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 5);
+ sub_8017580(data->field_0->arr, 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;
@@ -2143,7 +2140,7 @@ void sub_8014F48(u8 taskId)
break;
case 2:
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 16);
+ sub_8017580(data->field_0->arr, 16);
data->field_11 = sub_8016FC0(data->field_4, data->field_12 + 7);
winTemplate1 = gUnknown_082F0174;
@@ -2312,7 +2309,7 @@ void sub_80152F4(u8 taskId)
break;
case 2:
sub_80175EC(data->field_4, 4);
- sub_8017580(data->field_0, 16);
+ sub_8017580(data->field_0->arr, 16);
data->field_11 = sub_8016FF0(data->field_4, data->field_12 + 7);
if (data->field_13 != 0)
@@ -2510,13 +2507,11 @@ 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;
+ s32 playerGender = 0;
struct UnkStruct_URoom *data = gUnknown_02022C30.uRoom;
s16 *taskData = gTasks[taskId].data;
@@ -2527,7 +2522,7 @@ void sub_80156E0(u8 taskId)
data->field_C = AllocZeroed(0x70);
data->field_0 = AllocZeroed(0x100);
data->field_8 = AllocZeroed(0x20);
- sub_8017580(data->field_0, 8);
+ sub_8017580(data->field_0->arr, 8);
gUnknown_02022C2C = 0x40;
data->field_20 = sub_8016DF0(data->field_C, data->field_4, 9);
sub_8019BA8(data->field_A0);
@@ -2545,7 +2540,7 @@ void sub_80156E0(u8 taskId)
sub_800B488();
OpenLink();
sub_8011C84();
- sub_8017580(data->field_8, 1);
+ sub_8017580(&data->field_8->arr[0], 1);
sub_80175EC(data->field_4, 4);
sub_80175EC(data->field_C, 4);
gSpecialVar_Result = 0;
@@ -2679,7 +2674,7 @@ void sub_80156E0(u8 taskId)
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->field_12 = id; // Should be just 0, but won't match any other way.
data->state = 25;
break;
case 2:
@@ -2730,6 +2725,11 @@ void sub_80156E0(u8 taskId)
data->state = 2;
}
break;
+ case 5:
+ 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 6:
var5 = sub_8017178(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_082F021C, &gUnknown_082F0244);
if (var5 != -1)
@@ -2742,16 +2742,15 @@ void sub_80156E0(u8 taskId)
{
data->field_98 = 0;
playerGender = sub_8017CF8(taskData[1], data->field_0);
- switch (var5)
+ if (var5 == -2 || var5 == 0x40)
{
- 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:
+ }
+ else
+ {
gUnknown_02022C2C = var5;
gUnknown_02022C2D = (u32)(var5) >> 8;
if (gUnknown_02022C2C == 0x41 && !sub_8018024())
@@ -2764,7 +2763,6 @@ void sub_80156E0(u8 taskId)
sub_800FE50(data->field_4C);
data->state = 27;
}
- break;
}
}
}
@@ -2823,7 +2821,7 @@ void sub_80156E0(u8 taskId)
}
}
break;
- case 5:
+
case 7:
id = sub_80179AC(&data->field_0->arr[taskData[1]]);
playerGender = sub_8017CF8(taskData[1], data->field_0);
@@ -2835,7 +2833,7 @@ void sub_80156E0(u8 taskId)
data->state = 41;
sub_800ADF8();
data->field_98 = 0;
- data->field_9A = 0;
+ data->field_9A[0] = 0;
}
break;
case 41:
@@ -2919,7 +2917,7 @@ void sub_80156E0(u8 taskId)
PlaySE(SE_PINPON);
sub_800EF7C();
data->state = 12;
- data->field_9A = 0;
+ data->field_9A[0] = 0;
break;
case 12:
if (sub_8011A80())
@@ -3019,7 +3017,7 @@ void sub_80156E0(u8 taskId)
gUnknown_02022C2C = 0x40;
sub_8015664(0x25, gStringVar4);
memset(data->field_4C, 0, sizeof(data->field_4C));
- data->field_9A = 0;
+ data->field_9A[0] = 0;
data->field_98 = 0;
}
break;
@@ -3262,4 +3260,247 @@ void var_800D_set_xB(void)
gSpecialVar_Result = 11;
}
+void sub_801689C(struct UnkStruct_URoom *arg0)
+{
+ if (gRecvCmds[1][1] != 0 && (gRecvCmds[1][0] & 0xFF00) == 0x2F00)
+ {
+ arg0->field_9A[0] = gRecvCmds[1][1];
+ if (gRecvCmds[1][1] == 0x44)
+ {
+ arg0->field_9A[1] = gRecvCmds[1][2];
+ arg0->field_9A[2] = gRecvCmds[1][3];
+ }
+ }
+}
+
+bool32 sub_80168DC(struct UnkStruct_URoom *arg0)
+{
+ if (arg0->field_9A[0] != 0)
+ {
+ s32 var = sub_8017EA0(gStringVar4, gLinkPlayers[1].gender, &arg0->field_9A[0], arg0);
+ if (var == 0)
+ {
+ return TRUE;
+ }
+ else if (var == 1)
+ {
+ arg0->state = 35;
+ gUnknown_02022C2C = arg0->field_9A[0];
+ return FALSE;
+ }
+ else if (var == 2)
+ {
+ arg0->state = 36;
+ sub_800AC34();
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+void sub_8016934(void)
+{
+ struct UnkStruct_URoom *ptr;
+
+ gUnknown_02022C20[0] = EOS;
+ CreateTask(sub_801697C, 0);
+ gUnknown_02022C30.uRoom = gUnknown_02022C30.uRoom; // Needed to match.
+ gUnknown_02022C30.uRoom = ptr = AllocZeroed(0x26C);
+ gUnknown_03000DA8 = gUnknown_02022C30.uRoom;
+ ptr->state = 0;
+ ptr->textState = 0;
+ ptr->field_10 = 0;
+ ptr->field_12 = 0;
+ gUnknown_02022C20[0] = EOS;
+}
+
+void sub_801697C(u8 taskId)
+{
+ s32 i;
+ u8 text[32];
+ struct UnkStruct_URoom *structPtr = gUnknown_02022C30.uRoom;
+
+ switch (structPtr->state)
+ {
+ case 0:
+ structPtr->state = 1;
+ break;
+ case 1:
+ sub_8010F84(0xC, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C84();
+ sub_80111B0(1);
+ structPtr->state = 2;
+ break;
+ case 2:
+ structPtr->field_4 = AllocZeroed(0x70);
+ sub_80175EC(structPtr->field_4, 4);
+ structPtr->field_C = AllocZeroed(0x70);
+ sub_80175EC(structPtr->field_C, 4);
+ structPtr->field_0 = AllocZeroed(0x100);
+ sub_8017580(structPtr->field_0->arr, 8);
+ structPtr->field_8 = AllocZeroed(0x20);
+ sub_8017580(&structPtr->field_8->arr[0], 1);
+ structPtr->field_20 = sub_8016DF0(structPtr->field_C, structPtr->field_4, 10);
+ structPtr->state = 3;
+ break;
+ case 3:
+ switch (sub_8016B00())
+ {
+ case 1:
+ case 2:
+ if (gUnknown_02022C20[0] == EOS)
+ {
+ for (i = 0; i < PLAYER_NAME_LENGTH + 1; i++)
+ {
+ if (structPtr->field_0->arr[i].field_1A_0 == 1)
+ {
+ sub_8018404(text, &structPtr->field_0->arr[i]);
+ if (sub_800E540(ReadAsU16(structPtr->field_0->arr[i].unk.field_0.unk_00.playerTrainerId), text))
+ {
+ StringCopy(gUnknown_02022C20, text);
+ break;
+ }
+ }
+ }
+ }
+ break;
+ case 3:
+ break;
+ }
+ break;
+ case 4:
+ free(structPtr->field_8);
+ free(structPtr->field_0);
+ free(structPtr->field_C);
+ free(structPtr->field_4);
+ DestroyTask(structPtr->field_20);
+ free(gUnknown_02022C30.uRoom);
+ sub_800EDD4();
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+bool16 sp182_move_string(void)
+{
+ if (gUnknown_02022C20[0] != EOS)
+ {
+ StringCopy(gStringVar1, gUnknown_02022C20);
+ gUnknown_02022C20[0] = EOS;
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
+u8 sub_8016B00(void)
+{
+ s32 i;
+ u8 j;
+ struct UnkStruct_URoom *structPtr = gUnknown_02022C30.uRoom;
+ s32 r7 = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (sub_8017630(&structPtr->field_C->arr[i].unk0, &gUnknown_082F045C) == TRUE)
+ {
+ structPtr->field_8->arr[0].unk = structPtr->field_C->arr[i].unk0;
+ structPtr->field_8->arr[0].field_18 = 0;
+ structPtr->field_8->arr[0].field_1A_0 = 1;
+ structPtr->field_8->arr[0].field_1B = 1;
+ return 4;
+ }
+ }
+ for (j = 0; j < 8; j++)
+ {
+ if (structPtr->field_0->arr[j].field_1A_0 != 0)
+ {
+ i = sub_80176E4(&structPtr->field_0->arr[j], &structPtr->field_4->arr[0]);
+ if (i != 0xFF)
+ {
+ if (structPtr->field_0->arr[j].field_1A_0 == 1)
+ {
+ if (sub_8017678(&structPtr->field_0->arr[j], &structPtr->field_4->arr[i]))
+ {
+ structPtr->field_0->arr[j].unk = structPtr->field_4->arr[i].unk0;
+ structPtr->field_0->arr[j].field_1B = 0x40;
+ r7 = 1;
+ }
+ else if (structPtr->field_0->arr[j].field_1B != 0)
+ {
+ structPtr->field_0->arr[j].field_1B--;
+ if (structPtr->field_0->arr[j].field_1B == 0)
+ r7 = 2;
+ }
+ }
+ else
+ {
+ structPtr->field_0->arr[j].field_1A_0 = 1;
+ structPtr->field_0->arr[j].field_1B = 0;
+ r7 = 2;
+ }
+ structPtr->field_0->arr[j].field_18 = 0;
+ }
+ else if (structPtr->field_0->arr[j].field_1A_0 != 2)
+ {
+ structPtr->field_0->arr[j].field_18++;
+ if (structPtr->field_0->arr[j].field_18 >= 600)
+ {
+ structPtr->field_0->arr[j].field_1A_0 = 2;
+ r7 = 2;
+ }
+ }
+ else if (structPtr->field_0->arr[j].field_1A_0 == 2)
+ {
+ structPtr->field_0->arr[j].field_18++;
+ if (structPtr->field_0->arr[j].field_18 >= 900)
+ {
+ sub_8017580(&structPtr->field_0->arr[j], 1);
+ }
+ }
+ }
+ }
+ for (i = 0; i < 4; i++)
+ {
+ if (sub_8017734(&structPtr->field_0->arr[0], &structPtr->field_4->arr[i].unk0, 8) != 0xFF)
+ r7 = 1;
+ }
+
+ return r7;
+}
+
+/*
+void sub_8016CA0(u8 taskId)
+{
+ s32 i, j;
+ struct UnkLinkRfuStruct_02022B14 sp0;
+ u8 text[10];
+ struct UnkStruct_Main4 *ptr = (void*) gTasks[taskId].data;
+
+ for (i = 0; i < 4; i++)
+ {
+ j = sub_800DE7C(&sp0, text, i);
+ if (!sub_8013D88(sp0.unk_0a_0, gTasks[taskId].data[4]))
+ sp0 = gUnknown_082F045C.field_0;
+ if (sp0.unk_00.unk_00_0 == 1)
+ sp0 = gUnknown_082F045C.field_0;
+
+ if (!j)
+ {
+ for (j = 0; j < i; j++)
+ {
+ if (sub_8017630())
+ }
+ }
+ else
+ {
+
+ }
+ }
+}
*/
diff --git a/src/rom_8034C54.c b/src/rom_8034C54.c
index 1ef223c69..e175ecc64 100644
--- a/src/rom_8034C54.c
+++ b/src/rom_8034C54.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "rom_8034C54.h"
-#include "malloc.h"
+#include "alloc.h"
#include "decompress.h"
#include "main.h"
@@ -31,8 +31,6 @@ struct UnkStruct1
struct UnkStruct2 *array;
};
-extern struct UnkStruct1 *gUnknown_02022E10;
-
extern const struct SpriteTemplate gUnknown_0831AC88;
// this file's functions
@@ -50,6 +48,9 @@ static IWRAM_DATA s32 gUnknown_03000DD4;
static IWRAM_DATA s32 gUnknown_03000DD8;
static IWRAM_DATA s32 gUnknown_03000DDC;
+// ewram
+static EWRAM_DATA struct UnkStruct1 *gUnknown_02022E10 = {0};
+
// const rom data
static const u8 gUnknown_082FF1C8[][4] =
{
diff --git a/src/rom_81520A8.c b/src/rom_81520A8.c
index f6d14d49c..f06823594 100644
--- a/src/rom_81520A8.c
+++ b/src/rom_81520A8.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "rom_81520A8.h"
-#include "malloc.h"
+#include "alloc.h"
#include "main.h"
#include "rom_8034C54.h"
diff --git a/src/rotating_gate.c b/src/rotating_gate.c
index fcced6c8c..3513f092e 100644
--- a/src/rotating_gate.c
+++ b/src/rotating_gate.c
@@ -2,10 +2,11 @@
#include "bike.h"
#include "event_data.h"
#include "event_object_movement.h"
-#include "constants/maps.h"
-#include "constants/songs.h"
+#include "fieldmap.h"
#include "sound.h"
#include "sprite.h"
+#include "constants/maps.h"
+#include "constants/songs.h"
#define ROTATING_GATE_TILE_TAG 0x1300
#define ROTATING_GATE_PUZZLE_MAX 12
@@ -638,9 +639,7 @@ static s32 GetCurrentMapRotatingGatePuzzleType(void)
static void RotatingGate_ResetAllGateOrientations(void)
{
s32 i;
- u8 *ptr;
-
- ptr = (u8 *)GetVarPointer(VAR_TEMP_0);
+ u8 *ptr = (u8 *)GetVarPointer(VAR_TEMP_0);
for (i = 0; i < gRotatingGate_PuzzleCount; i++)
{
@@ -715,12 +714,10 @@ static void RotatingGate_CreateGatesWithinViewport(s16 deltaX, s16 deltaY)
s16 y = gSaveBlock1Ptr->pos.y - 2;
s16 y2 = gSaveBlock1Ptr->pos.y + 0xe;
- s16 x3, y3;
-
for (i = 0; i < gRotatingGate_PuzzleCount; i++)
{
- x3 = gRotatingGate_PuzzleConfig[i].x + 7;
- y3 = gRotatingGate_PuzzleConfig[i].y + 7;
+ s16 x3 = gRotatingGate_PuzzleConfig[i].x + 7;
+ s16 y3 = gRotatingGate_PuzzleConfig[i].y + 7;
if (y <= y3 && y2 >= y3 && x <= x3 && x2 >= x3 &&
gRotatingGate_GateSpriteIds[i] == MAX_SPRITES)
@@ -734,11 +731,10 @@ static u8 RotatingGate_CreateGate(u8 gateId, s16 deltaX, s16 deltaY)
{
struct Sprite *sprite;
struct SpriteTemplate template;
- const struct RotatingGatePuzzle *gate;
u8 spriteId;
s16 x, y;
- gate = &gRotatingGate_PuzzleConfig[gateId];
+ const struct RotatingGatePuzzle *gate = &gRotatingGate_PuzzleConfig[gateId];
if (gate->shape == GATE_SHAPE_L1 || gate->shape == GATE_SHAPE_T1)
template = sSpriteTemplate_RotatingGateRegular;
@@ -767,12 +763,9 @@ static u8 RotatingGate_CreateGate(u8 gateId, s16 deltaX, s16 deltaY)
static void SpriteCallback_RotatingGate(struct Sprite *sprite)
{
- u8 rotationDirection;
- u8 orientation;
u8 affineAnimation;
-
- rotationDirection = sprite->data[1];
- orientation = sprite->data[2];
+ u8 rotationDirection = sprite->data[1];
+ u8 orientation = sprite->data[2];
RotatingGate_HideGatesOutsideViewport(sprite);
@@ -802,10 +795,8 @@ static void SpriteCallback_RotatingGate(struct Sprite *sprite)
static void RotatingGate_HideGatesOutsideViewport(struct Sprite *sprite)
{
- u16 x;
- s16 x2;
- u16 y;
- s16 y2;
+ u16 x, y;
+ s16 x2, y2;
sprite->invisible = FALSE;
x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
@@ -830,35 +821,27 @@ static void LoadRotatingGatePics(void)
LoadSpriteSheets(sRotatingGatesGraphicsTable);
}
-/*
-static*/ void RotatingGate_DestroyGatesOutsideViewport(void)
+static void RotatingGate_DestroyGatesOutsideViewport(void)
{
- s16 x;
- s16 x2;
- s16 y;
- s16 y2;
- s16 xGate;
- s16 yGate;
s32 i;
- struct Sprite *sprite;
// Same as RotatingGate_CreateGatesWithinViewport
- x = gSaveBlock1Ptr->pos.x - 2;
- x2 = gSaveBlock1Ptr->pos.x + 0x11;
- y = gSaveBlock1Ptr->pos.y - 2;
- y2 = gSaveBlock1Ptr->pos.y + 0xe;
+ s16 x = gSaveBlock1Ptr->pos.x - 2;
+ s16 x2 = gSaveBlock1Ptr->pos.x + 0x11;
+ s16 y = gSaveBlock1Ptr->pos.y - 2;
+ s16 y2 = gSaveBlock1Ptr->pos.y + 0xe;
for (i = 0; i < gRotatingGate_PuzzleCount; i++)
{
- xGate = gRotatingGate_PuzzleConfig[i].x + 7;
- yGate = gRotatingGate_PuzzleConfig[i].y + 7;
+ s16 xGate = gRotatingGate_PuzzleConfig[i].x + 7;
+ s16 yGate = gRotatingGate_PuzzleConfig[i].y + 7;
if (gRotatingGate_GateSpriteIds[i] == MAX_SPRITES)
continue;
if (xGate < x || xGate > x2 || yGate < y || yGate > y2)
{
- sprite = &gSprites[gRotatingGate_GateSpriteIds[i]];
+ struct Sprite *sprite = &gSprites[gRotatingGate_GateSpriteIds[i]];
FreeSpriteOamMatrix(sprite);
DestroySprite(sprite);
gRotatingGate_GateSpriteIds[i] = MAX_SPRITES;
@@ -866,23 +849,13 @@ static*/ void RotatingGate_DestroyGatesOutsideViewport(void)
}
}
-
-#ifdef NONMATCHING
-bool8 MapGridIsImpassableAt(s32, s32); //fool the compiler
-
-static s32 RotatingGate_CanRotate(u8 gateId, s16 rotationDirection)
+static s32 RotatingGate_CanRotate(u8 gateId, s32 rotationDirection)
{
const struct Coords8 *armPos;
u8 orientation;
- s16 x;
- s16 y;
+ s16 x, y;
u8 shape;
- u32 shape8;
- s32 i;
- s32 j;
- s32 armOrientation;
- const u8 *gateArmCollisionData;
- u8 armIndex;
+ s32 i, j;
if (rotationDirection == ROTATE_ANTICLOCKWISE)
armPos = sRotatingGate_ArmPositionsAntiClockwiseRotation;
@@ -897,166 +870,40 @@ static s32 RotatingGate_CanRotate(u8 gateId, s16 rotationDirection)
x = gRotatingGate_PuzzleConfig[gateId].x + 7;
y = gRotatingGate_PuzzleConfig[gateId].y + 7;
-
// Loop through the gate's "arms" clockwise (north, south, east, west)
- for (i = GATE_ARM_NORTH, shape8 = shape* 4*2 ; i <= GATE_ARM_WEST; i++)
+ for (i = GATE_ARM_NORTH; i <= GATE_ARM_WEST; i++)
{
// Ensure that no part of the arm collides with the map
- for (j = 0, armOrientation = orientation + i, gateArmCollisionData = (u8 *)((u32)sRotatingGate_ArmLayout + shape8 + 2*i); j < GATE_ARM_MAX_LENGTH; j++)
+ for (j = 0; j < GATE_ARM_MAX_LENGTH; j++)
{
- armIndex = 2 * (armOrientation % 4) + j;
+ u8 armIndex = 2 * ((orientation + i) % 4) + j;
- if (*gateArmCollisionData)
+ if (sRotatingGate_ArmLayout[shape][2 * i + j])
{
- if (MapGridIsImpassableAt(x + armPos[armIndex].deltaX, y + armPos[armIndex].deltaY) == TRUE)
+ if (MapGridIsImpassableAt(x + armPos[armIndex].x, y + armPos[armIndex].y) == TRUE)
return FALSE;
}
- gateArmCollisionData++;
}
}
return TRUE;
}
-#else
-NAKED
-static s32 RotatingGate_CanRotate(u8 a, s16 rotationDirection)
-{
- asm(".syntax unified\n\
- push {r4-r7,lr}\n\
- mov r7, r10\n\
- mov r6, r9\n\
- mov r5, r8\n\
- push {r5-r7}\n\
- sub sp, 0xC\n\
- lsls r0, 24\n\
- lsrs r4, r0, 24\n\
- cmp r1, 0x1\n\
- bne _080FBCFC\n\
- ldr r0, =sRotatingGate_ArmPositionsAntiClockwiseRotation\n\
- mov r10, r0\n\
- b _080FBD08\n\
- .pool\n\
-_080FBCFC:\n\
- cmp r1, 0x2\n\
- beq _080FBD04\n\
-_080FBD00:\n\
- movs r0, 0\n\
- b _080FBD98\n\
-_080FBD04:\n\
- ldr r1, =sRotatingGate_ArmPositionsClockwiseRotation\n\
- mov r10, r1\n\
-_080FBD08:\n\
- adds r0, r4, 0\n\
- bl RotatingGate_GetGateOrientation\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- str r0, [sp]\n\
- ldr r0, =gRotatingGate_PuzzleConfig\n\
- ldr r1, [r0]\n\
- lsls r0, r4, 3\n\
- adds r0, r1\n\
- ldrb r2, [r0, 0x4]\n\
- ldrh r1, [r0]\n\
- adds r1, 0x7\n\
- ldrh r0, [r0, 0x2]\n\
- adds r0, 0x7\n\
- movs r3, 0\n\
- lsls r2, 3\n\
- str r2, [sp, 0x4]\n\
- lsls r1, 16\n\
- asrs r1, 16\n\
- mov r9, r1\n\
- lsls r0, 16\n\
- asrs r0, 16\n\
- mov r8, r0\n\
-_080FBD38:\n\
- movs r6, 0\n\
- ldr r2, [sp]\n\
- adds r7, r2, r3\n\
- lsls r0, r3, 1\n\
- adds r5, r7, 0\n\
- ldr r1, [sp, 0x4]\n\
- adds r0, r1\n\
- ldr r2, =sRotatingGate_ArmLayout\n\
- adds r4, r0, r2\n\
-_080FBD4A:\n\
- adds r0, r5, 0\n\
- cmp r5, 0\n\
- bge _080FBD52\n\
- adds r0, r7, 0x3\n\
-_080FBD52:\n\
- asrs r0, 2\n\
- lsls r0, 2\n\
- subs r0, r5, r0\n\
- lsls r0, 1\n\
- adds r0, r6\n\
- lsls r0, 24\n\
- lsrs r1, r0, 24\n\
- ldrb r0, [r4]\n\
- cmp r0, 0\n\
- beq _080FBD88\n\
- lsls r1, 2\n\
- add r1, r10\n\
- movs r0, 0\n\
- ldrsb r0, [r1, r0]\n\
- add r0, r9\n\
- ldrb r1, [r1, 0x1]\n\
- lsls r1, 24\n\
- asrs r1, 24\n\
- add r1, r8\n\
- str r3, [sp, 0x8]\n\
- bl MapGridIsImpassableAt\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- ldr r3, [sp, 0x8]\n\
- cmp r0, 0x1\n\
- beq _080FBD00\n\
-_080FBD88:\n\
- adds r4, 0x1\n\
- adds r6, 0x1\n\
- cmp r6, 0x1\n\
- ble _080FBD4A\n\
- adds r3, 0x1\n\
- cmp r3, 0x3\n\
- ble _080FBD38\n\
- movs r0, 0x1\n\
-_080FBD98:\n\
- add sp, 0xC\n\
- pop {r3-r5}\n\
- mov r8, r3\n\
- mov r9, r4\n\
- mov r10, r5\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1\n\
- .pool\n\
-.syntax divided\n");
-}
-#endif
-
static s32 RotatingGate_HasArm(u8 gateId, u8 armInfo)
{
- s32 isLongArm;
- s8 armOrientation;
- s32 arm;
- s32 shape;
-
- arm = armInfo >> 1;
- isLongArm = armInfo & 1;
+ s32 arm = armInfo / 2;
+ s32 isLongArm = armInfo % 2;
- armOrientation = (arm - RotatingGate_GetGateOrientation(gateId) + 4) % 4;
- shape = gRotatingGate_PuzzleConfig[gateId].shape;
+ s8 armOrientation = (arm - RotatingGate_GetGateOrientation(gateId) + 4) % 4;
+ s32 shape = gRotatingGate_PuzzleConfig[gateId].shape;
return sRotatingGate_ArmLayout[shape][armOrientation * 2 + isLongArm];
}
static void RotatingGate_TriggerRotationAnimation(u8 gateId, s32 rotationDirection)
{
- struct Sprite *sprite;
-
if (gRotatingGate_GateSpriteIds[gateId] != MAX_SPRITES)
{
- sprite = &gSprites[gRotatingGate_GateSpriteIds[gateId]];
+ struct Sprite *sprite = &gSprites[gRotatingGate_GateSpriteIds[gateId]];
sprite->data[1] = rotationDirection;
sprite->data[2] = RotatingGate_GetGateOrientation(gateId);
}
@@ -1064,7 +911,7 @@ static void RotatingGate_TriggerRotationAnimation(u8 gateId, s32 rotationDirecti
static u8 RotatingGate_GetRotationInfo(u8 direction, s16 x, s16 y)
{
- register const u8 *ptr;
+ const u8 *ptr;
if (direction == DIR_NORTH)
ptr = sRotatingGate_RotationInfoNorth;
diff --git a/src/roulette_util.c b/src/roulette_util.c
new file mode 100755
index 000000000..a197cfa09
--- /dev/null
+++ b/src/roulette_util.c
@@ -0,0 +1,700 @@
+#include "global.h"
+#include "palette.h"
+#include "roulette.h"
+#include "roulette_util.h"
+#include "util.h"
+
+void sub_8151678(struct UnkStruct0 *r0)
+{
+ r0->var00 = 0;
+ r0->var02 = 0;
+ memset(&r0->var04, 0, sizeof(r0->var04));
+}
+
+u8 sub_815168C(struct UnkStruct0 *r0, u8 r1, struct UnkStruct1 *r2)
+{
+ if (!(r1 < 16) || (r0->var04[r1].var00_7))
+ return 0xFF;
+
+ r0->var04[r1].var04.var00 = r2->var00;
+ r0->var04[r1].var04.var02 = r2->var02;
+ r0->var04[r1].var04.var04 = r2->var04;
+ r0->var04[r1].var04.var05 = r2->var05;
+ r0->var04[r1].var04.var06 = r2->var06;
+ r0->var04[r1].var04.var07_0 = r2->var07_0;
+ r0->var04[r1].var04.var07_5 = r2->var07_5;
+ r0->var04[r1].var04.var07_7 = r2->var07_7;
+ r0->var04[r1].var00_0 = 0;
+ r0->var04[r1].var00_7 = 1;
+ r0->var04[r1].var02 = 0;
+ r0->var04[r1].var01 = 0;
+ if (r0->var04[r1].var04.var07_7 < 0)
+ r0->var04[r1].var03 = 0xFF;
+ else
+ r0->var04[r1].var03 = 1;
+
+ return r1;
+}
+
+u8 sub_8151710(struct UnkStruct0 *r0, u8 r1)
+{
+ if (r1 >= 16)
+ return 0xFF;
+ if (!r0->var04[r1].var00_7)
+ return 0xFF;
+
+ memset(&r0->var04[r1], 0, sizeof(r0->var04[r1]));
+ return r1;
+}
+
+u8 sub_8151744(struct UnkStruct3 *r0)
+{
+ u8 i;
+ u8 returnval;
+
+ for (i = 0; i < r0->var04.var04; i++)
+ {
+ struct PlttData *faded = (struct PlttData *)&gPlttBufferFaded[r0->var04.var02 + i];
+ struct PlttData *unfaded = (struct PlttData *)&gPlttBufferUnfaded[r0->var04.var02 + i];
+
+ switch (r0->var00_0)
+ {
+ case 1:
+ if (faded->r + r0->var03 >= 0 && faded->r + r0->var03 < 32)
+ faded->r += r0->var03;
+ if (faded->g + r0->var03 >= 0 && faded->g + r0->var03 < 32)
+ faded->g += r0->var03;
+ if (faded->b + r0->var03 >= 0 && faded->b + r0->var03 < 32)
+ faded->b += r0->var03;
+ break;
+ case 2:
+ if (r0->var03 < 0)
+ {
+ if (faded->r + r0->var03 >= unfaded->r)
+ faded->r += r0->var03;
+ if (faded->g + r0->var03 >= unfaded->g)
+ faded->g += r0->var03;
+ if (faded->b + r0->var03 >= unfaded->b)
+ faded->b += r0->var03;
+ }
+ else
+ {
+ if (faded->r + r0->var03 <= unfaded->r)
+ faded->r += r0->var03;
+ if (faded->g + r0->var03 <= unfaded->g)
+ faded->g += r0->var03;
+ if (faded->b + r0->var03 <= unfaded->b)
+ faded->b += r0->var03;
+ }
+ break;
+ }
+ }
+ if ((u32)r0->var02++ != r0->var04.var07_0)
+ {
+ returnval = 0;
+ }
+ else
+ {
+ r0->var02 = 0;
+ r0->var03 *= -1;
+ if (r0->var00_0 == 1)
+ r0->var00_0++;
+ else
+ r0->var00_0--;
+ returnval = 1;
+ }
+ return returnval;
+}
+
+u8 sub_815194C(struct UnkStruct3 *r0)
+{
+ u8 rg2 = 0;
+
+ switch (r0->var00_0)
+ {
+ case 1:
+ for (rg2 = 0; rg2 < r0->var04.var04; rg2++)
+ gPlttBufferFaded[r0->var04.var02 + rg2] = r0->var04.var00;
+ r0->var00_0++;
+ break;
+ case 2:
+ for (rg2 = 0; rg2 < r0->var04.var04; rg2++)
+ gPlttBufferFaded[r0->var04.var02 + rg2] = gPlttBufferUnfaded[r0->var04.var02 + rg2];
+ r0->var00_0--;
+ break;
+ }
+ return 1;
+}
+
+void task_tutorial_controls_fadein(struct UnkStruct0 *r0)
+{
+ u8 i = 0;
+
+ if (r0->var00)
+ {
+ for (i = 0; i < 16; i++)
+ {
+ if ((r0->var02 >> i) & 1)
+ {
+ if (--r0->var04[i].var01 == 0xFF) // if underflow ?
+ {
+ if (r0->var04[i].var04.var00 & 0x8000) // PlttData->unused_15 ?
+ sub_8151744(&r0->var04[i]);
+ else
+ sub_815194C(&r0->var04[i]);
+
+ r0->var04[i].var01 = r0->var04[i].var04.var05;
+ }
+ }
+ }
+ }
+}
+
+void sub_8151A48(struct UnkStruct0 *r0, u16 r1)
+{
+ u8 i = 0;
+
+ r0->var00++;
+ for (i = 0; i < 16; i++)
+ {
+ if ((r1 >> i) & 1)
+ {
+ if (r0->var04[i].var00_7)
+ {
+ r0->var02 |= 1 << i;
+ r0->var04[i].var00_0 = 1;
+ }
+ }
+ }
+}
+
+void sub_8151A9C(struct UnkStruct0 *r0, u16 r1)
+{
+ u8 i;
+
+ for (i = 0; i < 16; i++)
+ {
+ if ((r0->var02 >> i) & 1)
+ {
+ if (r0->var04[i].var00_7)
+ {
+ if ((r1 >> i) & 1)
+ {
+ u32 offset = r0->var04[i].var04.var02;
+ u16 *faded = &gPlttBufferFaded[offset];
+ u16 *unfaded = &gPlttBufferUnfaded[offset];
+ memcpy(faded, unfaded, r0->var04[i].var04.var04 * 2);
+ r0->var04[i].var00_0 = 0;
+ r0->var04[i].var02 = 0;
+ r0->var04[i].var01 = 0;
+ if (r0->var04[i].var04.var07_7 < 0)
+ r0->var04[i].var03 = 0xFF;
+ else
+ r0->var04[i].var03 = 0x1;
+ }
+ }
+ }
+ }
+ if (r1 == 0xFFFF)
+ {
+ r0->var00 = 0;
+ r0->var02 = 0;
+ }
+ else
+ {
+ r0->var02 = r0->var02 & ~r1;
+ }
+}
+
+void sub_8151B3C(struct InnerStruct203CF18 *arg0)
+{
+ u8 i = 0;
+ arg0->unk0 = 0;
+ memset(&arg0->unk4, 0, sizeof(arg0->unk4));
+ for (; i < 16; i++)
+ {
+ arg0->unk4[i].unk0 = i;
+ }
+}
+
+int sub_8151B68(struct InnerStruct203CF18 *arg0, const struct InnerStruct203CF18_3 *arg1)
+{
+ u8 i = 0;
+ struct InnerStruct203CF18_2 *r4 = NULL;
+
+ if (!arg0->unk4[0].unk1_7)
+ {
+ r4 = &arg0->unk4[0];
+ }
+ else
+ {
+ while (++i < 16)
+ {
+ if (!arg0->unk4[i].unk1_7)
+ {
+ r4 = &arg0->unk4[i];
+ break;
+ }
+ }
+ }
+
+ if (r4 == 0)
+ return 0xFF;
+
+ r4->unk1_0 = 0;
+ r4->unk1_4 = 0;
+ r4->unk1_6 = 1;
+ r4->unk1_7 = 1;
+ r4->unk2 = 0;
+ r4->unk3 = 0;
+ memcpy(&r4->unk4, arg1, sizeof(*arg1));
+ return i;
+}
+
+void sub_8151BD4(struct InnerStruct203CF18_2 *arg0)
+{
+ u16 i;
+
+ if (!arg0->unk1_6 && arg0->unk4.unk7_6)
+ {
+ for (i = arg0->unk4.unk2; i < arg0->unk4.unk2 + arg0->unk4.unk4; i++)
+ gPlttBufferFaded[i] = gPlttBufferUnfaded[i];
+ }
+
+ memset(&arg0->unk4, 0, sizeof(arg0->unk4));
+ arg0->unk1_0 = 0;
+ arg0->unk1_4 = 0;
+ arg0->unk1_5 = 0;
+ arg0->unk1_6 = 1;
+ arg0->unk1_7 = 0;
+ arg0->unk3 = 0;
+ arg0->unk2 = 0;
+}
+
+void sub_8151C50(struct InnerStruct203CF18 *arg0, u16 arg1, u8 arg2)
+{
+ u16 i = 0;
+
+ if (!arg2)
+ {
+ sub_8151BD4(&arg0->unk4[arg1 & 0xF]);
+ }
+ else
+ {
+ for (i = 0; i < 16; i++)
+ {
+ if ((arg1 & 1) && arg0->unk4[i].unk1_7)
+ sub_8151BD4(&arg0->unk4[i]);
+
+ arg1 >>= 1;
+ }
+ }
+}
+
+// there seems to be a temp var involved inside the first if block
+void sub_8151CA8(struct InnerStruct203CF18 *arg0, u16 arg1, u8 arg2)
+{
+ u8 i = 0;
+
+ if (!arg2)
+ {
+ i = arg1 & 0xF;
+ arg0->unk4[i].unk1_6 = 0;
+ arg0->unk0 |= 1 << i;
+ }
+ else
+ {
+ for (i = 0; i < 16; i++)
+ {
+ if (!(arg1 & 1) || !arg0->unk4[i].unk1_7 || !arg0->unk4[i].unk1_6)
+ {
+ arg1 <<= 1;
+ }
+ else
+ {
+ arg0->unk4[i].unk1_6 = 0;
+ arg0->unk0 |= 1 << i;
+ }
+ }
+ }
+}
+
+void sub_8151D28(struct InnerStruct203CF18 *arg0, u16 arg1, u8 arg2)
+{
+ u16 i;
+ struct InnerStruct203CF18_2 *var0;
+ u8 j = 0;
+
+ if (!arg2)
+ {
+ var0 = &arg0->unk4[arg1 & 0xF];
+ if (!var0->unk1_6 && var0->unk1_7)
+ {
+ if (var0->unk4.unk7_6)
+ {
+ for (i = var0->unk4.unk2; i < var0->unk4.unk2 + var0->unk4.unk4; i++)
+ gPlttBufferFaded[i] = gPlttBufferUnfaded[i];
+ }
+
+ var0->unk1_6 = 1;
+ arg0->unk0 &= ~(1 << j);
+ }
+ }
+ else
+ {
+ for (j = 0; j < 16; j++)
+ {
+ var0 = &arg0->unk4[j];
+ if (!(arg1 & 1) || var0->unk1_6 || !var0->unk1_7)
+ {
+ arg1 <<= 1;
+ }
+ else
+ {
+ if (var0->unk4.unk7_6)
+ {
+ for (i = var0->unk4.unk2; i < var0->unk4.unk2 + var0->unk4.unk4; i++)
+ gPlttBufferFaded[i] = gPlttBufferUnfaded[i];
+ }
+
+ var0->unk1_6 = 1;
+ arg0->unk0 &= ~(1 << j);
+ }
+ }
+ }
+}
+
+#ifdef NONMATCHING
+void sub_8151E50(struct InnerStruct203CF18 *arg0)
+{
+ struct InnerStruct203CF18_2 *var0;
+ u8 i = 0;
+
+ if (arg0->unk0)
+ {
+ for (i = 0; i < 16; i++)
+ {
+ var0 = &arg0->unk4[i];
+ if ((!var0->unk1_6 && var0->unk1_7) && (!gPaletteFade.active || !var0->unk4.unk7_7))
+ {
+ if (--var0->unk2 == 0xFF)
+ {
+ var0->unk2 = var0->unk4.unk5;
+ BlendPalette(var0->unk4.unk2, var0->unk4.unk4, var0->unk1_0, var0->unk4.unk0);
+ switch (var0->unk4.unk7_4)
+ {
+ case 0:
+ if (var0->unk1_0++ == var0->unk4.unk7_0)
+ {
+ var0->unk3++;
+ var0->unk1_0 = 0;
+ }
+ break;
+ case 1:
+ if (var0->unk1_4)
+ {
+ if (--var0->unk1_0 == 0)
+ {
+ var0->unk3++;
+ var0->unk1_4 ^= 1;
+ }
+ }
+ else
+ {
+ if (var0->unk1_0++ == var0->unk4.unk7_0 - 1)
+ {
+ var0->unk3++;
+ var0->unk1_4 ^= 1;
+ }
+ }
+ break;
+ case 2:
+ if (var0->unk1_4)
+ var0->unk1_0 = 0;
+ else
+ var0->unk1_0 = var0->unk4.unk7_0;
+
+ var0->unk1_4 ^= 1;
+ var0->unk3++;
+ break;
+ }
+
+ if (var0->unk4.unk6 != 0xFF && var0->unk3 == 0xFF)
+ sub_8151D28(arg0, var0->unk0, 0);
+ }
+ }
+ }
+ }
+}
+#else
+NAKED
+void sub_8151E50(struct InnerStruct203CF18 *arg0)
+{
+ asm_unified("\n\
+ 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\
+ str r0, [sp]\n\
+ movs r0, 0\n\
+ mov r10, r0\n\
+ ldr r1, [sp]\n\
+ ldrh r0, [r1]\n\
+ cmp r0, 0\n\
+ bne _08151E6C\n\
+ b _08151FF6\n\
+_08151E6C:\n\
+ movs r2, 0xF\n\
+ mov r9, r2\n\
+ movs r3, 0x10\n\
+ negs r3, r3\n\
+ mov r8, r3\n\
+ movs r7, 0x1\n\
+_08151E78:\n\
+ mov r5, r10\n\
+ lsls r0, r5, 1\n\
+ add r0, r10\n\
+ lsls r0, 2\n\
+ adds r0, 0x4\n\
+ ldr r1, [sp]\n\
+ adds r4, r1, r0\n\
+ ldrb r2, [r4, 0x1]\n\
+ movs r3, 0xC0\n\
+ ands r3, r2\n\
+ cmp r3, 0x80\n\
+ beq _08151E92\n\
+ b _08151FE6\n\
+_08151E92:\n\
+ ldr r0, =gPaletteFade\n\
+ ldrb r1, [r0, 0x7]\n\
+ adds r0, r3, 0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _08151EA8\n\
+ ldrb r0, [r4, 0xB]\n\
+ ands r3, r0\n\
+ cmp r3, 0\n\
+ beq _08151EA8\n\
+ b _08151FE6\n\
+_08151EA8:\n\
+ ldrb r0, [r4, 0x2]\n\
+ subs r0, 0x1\n\
+ strb r0, [r4, 0x2]\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ cmp r0, 0xFF\n\
+ beq _08151EB8\n\
+ b _08151FE6\n\
+_08151EB8:\n\
+ ldrb r0, [r4, 0x9]\n\
+ strb r0, [r4, 0x2]\n\
+ ldrh r0, [r4, 0x6]\n\
+ ldrb r1, [r4, 0x8]\n\
+ lsls r2, 28\n\
+ lsrs r2, 28\n\
+ ldrh r3, [r4, 0x4]\n\
+ bl BlendPalette\n\
+ ldrb r5, [r4, 0xB]\n\
+ lsls r0, r5, 26\n\
+ asrs r0, 30\n\
+ cmp r0, 0x1\n\
+ beq _08151F16\n\
+ cmp r0, 0x1\n\
+ bgt _08151EE4\n\
+ cmp r0, 0\n\
+ beq _08151EEA\n\
+ b _08151FD0\n\
+ .pool\n\
+_08151EE4:\n\
+ cmp r0, 0x2\n\
+ beq _08151F92\n\
+ b _08151FD0\n\
+_08151EEA:\n\
+ ldrb r2, [r4, 0x1]\n\
+ lsls r1, r2, 28\n\
+ lsrs r0, r1, 28\n\
+ adds r0, 0x1\n\
+ mov r3, r9\n\
+ ands r0, r3\n\
+ mov r6, r8\n\
+ adds r3, r6, 0\n\
+ ands r3, r2\n\
+ orrs r3, r0\n\
+ strb r3, [r4, 0x1]\n\
+ lsrs r1, 28\n\
+ lsls r0, r5, 28\n\
+ asrs r0, 28\n\
+ cmp r1, r0\n\
+ bne _08151FD0\n\
+ ldrb r0, [r4, 0x3]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4, 0x3]\n\
+ ands r3, r6\n\
+ strb r3, [r4, 0x1]\n\
+ b _08151FD0\n\
+_08151F16:\n\
+ ldrb r3, [r4, 0x1]\n\
+ movs r0, 0x10\n\
+ ands r0, r3\n\
+ cmp r0, 0\n\
+ beq _08151F54\n\
+ lsls r0, r3, 28\n\
+ lsrs r0, 28\n\
+ subs r0, 0x1\n\
+ mov r5, r9\n\
+ ands r0, r5\n\
+ mov r2, r8\n\
+ ands r2, r3\n\
+ orrs r2, r0\n\
+ strb r2, [r4, 0x1]\n\
+ cmp r0, 0\n\
+ bne _08151FD0\n\
+ ldrb r0, [r4, 0x3]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4, 0x3]\n\
+ lsls r0, r2, 27\n\
+ lsrs r0, 31\n\
+ eors r0, r7\n\
+ ands r0, r7\n\
+ lsls r0, 4\n\
+ movs r3, 0x11\n\
+ negs r3, r3\n\
+ adds r1, r3, 0\n\
+ ands r2, r1\n\
+ orrs r2, r0\n\
+ strb r2, [r4, 0x1]\n\
+ b _08151FD0\n\
+_08151F54:\n\
+ lsls r0, r5, 28\n\
+ asrs r0, 28\n\
+ subs r0, 0x1\n\
+ mov r5, r9\n\
+ ands r0, r5\n\
+ lsls r2, r3, 28\n\
+ lsrs r1, r2, 28\n\
+ adds r1, 0x1\n\
+ ands r1, r5\n\
+ mov r5, r8\n\
+ ands r3, r5\n\
+ orrs r3, r1\n\
+ strb r3, [r4, 0x1]\n\
+ lsrs r2, 28\n\
+ cmp r2, r0\n\
+ bne _08151FD0\n\
+ ldrb r0, [r4, 0x3]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4, 0x3]\n\
+ lsls r0, r3, 27\n\
+ lsrs r0, 31\n\
+ eors r0, r7\n\
+ ands r0, r7\n\
+ lsls r0, 4\n\
+ movs r2, 0x11\n\
+ negs r2, r2\n\
+ adds r1, r2, 0\n\
+ ands r3, r1\n\
+ orrs r3, r0\n\
+ strb r3, [r4, 0x1]\n\
+ b _08151FD0\n\
+_08151F92:\n\
+ ldrb r2, [r4, 0x1]\n\
+ movs r0, 0x10\n\
+ ands r0, r2\n\
+ cmp r0, 0\n\
+ beq _08151FA2\n\
+ mov r0, r8\n\
+ ands r0, r2\n\
+ b _08151FB0\n\
+_08151FA2:\n\
+ lsls r1, r5, 28\n\
+ asrs r1, 28\n\
+ mov r3, r9\n\
+ ands r1, r3\n\
+ mov r0, r8\n\
+ ands r0, r2\n\
+ orrs r0, r1\n\
+_08151FB0:\n\
+ strb r0, [r4, 0x1]\n\
+ ldrb r2, [r4, 0x1]\n\
+ lsls r0, r2, 27\n\
+ lsrs r0, 31\n\
+ eors r0, r7\n\
+ ands r0, r7\n\
+ lsls r0, 4\n\
+ movs r5, 0x11\n\
+ negs r5, r5\n\
+ adds r1, r5, 0\n\
+ ands r2, r1\n\
+ orrs r2, r0\n\
+ strb r2, [r4, 0x1]\n\
+ ldrb r0, [r4, 0x3]\n\
+ adds r0, 0x1\n\
+ strb r0, [r4, 0x3]\n\
+_08151FD0:\n\
+ ldrb r1, [r4, 0xA]\n\
+ cmp r1, 0xFF\n\
+ beq _08151FE6\n\
+ ldrb r0, [r4, 0x3]\n\
+ cmp r0, r1\n\
+ bne _08151FE6\n\
+ ldrb r1, [r4]\n\
+ ldr r0, [sp]\n\
+ movs r2, 0\n\
+ bl sub_8151D28\n\
+_08151FE6:\n\
+ mov r0, r10\n\
+ adds r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r10, r0\n\
+ cmp r0, 0xF\n\
+ bhi _08151FF6\n\
+ b _08151E78\n\
+_08151FF6:\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");
+}
+#endif // NONMATCHING
+
+void sub_8152008(u16 *dest, u16 src, u8 left, u8 top, u8 width, u8 height)
+{
+ u16 *_dest;
+ u8 i;
+ u8 j;
+ i = 0;
+ dest = &dest[top * 32 + left];
+ for (; i < height; i++)
+ {
+ _dest = dest + i * 32;
+ for (j = 0; j < width; j++)
+ {
+ *_dest++ = src;
+ }
+ }
+}
+
+void sub_8152058(u16 *dest, u16 *src, u8 left, u8 top, u8 width, u8 height)
+{
+ u16 *_dest;
+ u16 *_src = src;
+ u8 i;
+ u8 j;
+ i = 0;
+ dest = &dest[top * 32 + left];
+ for (; i < height; i++)
+ {
+ _dest = dest + i * 32;
+ for (j = 0; j < width; j++)
+ {
+ *_dest++ = *_src++;
+ }
+ }
+}
diff --git a/src/rtc.c b/src/rtc.c
index ca8b9567e..3f413d0e3 100644
--- a/src/rtc.c
+++ b/src/rtc.c
@@ -344,4 +344,3 @@ u16 RtcGetLocalDayCount(void)
{
return RtcGetDayCount(&sRtc);
}
-
diff --git a/src/safari_zone.c b/src/safari_zone.c
index 427a5ceb8..accf94981 100644
--- a/src/safari_zone.c
+++ b/src/safari_zone.c
@@ -1,11 +1,15 @@
#include "global.h"
-#include "safari_zone.h"
+#include "battle.h"
#include "event_data.h"
-#include "constants/game_stat.h"
+#include "field_player_avatar.h"
+#include "overworld.h"
#include "main.h"
-#include "battle.h"
-#include "string_util.h"
#include "pokeblock.h"
+#include "safari_zone.h"
+#include "script.h"
+#include "string_util.h"
+#include "tv.h"
+#include "constants/game_stat.h"
struct PokeblockFeeder
{
@@ -18,26 +22,12 @@ struct PokeblockFeeder
#define NUM_POKEBLOCK_FEEDERS 10
-extern u8 gBattleOutcome;
-extern void* gFieldCallback;
-
-extern u8 EventScript_2A4B8A[];
-extern u8 EventScript_2A4B6F[];
-extern u8 EventScript_2A4B4C[];
-extern u8 EventScript_2A4B9B[];
-
-extern void sub_80EE44C(u8, u8);
-extern void IncrementGameStat(u8 index);
-extern void ScriptContext1_SetupScript(u8*);
-extern void ScriptContext2_RunNewScript(u8*);
-extern void CB2_ReturnToField(void);
-extern void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
-extern void CB2_LoadMap(void);
+extern const u8 EventScript_2A4B8A[];
+extern const u8 EventScript_2A4B6F[];
+extern const u8 EventScript_2A4B4C[];
+extern const u8 EventScript_2A4B9B[];
+
extern void sub_80AF6F0(void);
-extern void ScriptContext1_Stop(void);
-extern void WarpIntoMap(void);
-extern void GetXYCoordsOneStepInFrontOfPlayer(s16* x, s16* y);
-extern void PlayerGetDestCoords(s16* x, s16* y);
EWRAM_DATA u8 gNumSafariBalls = 0;
EWRAM_DATA static u16 sSafariZoneStepCounter = 0;
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 310387337..e699bfeab 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -13,7 +13,6 @@
#include "event_data.h"
#include "field_door.h"
#include "field_effect.h"
-#include "field_fadetransition.h"
#include "event_object_movement.h"
#include "field_message_box.h"
#include "field_player_avatar.h"
@@ -2238,8 +2237,8 @@ bool8 ScrCmd_warpD1(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_808D074(GetPlayerFacingDirection());
- sub_80B0244();
+ sub_808D074(GetPlayerFacingDirection());
+ sub_80B0244();
ResetInitialPlayerAvatarState();
return TRUE;
}
@@ -2292,7 +2291,7 @@ bool8 ScrCmd_warpE0(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF79C();
+ sub_80AF79C();
ResetInitialPlayerAvatarState();
return TRUE;
}
diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c
index 7fc61f953..fc5a06024 100755
--- a/src/script_pokemon_util_80F87D8.c
+++ b/src/script_pokemon_util_80F87D8.c
@@ -220,7 +220,7 @@ static void ShowContestWinnerCleanup(void)
void ShowContestWinner(void)
{
- SetMainCallback2(sub_812FDEC);
+ SetMainCallback2(CB2_ContestPainting);
gMain.savedCallback = ShowContestWinnerCleanup;
}
@@ -563,8 +563,8 @@ u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 u
{
case 0:
case 1:
- GetSetPokedexFlag(nationalDexNum, 2);
- GetSetPokedexFlag(nationalDexNum, 3);
+ GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN);
+ GetSetPokedexFlag(nationalDexNum, FLAG_SET_CAUGHT);
break;
}
return sentToPc;
diff --git a/src/secret_base.c b/src/secret_base.c
index d50ad94bb..39377e9df 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -1,9 +1,7 @@
-
-// Includes
#include "global.h"
#include "constants/bg_event_constants.h"
#include "constants/decorations.h"
-#include "malloc.h"
+#include "alloc.h"
#include "main.h"
#include "task.h"
#include "palette.h"
@@ -19,7 +17,7 @@
#include "fieldmap.h"
#include "field_camera.h"
#include "field_player_avatar.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "field_weather.h"
#include "event_object_movement.h"
#include "field_effect.h"
diff --git a/src/shop.c b/src/shop.c
index a0eddee01..c44cbca12 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -6,7 +6,7 @@
#include "decoration_inventory.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
-#include "field_screen.h"
+#include "field_screen_effect.h"
#include "field_weather.h"
#include "fieldmap.h"
#include "gpu_regs.h"
@@ -17,7 +17,7 @@
#include "item_menu.h"
#include "list_menu.h"
#include "main.h"
-#include "malloc.h"
+#include "alloc.h"
#include "menu.h"
#include "menu_helpers.h"
#include "money.h"
@@ -447,8 +447,8 @@ static void CB2_InitBuyMenu(void)
clear_scheduled_bg_copies_to_vram();
gShopDataPtr = AllocZeroed(sizeof(struct ShopData));
gShopDataPtr->scrollIndicatorsTaskId = 0xFF;
- gShopDataPtr->itemSpriteIds[0] = -1;
- gShopDataPtr->itemSpriteIds[1] = -1;
+ gShopDataPtr->itemSpriteIds[0] = 0xFF;
+ gShopDataPtr->itemSpriteIds[1] = 0xFF;
BuyMenuBuildListMenuTemplate();
BuyMenuInitBgs();
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20);
diff --git a/src/slot_machine.c b/src/slot_machine.c
index 01ef6d85c..0871506cd 100644
--- a/src/slot_machine.c
+++ b/src/slot_machine.c
@@ -14,7 +14,7 @@
#include "util.h"
#include "text.h"
#include "menu.h"
-#include "malloc.h"
+#include "alloc.h"
#include "bg.h"
#include "gpu_regs.h"
#include "coins.h"
@@ -1637,7 +1637,7 @@ void PlaySlotMachine(u8 arg0, MainCallback cb)
/*static */bool8 sub_8102A44(void)
{
- if (FindTaskIdByFunc(sub_8102A64) == 0xff)
+ if (FindTaskIdByFunc(sub_8102A64) == 0xFF)
return TRUE;
else
return FALSE;
@@ -4201,74 +4201,74 @@ extern const u16 gSlotMachineMenu_Pal[];
/*static */void SlotMachineSetup_8_0(void)
{
gUnknown_0203AAF4 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AAF4[0].data = gUnknown_0203AAD4;
- gUnknown_0203AAF4[0].size = 0x600;
-
- gUnknown_0203AAF8 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AAF8[0].data = gUnknown_0203AAD4 + 0x600;
- gUnknown_0203AAF8[0].size = 0x200;
-
- gUnknown_0203AAFC = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AAFC[0].data = gUnknown_0203AAD4 + 0x800;
- gUnknown_0203AAFC[0].size = 0x200;
-
- gUnknown_0203AB00 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AB00[0].data = gUnknown_0203AAD4 + 0xA00;
- gUnknown_0203AB00[0].size = 0x200;
-
- gUnknown_0203AB04 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AB04[0].data = gUnknown_0203AAD4 + 0xC00;
- gUnknown_0203AB04[0].size = 0x300;
-
- gUnknown_0203AB08 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AB08[0].data = gUnknown_0203AAD4 + 0x1000;
- gUnknown_0203AB08[0].size = 0x400;
-
- gUnknown_0203AB0C = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AB0C[0].data = gUnknown_0203AAD4 + 0x1400;
- gUnknown_0203AB0C[0].size = 0x200;
-
- gUnknown_0203AB10 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AB10[0].data = gUnknown_0203AAD4 + 0x1600;
- gUnknown_0203AB10[0].size = 0x300;
-
- gUnknown_0203AB14 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AB14[0].data = gUnknown_0203AAD4 + 0x1900;
- gUnknown_0203AB14[0].size = 0x300;
-
- gUnknown_0203AB18 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2);
- gUnknown_0203AB18[0].data = gUnknown_0203AAD4 + 0x1C00;
- gUnknown_0203AB18[0].size = 0x200;
- gUnknown_0203AB18[1].data = gUnknown_0203AAD4 + 0x1E00;
- gUnknown_0203AB18[1].size = 0x200;
-
- gUnknown_0203AB1C = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
- gUnknown_0203AB1C[0].data = gUnknown_0203AAD4 + 0x2000;
- gUnknown_0203AB1C[0].size = 640;
-
- gUnknown_0203AB20 = AllocZeroed(sizeof(struct SpriteFrameImage) * 5);
- gUnknown_0203AB20[0].data = gUnknown_0203AAD4 + 0x2280;
- gUnknown_0203AB20[0].size = 0x80;
- gUnknown_0203AB20[1].data = gUnknown_0203AAD4 + 0x2300;
- gUnknown_0203AB20[1].size = 0x80;
- gUnknown_0203AB20[2].data = gUnknown_0203AAD4 + 0x2380;
- gUnknown_0203AB20[2].size = 0x80;
- gUnknown_0203AB20[3].data = gUnknown_0203AAD4 + 0x2400;
- gUnknown_0203AB20[3].size = 0x80;
- gUnknown_0203AB20[4].data = gUnknown_0203AAD4 + 0x2480;
- gUnknown_0203AB20[4].size = 0x80;
-
- gUnknown_0203AB24 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2);
- gUnknown_0203AB24[0].data = gUnknown_0203AAD4 + 0x2600;
- gUnknown_0203AB24[0].size = 0x480;
- gUnknown_0203AB24[1].data = gUnknown_0203AAD4 + 10880;
- gUnknown_0203AB24[1].size = 0x480;
-
- gUnknown_0203AB28 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2);
- gUnknown_0203AB28[0].data = gUnknown_0203AAD4 + 0x2F00;
- gUnknown_0203AB28[0].size = 0x180;
- gUnknown_0203AB28[1].data = gUnknown_0203AAD4 + 0x3080;
- gUnknown_0203AB28[1].size = 0x180;
+ gUnknown_0203AAF4[0].data = gUnknown_0203AAD4;
+ gUnknown_0203AAF4[0].size = 0x600;
+
+ gUnknown_0203AAF8 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AAF8[0].data = gUnknown_0203AAD4 + 0x600;
+ gUnknown_0203AAF8[0].size = 0x200;
+
+ gUnknown_0203AAFC = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AAFC[0].data = gUnknown_0203AAD4 + 0x800;
+ gUnknown_0203AAFC[0].size = 0x200;
+
+ gUnknown_0203AB00 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AB00[0].data = gUnknown_0203AAD4 + 0xA00;
+ gUnknown_0203AB00[0].size = 0x200;
+
+ gUnknown_0203AB04 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AB04[0].data = gUnknown_0203AAD4 + 0xC00;
+ gUnknown_0203AB04[0].size = 0x300;
+
+ gUnknown_0203AB08 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AB08[0].data = gUnknown_0203AAD4 + 0x1000;
+ gUnknown_0203AB08[0].size = 0x400;
+
+ gUnknown_0203AB0C = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AB0C[0].data = gUnknown_0203AAD4 + 0x1400;
+ gUnknown_0203AB0C[0].size = 0x200;
+
+ gUnknown_0203AB10 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AB10[0].data = gUnknown_0203AAD4 + 0x1600;
+ gUnknown_0203AB10[0].size = 0x300;
+
+ gUnknown_0203AB14 = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AB14[0].data = gUnknown_0203AAD4 + 0x1900;
+ gUnknown_0203AB14[0].size = 0x300;
+
+ gUnknown_0203AB18 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2);
+ gUnknown_0203AB18[0].data = gUnknown_0203AAD4 + 0x1C00;
+ gUnknown_0203AB18[0].size = 0x200;
+ gUnknown_0203AB18[1].data = gUnknown_0203AAD4 + 0x1E00;
+ gUnknown_0203AB18[1].size = 0x200;
+
+ gUnknown_0203AB1C = AllocZeroed(sizeof(struct SpriteFrameImage) * 1);
+ gUnknown_0203AB1C[0].data = gUnknown_0203AAD4 + 0x2000;
+ gUnknown_0203AB1C[0].size = 640;
+
+ gUnknown_0203AB20 = AllocZeroed(sizeof(struct SpriteFrameImage) * 5);
+ gUnknown_0203AB20[0].data = gUnknown_0203AAD4 + 0x2280;
+ gUnknown_0203AB20[0].size = 0x80;
+ gUnknown_0203AB20[1].data = gUnknown_0203AAD4 + 0x2300;
+ gUnknown_0203AB20[1].size = 0x80;
+ gUnknown_0203AB20[2].data = gUnknown_0203AAD4 + 0x2380;
+ gUnknown_0203AB20[2].size = 0x80;
+ gUnknown_0203AB20[3].data = gUnknown_0203AAD4 + 0x2400;
+ gUnknown_0203AB20[3].size = 0x80;
+ gUnknown_0203AB20[4].data = gUnknown_0203AAD4 + 0x2480;
+ gUnknown_0203AB20[4].size = 0x80;
+
+ gUnknown_0203AB24 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2);
+ gUnknown_0203AB24[0].data = gUnknown_0203AAD4 + 0x2600;
+ gUnknown_0203AB24[0].size = 0x480;
+ gUnknown_0203AB24[1].data = gUnknown_0203AAD4 + 10880;
+ gUnknown_0203AB24[1].size = 0x480;
+
+ gUnknown_0203AB28 = AllocZeroed(sizeof(struct SpriteFrameImage) * 2);
+ gUnknown_0203AB28[0].data = gUnknown_0203AAD4 + 0x2F00;
+ gUnknown_0203AB28[0].size = 0x180;
+ gUnknown_0203AB28[1].data = gUnknown_0203AAD4 + 0x3080;
+ gUnknown_0203AB28[1].size = 0x180;
}
const u8 sReelSymbols[][21] =
diff --git a/src/start_menu.c b/src/start_menu.c
index 455d26509..0e52f05fb 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -87,8 +87,8 @@ extern u8 gUnknown_03005DB4;
extern void sub_80AF688(void);
extern void var_800D_set_xB(void);
extern void sub_808B864(void);
-extern void sub_80BB534(void);
-extern void play_some_sound(void);
+extern void CB2_Pokedex(void);
+extern void PlayRainSoundEffect(void);
extern void CB2_PartyMenuFromStartMenu(void);
extern void CB2_PokeNav(void);
extern void sub_80C4DDC(void (*)(void));
@@ -621,10 +621,10 @@ static bool8 StartMenuPokedexCallback(void)
if (!gPaletteFade.active)
{
IncrementGameStat(GAME_STAT_CHECKED_POKEDEX);
- play_some_sound();
+ PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
- SetMainCallback2(sub_80BB534); // Display pokedex
+ SetMainCallback2(CB2_Pokedex);
return TRUE;
}
@@ -636,7 +636,7 @@ static bool8 StartMenuPokemonCallback(void)
{
if (!gPaletteFade.active)
{
- play_some_sound();
+ PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_PartyMenuFromStartMenu); // Display party menu
@@ -651,7 +651,7 @@ static bool8 StartMenuBagCallback(void)
{
if (!gPaletteFade.active)
{
- play_some_sound();
+ PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_BagMenuFromStartMenu); // Display bag menu
@@ -666,7 +666,7 @@ static bool8 StartMenuPokeNavCallback(void)
{
if (!gPaletteFade.active)
{
- play_some_sound();
+ PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_PokeNav); // Display PokeNav
@@ -681,7 +681,7 @@ static bool8 StartMenuPlayerNameCallback(void)
{
if (!gPaletteFade.active)
{
- play_some_sound();
+ PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
@@ -720,7 +720,7 @@ static bool8 StartMenuOptionCallback(void)
{
if (!gPaletteFade.active)
{
- play_some_sound();
+ PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_InitOptionMenu); // Display option menu
@@ -753,7 +753,7 @@ static bool8 StartMenuLinkModePlayerNameCallback(void)
{
if (!gPaletteFade.active)
{
- play_some_sound();
+ PlayRainSoundEffect();
overworld_free_bg_tilemaps();
TrainerCard_ShowLinkCard(gUnknown_03005DB4, CB2_ReturnToFieldWithOpenMenu);
@@ -782,7 +782,7 @@ static bool8 StartMenuBattlePyramidBagCallback(void)
{
if (!gPaletteFade.active)
{
- play_some_sound();
+ PlayRainSoundEffect();
RemoveExtraStartMenuWindows();
overworld_free_bg_tilemaps();
SetMainCallback2(CB2_PyramidBagMenuFromStartMenu);
diff --git a/src/strings.c b/src/strings.c
index 1198835cb..bd8c766de 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -26,8 +26,8 @@ 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 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.");
@@ -97,10 +97,10 @@ 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_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_085E86FB[] = _("{CLEAR_TO 0x0C} ' ”");
const u8 gUnknown_085E8709[] = _(" . lbs.");
const u8 gUnknown_085E871A[] = _("");
const u8 gText_CryOf[] = _("CRY OF");
@@ -121,49 +121,49 @@ const u8 gUnknown_085E8840[] = _("List by the first letter in the name.\nSpotted
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_DexHoennTitle[] = _("HOENN DEX");
+const u8 gText_DexNatTitle[] = _("NATIONAL DEX");
+const u8 gText_DexSortNumericalTitle[] = _("NUMERICAL MODE");
+const u8 gText_DexSortAtoZTitle[] = _("A TO Z MODE");
+const u8 gText_DexSortHeaviestTitle[] = _("HEAVIEST MODE");
+const u8 gText_DexSortLightestTitle[] = _("LIGHTEST MODE");
+const u8 gText_DexSortTallestTitle[] = _("TALLEST MODE");
+const u8 gText_DexSortSmallestTitle[] = _("SMALLEST MODE");
+const u8 gText_DexSearchAlphaABC[] = _("ABC");
+const u8 gText_DexSearchAlphaDEF[] = _("DEF");
+const u8 gText_DexSearchAlphaGHI[] = _("GHI");
+const u8 gText_DexSearchAlphaJKL[] = _("JKL");
+const u8 gText_DexSearchAlphaMNO[] = _("MNO");
+const u8 gText_DexSearchAlphaPQR[] = _("PQR");
+const u8 gText_DexSearchAlphaSTU[] = _("STU");
+const u8 gText_DexSearchAlphaVWX[] = _("VWX");
+const u8 gText_DexSearchAlphaYZ[] = _("YZ");
+const u8 gText_DexSearchColorRed[] = _("RED");
+const u8 gText_DexSearchColorBlue[] = _("BLUE");
+const u8 gText_DexSearchColorYellow[] = _("YELLOW");
+const u8 gText_DexSearchColorGreen[] = _("GREEN");
+const u8 gText_DexSearchColorBlack[] = _("BLACK");
+const u8 gText_DexSearchColorBrown[] = _("BROWN");
+const u8 gText_DexSearchColorPurple[] = _("PURPLE");
+const u8 gText_DexSearchColorGray[] = _("GRAY");
+const u8 gText_DexSearchColorWhite[] = _("WHITE");
+const u8 gText_DexSearchColorPink[] = _("PINK");
+const u8 gText_DexHoennDescription[] = _("HOENN region's POKéDEX");
+const u8 gText_DexNatDescription[] = _("National edition POKéDEX");
+const u8 gText_DexSortNumericalDescription[] = _("POKéMON are listed according to their\nnumber.");
+const u8 gText_DexSortAtoZDescription[] = _("Spotted and owned POKéMON are listed\nalphabetically.");
+const u8 gText_DexSortHeaviestDescription[] = _("Owned POKéMON are listed from the\nheaviest to the lightest.");
+const u8 gText_DexSortLightestDescription[] = _("Owned POKéMON are listed from the\nlightest to the heaviest.");
+const u8 gText_DexSortTallestDescription[] = _("Owned POKéMON are listed from the\ntallest to the smallest.");
+const u8 gText_DexSortSmallestDescription[] = _("Owned POKéMON are listed from the\nsmallest to the tallest.");
+const u8 gText_DexEmptyString[] = _("");
+const u8 gText_DexSearchDontSpecify[] = _("DON'T SPECIFY.");
+const u8 gText_DexSearchTypeNone[] = _("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 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!");
@@ -218,24 +218,24 @@ 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_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_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_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_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.");
@@ -255,25 +255,25 @@ 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
+ 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
+ gText_TheBattle,
+ gText_ThePokemonList,
+ gText_TheField
};
const u8 gText_ReturnToVar1[] = _("Return to\n{STR_VAR_1}.");
@@ -286,10 +286,10 @@ const u8 gText_KeyItemsPocket[] = _("KEY ITEMS");
const u8 *const gPocketNamesStringsTable[] =
{
gText_ItemsPocket,
- gText_PokeBallsPocket,
- gText_TMHMPocket,
- gText_BerriesPocket,
- gText_KeyItemsPocket
+ gText_PokeBallsPocket,
+ gText_TMHMPocket,
+ gText_BerriesPocket,
+ gText_KeyItemsPocket
};
const u8 gText_UnkF908Var1Clear7Var2[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}");
@@ -343,18 +343,18 @@ 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_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_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_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}.");
@@ -372,53 +372,53 @@ 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_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_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_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_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_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_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_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_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_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_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_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}?");
@@ -430,10 +430,10 @@ 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_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?");
@@ -441,13 +441,13 @@ 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_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_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.");
@@ -461,9 +461,9 @@ 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_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_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?");
@@ -472,14 +472,14 @@ const u8 gText_EscapeFromHere[] = _("Want to escape from here and return\nto {ST
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だして よろしいですか?");
-ALIGNED(4) const u8 gText_OnlyPkmnForBattle[] = _("That’s your only\nPOKéMON for battle.");
-ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can’t be traded\nnow.");
-ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can’t be traded now.");
-ALIGNED(4) const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER’s POKéMON\ncan’t be traded now.");
-ALIGNED(4) const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can’t accept\nthat POKéMON now.");
-ALIGNED(4) const u8 gText_CantTradeWithTrainer[] = _("You can’t trade with that\nTRAINER now.");
-ALIGNED(4) const u8 gText_NotPkmnOtherTrainerWants[] = _("That isn’t the type of POKéMON\nthat the other TRAINER wants.");
-ALIGNED(4) const u8 gText_ThatIsntAnEgg[] = _("That isn’t an EGG.");
+ALIGNED(4) const u8 gText_OnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle.");
+ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("That POKéMON can't be traded\nnow.");
+ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("An EGG can't be traded now.");
+ALIGNED(4) const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("The other TRAINER's POKéMON\ncan't be traded now.");
+ALIGNED(4) const u8 gText_OtherTrainerCantAcceptPkmn[] = _("The other TRAINER can't accept\nthat POKéMON now.");
+ALIGNED(4) const u8 gText_CantTradeWithTrainer[] = _("You can't trade with that\nTRAINER now.");
+ALIGNED(4) const u8 gText_NotPkmnOtherTrainerWants[] = _("That isn't the type of POKéMON\nthat the other TRAINER wants.");
+ALIGNED(4) const u8 gText_ThatIsntAnEgg[] = _("That isn't an EGG.");
const u8 gText_Register[] = _("REGISTER");
const u8 gText_Attack3[] = _("ATTACK");
const u8 gText_Defense3[] = _("DEFENSE");
@@ -510,8 +510,8 @@ 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_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.");
@@ -525,7 +525,7 @@ const u8 gText_PeculiarEggNicePlace[] = _("A peculiar POKéMON EGG\nobtained at
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_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}");
@@ -550,14 +550,14 @@ 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_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 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?");
@@ -586,8 +586,8 @@ 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_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}");
@@ -606,7 +606,7 @@ 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_085EAD72[] = _("What's a CONTEST?");
const u8 gUnknown_085EAD84[] = _("Types of CONTESTS");
const u8 gUnknown_085EAD96[] = _("Ranks");
const u8 gUnknown_085EAD9C[] = _("Judging");
@@ -701,9 +701,9 @@ 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_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");
@@ -745,10 +745,10 @@ 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_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_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");
@@ -856,7 +856,7 @@ 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_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?");
@@ -871,11 +871,11 @@ 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_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_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?");
@@ -887,7 +887,7 @@ 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 gText_MailCantBeStored[] = _("MAIL can't be stored!");
const u8 gPCText_Cancel[] = _("CANCEL");
const u8 gPCText_Store[] = _("STORE");
const u8 gPCText_Withdraw[] = _("WITHDRAW");
@@ -961,9 +961,9 @@ 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_085EBE8E[] = _("Can't call opponent here.");
const u8 gUnknown_085EBEA8[] = _("STRATEGY");
-const u8 gUnknown_085EBEB1[] = _("TRAINER’S POKéMON");
+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");
@@ -1004,9 +1004,9 @@ 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_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_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");
@@ -1020,7 +1020,7 @@ 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_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!");
@@ -1029,21 +1029,21 @@ 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_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_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 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 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?");
@@ -1051,20 +1051,20 @@ 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_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_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 gText_FansQuestion[] = _("Fan's question");
const u8 gUnknown_085EC645[] = _("クイズの こたえは?");
-const u8 gText_ApprenticesPhrase[] = _("Apprentice’s phrase");
+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_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.");
@@ -1074,7 +1074,7 @@ 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_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}?");
@@ -1085,7 +1085,7 @@ 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_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…”");
@@ -1102,7 +1102,7 @@ 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_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");
@@ -1162,7 +1162,7 @@ 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_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");
@@ -1197,7 +1197,7 @@ 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_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");
@@ -1220,11 +1220,13 @@ const u8 gText_BattleFactory[] = _("BATTLE FACTORY");
const u8 gText_BattleArena[] = _("BATTLE ARENA");
const u8 gText_BattlePike[] = _("BATTLE PIKE");
const u8 gText_BattlePyramid[] = _("BATTLE PYRAMID");
+
ALIGNED(4) const u8 gUnknown_085ED164[] = _("{STR_VAR_1} SINGLE");
ALIGNED(4) const u8 gUnknown_085ED170[] = _("{STR_VAR_1} DOUBLE");
ALIGNED(4) const u8 gUnknown_085ED17C[] = _("{STR_VAR_1} MULTI");
ALIGNED(4) const u8 gUnknown_085ED188[] = _("{STR_VAR_1} LINK");
ALIGNED(4) 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}");
@@ -1235,7 +1237,7 @@ 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_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}");
@@ -1262,14 +1264,14 @@ 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_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_Lets[] = _("LET'S");
const u8 gText_Ok[] = _("OK!");
const u8 gText_Sorry[] = _("SORRY");
const u8 gText_YayUnkF9F9[] = _("YAY{EMOJI_BIGSMILE}");
@@ -1277,18 +1279,18 @@ 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_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_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_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_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 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}?");
ALIGNED(4) const u8 gText_ReadyToBerryCrush[] = _("Are you ready to BERRY-CRUSH?\nPlease pick a BERRY for use.\p");
@@ -1298,7 +1300,7 @@ ALIGNED(4) const u8 gText_RecordingGameResults[] = _("Recording your game result
ALIGNED(4) const u8 gText_PlayBerryCrushAgain[] = _("Want to play BERRY CRUSH again?");
ALIGNED(4) const u8 gText_YouHaveNoBerries[] = _("You have no BERRIES.\nThe game will be canceled.");
ALIGNED(4) const u8 gText_MemberDroppedOut[] = _("A member dropped out.\nThe game will be canceled.");
-ALIGNED(4) const u8 gText_TimesUpNoGoodPowder[] = _("Time’s up.\pGood BERRY POWDER could not be\nmade…\p");
+ALIGNED(4) const u8 gText_TimesUpNoGoodPowder[] = _("Time's up.\pGood BERRY POWDER could not be\nmade…\p");
ALIGNED(4) const u8 gText_CommunicationStandby2[] = _("Communication standby…");
ALIGNED(4) const u8 gText_1DotBlueF700[] = _("1. {COLOR BLUE}{SHADOW LIGHT_BLUE}{SPECIAL_F7 0x00}");
ALIGNED(4) const u8 gText_1DotF700[] = _("1. {SPECIAL_F7 0x00}");
@@ -1375,7 +1377,7 @@ 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_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.");
@@ -1387,13 +1389,13 @@ 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_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_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_LinkContestResults[] = _("{PLAYER}'s Link Contest Results");
const u8 gText_1st[] = _("1st");
const u8 gText_2nd[] = _("2nd");
const u8 gText_3rd[] = _("3rd");
@@ -1403,9 +1405,9 @@ 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_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つうしん できません");
@@ -1420,19 +1422,19 @@ 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_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}");
@@ -1448,15 +1450,17 @@ 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}");
-ALIGNED(4) const u8 gUnknown_085EE3B0[] = _("LV. 50");
-ALIGNED(4) const u8 gUnknown_085EE3B8[] = _("OPEN LEVEL");
-ALIGNED(4) const u8 gUnknown_085EE3C4[] = _("Win streak: {STR_VAR_2}");
-ALIGNED(4) const u8 gUnknown_085EE3D4[] = _("Clear streak: {STR_VAR_2}");
-ALIGNED(4) const u8 gUnknown_085EE3E8[] = _("Rooms cleared: {STR_VAR_2}");
-ALIGNED(4) const u8 gUnknown_085EE3FC[] = _("KOs in a row: {STR_VAR_2}");
-ALIGNED(4) const u8 gUnknown_085EE410[] = _("Floors cleared: {STR_VAR_2}");
+
+ALIGNED(4) const u8 gText_RecordsLv50[] = _("LV. 50");
+ALIGNED(4) const u8 gText_RecordsOpenLevel[] = _("OPEN LEVEL");
+ALIGNED(4) const u8 gText_FrontierFacilityWinStreak[] = _("Win streak: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_FrontierFacilityClearStreak[] = _("Clear streak: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_FrontierFacilityRoomsCleared[] = _("Rooms cleared: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_FrontierFacilityKOsStreak[] = _("KOs in a row: {STR_VAR_2}");
+ALIGNED(4) const u8 gText_FrontierFacilityFloorsCleared[] = _("Floors cleared: {STR_VAR_2}");
ALIGNED(4) const u8 gText_123Dot[][3] = {_("1."), _("2."), _("3.")};
-const u8 gText_SavingDontTurnOff2[] = _("SAVING…\nDON’T TURN OFF THE POWER.");
+
+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");
@@ -1525,7 +1529,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_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[] = _("プレイヤー");
@@ -1537,7 +1541,7 @@ 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_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}.");
@@ -1583,10 +1587,10 @@ 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_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 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");
@@ -1615,7 +1619,7 @@ 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_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.");
@@ -1666,8 +1670,8 @@ ALIGNED(4) const u8 gText_VarietyOfEventsImportedWireless[] = _("A variety of ev
ALIGNED(4) const u8 gText_WonderCardsInPossession[] = _("Read the WONDER CARDS in your\npossession.");
ALIGNED(4) const u8 gText_ReadNewsThatArrived[] = _("Read the NEWS that arrived.");
ALIGNED(4) const u8 gText_ReturnToTitle[] = _("Return to the title screen.");
-ALIGNED(4) const u8 gText_DontHaveCardNewOneInput[] = _("You don’t have a WONDER CARD,\nso a new CARD will be input.");
-ALIGNED(4) const u8 gText_DontHaveNewsNewOneInput[] = _("You don’t have any WONDER NEWS,\nso new NEWS will be input.");
+ALIGNED(4) const u8 gText_DontHaveCardNewOneInput[] = _("You don't have a WONDER CARD,\nso a new CARD will be input.");
+ALIGNED(4) const u8 gText_DontHaveNewsNewOneInput[] = _("You don't have any WONDER NEWS,\nso new NEWS will be input.");
ALIGNED(4) const u8 gText_WhereShouldCardBeAccessed[] = _("Where should the WONDER CARD\nbe accessed?");
ALIGNED(4) const u8 gText_WhereShouldNewsBeAccessed[] = _("Where should the WONDER NEWS\nbe accessed?");
ALIGNED(4) const u8 gUnknown_085EEFC0[] = _("Communication standby…\nB Button: Cancel");
@@ -1676,7 +1680,7 @@ ALIGNED(4) const u8 gText_CommunicationCompleted[] = _("Communication completed.
ALIGNED(4) const u8 gText_CommunicationError[] = _("Communication error.");
ALIGNED(4) const u8 gText_CommunicationCanceled[] = _("Communication has been canceled.");
ALIGNED(4) const u8 gText_ThrowAwayWonderCard[] = _("Throw away the WONDER CARD\nand input a new CARD?");
-ALIGNED(4) const u8 gText_HaventReceivedCardsGift[] = _("You haven’t received the CARD’s gift\nyet. Input a new CARD anyway?");
+ALIGNED(4) const u8 gText_HaventReceivedCardsGift[] = _("You haven't received the CARD's gift\nyet. Input a new CARD anyway?");
ALIGNED(4) const u8 gText_WonderCardReceivedFrom[] = _("A WONDER CARD has been received\nfrom {STR_VAR_1}.");
ALIGNED(4) const u8 gText_WonderNewsReceivedFrom[] = _("A WONDER NEWS item has been\nreceived from {STR_VAR_1}.");
ALIGNED(4) const u8 gText_WonderCardReceived[] = _("A new WONDER CARD has been\nreceived.");
@@ -1686,10 +1690,10 @@ ALIGNED(4) const u8 gText_NewTrainerReceived[] = _("A new TRAINER has arrived.")
ALIGNED(4) const u8 gText_AlreadyHadCard[] = _("You already had that\nWONDER CARD.");
ALIGNED(4) const u8 gText_AlreadyHadNews[] = _("You already had that\nWONDER NEWS item.");
ALIGNED(4) const u8 gText_AlreadyHadStamp[] = _("You already had that\nSTAMP.");
-ALIGNED(4) const u8 gText_NoMoreRoomForStamps[] = _("There’s no more room for adding\nSTAMPS.");
+ALIGNED(4) const u8 gText_NoMoreRoomForStamps[] = _("There's no more room for adding\nSTAMPS.");
ALIGNED(4) const u8 gText_RecordUploadedViaWireless[] = _("Your record has been uploaded via\nWIRELESS COMMUNICATION.");
-ALIGNED(4) const u8 gText_CantAcceptCardFromTrainer[] = _("You can’t accept a WONDER CARD\nfrom this TRAINER.");
-ALIGNED(4) const u8 gText_CantAcceptNewsFromTrainer[] = _("You can’t accept WONDER NEWS\nfrom this TRAINER.");
+ALIGNED(4) const u8 gText_CantAcceptCardFromTrainer[] = _("You can't accept a WONDER CARD\nfrom this TRAINER.");
+ALIGNED(4) const u8 gText_CantAcceptNewsFromTrainer[] = _("You can't accept WONDER NEWS\nfrom this TRAINER.");
ALIGNED(4) const u8 gText_NothingSentOver[] = _("Nothing was sent over…");
ALIGNED(4) const u8 gText_WhatToDoWithCards[] = _("What would you like to do\nwith the WONDER CARDS?");
ALIGNED(4) const u8 gText_WhatToDoWithNews[] = _("What would you like to do\nwith the WONDER NEWS?");
@@ -1703,10 +1707,10 @@ ALIGNED(4) const u8 gText_OtherTrainerHasCard[] = _("The other TRAINER has the s
ALIGNED(4) const u8 gText_OtherTrainerHasNews[] = _("The other TRAINER has the same\nWONDER NEWS already.");
ALIGNED(4) const u8 gText_OtherTrainerHasStamp[] = _("The other TRAINER has the same\nSTAMP already.");
ALIGNED(4) const u8 gText_OtherTrainerCanceled[] = _("The other TRAINER canceled\ncommunication.");
-ALIGNED(4) const u8 gText_CantSendGiftToTrainer[] = _("You can’t send a MYSTERY GIFT to\nthis TRAINER.");
-ALIGNED(4) const u8 gText_IfThrowAwayCardEventWontHappen[] = _("If you throw away the CARD,\nits event won’t happen. Okay?");
+ALIGNED(4) const u8 gText_CantSendGiftToTrainer[] = _("You can't send a MYSTERY GIFT to\nthis TRAINER.");
+ALIGNED(4) const u8 gText_IfThrowAwayCardEventWontHappen[] = _("If you throw away the CARD,\nits event won't happen. Okay?");
ALIGNED(4) const u8 gText_OkayToDiscardNews[] = _("Is it okay to discard this\nNEWS item?");
-ALIGNED(4) const u8 gText_HaventReceivedGiftOkayToDiscard[] = _("You haven’t received the\nGIFT. Is it okay to discard?");
+ALIGNED(4) const u8 gText_HaventReceivedGiftOkayToDiscard[] = _("You haven't received the\nGIFT. Is it okay to discard?");
ALIGNED(4) const u8 gText_DataWillBeSaved[] = _("Data will be saved.\nPlease wait.");
ALIGNED(4) const u8 gText_SaveCompletedPressA[] = _("Save completed.\nPlease press the A Button.");
ALIGNED(4) const u8 gText_WonderCardThrownAway[] = _("The WONDER CARD was thrown away.");
@@ -1714,18 +1718,18 @@ ALIGNED(4) const u8 gText_WonderNewsThrownAway[] = _("The WONDER NEWS was thrown
ALIGNED(4) const u8 gText_MysteryGift[] = _("MYSTERY GIFT");
ALIGNED(4) const u8 gText_PickOKExit[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}EXIT");
ALIGNED(4) const u8 gText_PickOKCancel[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK {B_BUTTON}CANCEL");
-const u8 gText_PlayersBattleResults[] = _("{PLAYER}’s BATTLE RESULTS");
+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 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_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");
@@ -1740,7 +1744,7 @@ 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_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}.");
@@ -1778,7 +1782,7 @@ const u8 gNormanMatchCallName[] = _("DAD");
const u8 gMomMatchCallName[] = _("MOM");
const u8 gScottMatchCallDesc[] = _("ELUSIVE EYES");
const u8 gScottMatchCallName[] = _("SCOTT");
-const u8 gRoxanneMatchCallDesc[] = _("ROCKIN’ WHIZ");
+const u8 gRoxanneMatchCallDesc[] = _("ROCKIN' WHIZ");
const u8 gBrawlyMatchCallDesc[] = _("THE BIG HIT");
const u8 gWattsonMatchCallDesc[] = _("SWELL SHOCK");
const u8 gFlanneryMatchCallDesc[] = _("PASSION BURN");
diff --git a/src/task.c b/src/task.c
index f067e21b4..14b97a361 100644
--- a/src/task.c
+++ b/src/task.c
@@ -186,7 +186,7 @@ u8 FindTaskIdByFunc(TaskFunc func)
if (gTasks[i].isActive == TRUE && gTasks[i].func == func)
return (u8)i;
- return -1;
+ return 0xFF;
}
u8 GetTaskCount(void)
diff --git a/src/text.c b/src/text.c
index ecd3a3095..07c15596e 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1539,7 +1539,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
subStruct->glyphId = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
return 2;
- case 7:
+ case EXT_CTRL_CODE_UNKNOWN_7:
return 2;
case 8:
textPrinter->delayCounter = *textPrinter->printerTemplate.currentChar;
@@ -1591,7 +1591,7 @@ u16 RenderText(struct TextPrinter *textPrinter)
case 24:
m4aMPlayContinue(&gMPlayInfo_BGM);
return 2;
- case 17:
+ case EXT_CTRL_CODE_CLEAR:
width = *textPrinter->printerTemplate.currentChar;
textPrinter->printerTemplate.currentChar++;
if (width > 0)
@@ -1622,10 +1622,10 @@ u16 RenderText(struct TextPrinter *textPrinter)
case 20:
textPrinter->minLetterSpacing = *textPrinter->printerTemplate.currentChar++;
return 2;
- case 21:
+ case EXT_CTRL_CODE_JPN:
textPrinter->japanese = 1;
return 2;
- case 22:
+ case EXT_CTRL_CODE_ENG:
textPrinter->japanese = 0;
return 2;
}
@@ -1810,12 +1810,12 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
case 0x14:
++strPos;
break;
- case 0x7:
+ case EXT_CTRL_CODE_UNKNOWN_7:
case 0x9:
case 0xA:
case 0xF:
- case 0x15:
- case 0x16:
+ case EXT_CTRL_CODE_JPN:
+ case EXT_CTRL_CODE_ENG:
default:
break;
}
@@ -1970,13 +1970,13 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
case 0x14:
minGlyphWidth = *++str;
break;
- case 0x15:
+ case EXT_CTRL_CODE_JPN:
isJapanese = 1;
break;
- case 0x16:
+ case EXT_CTRL_CODE_ENG:
isJapanese = 0;
break;
- case 0x7:
+ case EXT_CTRL_CODE_UNKNOWN_7:
case 0x9:
case 0xA:
case 0xF:
@@ -2096,12 +2096,12 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
case 0x14:
++strPos;
break;
- case 0x7:
+ case EXT_CTRL_CODE_UNKNOWN_7:
case 0x9:
case 0xA:
case 0xF:
- case 0x15:
- case 0x16:
+ case EXT_CTRL_CODE_JPN:
+ case EXT_CTRL_CODE_ENG:
default:
continue;
}
diff --git a/src/title_screen.c b/src/title_screen.c
index 70a1a3449..d60e3fc0b 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -66,14 +66,14 @@ static const u32 sTitleScreenCloudsGfx[] = INCBIN_U32("graphics/title_screen/clo
const u16 gUnknown_0853FF70[] =
{
- 0x0010, 0x0110, 0x0210, 0x0310, 0x0410, 0x0510, 0x0610, 0x0710,
- 0x0810, 0x0910, 0x0a10, 0x0b10, 0x0c10, 0x0d10, 0x0e10, 0x0f10,
- 0x100f, 0x100e, 0x100d, 0x100c, 0x100b, 0x100a, 0x1009, 0x1008,
- 0x1007, 0x1006, 0x1005, 0x1004, 0x1003, 0x1002, 0x1001, 0x1000,
- 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
- 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
- 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
- 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
+ 0x0010, 0x0110, 0x0210, 0x0310, 0x0410, 0x0510, 0x0610, 0x0710,
+ 0x0810, 0x0910, 0x0a10, 0x0b10, 0x0c10, 0x0d10, 0x0e10, 0x0f10,
+ 0x100f, 0x100e, 0x100d, 0x100c, 0x100b, 0x100a, 0x1009, 0x1008,
+ 0x1007, 0x1006, 0x1005, 0x1004, 0x1003, 0x1002, 0x1001, 0x1000,
+ 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
+ 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
+ 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
+ 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,
};
static const struct OamData sVersionBannerLeftOamData =
diff --git a/src/trainer_pokemon_sprites.c b/src/trainer_pokemon_sprites.c
index 18c02350f..f5354a1e8 100644
--- a/src/trainer_pokemon_sprites.c
+++ b/src/trainer_pokemon_sprites.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "sprite.h"
#include "window.h"
-#include "malloc.h"
+#include "alloc.h"
#include "constants/species.h"
#include "palette.h"
#include "decompress.h"
@@ -404,9 +404,9 @@ u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass)
switch (gender)
{
default:
- return gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_MAY];
+ return gFacilityClassToPicIndex[FACILITY_CLASS_MAY];
case MALE:
- return gFacilityClassToPicIndex[FACILITY_CLASS_PKMN_TRAINER_BRENDAN];
+ return gFacilityClassToPicIndex[FACILITY_CLASS_BRENDAN];
}
}
return gender;
diff --git a/src/trainer_see.c b/src/trainer_see.c
index b74608d0b..eeebcb575 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -1,4 +1,5 @@
#include "global.h"
+#include "constants/battle_setup.h"
#include "battle_setup.h"
#include "event_data.h"
#include "event_object_movement.h"
@@ -74,17 +75,17 @@ static u8 (*const sDirectionalApproachDistanceFuncs[])(struct EventObject *train
static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) =
{
sub_80B4178,
- sub_80B417C,
- sub_80B41C0,
- sub_80B4200,
- sub_80B425C,
- sub_80B4318,
- sub_80B435C,
- sub_80B4390,
- sub_80B43AC,
- sub_80B43E0,
- sub_80B4438,
- sub_80B44AC
+ sub_80B417C,
+ sub_80B41C0,
+ sub_80B4200,
+ sub_80B425C,
+ sub_80B4318,
+ sub_80B435C,
+ sub_80B4390,
+ sub_80B43AC,
+ sub_80B43E0,
+ sub_80B4438,
+ sub_80B44AC
};
static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) =
@@ -629,26 +630,26 @@ static void Task_DestroyTrainerApproachTask(u8 taskId)
EnableBothScriptContexts();
}
-void sub_80B45D0(void)
+void TryPrepareSecondApproachingTrainer(void)
{
if (gNoOfApproachingTrainers == 2)
{
if (gApproachingTrainerId == 0)
{
gApproachingTrainerId++;
- gSpecialVar_Result = 1;
+ gSpecialVar_Result = TRUE;
UnfreezeEventObjects();
FreezeEventObjectsExceptOne(gApproachingTrainers[1].eventObjectId);
}
else
{
gApproachingTrainerId = 0;
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
}
}
else
{
- gSpecialVar_Result = 0;
+ gSpecialVar_Result = FALSE;
}
}
diff --git a/src/tv.c b/src/tv.c
index f4811ee52..5c27b28a7 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -30,7 +30,7 @@
#include "text.h"
#include "script_menu.h"
#include "naming_screen.h"
-#include "malloc.h"
+#include "alloc.h"
#include "region_map.h"
#include "constants/region_map_sections.h"
#include "decoration.h"
@@ -833,7 +833,7 @@ void UpdateTVScreensOnMap(int width, int height)
{
SetTVMetatilesOnMap(width, height, 0x3);
}
- else if (FlagGet(FLAG_SYS_TV_START) && (FindAnyTVShowOnTheAir() != 0xff || FindAnyTVNewsOnTheAir() != 0xff || IsTVShowInSearchOfTrainersAiring()))
+ else if (FlagGet(FLAG_SYS_TV_START) && (FindAnyTVShowOnTheAir() != 0xFF || FindAnyTVNewsOnTheAir() != 0xFF || IsTVShowInSearchOfTrainersAiring()))
{
FlagClear(FLAG_SYS_TV_WATCH);
SetTVMetatilesOnMap(width, height, 0x3);
@@ -2742,7 +2742,7 @@ u8 FindAnyTVNewsOnTheAir(void)
return i;
}
}
- return -1;
+ return 0xFF;
}
void DoPokeNews(void)
@@ -3229,7 +3229,7 @@ u16 TV_GetSomeOtherSpeciesAlreadySeenByPlayer(u16 passedSpecies)
species = (Random() % (NUM_SPECIES - 1)) + 1;
initSpecies = species;
- while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 0) != 1 || species == passedSpecies)
+ while (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_SEEN) != TRUE || species == passedSpecies)
{
if (species == 1)
{
@@ -4376,7 +4376,7 @@ void SetTvShowInactive(u8 showIdx)
static void sub_80F0B24(u16 species, u8 showIdx)
{
- if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == 0)
+ if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_SEEN))
{
gSaveBlock1Ptr->tvShows[showIdx].common.active = FALSE;
}
diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c
index 9e97321df..67fd52cb5 100644
--- a/src/unk_pokedex_area_screen_helper.c
+++ b/src/unk_pokedex_area_screen_helper.c
@@ -2,8 +2,9 @@
#include "main.h"
#include "menu.h"
#include "bg.h"
-#include "malloc.h"
+#include "alloc.h"
#include "palette.h"
+#include "unk_pokedex_area_screen_helper.h"
EWRAM_DATA u8 *gUnknown_0203CF28 = NULL;
@@ -13,15 +14,7 @@ static const u32 gUnknown_0861DEF4[] = INCBIN_U32("graphics/interface/region_map
static const u32 gUnknown_0861E208[] = INCBIN_U32("graphics/interface/region_map_affine.8bpp.lz");
static const u32 gUnknown_0861EF64[] = INCBIN_U32("graphics/interface/region_map_affine.bin.lz");
-struct UnkStruct_1C4D70
-{
- u32 bg:2;
- u32 unk2:8;
- u32 unk10:2;
- u32 unk12:20;
-};
-
-void sub_81C4D70(struct UnkStruct_1C4D70 *template)
+void sub_81C4D70(const struct UnkStruct_1C4D70 *template)
{
u8 unk;
gUnknown_0203CF28 = Alloc(4);
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index 72c33100f..762019ecd 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -1,7 +1,7 @@
#include "global.h"
#include "main.h"
#include "pokeblock.h"
-#include "malloc.h"
+#include "alloc.h"
#include "palette.h"
#include "pokenav.h"
#include "scanline_effect.h"
diff --git a/src/wallclock.c b/src/wallclock.c
index e2e03ecba..5c8d920e7 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -890,13 +890,13 @@ static u16 CalcNewMinHandAngle(u16 angle, u8 direction, u8 speed)
{
case MVMT_BACKWARD:
if (angle)
- angle -= delta ;
+ angle -= delta;
else
- angle = 360 - delta ;
+ angle = 360 - delta;
break;
case MVMT_FORWARD:
- if (angle < 360 - delta )
- angle += delta ;
+ if (angle < 360 - delta)
+ angle += delta;
else
angle = 0;
break;
diff --git a/src/wild_encounter.c b/src/wild_encounter.c
index 9b3c70ad7..3a8adaf15 100644
--- a/src/wild_encounter.c
+++ b/src/wild_encounter.c
@@ -43,4554 +43,4554 @@ EWRAM_DATA static u32 sFeebasRngValue = 0;
// const rom data
const struct WildPokemon gRoute101_LandMons[] =
{
- {2, 2, SPECIES_WURMPLE},
- {2, 2, SPECIES_POOCHYENA},
- {2, 2, SPECIES_WURMPLE},
- {3, 3, SPECIES_WURMPLE},
- {3, 3, SPECIES_POOCHYENA},
- {3, 3, SPECIES_POOCHYENA},
- {3, 3, SPECIES_WURMPLE},
- {3, 3, SPECIES_POOCHYENA},
- {2, 2, SPECIES_ZIGZAGOON},
- {2, 2, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_ZIGZAGOON},
+ {2, 2, SPECIES_WURMPLE},
+ {2, 2, SPECIES_POOCHYENA},
+ {2, 2, SPECIES_WURMPLE},
+ {3, 3, SPECIES_WURMPLE},
+ {3, 3, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_WURMPLE},
+ {3, 3, SPECIES_POOCHYENA},
+ {2, 2, SPECIES_ZIGZAGOON},
+ {2, 2, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_ZIGZAGOON},
};
const struct WildPokemonInfo gRoute101_LandMonsInfo = {20, gRoute101_LandMons};
const struct WildPokemon gRoute102_LandMons[] =
{
- {3, 3, SPECIES_POOCHYENA},
- {3, 3, SPECIES_WURMPLE},
- {4, 4, SPECIES_POOCHYENA},
- {4, 4, SPECIES_WURMPLE},
- {3, 3, SPECIES_LOTAD},
- {4, 4, SPECIES_LOTAD},
- {3, 3, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_ZIGZAGOON},
- {4, 4, SPECIES_ZIGZAGOON},
- {4, 4, SPECIES_RALTS},
- {4, 4, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_SEEDOT},
+ {3, 3, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_WURMPLE},
+ {4, 4, SPECIES_POOCHYENA},
+ {4, 4, SPECIES_WURMPLE},
+ {3, 3, SPECIES_LOTAD},
+ {4, 4, SPECIES_LOTAD},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {4, 4, SPECIES_ZIGZAGOON},
+ {4, 4, SPECIES_RALTS},
+ {4, 4, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_SEEDOT},
};
const struct WildPokemonInfo gRoute102_LandMonsInfo = {20, gRoute102_LandMons};
const struct WildPokemon gRoute102_WaterMons[] =
{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
};
const struct WildPokemonInfo gRoute102_WaterMonsInfo = {4, gRoute102_WaterMons};
const struct WildPokemon gRoute102_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_CORPHISH},
- {25, 30, SPECIES_CORPHISH},
- {30, 35, SPECIES_CORPHISH},
- {20, 25, SPECIES_CORPHISH},
- {35, 40, SPECIES_CORPHISH},
- {40, 45, SPECIES_CORPHISH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_CORPHISH},
+ {25, 30, SPECIES_CORPHISH},
+ {30, 35, SPECIES_CORPHISH},
+ {20, 25, SPECIES_CORPHISH},
+ {35, 40, SPECIES_CORPHISH},
+ {40, 45, SPECIES_CORPHISH},
};
const struct WildPokemonInfo gRoute102_FishingMonsInfo = {30, gRoute102_FishingMons};
const struct WildPokemon gRoute103_LandMons[] =
{
- {2, 2, SPECIES_POOCHYENA},
- {3, 3, SPECIES_POOCHYENA},
- {3, 3, SPECIES_POOCHYENA},
- {4, 4, SPECIES_POOCHYENA},
- {2, 2, SPECIES_WINGULL},
- {3, 3, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_ZIGZAGOON},
- {4, 4, SPECIES_ZIGZAGOON},
- {3, 3, SPECIES_WINGULL},
- {3, 3, SPECIES_WINGULL},
- {2, 2, SPECIES_WINGULL},
- {4, 4, SPECIES_WINGULL},
+ {2, 2, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_POOCHYENA},
+ {3, 3, SPECIES_POOCHYENA},
+ {4, 4, SPECIES_POOCHYENA},
+ {2, 2, SPECIES_WINGULL},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_ZIGZAGOON},
+ {4, 4, SPECIES_ZIGZAGOON},
+ {3, 3, SPECIES_WINGULL},
+ {3, 3, SPECIES_WINGULL},
+ {2, 2, SPECIES_WINGULL},
+ {4, 4, SPECIES_WINGULL},
};
const struct WildPokemonInfo gRoute103_LandMonsInfo = {20, gRoute103_LandMons};
const struct WildPokemon gRoute103_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute103_WaterMonsInfo = {4, gRoute103_WaterMons};
const struct WildPokemon gRoute103_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute103_FishingMonsInfo = {30, gRoute103_FishingMons};
const struct WildPokemon gRoute104_LandMons[] =
{
- {4, 4, SPECIES_POOCHYENA},
- {4, 4, SPECIES_WURMPLE},
- {5, 5, SPECIES_POOCHYENA},
- {5, 5, SPECIES_MARILL},
- {4, 4, SPECIES_MARILL},
- {5, 5, SPECIES_POOCHYENA},
- {4, 4, SPECIES_TAILLOW},
- {5, 5, SPECIES_TAILLOW},
- {4, 4, SPECIES_WINGULL},
- {4, 4, SPECIES_WINGULL},
- {3, 3, SPECIES_WINGULL},
- {5, 5, SPECIES_WINGULL},
+ {4, 4, SPECIES_POOCHYENA},
+ {4, 4, SPECIES_WURMPLE},
+ {5, 5, SPECIES_POOCHYENA},
+ {5, 5, SPECIES_MARILL},
+ {4, 4, SPECIES_MARILL},
+ {5, 5, SPECIES_POOCHYENA},
+ {4, 4, SPECIES_TAILLOW},
+ {5, 5, SPECIES_TAILLOW},
+ {4, 4, SPECIES_WINGULL},
+ {4, 4, SPECIES_WINGULL},
+ {3, 3, SPECIES_WINGULL},
+ {5, 5, SPECIES_WINGULL},
};
const struct WildPokemonInfo gRoute104_LandMonsInfo = {20, gRoute104_LandMons};
const struct WildPokemon gRoute104_WaterMons[] =
{
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute104_WaterMonsInfo = {4, gRoute104_WaterMons};
const struct WildPokemon gRoute104_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {25, 30, SPECIES_MAGIKARP},
- {30, 35, SPECIES_MAGIKARP},
- {20, 25, SPECIES_MAGIKARP},
- {35, 40, SPECIES_MAGIKARP},
- {40, 45, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_MAGIKARP},
+ {30, 35, SPECIES_MAGIKARP},
+ {20, 25, SPECIES_MAGIKARP},
+ {35, 40, SPECIES_MAGIKARP},
+ {40, 45, SPECIES_MAGIKARP},
};
const struct WildPokemonInfo gRoute104_FishingMonsInfo = {30, gRoute104_FishingMons};
const struct WildPokemon gRoute105_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute105_WaterMonsInfo = {4, gRoute105_WaterMons};
const struct WildPokemon gRoute105_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute105_FishingMonsInfo = {30, gRoute105_FishingMons};
const struct WildPokemon gRoute110_LandMons[] =
{
- {12, 12, SPECIES_POOCHYENA},
- {12, 12, SPECIES_ELECTRIKE},
- {12, 12, SPECIES_GULPIN},
- {13, 13, SPECIES_ELECTRIKE},
- {13, 13, SPECIES_MINUN},
- {13, 13, SPECIES_ODDISH},
- {13, 13, SPECIES_MINUN},
- {13, 13, SPECIES_GULPIN},
- {12, 12, SPECIES_WINGULL},
- {12, 12, SPECIES_WINGULL},
- {12, 12, SPECIES_PLUSLE},
- {13, 13, SPECIES_PLUSLE},
+ {12, 12, SPECIES_POOCHYENA},
+ {12, 12, SPECIES_ELECTRIKE},
+ {12, 12, SPECIES_GULPIN},
+ {13, 13, SPECIES_ELECTRIKE},
+ {13, 13, SPECIES_MINUN},
+ {13, 13, SPECIES_ODDISH},
+ {13, 13, SPECIES_MINUN},
+ {13, 13, SPECIES_GULPIN},
+ {12, 12, SPECIES_WINGULL},
+ {12, 12, SPECIES_WINGULL},
+ {12, 12, SPECIES_PLUSLE},
+ {13, 13, SPECIES_PLUSLE},
};
const struct WildPokemonInfo gRoute110_LandMonsInfo = {20, gRoute110_LandMons};
const struct WildPokemon gRoute110_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute110_WaterMonsInfo = {4, gRoute110_WaterMons};
const struct WildPokemon gRoute110_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute110_FishingMonsInfo = {30, gRoute110_FishingMons};
const struct WildPokemon gRoute111_LandMons[] =
{
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {19, 19, SPECIES_BALTOY},
- {21, 21, SPECIES_BALTOY},
- {19, 19, SPECIES_SANDSHREW},
- {19, 19, SPECIES_TRAPINCH},
- {20, 20, SPECIES_BALTOY},
- {20, 20, SPECIES_CACNEA},
- {22, 22, SPECIES_CACNEA},
- {22, 22, SPECIES_CACNEA},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {19, 19, SPECIES_BALTOY},
+ {21, 21, SPECIES_BALTOY},
+ {19, 19, SPECIES_SANDSHREW},
+ {19, 19, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_BALTOY},
+ {20, 20, SPECIES_CACNEA},
+ {22, 22, SPECIES_CACNEA},
+ {22, 22, SPECIES_CACNEA},
};
const struct WildPokemonInfo gRoute111_LandMonsInfo = {10, gRoute111_LandMons};
const struct WildPokemon gRoute111_WaterMons[] =
{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
};
const struct WildPokemonInfo gRoute111_WaterMonsInfo = {4, gRoute111_WaterMons};
const struct WildPokemon gRoute111_RockSmashMons[] =
{
- {10, 15, SPECIES_GEODUDE},
- {5, 10, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
+ {10, 15, SPECIES_GEODUDE},
+ {5, 10, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
};
const struct WildPokemonInfo gRoute111_RockSmashMonsInfo = {20, gRoute111_RockSmashMons};
const struct WildPokemon gRoute111_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {20, 25, SPECIES_BARBOACH},
- {35, 40, SPECIES_BARBOACH},
- {40, 45, SPECIES_BARBOACH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {20, 25, SPECIES_BARBOACH},
+ {35, 40, SPECIES_BARBOACH},
+ {40, 45, SPECIES_BARBOACH},
};
const struct WildPokemonInfo gRoute111_FishingMonsInfo = {30, gRoute111_FishingMons};
const struct WildPokemon gRoute112_LandMons[] =
{
- {15, 15, SPECIES_NUMEL},
- {15, 15, SPECIES_NUMEL},
- {15, 15, SPECIES_MARILL},
- {14, 14, SPECIES_NUMEL},
- {14, 14, SPECIES_NUMEL},
- {14, 14, SPECIES_MARILL},
- {16, 16, SPECIES_NUMEL},
- {16, 16, SPECIES_MARILL},
- {16, 16, SPECIES_NUMEL},
- {16, 16, SPECIES_NUMEL},
- {16, 16, SPECIES_NUMEL},
- {16, 16, SPECIES_NUMEL},
+ {15, 15, SPECIES_NUMEL},
+ {15, 15, SPECIES_NUMEL},
+ {15, 15, SPECIES_MARILL},
+ {14, 14, SPECIES_NUMEL},
+ {14, 14, SPECIES_NUMEL},
+ {14, 14, SPECIES_MARILL},
+ {16, 16, SPECIES_NUMEL},
+ {16, 16, SPECIES_MARILL},
+ {16, 16, SPECIES_NUMEL},
+ {16, 16, SPECIES_NUMEL},
+ {16, 16, SPECIES_NUMEL},
+ {16, 16, SPECIES_NUMEL},
};
const struct WildPokemonInfo gRoute112_LandMonsInfo = {20, gRoute112_LandMons};
const struct WildPokemon gRoute113_LandMons[] =
{
- {15, 15, SPECIES_SPINDA},
- {15, 15, SPECIES_SPINDA},
- {15, 15, SPECIES_SLUGMA},
- {14, 14, SPECIES_SPINDA},
- {14, 14, SPECIES_SPINDA},
- {14, 14, SPECIES_SLUGMA},
- {16, 16, SPECIES_SPINDA},
- {16, 16, SPECIES_SLUGMA},
- {16, 16, SPECIES_SPINDA},
- {16, 16, SPECIES_SKARMORY},
- {16, 16, SPECIES_SPINDA},
- {16, 16, SPECIES_SKARMORY},
+ {15, 15, SPECIES_SPINDA},
+ {15, 15, SPECIES_SPINDA},
+ {15, 15, SPECIES_SLUGMA},
+ {14, 14, SPECIES_SPINDA},
+ {14, 14, SPECIES_SPINDA},
+ {14, 14, SPECIES_SLUGMA},
+ {16, 16, SPECIES_SPINDA},
+ {16, 16, SPECIES_SLUGMA},
+ {16, 16, SPECIES_SPINDA},
+ {16, 16, SPECIES_SKARMORY},
+ {16, 16, SPECIES_SPINDA},
+ {16, 16, SPECIES_SKARMORY},
};
const struct WildPokemonInfo gRoute113_LandMonsInfo = {20, gRoute113_LandMons};
const struct WildPokemon gRoute114_LandMons[] =
{
- {16, 16, SPECIES_SWABLU},
- {16, 16, SPECIES_LOTAD},
- {17, 17, SPECIES_SWABLU},
- {15, 15, SPECIES_SWABLU},
- {15, 15, SPECIES_LOTAD},
- {16, 16, SPECIES_LOMBRE},
- {16, 16, SPECIES_LOMBRE},
- {18, 18, SPECIES_LOMBRE},
- {17, 17, SPECIES_SEVIPER},
- {15, 15, SPECIES_SEVIPER},
- {17, 17, SPECIES_SEVIPER},
- {15, 15, SPECIES_NUZLEAF},
+ {16, 16, SPECIES_SWABLU},
+ {16, 16, SPECIES_LOTAD},
+ {17, 17, SPECIES_SWABLU},
+ {15, 15, SPECIES_SWABLU},
+ {15, 15, SPECIES_LOTAD},
+ {16, 16, SPECIES_LOMBRE},
+ {16, 16, SPECIES_LOMBRE},
+ {18, 18, SPECIES_LOMBRE},
+ {17, 17, SPECIES_SEVIPER},
+ {15, 15, SPECIES_SEVIPER},
+ {17, 17, SPECIES_SEVIPER},
+ {15, 15, SPECIES_NUZLEAF},
};
const struct WildPokemonInfo gRoute114_LandMonsInfo = {20, gRoute114_LandMons};
const struct WildPokemon gRoute114_WaterMons[] =
{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
};
const struct WildPokemonInfo gRoute114_WaterMonsInfo = {4, gRoute114_WaterMons};
const struct WildPokemon gRoute114_RockSmashMons[] =
{
- {10, 15, SPECIES_GEODUDE},
- {5, 10, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
+ {10, 15, SPECIES_GEODUDE},
+ {5, 10, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
};
const struct WildPokemonInfo gRoute114_RockSmashMonsInfo = {20, gRoute114_RockSmashMons};
const struct WildPokemon gRoute114_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {20, 25, SPECIES_BARBOACH},
- {35, 40, SPECIES_BARBOACH},
- {40, 45, SPECIES_BARBOACH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {20, 25, SPECIES_BARBOACH},
+ {35, 40, SPECIES_BARBOACH},
+ {40, 45, SPECIES_BARBOACH},
};
const struct WildPokemonInfo gRoute114_FishingMonsInfo = {30, gRoute114_FishingMons};
const struct WildPokemon gRoute116_LandMons[] =
{
- {6, 6, SPECIES_POOCHYENA},
- {6, 6, SPECIES_WHISMUR},
- {6, 6, SPECIES_NINCADA},
- {7, 7, SPECIES_ABRA},
- {7, 7, SPECIES_NINCADA},
- {6, 6, SPECIES_TAILLOW},
- {7, 7, SPECIES_TAILLOW},
- {8, 8, SPECIES_TAILLOW},
- {7, 7, SPECIES_POOCHYENA},
- {8, 8, SPECIES_POOCHYENA},
- {7, 7, SPECIES_SKITTY},
- {8, 8, SPECIES_SKITTY},
+ {6, 6, SPECIES_POOCHYENA},
+ {6, 6, SPECIES_WHISMUR},
+ {6, 6, SPECIES_NINCADA},
+ {7, 7, SPECIES_ABRA},
+ {7, 7, SPECIES_NINCADA},
+ {6, 6, SPECIES_TAILLOW},
+ {7, 7, SPECIES_TAILLOW},
+ {8, 8, SPECIES_TAILLOW},
+ {7, 7, SPECIES_POOCHYENA},
+ {8, 8, SPECIES_POOCHYENA},
+ {7, 7, SPECIES_SKITTY},
+ {8, 8, SPECIES_SKITTY},
};
const struct WildPokemonInfo gRoute116_LandMonsInfo = {20, gRoute116_LandMons};
const struct WildPokemon gRoute117_LandMons[] =
{
- {13, 13, SPECIES_POOCHYENA},
- {13, 13, SPECIES_ODDISH},
- {14, 14, SPECIES_POOCHYENA},
- {14, 14, SPECIES_ODDISH},
- {13, 13, SPECIES_MARILL},
- {13, 13, SPECIES_ODDISH},
- {13, 13, SPECIES_ILLUMISE},
- {13, 13, SPECIES_ILLUMISE},
- {14, 14, SPECIES_ILLUMISE},
- {14, 14, SPECIES_ILLUMISE},
- {13, 13, SPECIES_VOLBEAT},
- {13, 13, SPECIES_SEEDOT},
+ {13, 13, SPECIES_POOCHYENA},
+ {13, 13, SPECIES_ODDISH},
+ {14, 14, SPECIES_POOCHYENA},
+ {14, 14, SPECIES_ODDISH},
+ {13, 13, SPECIES_MARILL},
+ {13, 13, SPECIES_ODDISH},
+ {13, 13, SPECIES_ILLUMISE},
+ {13, 13, SPECIES_ILLUMISE},
+ {14, 14, SPECIES_ILLUMISE},
+ {14, 14, SPECIES_ILLUMISE},
+ {13, 13, SPECIES_VOLBEAT},
+ {13, 13, SPECIES_SEEDOT},
};
const struct WildPokemonInfo gRoute117_LandMonsInfo = {20, gRoute117_LandMons};
const struct WildPokemon gRoute117_WaterMons[] =
{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
};
const struct WildPokemonInfo gRoute117_WaterMonsInfo = {4, gRoute117_WaterMons};
const struct WildPokemon gRoute117_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_CORPHISH},
- {25, 30, SPECIES_CORPHISH},
- {30, 35, SPECIES_CORPHISH},
- {20, 25, SPECIES_CORPHISH},
- {35, 40, SPECIES_CORPHISH},
- {40, 45, SPECIES_CORPHISH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_CORPHISH},
+ {25, 30, SPECIES_CORPHISH},
+ {30, 35, SPECIES_CORPHISH},
+ {20, 25, SPECIES_CORPHISH},
+ {35, 40, SPECIES_CORPHISH},
+ {40, 45, SPECIES_CORPHISH},
};
const struct WildPokemonInfo gRoute117_FishingMonsInfo = {30, gRoute117_FishingMons};
const struct WildPokemon gRoute118_LandMons[] =
{
- {24, 24, SPECIES_ZIGZAGOON},
- {24, 24, SPECIES_ELECTRIKE},
- {26, 26, SPECIES_ZIGZAGOON},
- {26, 26, SPECIES_ELECTRIKE},
- {26, 26, SPECIES_LINOONE},
- {26, 26, SPECIES_MANECTRIC},
- {25, 25, SPECIES_WINGULL},
- {25, 25, SPECIES_WINGULL},
- {26, 26, SPECIES_WINGULL},
- {26, 26, SPECIES_WINGULL},
- {27, 27, SPECIES_WINGULL},
- {25, 25, SPECIES_KECLEON},
+ {24, 24, SPECIES_ZIGZAGOON},
+ {24, 24, SPECIES_ELECTRIKE},
+ {26, 26, SPECIES_ZIGZAGOON},
+ {26, 26, SPECIES_ELECTRIKE},
+ {26, 26, SPECIES_LINOONE},
+ {26, 26, SPECIES_MANECTRIC},
+ {25, 25, SPECIES_WINGULL},
+ {25, 25, SPECIES_WINGULL},
+ {26, 26, SPECIES_WINGULL},
+ {26, 26, SPECIES_WINGULL},
+ {27, 27, SPECIES_WINGULL},
+ {25, 25, SPECIES_KECLEON},
};
const struct WildPokemonInfo gRoute118_LandMonsInfo = {20, gRoute118_LandMons};
const struct WildPokemon gRoute118_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute118_WaterMonsInfo = {4, gRoute118_WaterMons};
const struct WildPokemon gRoute118_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_CARVANHA},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_CARVANHA},
- {20, 25, SPECIES_CARVANHA},
- {35, 40, SPECIES_CARVANHA},
- {40, 45, SPECIES_CARVANHA},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_CARVANHA},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_CARVANHA},
+ {20, 25, SPECIES_CARVANHA},
+ {35, 40, SPECIES_CARVANHA},
+ {40, 45, SPECIES_CARVANHA},
};
const struct WildPokemonInfo gRoute118_FishingMonsInfo = {30, gRoute118_FishingMons};
const struct WildPokemon gRoute124_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute124_WaterMonsInfo = {4, gRoute124_WaterMons};
const struct WildPokemon gRoute124_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute124_FishingMonsInfo = {30, gRoute124_FishingMons};
const struct WildPokemon gPetalburgWoods_LandMons[] =
{
- {5, 5, SPECIES_POOCHYENA},
- {5, 5, SPECIES_WURMPLE},
- {5, 5, SPECIES_SHROOMISH},
- {6, 6, SPECIES_POOCHYENA},
- {5, 5, SPECIES_SILCOON},
- {5, 5, SPECIES_CASCOON},
- {6, 6, SPECIES_WURMPLE},
- {6, 6, SPECIES_SHROOMISH},
- {5, 5, SPECIES_TAILLOW},
- {5, 5, SPECIES_SLAKOTH},
- {6, 6, SPECIES_TAILLOW},
- {6, 6, SPECIES_SLAKOTH},
+ {5, 5, SPECIES_POOCHYENA},
+ {5, 5, SPECIES_WURMPLE},
+ {5, 5, SPECIES_SHROOMISH},
+ {6, 6, SPECIES_POOCHYENA},
+ {5, 5, SPECIES_SILCOON},
+ {5, 5, SPECIES_CASCOON},
+ {6, 6, SPECIES_WURMPLE},
+ {6, 6, SPECIES_SHROOMISH},
+ {5, 5, SPECIES_TAILLOW},
+ {5, 5, SPECIES_SLAKOTH},
+ {6, 6, SPECIES_TAILLOW},
+ {6, 6, SPECIES_SLAKOTH},
};
const struct WildPokemonInfo gPetalburgWoods_LandMonsInfo = {20, gPetalburgWoods_LandMons};
const struct WildPokemon gRusturfTunnel_LandMons[] =
{
- {6, 6, SPECIES_WHISMUR},
- {7, 7, SPECIES_WHISMUR},
- {6, 6, SPECIES_WHISMUR},
- {6, 6, SPECIES_WHISMUR},
- {7, 7, SPECIES_WHISMUR},
- {7, 7, SPECIES_WHISMUR},
- {5, 5, SPECIES_WHISMUR},
- {8, 8, SPECIES_WHISMUR},
- {5, 5, SPECIES_WHISMUR},
- {8, 8, SPECIES_WHISMUR},
- {5, 5, SPECIES_WHISMUR},
- {8, 8, SPECIES_WHISMUR},
+ {6, 6, SPECIES_WHISMUR},
+ {7, 7, SPECIES_WHISMUR},
+ {6, 6, SPECIES_WHISMUR},
+ {6, 6, SPECIES_WHISMUR},
+ {7, 7, SPECIES_WHISMUR},
+ {7, 7, SPECIES_WHISMUR},
+ {5, 5, SPECIES_WHISMUR},
+ {8, 8, SPECIES_WHISMUR},
+ {5, 5, SPECIES_WHISMUR},
+ {8, 8, SPECIES_WHISMUR},
+ {5, 5, SPECIES_WHISMUR},
+ {8, 8, SPECIES_WHISMUR},
};
const struct WildPokemonInfo gRusturfTunnel_LandMonsInfo = {10, gRusturfTunnel_LandMons};
const struct WildPokemon gGraniteCave_1F_LandMons[] =
{
- {7, 7, SPECIES_ZUBAT},
- {8, 8, SPECIES_MAKUHITA},
- {7, 7, SPECIES_MAKUHITA},
- {8, 8, SPECIES_ZUBAT},
- {9, 9, SPECIES_MAKUHITA},
- {8, 8, SPECIES_ABRA},
- {10, 10, SPECIES_MAKUHITA},
- {6, 6, SPECIES_MAKUHITA},
- {7, 7, SPECIES_GEODUDE},
- {8, 8, SPECIES_GEODUDE},
- {6, 6, SPECIES_GEODUDE},
- {9, 9, SPECIES_GEODUDE},
+ {7, 7, SPECIES_ZUBAT},
+ {8, 8, SPECIES_MAKUHITA},
+ {7, 7, SPECIES_MAKUHITA},
+ {8, 8, SPECIES_ZUBAT},
+ {9, 9, SPECIES_MAKUHITA},
+ {8, 8, SPECIES_ABRA},
+ {10, 10, SPECIES_MAKUHITA},
+ {6, 6, SPECIES_MAKUHITA},
+ {7, 7, SPECIES_GEODUDE},
+ {8, 8, SPECIES_GEODUDE},
+ {6, 6, SPECIES_GEODUDE},
+ {9, 9, SPECIES_GEODUDE},
};
const struct WildPokemonInfo gGraniteCave_1F_LandMonsInfo = {10, gGraniteCave_1F_LandMons};
const struct WildPokemon gGraniteCave_B1F_LandMons[] =
{
- {9, 9, SPECIES_ZUBAT},
- {10, 10, SPECIES_ARON},
- {9, 9, SPECIES_ARON},
- {11, 11, SPECIES_ARON},
- {10, 10, SPECIES_ZUBAT},
- {9, 9, SPECIES_ABRA},
- {10, 10, SPECIES_MAKUHITA},
- {11, 11, SPECIES_MAKUHITA},
- {10, 10, SPECIES_SABLEYE},
- {10, 10, SPECIES_SABLEYE},
- {9, 9, SPECIES_SABLEYE},
- {11, 11, SPECIES_SABLEYE},
+ {9, 9, SPECIES_ZUBAT},
+ {10, 10, SPECIES_ARON},
+ {9, 9, SPECIES_ARON},
+ {11, 11, SPECIES_ARON},
+ {10, 10, SPECIES_ZUBAT},
+ {9, 9, SPECIES_ABRA},
+ {10, 10, SPECIES_MAKUHITA},
+ {11, 11, SPECIES_MAKUHITA},
+ {10, 10, SPECIES_SABLEYE},
+ {10, 10, SPECIES_SABLEYE},
+ {9, 9, SPECIES_SABLEYE},
+ {11, 11, SPECIES_SABLEYE},
};
const struct WildPokemonInfo gGraniteCave_B1F_LandMonsInfo = {10, gGraniteCave_B1F_LandMons};
const struct WildPokemon gMtPyre_1F_LandMons[] =
{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
};
const struct WildPokemonInfo gMtPyre_1F_LandMonsInfo = {10, gMtPyre_1F_LandMons};
const struct WildPokemon gVictoryRoad_1F_LandMons[] =
{
- {40, 40, SPECIES_GOLBAT},
- {40, 40, SPECIES_HARIYAMA},
- {40, 40, SPECIES_LAIRON},
- {40, 40, SPECIES_LOUDRED},
- {36, 36, SPECIES_ZUBAT},
- {36, 36, SPECIES_MAKUHITA},
- {38, 38, SPECIES_GOLBAT},
- {38, 38, SPECIES_HARIYAMA},
- {36, 36, SPECIES_ARON},
- {36, 36, SPECIES_WHISMUR},
- {36, 36, SPECIES_ARON},
- {36, 36, SPECIES_WHISMUR},
+ {40, 40, SPECIES_GOLBAT},
+ {40, 40, SPECIES_HARIYAMA},
+ {40, 40, SPECIES_LAIRON},
+ {40, 40, SPECIES_LOUDRED},
+ {36, 36, SPECIES_ZUBAT},
+ {36, 36, SPECIES_MAKUHITA},
+ {38, 38, SPECIES_GOLBAT},
+ {38, 38, SPECIES_HARIYAMA},
+ {36, 36, SPECIES_ARON},
+ {36, 36, SPECIES_WHISMUR},
+ {36, 36, SPECIES_ARON},
+ {36, 36, SPECIES_WHISMUR},
};
const struct WildPokemonInfo gVictoryRoad_1F_LandMonsInfo = {10, gVictoryRoad_1F_LandMons};
const struct WildPokemon gSafariZone_South_LandMons[] =
{
- {25, 25, SPECIES_ODDISH},
- {27, 27, SPECIES_ODDISH},
- {25, 25, SPECIES_GIRAFARIG},
- {27, 27, SPECIES_GIRAFARIG},
- {25, 25, SPECIES_NATU},
- {25, 25, SPECIES_DODUO},
- {25, 25, SPECIES_GLOOM},
- {27, 27, SPECIES_WOBBUFFET},
- {25, 25, SPECIES_PIKACHU},
- {27, 27, SPECIES_WOBBUFFET},
- {27, 27, SPECIES_PIKACHU},
- {29, 29, SPECIES_WOBBUFFET},
+ {25, 25, SPECIES_ODDISH},
+ {27, 27, SPECIES_ODDISH},
+ {25, 25, SPECIES_GIRAFARIG},
+ {27, 27, SPECIES_GIRAFARIG},
+ {25, 25, SPECIES_NATU},
+ {25, 25, SPECIES_DODUO},
+ {25, 25, SPECIES_GLOOM},
+ {27, 27, SPECIES_WOBBUFFET},
+ {25, 25, SPECIES_PIKACHU},
+ {27, 27, SPECIES_WOBBUFFET},
+ {27, 27, SPECIES_PIKACHU},
+ {29, 29, SPECIES_WOBBUFFET},
};
const struct WildPokemonInfo gSafariZone_South_LandMonsInfo = {25, gSafariZone_South_LandMons};
const struct WildPokemon gUnderwater2_WaterMons[] =
{
- {20, 30, SPECIES_CLAMPERL},
- {20, 30, SPECIES_CHINCHOU},
- {30, 35, SPECIES_CLAMPERL},
- {30, 35, SPECIES_RELICANTH},
- {30, 35, SPECIES_RELICANTH},
+ {20, 30, SPECIES_CLAMPERL},
+ {20, 30, SPECIES_CHINCHOU},
+ {30, 35, SPECIES_CLAMPERL},
+ {30, 35, SPECIES_RELICANTH},
+ {30, 35, SPECIES_RELICANTH},
};
const struct WildPokemonInfo gUnderwater2_WaterMonsInfo = {4, gUnderwater2_WaterMons};
const struct WildPokemon gAbandonedShip_Rooms_B1F_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACRUEL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACRUEL},
};
const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_WaterMonsInfo = {4, gAbandonedShip_Rooms_B1F_WaterMons};
const struct WildPokemon gAbandonedShip_Rooms_B1F_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_TENTACOOL},
- {25, 30, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACRUEL},
- {25, 30, SPECIES_TENTACRUEL},
- {20, 25, SPECIES_TENTACRUEL},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_TENTACOOL},
+ {25, 30, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACRUEL},
+ {25, 30, SPECIES_TENTACRUEL},
+ {20, 25, SPECIES_TENTACRUEL},
};
const struct WildPokemonInfo gAbandonedShip_Rooms_B1F_FishingMonsInfo = {20, gAbandonedShip_Rooms_B1F_FishingMons};
const struct WildPokemon gGraniteCave_B2F_LandMons[] =
{
- {10, 10, SPECIES_ZUBAT},
- {11, 11, SPECIES_ARON},
- {10, 10, SPECIES_ARON},
- {11, 11, SPECIES_ZUBAT},
- {12, 12, SPECIES_ARON},
- {10, 10, SPECIES_ABRA},
- {10, 10, SPECIES_SABLEYE},
- {11, 11, SPECIES_SABLEYE},
- {12, 12, SPECIES_SABLEYE},
- {10, 10, SPECIES_SABLEYE},
- {12, 12, SPECIES_SABLEYE},
- {10, 10, SPECIES_SABLEYE},
+ {10, 10, SPECIES_ZUBAT},
+ {11, 11, SPECIES_ARON},
+ {10, 10, SPECIES_ARON},
+ {11, 11, SPECIES_ZUBAT},
+ {12, 12, SPECIES_ARON},
+ {10, 10, SPECIES_ABRA},
+ {10, 10, SPECIES_SABLEYE},
+ {11, 11, SPECIES_SABLEYE},
+ {12, 12, SPECIES_SABLEYE},
+ {10, 10, SPECIES_SABLEYE},
+ {12, 12, SPECIES_SABLEYE},
+ {10, 10, SPECIES_SABLEYE},
};
const struct WildPokemonInfo gGraniteCave_B2F_LandMonsInfo = {10, gGraniteCave_B2F_LandMons};
const struct WildPokemon gGraniteCave_B2F_RockSmashMons[] =
{
- {10, 15, SPECIES_GEODUDE},
- {10, 20, SPECIES_NOSEPASS},
- {5, 10, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
+ {10, 15, SPECIES_GEODUDE},
+ {10, 20, SPECIES_NOSEPASS},
+ {5, 10, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
};
const struct WildPokemonInfo gGraniteCave_B2F_RockSmashMonsInfo = {20, gGraniteCave_B2F_RockSmashMons};
const struct WildPokemon gFieryPath_LandMons[] =
{
- {15, 15, SPECIES_NUMEL},
- {15, 15, SPECIES_KOFFING},
- {16, 16, SPECIES_NUMEL},
- {15, 15, SPECIES_MACHOP},
- {15, 15, SPECIES_TORKOAL},
- {15, 15, SPECIES_SLUGMA},
- {16, 16, SPECIES_KOFFING},
- {16, 16, SPECIES_MACHOP},
- {14, 14, SPECIES_TORKOAL},
- {16, 16, SPECIES_TORKOAL},
- {14, 14, SPECIES_GRIMER},
- {14, 14, SPECIES_GRIMER},
+ {15, 15, SPECIES_NUMEL},
+ {15, 15, SPECIES_KOFFING},
+ {16, 16, SPECIES_NUMEL},
+ {15, 15, SPECIES_MACHOP},
+ {15, 15, SPECIES_TORKOAL},
+ {15, 15, SPECIES_SLUGMA},
+ {16, 16, SPECIES_KOFFING},
+ {16, 16, SPECIES_MACHOP},
+ {14, 14, SPECIES_TORKOAL},
+ {16, 16, SPECIES_TORKOAL},
+ {14, 14, SPECIES_GRIMER},
+ {14, 14, SPECIES_GRIMER},
};
const struct WildPokemonInfo gFieryPath_LandMonsInfo = {10, gFieryPath_LandMons};
const struct WildPokemon gMeteorFalls_B1F_2R_LandMons[] =
{
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {30, 30, SPECIES_BAGON},
- {35, 35, SPECIES_SOLROCK},
- {35, 35, SPECIES_BAGON},
- {37, 37, SPECIES_SOLROCK},
- {25, 25, SPECIES_BAGON},
- {39, 39, SPECIES_SOLROCK},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {30, 30, SPECIES_BAGON},
+ {35, 35, SPECIES_SOLROCK},
+ {35, 35, SPECIES_BAGON},
+ {37, 37, SPECIES_SOLROCK},
+ {25, 25, SPECIES_BAGON},
+ {39, 39, SPECIES_SOLROCK},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gMeteorFalls_B1F_2R_LandMonsInfo = {10, gMeteorFalls_B1F_2R_LandMons};
const struct WildPokemon gMeteorFalls_B1F_2R_WaterMons[] =
{
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
- {25, 35, SPECIES_SOLROCK},
- {15, 25, SPECIES_SOLROCK},
- {5, 15, SPECIES_SOLROCK},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {25, 35, SPECIES_SOLROCK},
+ {15, 25, SPECIES_SOLROCK},
+ {5, 15, SPECIES_SOLROCK},
};
const struct WildPokemonInfo gMeteorFalls_B1F_2R_WaterMonsInfo = {4, gMeteorFalls_B1F_2R_WaterMons};
const struct WildPokemon gMeteorFalls_B1F_2R_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {30, 35, SPECIES_WHISCASH},
- {35, 40, SPECIES_WHISCASH},
- {40, 45, SPECIES_WHISCASH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {30, 35, SPECIES_WHISCASH},
+ {35, 40, SPECIES_WHISCASH},
+ {40, 45, SPECIES_WHISCASH},
};
const struct WildPokemonInfo gMeteorFalls_B1F_2R_FishingMonsInfo = {30, gMeteorFalls_B1F_2R_FishingMons};
const struct WildPokemon gJaggedPass_LandMons[] =
{
- {21, 21, SPECIES_NUMEL},
- {21, 21, SPECIES_NUMEL},
- {21, 21, SPECIES_MACHOP},
- {20, 20, SPECIES_NUMEL},
- {20, 20, SPECIES_SPOINK},
- {20, 20, SPECIES_MACHOP},
- {21, 21, SPECIES_SPOINK},
- {22, 22, SPECIES_MACHOP},
- {22, 22, SPECIES_NUMEL},
- {22, 22, SPECIES_SPOINK},
- {22, 22, SPECIES_NUMEL},
- {22, 22, SPECIES_SPOINK},
+ {21, 21, SPECIES_NUMEL},
+ {21, 21, SPECIES_NUMEL},
+ {21, 21, SPECIES_MACHOP},
+ {20, 20, SPECIES_NUMEL},
+ {20, 20, SPECIES_SPOINK},
+ {20, 20, SPECIES_MACHOP},
+ {21, 21, SPECIES_SPOINK},
+ {22, 22, SPECIES_MACHOP},
+ {22, 22, SPECIES_NUMEL},
+ {22, 22, SPECIES_SPOINK},
+ {22, 22, SPECIES_NUMEL},
+ {22, 22, SPECIES_SPOINK},
};
const struct WildPokemonInfo gJaggedPass_LandMonsInfo = {20, gJaggedPass_LandMons};
const struct WildPokemon gRoute106_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute106_WaterMonsInfo = {4, gRoute106_WaterMons};
const struct WildPokemon gRoute106_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute106_FishingMonsInfo = {30, gRoute106_FishingMons};
const struct WildPokemon gRoute107_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute107_WaterMonsInfo = {4, gRoute107_WaterMons};
const struct WildPokemon gRoute107_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute107_FishingMonsInfo = {30, gRoute107_FishingMons};
const struct WildPokemon gRoute108_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute108_WaterMonsInfo = {4, gRoute108_WaterMons};
const struct WildPokemon gRoute108_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute108_FishingMonsInfo = {30, gRoute108_FishingMons};
const struct WildPokemon gRoute109_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute109_WaterMonsInfo = {4, gRoute109_WaterMons};
const struct WildPokemon gRoute109_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute109_FishingMonsInfo = {30, gRoute109_FishingMons};
const struct WildPokemon gRoute115_LandMons[] =
{
- {23, 23, SPECIES_SWABLU},
- {23, 23, SPECIES_TAILLOW},
- {25, 25, SPECIES_SWABLU},
- {24, 24, SPECIES_TAILLOW},
- {25, 25, SPECIES_TAILLOW},
- {25, 25, SPECIES_SWELLOW},
- {24, 24, SPECIES_JIGGLYPUFF},
- {25, 25, SPECIES_JIGGLYPUFF},
- {24, 24, SPECIES_WINGULL},
- {24, 24, SPECIES_WINGULL},
- {26, 26, SPECIES_WINGULL},
- {25, 25, SPECIES_WINGULL},
+ {23, 23, SPECIES_SWABLU},
+ {23, 23, SPECIES_TAILLOW},
+ {25, 25, SPECIES_SWABLU},
+ {24, 24, SPECIES_TAILLOW},
+ {25, 25, SPECIES_TAILLOW},
+ {25, 25, SPECIES_SWELLOW},
+ {24, 24, SPECIES_JIGGLYPUFF},
+ {25, 25, SPECIES_JIGGLYPUFF},
+ {24, 24, SPECIES_WINGULL},
+ {24, 24, SPECIES_WINGULL},
+ {26, 26, SPECIES_WINGULL},
+ {25, 25, SPECIES_WINGULL},
};
const struct WildPokemonInfo gRoute115_LandMonsInfo = {20, gRoute115_LandMons};
const struct WildPokemon gRoute115_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute115_WaterMonsInfo = {4, gRoute115_WaterMons};
const struct WildPokemon gRoute115_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute115_FishingMonsInfo = {30, gRoute115_FishingMons};
const struct WildPokemon gNewMauville_Inside_LandMons[] =
{
- {24, 24, SPECIES_VOLTORB},
- {24, 24, SPECIES_MAGNEMITE},
- {25, 25, SPECIES_VOLTORB},
- {25, 25, SPECIES_MAGNEMITE},
- {23, 23, SPECIES_VOLTORB},
- {23, 23, SPECIES_MAGNEMITE},
- {26, 26, SPECIES_VOLTORB},
- {26, 26, SPECIES_MAGNEMITE},
- {22, 22, SPECIES_VOLTORB},
- {22, 22, SPECIES_MAGNEMITE},
- {26, 26, SPECIES_ELECTRODE},
- {26, 26, SPECIES_MAGNETON},
+ {24, 24, SPECIES_VOLTORB},
+ {24, 24, SPECIES_MAGNEMITE},
+ {25, 25, SPECIES_VOLTORB},
+ {25, 25, SPECIES_MAGNEMITE},
+ {23, 23, SPECIES_VOLTORB},
+ {23, 23, SPECIES_MAGNEMITE},
+ {26, 26, SPECIES_VOLTORB},
+ {26, 26, SPECIES_MAGNEMITE},
+ {22, 22, SPECIES_VOLTORB},
+ {22, 22, SPECIES_MAGNEMITE},
+ {26, 26, SPECIES_ELECTRODE},
+ {26, 26, SPECIES_MAGNETON},
};
const struct WildPokemonInfo gNewMauville_Inside_LandMonsInfo = {10, gNewMauville_Inside_LandMons};
const struct WildPokemon gRoute119_LandMons[] =
{
- {25, 25, SPECIES_ZIGZAGOON},
- {25, 25, SPECIES_LINOONE},
- {27, 27, SPECIES_ZIGZAGOON},
- {25, 25, SPECIES_ODDISH},
- {27, 27, SPECIES_LINOONE},
- {26, 26, SPECIES_ODDISH},
- {27, 27, SPECIES_ODDISH},
- {24, 24, SPECIES_ODDISH},
- {25, 25, SPECIES_TROPIUS},
- {26, 26, SPECIES_TROPIUS},
- {27, 27, SPECIES_TROPIUS},
- {25, 25, SPECIES_KECLEON},
+ {25, 25, SPECIES_ZIGZAGOON},
+ {25, 25, SPECIES_LINOONE},
+ {27, 27, SPECIES_ZIGZAGOON},
+ {25, 25, SPECIES_ODDISH},
+ {27, 27, SPECIES_LINOONE},
+ {26, 26, SPECIES_ODDISH},
+ {27, 27, SPECIES_ODDISH},
+ {24, 24, SPECIES_ODDISH},
+ {25, 25, SPECIES_TROPIUS},
+ {26, 26, SPECIES_TROPIUS},
+ {27, 27, SPECIES_TROPIUS},
+ {25, 25, SPECIES_KECLEON},
};
const struct WildPokemonInfo gRoute119_LandMonsInfo = {15, gRoute119_LandMons};
const struct WildPokemon gRoute119_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute119_WaterMonsInfo = {4, gRoute119_WaterMons};
const struct WildPokemon gRoute119_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_CARVANHA},
- {25, 30, SPECIES_CARVANHA},
- {30, 35, SPECIES_CARVANHA},
- {20, 25, SPECIES_CARVANHA},
- {35, 40, SPECIES_CARVANHA},
- {40, 45, SPECIES_CARVANHA},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_CARVANHA},
+ {25, 30, SPECIES_CARVANHA},
+ {30, 35, SPECIES_CARVANHA},
+ {20, 25, SPECIES_CARVANHA},
+ {35, 40, SPECIES_CARVANHA},
+ {40, 45, SPECIES_CARVANHA},
};
const struct WildPokemonInfo gRoute119_FishingMonsInfo = {30, gRoute119_FishingMons};
const struct WildPokemon gRoute120_LandMons[] =
{
- {25, 25, SPECIES_POOCHYENA},
- {25, 25, SPECIES_MIGHTYENA},
- {27, 27, SPECIES_MIGHTYENA},
- {25, 25, SPECIES_ODDISH},
- {25, 25, SPECIES_MARILL},
- {26, 26, SPECIES_ODDISH},
- {27, 27, SPECIES_ODDISH},
- {27, 27, SPECIES_MARILL},
- {25, 25, SPECIES_ABSOL},
- {27, 27, SPECIES_ABSOL},
- {25, 25, SPECIES_KECLEON},
- {25, 25, SPECIES_SEEDOT},
+ {25, 25, SPECIES_POOCHYENA},
+ {25, 25, SPECIES_MIGHTYENA},
+ {27, 27, SPECIES_MIGHTYENA},
+ {25, 25, SPECIES_ODDISH},
+ {25, 25, SPECIES_MARILL},
+ {26, 26, SPECIES_ODDISH},
+ {27, 27, SPECIES_ODDISH},
+ {27, 27, SPECIES_MARILL},
+ {25, 25, SPECIES_ABSOL},
+ {27, 27, SPECIES_ABSOL},
+ {25, 25, SPECIES_KECLEON},
+ {25, 25, SPECIES_SEEDOT},
};
const struct WildPokemonInfo gRoute120_LandMonsInfo = {20, gRoute120_LandMons};
const struct WildPokemon gRoute120_WaterMons[] =
{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {20, 30, SPECIES_GOLDEEN},
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_GOLDEEN},
};
const struct WildPokemonInfo gRoute120_WaterMonsInfo = {4, gRoute120_WaterMons};
const struct WildPokemon gRoute120_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {20, 25, SPECIES_BARBOACH},
- {35, 40, SPECIES_BARBOACH},
- {40, 45, SPECIES_BARBOACH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {20, 25, SPECIES_BARBOACH},
+ {35, 40, SPECIES_BARBOACH},
+ {40, 45, SPECIES_BARBOACH},
};
const struct WildPokemonInfo gRoute120_FishingMonsInfo = {30, gRoute120_FishingMons};
const struct WildPokemon gRoute121_LandMons[] =
{
- {26, 26, SPECIES_POOCHYENA},
- {26, 26, SPECIES_SHUPPET},
- {26, 26, SPECIES_MIGHTYENA},
- {28, 28, SPECIES_SHUPPET},
- {28, 28, SPECIES_MIGHTYENA},
- {26, 26, SPECIES_ODDISH},
- {28, 28, SPECIES_ODDISH},
- {28, 28, SPECIES_GLOOM},
- {26, 26, SPECIES_WINGULL},
- {27, 27, SPECIES_WINGULL},
- {28, 28, SPECIES_WINGULL},
- {25, 25, SPECIES_KECLEON},
+ {26, 26, SPECIES_POOCHYENA},
+ {26, 26, SPECIES_SHUPPET},
+ {26, 26, SPECIES_MIGHTYENA},
+ {28, 28, SPECIES_SHUPPET},
+ {28, 28, SPECIES_MIGHTYENA},
+ {26, 26, SPECIES_ODDISH},
+ {28, 28, SPECIES_ODDISH},
+ {28, 28, SPECIES_GLOOM},
+ {26, 26, SPECIES_WINGULL},
+ {27, 27, SPECIES_WINGULL},
+ {28, 28, SPECIES_WINGULL},
+ {25, 25, SPECIES_KECLEON},
};
const struct WildPokemonInfo gRoute121_LandMonsInfo = {20, gRoute121_LandMons};
const struct WildPokemon gRoute121_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute121_WaterMonsInfo = {4, gRoute121_WaterMons};
const struct WildPokemon gRoute121_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute121_FishingMonsInfo = {30, gRoute121_FishingMons};
const struct WildPokemon gRoute122_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute122_WaterMonsInfo = {4, gRoute122_WaterMons};
const struct WildPokemon gRoute122_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute122_FishingMonsInfo = {30, gRoute122_FishingMons};
const struct WildPokemon gRoute123_LandMons[] =
{
- {26, 26, SPECIES_POOCHYENA},
- {26, 26, SPECIES_SHUPPET},
- {26, 26, SPECIES_MIGHTYENA},
- {28, 28, SPECIES_SHUPPET},
- {28, 28, SPECIES_MIGHTYENA},
- {26, 26, SPECIES_ODDISH},
- {28, 28, SPECIES_ODDISH},
- {28, 28, SPECIES_GLOOM},
- {26, 26, SPECIES_WINGULL},
- {27, 27, SPECIES_WINGULL},
- {28, 28, SPECIES_WINGULL},
- {25, 25, SPECIES_KECLEON},
+ {26, 26, SPECIES_POOCHYENA},
+ {26, 26, SPECIES_SHUPPET},
+ {26, 26, SPECIES_MIGHTYENA},
+ {28, 28, SPECIES_SHUPPET},
+ {28, 28, SPECIES_MIGHTYENA},
+ {26, 26, SPECIES_ODDISH},
+ {28, 28, SPECIES_ODDISH},
+ {28, 28, SPECIES_GLOOM},
+ {26, 26, SPECIES_WINGULL},
+ {27, 27, SPECIES_WINGULL},
+ {28, 28, SPECIES_WINGULL},
+ {25, 25, SPECIES_KECLEON},
};
const struct WildPokemonInfo gRoute123_LandMonsInfo = {20, gRoute123_LandMons};
const struct WildPokemon gRoute123_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute123_WaterMonsInfo = {4, gRoute123_WaterMons};
const struct WildPokemon gRoute123_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute123_FishingMonsInfo = {30, gRoute123_FishingMons};
const struct WildPokemon gMtPyre_2F_LandMons[] =
{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
};
const struct WildPokemonInfo gMtPyre_2F_LandMonsInfo = {10, gMtPyre_2F_LandMons};
const struct WildPokemon gMtPyre_3F_LandMons[] =
{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
};
const struct WildPokemonInfo gMtPyre_3F_LandMonsInfo = {10, gMtPyre_3F_LandMons};
const struct WildPokemon gMtPyre_4F_LandMons[] =
{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {27, 27, SPECIES_DUSKULL},
- {27, 27, SPECIES_DUSKULL},
- {25, 25, SPECIES_DUSKULL},
- {29, 29, SPECIES_DUSKULL},
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {27, 27, SPECIES_DUSKULL},
+ {27, 27, SPECIES_DUSKULL},
+ {25, 25, SPECIES_DUSKULL},
+ {29, 29, SPECIES_DUSKULL},
};
const struct WildPokemonInfo gMtPyre_4F_LandMonsInfo = {10, gMtPyre_4F_LandMons};
const struct WildPokemon gMtPyre_5F_LandMons[] =
{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {27, 27, SPECIES_DUSKULL},
- {27, 27, SPECIES_DUSKULL},
- {25, 25, SPECIES_DUSKULL},
- {29, 29, SPECIES_DUSKULL},
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {27, 27, SPECIES_DUSKULL},
+ {27, 27, SPECIES_DUSKULL},
+ {25, 25, SPECIES_DUSKULL},
+ {29, 29, SPECIES_DUSKULL},
};
const struct WildPokemonInfo gMtPyre_5F_LandMonsInfo = {10, gMtPyre_5F_LandMons};
const struct WildPokemon gMtPyre_6F_LandMons[] =
{
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {23, 23, SPECIES_SHUPPET},
- {22, 22, SPECIES_SHUPPET},
- {27, 27, SPECIES_DUSKULL},
- {27, 27, SPECIES_DUSKULL},
- {25, 25, SPECIES_DUSKULL},
- {29, 29, SPECIES_DUSKULL},
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {23, 23, SPECIES_SHUPPET},
+ {22, 22, SPECIES_SHUPPET},
+ {27, 27, SPECIES_DUSKULL},
+ {27, 27, SPECIES_DUSKULL},
+ {25, 25, SPECIES_DUSKULL},
+ {29, 29, SPECIES_DUSKULL},
};
const struct WildPokemonInfo gMtPyre_6F_LandMonsInfo = {10, gMtPyre_6F_LandMons};
const struct WildPokemon gMtPyre_Exterior_LandMons[] =
{
- {27, 27, SPECIES_SHUPPET},
- {27, 27, SPECIES_SHUPPET},
- {28, 28, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {29, 29, SPECIES_VULPIX},
- {27, 27, SPECIES_VULPIX},
- {29, 29, SPECIES_VULPIX},
- {25, 25, SPECIES_VULPIX},
- {27, 27, SPECIES_WINGULL},
- {27, 27, SPECIES_WINGULL},
- {26, 26, SPECIES_WINGULL},
- {28, 28, SPECIES_WINGULL},
+ {27, 27, SPECIES_SHUPPET},
+ {27, 27, SPECIES_SHUPPET},
+ {28, 28, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {29, 29, SPECIES_VULPIX},
+ {27, 27, SPECIES_VULPIX},
+ {29, 29, SPECIES_VULPIX},
+ {25, 25, SPECIES_VULPIX},
+ {27, 27, SPECIES_WINGULL},
+ {27, 27, SPECIES_WINGULL},
+ {26, 26, SPECIES_WINGULL},
+ {28, 28, SPECIES_WINGULL},
};
const struct WildPokemonInfo gMtPyre_Exterior_LandMonsInfo = {10, gMtPyre_Exterior_LandMons};
const struct WildPokemon gMtPyre_Summit_LandMons[] =
{
- {28, 28, SPECIES_SHUPPET},
- {29, 29, SPECIES_SHUPPET},
- {27, 27, SPECIES_SHUPPET},
- {26, 26, SPECIES_SHUPPET},
- {30, 30, SPECIES_SHUPPET},
- {25, 25, SPECIES_SHUPPET},
- {24, 24, SPECIES_SHUPPET},
- {28, 28, SPECIES_DUSKULL},
- {26, 26, SPECIES_DUSKULL},
- {30, 30, SPECIES_DUSKULL},
- {28, 28, SPECIES_CHIMECHO},
- {28, 28, SPECIES_CHIMECHO},
+ {28, 28, SPECIES_SHUPPET},
+ {29, 29, SPECIES_SHUPPET},
+ {27, 27, SPECIES_SHUPPET},
+ {26, 26, SPECIES_SHUPPET},
+ {30, 30, SPECIES_SHUPPET},
+ {25, 25, SPECIES_SHUPPET},
+ {24, 24, SPECIES_SHUPPET},
+ {28, 28, SPECIES_DUSKULL},
+ {26, 26, SPECIES_DUSKULL},
+ {30, 30, SPECIES_DUSKULL},
+ {28, 28, SPECIES_CHIMECHO},
+ {28, 28, SPECIES_CHIMECHO},
};
const struct WildPokemonInfo gMtPyre_Summit_LandMonsInfo = {10, gMtPyre_Summit_LandMons};
const struct WildPokemon gGraniteCave_StevensRoom_LandMons[] =
{
- {7, 7, SPECIES_ZUBAT},
- {8, 8, SPECIES_MAKUHITA},
- {7, 7, SPECIES_MAKUHITA},
- {8, 8, SPECIES_ZUBAT},
- {9, 9, SPECIES_MAKUHITA},
- {8, 8, SPECIES_ABRA},
- {10, 10, SPECIES_MAKUHITA},
- {6, 6, SPECIES_MAKUHITA},
- {7, 7, SPECIES_ARON},
- {8, 8, SPECIES_ARON},
- {7, 7, SPECIES_ARON},
- {8, 8, SPECIES_ARON},
+ {7, 7, SPECIES_ZUBAT},
+ {8, 8, SPECIES_MAKUHITA},
+ {7, 7, SPECIES_MAKUHITA},
+ {8, 8, SPECIES_ZUBAT},
+ {9, 9, SPECIES_MAKUHITA},
+ {8, 8, SPECIES_ABRA},
+ {10, 10, SPECIES_MAKUHITA},
+ {6, 6, SPECIES_MAKUHITA},
+ {7, 7, SPECIES_ARON},
+ {8, 8, SPECIES_ARON},
+ {7, 7, SPECIES_ARON},
+ {8, 8, SPECIES_ARON},
};
const struct WildPokemonInfo gGraniteCave_StevensRoom_LandMonsInfo = {10, gGraniteCave_StevensRoom_LandMons};
const struct WildPokemon gRoute125_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute125_WaterMonsInfo = {4, gRoute125_WaterMons};
const struct WildPokemon gRoute125_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute125_FishingMonsInfo = {30, gRoute125_FishingMons};
const struct WildPokemon gRoute126_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute126_WaterMonsInfo = {4, gRoute126_WaterMons};
const struct WildPokemon gRoute126_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute126_FishingMonsInfo = {30, gRoute126_FishingMons};
const struct WildPokemon gRoute127_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute127_WaterMonsInfo = {4, gRoute127_WaterMons};
const struct WildPokemon gRoute127_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute127_FishingMonsInfo = {30, gRoute127_FishingMons};
const struct WildPokemon gRoute128_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute128_WaterMonsInfo = {4, gRoute128_WaterMons};
const struct WildPokemon gRoute128_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_LUVDISC},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_LUVDISC},
- {30, 35, SPECIES_WAILMER},
- {30, 35, SPECIES_CORSOLA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_LUVDISC},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_LUVDISC},
+ {30, 35, SPECIES_WAILMER},
+ {30, 35, SPECIES_CORSOLA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute128_FishingMonsInfo = {30, gRoute128_FishingMons};
const struct WildPokemon gRoute129_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_WAILORD},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_WAILORD},
};
const struct WildPokemonInfo gRoute129_WaterMonsInfo = {4, gRoute129_WaterMons};
const struct WildPokemon gRoute129_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute129_FishingMonsInfo = {30, gRoute129_FishingMons};
const struct WildPokemon gRoute130_LandMons[] =
{
- {30, 30, SPECIES_WYNAUT},
- {35, 35, SPECIES_WYNAUT},
- {25, 25, SPECIES_WYNAUT},
- {40, 40, SPECIES_WYNAUT},
- {20, 20, SPECIES_WYNAUT},
- {45, 45, SPECIES_WYNAUT},
- {15, 15, SPECIES_WYNAUT},
- {50, 50, SPECIES_WYNAUT},
- {10, 10, SPECIES_WYNAUT},
- {5, 5, SPECIES_WYNAUT},
- {10, 10, SPECIES_WYNAUT},
- {5, 5, SPECIES_WYNAUT},
+ {30, 30, SPECIES_WYNAUT},
+ {35, 35, SPECIES_WYNAUT},
+ {25, 25, SPECIES_WYNAUT},
+ {40, 40, SPECIES_WYNAUT},
+ {20, 20, SPECIES_WYNAUT},
+ {45, 45, SPECIES_WYNAUT},
+ {15, 15, SPECIES_WYNAUT},
+ {50, 50, SPECIES_WYNAUT},
+ {10, 10, SPECIES_WYNAUT},
+ {5, 5, SPECIES_WYNAUT},
+ {10, 10, SPECIES_WYNAUT},
+ {5, 5, SPECIES_WYNAUT},
};
const struct WildPokemonInfo gRoute130_LandMonsInfo = {20, gRoute130_LandMons};
const struct WildPokemon gRoute130_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute130_WaterMonsInfo = {4, gRoute130_WaterMons};
const struct WildPokemon gRoute130_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute130_FishingMonsInfo = {30, gRoute130_FishingMons};
const struct WildPokemon gRoute131_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute131_WaterMonsInfo = {4, gRoute131_WaterMons};
const struct WildPokemon gRoute131_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute131_FishingMonsInfo = {30, gRoute131_FishingMons};
const struct WildPokemon gRoute132_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute132_WaterMonsInfo = {4, gRoute132_WaterMons};
const struct WildPokemon gRoute132_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_HORSEA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_HORSEA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute132_FishingMonsInfo = {30, gRoute132_FishingMons};
const struct WildPokemon gRoute133_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute133_WaterMonsInfo = {4, gRoute133_WaterMons};
const struct WildPokemon gRoute133_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_HORSEA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_HORSEA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute133_FishingMonsInfo = {30, gRoute133_FishingMons};
const struct WildPokemon gRoute134_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gRoute134_WaterMonsInfo = {4, gRoute134_WaterMons};
const struct WildPokemon gRoute134_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_HORSEA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_HORSEA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gRoute134_FishingMonsInfo = {30, gRoute134_FishingMons};
const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACRUEL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACRUEL},
};
const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo = {4, gAbandonedShip_HiddenFloorCorridors_WaterMons};
const struct WildPokemon gAbandonedShip_HiddenFloorCorridors_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_TENTACOOL},
- {25, 30, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACOOL},
- {30, 35, SPECIES_TENTACRUEL},
- {25, 30, SPECIES_TENTACRUEL},
- {20, 25, SPECIES_TENTACRUEL},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_TENTACOOL},
+ {25, 30, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACOOL},
+ {30, 35, SPECIES_TENTACRUEL},
+ {25, 30, SPECIES_TENTACRUEL},
+ {20, 25, SPECIES_TENTACRUEL},
};
const struct WildPokemonInfo gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo = {20, gAbandonedShip_HiddenFloorCorridors_FishingMons};
const struct WildPokemon gSeafloorCavern_Room1_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room1_LandMonsInfo = {4, gSeafloorCavern_Room1_LandMons};
const struct WildPokemon gSeafloorCavern_Room2_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room2_LandMonsInfo = {4, gSeafloorCavern_Room2_LandMons};
const struct WildPokemon gSeafloorCavern_Room3_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room3_LandMonsInfo = {4, gSeafloorCavern_Room3_LandMons};
const struct WildPokemon gSeafloorCavern_Room4_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room4_LandMonsInfo = {4, gSeafloorCavern_Room4_LandMons};
const struct WildPokemon gSeafloorCavern_Room5_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room5_LandMonsInfo = {4, gSeafloorCavern_Room5_LandMons};
const struct WildPokemon gSeafloorCavern_Room6_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room6_LandMonsInfo = {4, gSeafloorCavern_Room6_LandMons};
const struct WildPokemon gSeafloorCavern_Room6_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room6_WaterMonsInfo = {4, gSeafloorCavern_Room6_WaterMons};
const struct WildPokemon gSeafloorCavern_Room6_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gSeafloorCavern_Room6_FishingMonsInfo = {10, gSeafloorCavern_Room6_FishingMons};
const struct WildPokemon gSeafloorCavern_Room7_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room7_LandMonsInfo = {4, gSeafloorCavern_Room7_LandMons};
const struct WildPokemon gSeafloorCavern_Room7_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room7_WaterMonsInfo = {4, gSeafloorCavern_Room7_WaterMons};
const struct WildPokemon gSeafloorCavern_Room7_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gSeafloorCavern_Room7_FishingMonsInfo = {10, gSeafloorCavern_Room7_FishingMons};
const struct WildPokemon gSeafloorCavern_Room8_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Room8_LandMonsInfo = {4, gSeafloorCavern_Room8_LandMons};
const struct WildPokemon gSeafloorCavern_Entrance_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gSeafloorCavern_Entrance_WaterMonsInfo = {4, gSeafloorCavern_Entrance_WaterMons};
const struct WildPokemon gSeafloorCavern_Entrance_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gSeafloorCavern_Entrance_FishingMonsInfo = {10, gSeafloorCavern_Entrance_FishingMons};
const struct WildPokemon gCaveOfOrigin_Entrance_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {33, 33, SPECIES_ZUBAT},
- {28, 28, SPECIES_ZUBAT},
- {29, 29, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {35, 35, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {33, 33, SPECIES_ZUBAT},
+ {28, 28, SPECIES_ZUBAT},
+ {29, 29, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {35, 35, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gCaveOfOrigin_Entrance_LandMonsInfo = {4, gCaveOfOrigin_Entrance_LandMons};
const struct WildPokemon gCaveOfOrigin_1F_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {30, 30, SPECIES_SABLEYE},
- {32, 32, SPECIES_SABLEYE},
- {34, 34, SPECIES_SABLEYE},
- {33, 33, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SABLEYE},
+ {32, 32, SPECIES_SABLEYE},
+ {34, 34, SPECIES_SABLEYE},
+ {33, 33, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gCaveOfOrigin_1F_LandMonsInfo = {4, gCaveOfOrigin_1F_LandMons};
const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap1_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {30, 30, SPECIES_SABLEYE},
- {32, 32, SPECIES_SABLEYE},
- {34, 34, SPECIES_SABLEYE},
- {33, 33, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SABLEYE},
+ {32, 32, SPECIES_SABLEYE},
+ {34, 34, SPECIES_SABLEYE},
+ {33, 33, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap1_LandMons};
const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap2_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {30, 30, SPECIES_SABLEYE},
- {32, 32, SPECIES_SABLEYE},
- {34, 34, SPECIES_SABLEYE},
- {33, 33, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SABLEYE},
+ {32, 32, SPECIES_SABLEYE},
+ {34, 34, SPECIES_SABLEYE},
+ {33, 33, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap2_LandMons};
const struct WildPokemon gCaveOfOrigin_UnusedRubySapphireMap3_LandMons[] =
{
- {30, 30, SPECIES_ZUBAT},
- {31, 31, SPECIES_ZUBAT},
- {32, 32, SPECIES_ZUBAT},
- {30, 30, SPECIES_SABLEYE},
- {32, 32, SPECIES_SABLEYE},
- {34, 34, SPECIES_SABLEYE},
- {33, 33, SPECIES_ZUBAT},
- {34, 34, SPECIES_ZUBAT},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {36, 36, SPECIES_GOLBAT},
+ {30, 30, SPECIES_ZUBAT},
+ {31, 31, SPECIES_ZUBAT},
+ {32, 32, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SABLEYE},
+ {32, 32, SPECIES_SABLEYE},
+ {34, 34, SPECIES_SABLEYE},
+ {33, 33, SPECIES_ZUBAT},
+ {34, 34, SPECIES_ZUBAT},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {36, 36, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo = {4, gCaveOfOrigin_UnusedRubySapphireMap3_LandMons};
const struct WildPokemon gNewMauville_Entrance_LandMons[] =
{
- {24, 24, SPECIES_VOLTORB},
- {24, 24, SPECIES_MAGNEMITE},
- {25, 25, SPECIES_VOLTORB},
- {25, 25, SPECIES_MAGNEMITE},
- {23, 23, SPECIES_VOLTORB},
- {23, 23, SPECIES_MAGNEMITE},
- {26, 26, SPECIES_VOLTORB},
- {26, 26, SPECIES_MAGNEMITE},
- {22, 22, SPECIES_VOLTORB},
- {22, 22, SPECIES_MAGNEMITE},
- {22, 22, SPECIES_VOLTORB},
- {22, 22, SPECIES_MAGNEMITE},
+ {24, 24, SPECIES_VOLTORB},
+ {24, 24, SPECIES_MAGNEMITE},
+ {25, 25, SPECIES_VOLTORB},
+ {25, 25, SPECIES_MAGNEMITE},
+ {23, 23, SPECIES_VOLTORB},
+ {23, 23, SPECIES_MAGNEMITE},
+ {26, 26, SPECIES_VOLTORB},
+ {26, 26, SPECIES_MAGNEMITE},
+ {22, 22, SPECIES_VOLTORB},
+ {22, 22, SPECIES_MAGNEMITE},
+ {22, 22, SPECIES_VOLTORB},
+ {22, 22, SPECIES_MAGNEMITE},
};
const struct WildPokemonInfo gNewMauville_Entrance_LandMonsInfo = {10, gNewMauville_Entrance_LandMons};
const struct WildPokemon gSafariZone_Southwest_LandMons[] =
{
- {25, 25, SPECIES_ODDISH},
- {27, 27, SPECIES_ODDISH},
- {25, 25, SPECIES_GIRAFARIG},
- {27, 27, SPECIES_GIRAFARIG},
- {25, 25, SPECIES_NATU},
- {27, 27, SPECIES_DODUO},
- {25, 25, SPECIES_GLOOM},
- {27, 27, SPECIES_WOBBUFFET},
- {25, 25, SPECIES_PIKACHU},
- {27, 27, SPECIES_WOBBUFFET},
- {27, 27, SPECIES_PIKACHU},
- {29, 29, SPECIES_WOBBUFFET},
+ {25, 25, SPECIES_ODDISH},
+ {27, 27, SPECIES_ODDISH},
+ {25, 25, SPECIES_GIRAFARIG},
+ {27, 27, SPECIES_GIRAFARIG},
+ {25, 25, SPECIES_NATU},
+ {27, 27, SPECIES_DODUO},
+ {25, 25, SPECIES_GLOOM},
+ {27, 27, SPECIES_WOBBUFFET},
+ {25, 25, SPECIES_PIKACHU},
+ {27, 27, SPECIES_WOBBUFFET},
+ {27, 27, SPECIES_PIKACHU},
+ {29, 29, SPECIES_WOBBUFFET},
};
const struct WildPokemonInfo gSafariZone_Southwest_LandMonsInfo = {25, gSafariZone_Southwest_LandMons};
const struct WildPokemon gSafariZone_Southwest_WaterMons[] =
{
- {20, 30, SPECIES_PSYDUCK},
- {20, 30, SPECIES_PSYDUCK},
- {30, 35, SPECIES_PSYDUCK},
- {30, 35, SPECIES_PSYDUCK},
- {30, 35, SPECIES_PSYDUCK},
+ {20, 30, SPECIES_PSYDUCK},
+ {20, 30, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_PSYDUCK},
};
const struct WildPokemonInfo gSafariZone_Southwest_WaterMonsInfo = {9, gSafariZone_Southwest_WaterMons};
const struct WildPokemon gSafariZone_Southwest_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 25, SPECIES_GOLDEEN},
- {10, 30, SPECIES_GOLDEEN},
- {25, 30, SPECIES_GOLDEEN},
- {30, 35, SPECIES_GOLDEEN},
- {30, 35, SPECIES_SEAKING},
- {35, 40, SPECIES_SEAKING},
- {25, 30, SPECIES_SEAKING},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 25, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_GOLDEEN},
+ {25, 30, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_SEAKING},
+ {35, 40, SPECIES_SEAKING},
+ {25, 30, SPECIES_SEAKING},
};
const struct WildPokemonInfo gSafariZone_Southwest_FishingMonsInfo = {35, gSafariZone_Southwest_FishingMons};
const struct WildPokemon gSafariZone_North_LandMons[] =
{
- {27, 27, SPECIES_PHANPY},
- {27, 27, SPECIES_ODDISH},
- {29, 29, SPECIES_PHANPY},
- {29, 29, SPECIES_ODDISH},
- {27, 27, SPECIES_NATU},
- {29, 29, SPECIES_GLOOM},
- {31, 31, SPECIES_GLOOM},
- {29, 29, SPECIES_NATU},
- {29, 29, SPECIES_XATU},
- {27, 27, SPECIES_HERACROSS},
- {31, 31, SPECIES_XATU},
- {29, 29, SPECIES_HERACROSS},
+ {27, 27, SPECIES_PHANPY},
+ {27, 27, SPECIES_ODDISH},
+ {29, 29, SPECIES_PHANPY},
+ {29, 29, SPECIES_ODDISH},
+ {27, 27, SPECIES_NATU},
+ {29, 29, SPECIES_GLOOM},
+ {31, 31, SPECIES_GLOOM},
+ {29, 29, SPECIES_NATU},
+ {29, 29, SPECIES_XATU},
+ {27, 27, SPECIES_HERACROSS},
+ {31, 31, SPECIES_XATU},
+ {29, 29, SPECIES_HERACROSS},
};
const struct WildPokemonInfo gSafariZone_North_LandMonsInfo = {25, gSafariZone_North_LandMons};
const struct WildPokemon gSafariZone_North_RockSmashMons[] =
{
- {10, 15, SPECIES_GEODUDE},
- {5, 10, SPECIES_GEODUDE},
- {15, 20, SPECIES_GEODUDE},
- {20, 25, SPECIES_GEODUDE},
- {25, 30, SPECIES_GEODUDE},
+ {10, 15, SPECIES_GEODUDE},
+ {5, 10, SPECIES_GEODUDE},
+ {15, 20, SPECIES_GEODUDE},
+ {20, 25, SPECIES_GEODUDE},
+ {25, 30, SPECIES_GEODUDE},
};
const struct WildPokemonInfo gSafariZone_North_RockSmashMonsInfo = {25, gSafariZone_North_RockSmashMons};
const struct WildPokemon gSafariZone_Northwest_LandMons[] =
{
- {27, 27, SPECIES_RHYHORN},
- {27, 27, SPECIES_ODDISH},
- {29, 29, SPECIES_RHYHORN},
- {29, 29, SPECIES_ODDISH},
- {27, 27, SPECIES_DODUO},
- {29, 29, SPECIES_GLOOM},
- {31, 31, SPECIES_GLOOM},
- {29, 29, SPECIES_DODUO},
- {29, 29, SPECIES_DODRIO},
- {27, 27, SPECIES_PINSIR},
- {31, 31, SPECIES_DODRIO},
- {29, 29, SPECIES_PINSIR},
+ {27, 27, SPECIES_RHYHORN},
+ {27, 27, SPECIES_ODDISH},
+ {29, 29, SPECIES_RHYHORN},
+ {29, 29, SPECIES_ODDISH},
+ {27, 27, SPECIES_DODUO},
+ {29, 29, SPECIES_GLOOM},
+ {31, 31, SPECIES_GLOOM},
+ {29, 29, SPECIES_DODUO},
+ {29, 29, SPECIES_DODRIO},
+ {27, 27, SPECIES_PINSIR},
+ {31, 31, SPECIES_DODRIO},
+ {29, 29, SPECIES_PINSIR},
};
const struct WildPokemonInfo gSafariZone_Northwest_LandMonsInfo = {25, gSafariZone_Northwest_LandMons};
const struct WildPokemon gSafariZone_Northwest_WaterMons[] =
{
- {20, 30, SPECIES_PSYDUCK},
- {20, 30, SPECIES_PSYDUCK},
- {30, 35, SPECIES_PSYDUCK},
- {30, 35, SPECIES_GOLDUCK},
- {25, 40, SPECIES_GOLDUCK},
+ {20, 30, SPECIES_PSYDUCK},
+ {20, 30, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_PSYDUCK},
+ {30, 35, SPECIES_GOLDUCK},
+ {25, 40, SPECIES_GOLDUCK},
};
const struct WildPokemonInfo gSafariZone_Northwest_WaterMonsInfo = {9, gSafariZone_Northwest_WaterMons};
const struct WildPokemon gSafariZone_Northwest_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 25, SPECIES_GOLDEEN},
- {10, 30, SPECIES_GOLDEEN},
- {25, 30, SPECIES_GOLDEEN},
- {30, 35, SPECIES_GOLDEEN},
- {30, 35, SPECIES_SEAKING},
- {35, 40, SPECIES_SEAKING},
- {25, 30, SPECIES_SEAKING},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 25, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_GOLDEEN},
+ {25, 30, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_SEAKING},
+ {35, 40, SPECIES_SEAKING},
+ {25, 30, SPECIES_SEAKING},
};
const struct WildPokemonInfo gSafariZone_Northwest_FishingMonsInfo = {35, gSafariZone_Northwest_FishingMons};
const struct WildPokemon gVictoryRoad_B1F_LandMons[] =
{
- {40, 40, SPECIES_GOLBAT},
- {40, 40, SPECIES_HARIYAMA},
- {40, 40, SPECIES_LAIRON},
- {40, 40, SPECIES_LAIRON},
- {38, 38, SPECIES_GOLBAT},
- {38, 38, SPECIES_HARIYAMA},
- {42, 42, SPECIES_GOLBAT},
- {42, 42, SPECIES_HARIYAMA},
- {42, 42, SPECIES_LAIRON},
- {38, 38, SPECIES_MAWILE},
- {42, 42, SPECIES_LAIRON},
- {38, 38, SPECIES_MAWILE},
+ {40, 40, SPECIES_GOLBAT},
+ {40, 40, SPECIES_HARIYAMA},
+ {40, 40, SPECIES_LAIRON},
+ {40, 40, SPECIES_LAIRON},
+ {38, 38, SPECIES_GOLBAT},
+ {38, 38, SPECIES_HARIYAMA},
+ {42, 42, SPECIES_GOLBAT},
+ {42, 42, SPECIES_HARIYAMA},
+ {42, 42, SPECIES_LAIRON},
+ {38, 38, SPECIES_MAWILE},
+ {42, 42, SPECIES_LAIRON},
+ {38, 38, SPECIES_MAWILE},
};
const struct WildPokemonInfo gVictoryRoad_B1F_LandMonsInfo = {10, gVictoryRoad_B1F_LandMons};
const struct WildPokemon gVictoryRoad_B1F_RockSmashMons[] =
{
- {30, 40, SPECIES_GRAVELER},
- {30, 40, SPECIES_GEODUDE},
- {35, 40, SPECIES_GRAVELER},
- {35, 40, SPECIES_GRAVELER},
- {35, 40, SPECIES_GRAVELER},
+ {30, 40, SPECIES_GRAVELER},
+ {30, 40, SPECIES_GEODUDE},
+ {35, 40, SPECIES_GRAVELER},
+ {35, 40, SPECIES_GRAVELER},
+ {35, 40, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gVictoryRoad_B1F_RockSmashMonsInfo = {20, gVictoryRoad_B1F_RockSmashMons};
const struct WildPokemon gVictoryRoad_B2F_LandMons[] =
{
- {40, 40, SPECIES_GOLBAT},
- {40, 40, SPECIES_SABLEYE},
- {40, 40, SPECIES_LAIRON},
- {40, 40, SPECIES_LAIRON},
- {42, 42, SPECIES_GOLBAT},
- {42, 42, SPECIES_SABLEYE},
- {44, 44, SPECIES_GOLBAT},
- {44, 44, SPECIES_SABLEYE},
- {42, 42, SPECIES_LAIRON},
- {42, 42, SPECIES_MAWILE},
- {44, 44, SPECIES_LAIRON},
- {44, 44, SPECIES_MAWILE},
+ {40, 40, SPECIES_GOLBAT},
+ {40, 40, SPECIES_SABLEYE},
+ {40, 40, SPECIES_LAIRON},
+ {40, 40, SPECIES_LAIRON},
+ {42, 42, SPECIES_GOLBAT},
+ {42, 42, SPECIES_SABLEYE},
+ {44, 44, SPECIES_GOLBAT},
+ {44, 44, SPECIES_SABLEYE},
+ {42, 42, SPECIES_LAIRON},
+ {42, 42, SPECIES_MAWILE},
+ {44, 44, SPECIES_LAIRON},
+ {44, 44, SPECIES_MAWILE},
};
const struct WildPokemonInfo gVictoryRoad_B2F_LandMonsInfo = {10, gVictoryRoad_B2F_LandMons};
const struct WildPokemon gVictoryRoad_B2F_WaterMons[] =
{
- {30, 35, SPECIES_GOLBAT},
- {25, 30, SPECIES_GOLBAT},
- {35, 40, SPECIES_GOLBAT},
- {35, 40, SPECIES_GOLBAT},
- {35, 40, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {25, 30, SPECIES_GOLBAT},
+ {35, 40, SPECIES_GOLBAT},
+ {35, 40, SPECIES_GOLBAT},
+ {35, 40, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gVictoryRoad_B2F_WaterMonsInfo = {4, gVictoryRoad_B2F_WaterMons};
const struct WildPokemon gVictoryRoad_B2F_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {30, 35, SPECIES_WHISCASH},
- {35, 40, SPECIES_WHISCASH},
- {40, 45, SPECIES_WHISCASH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {30, 35, SPECIES_WHISCASH},
+ {35, 40, SPECIES_WHISCASH},
+ {40, 45, SPECIES_WHISCASH},
};
const struct WildPokemonInfo gVictoryRoad_B2F_FishingMonsInfo = {30, gVictoryRoad_B2F_FishingMons};
const struct WildPokemon gMeteorFalls_1F_1R_LandMons[] =
{
- {16, 16, SPECIES_ZUBAT},
- {17, 17, SPECIES_ZUBAT},
- {18, 18, SPECIES_ZUBAT},
- {15, 15, SPECIES_ZUBAT},
- {14, 14, SPECIES_ZUBAT},
- {16, 16, SPECIES_SOLROCK},
- {18, 18, SPECIES_SOLROCK},
- {14, 14, SPECIES_SOLROCK},
- {19, 19, SPECIES_ZUBAT},
- {20, 20, SPECIES_ZUBAT},
- {19, 19, SPECIES_ZUBAT},
- {20, 20, SPECIES_ZUBAT},
+ {16, 16, SPECIES_ZUBAT},
+ {17, 17, SPECIES_ZUBAT},
+ {18, 18, SPECIES_ZUBAT},
+ {15, 15, SPECIES_ZUBAT},
+ {14, 14, SPECIES_ZUBAT},
+ {16, 16, SPECIES_SOLROCK},
+ {18, 18, SPECIES_SOLROCK},
+ {14, 14, SPECIES_SOLROCK},
+ {19, 19, SPECIES_ZUBAT},
+ {20, 20, SPECIES_ZUBAT},
+ {19, 19, SPECIES_ZUBAT},
+ {20, 20, SPECIES_ZUBAT},
};
const struct WildPokemonInfo gMeteorFalls_1F_1R_LandMonsInfo = {10, gMeteorFalls_1F_1R_LandMons};
const struct WildPokemon gMeteorFalls_1F_1R_WaterMons[] =
{
- {5, 35, SPECIES_ZUBAT},
- {30, 35, SPECIES_ZUBAT},
- {25, 35, SPECIES_SOLROCK},
- {15, 25, SPECIES_SOLROCK},
- {5, 15, SPECIES_SOLROCK},
+ {5, 35, SPECIES_ZUBAT},
+ {30, 35, SPECIES_ZUBAT},
+ {25, 35, SPECIES_SOLROCK},
+ {15, 25, SPECIES_SOLROCK},
+ {5, 15, SPECIES_SOLROCK},
};
const struct WildPokemonInfo gMeteorFalls_1F_1R_WaterMonsInfo = {4, gMeteorFalls_1F_1R_WaterMons};
const struct WildPokemon gMeteorFalls_1F_1R_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {20, 25, SPECIES_BARBOACH},
- {35, 40, SPECIES_BARBOACH},
- {40, 45, SPECIES_BARBOACH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {20, 25, SPECIES_BARBOACH},
+ {35, 40, SPECIES_BARBOACH},
+ {40, 45, SPECIES_BARBOACH},
};
const struct WildPokemonInfo gMeteorFalls_1F_1R_FishingMonsInfo = {30, gMeteorFalls_1F_1R_FishingMons};
const struct WildPokemon gMeteorFalls_1F_2R_LandMons[] =
{
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_SOLROCK},
- {33, 33, SPECIES_SOLROCK},
- {37, 37, SPECIES_SOLROCK},
- {35, 35, SPECIES_GOLBAT},
- {39, 39, SPECIES_SOLROCK},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_SOLROCK},
+ {33, 33, SPECIES_SOLROCK},
+ {37, 37, SPECIES_SOLROCK},
+ {35, 35, SPECIES_GOLBAT},
+ {39, 39, SPECIES_SOLROCK},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gMeteorFalls_1F_2R_LandMonsInfo = {10, gMeteorFalls_1F_2R_LandMons};
const struct WildPokemon gMeteorFalls_1F_2R_WaterMons[] =
{
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
- {25, 35, SPECIES_SOLROCK},
- {15, 25, SPECIES_SOLROCK},
- {5, 15, SPECIES_SOLROCK},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {25, 35, SPECIES_SOLROCK},
+ {15, 25, SPECIES_SOLROCK},
+ {5, 15, SPECIES_SOLROCK},
};
const struct WildPokemonInfo gMeteorFalls_1F_2R_WaterMonsInfo = {4, gMeteorFalls_1F_2R_WaterMons};
const struct WildPokemon gMeteorFalls_1F_2R_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {30, 35, SPECIES_WHISCASH},
- {35, 40, SPECIES_WHISCASH},
- {40, 45, SPECIES_WHISCASH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {30, 35, SPECIES_WHISCASH},
+ {35, 40, SPECIES_WHISCASH},
+ {40, 45, SPECIES_WHISCASH},
};
const struct WildPokemonInfo gMeteorFalls_1F_2R_FishingMonsInfo = {30, gMeteorFalls_1F_2R_FishingMons};
const struct WildPokemon gMeteorFalls_B1F_1R_LandMons[] =
{
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_SOLROCK},
- {33, 33, SPECIES_SOLROCK},
- {37, 37, SPECIES_SOLROCK},
- {35, 35, SPECIES_GOLBAT},
- {39, 39, SPECIES_SOLROCK},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_SOLROCK},
+ {33, 33, SPECIES_SOLROCK},
+ {37, 37, SPECIES_SOLROCK},
+ {35, 35, SPECIES_GOLBAT},
+ {39, 39, SPECIES_SOLROCK},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gMeteorFalls_B1F_1R_LandMonsInfo = {10, gMeteorFalls_B1F_1R_LandMons};
const struct WildPokemon gMeteorFalls_B1F_1R_WaterMons[] =
{
- {30, 35, SPECIES_GOLBAT},
- {30, 35, SPECIES_GOLBAT},
- {25, 35, SPECIES_SOLROCK},
- {15, 25, SPECIES_SOLROCK},
- {5, 15, SPECIES_SOLROCK},
+ {30, 35, SPECIES_GOLBAT},
+ {30, 35, SPECIES_GOLBAT},
+ {25, 35, SPECIES_SOLROCK},
+ {15, 25, SPECIES_SOLROCK},
+ {5, 15, SPECIES_SOLROCK},
};
const struct WildPokemonInfo gMeteorFalls_B1F_1R_WaterMonsInfo = {4, gMeteorFalls_B1F_1R_WaterMons};
const struct WildPokemon gMeteorFalls_B1F_1R_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_BARBOACH},
- {25, 30, SPECIES_BARBOACH},
- {30, 35, SPECIES_BARBOACH},
- {30, 35, SPECIES_WHISCASH},
- {35, 40, SPECIES_WHISCASH},
- {40, 45, SPECIES_WHISCASH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_BARBOACH},
+ {25, 30, SPECIES_BARBOACH},
+ {30, 35, SPECIES_BARBOACH},
+ {30, 35, SPECIES_WHISCASH},
+ {35, 40, SPECIES_WHISCASH},
+ {40, 45, SPECIES_WHISCASH},
};
const struct WildPokemonInfo gMeteorFalls_B1F_1R_FishingMonsInfo = {30, gMeteorFalls_B1F_1R_FishingMons};
const struct WildPokemon gShoalCave_LowTideStairsRoom_LandMons[] =
{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {32, 32, SPECIES_ZUBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {32, 32, SPECIES_ZUBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
};
const struct WildPokemonInfo gShoalCave_LowTideStairsRoom_LandMonsInfo = {10, gShoalCave_LowTideStairsRoom_LandMons};
const struct WildPokemon gShoalCave_LowTideLowerRoom_LandMons[] =
{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {32, 32, SPECIES_ZUBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {32, 32, SPECIES_ZUBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
};
const struct WildPokemonInfo gShoalCave_LowTideLowerRoom_LandMonsInfo = {10, gShoalCave_LowTideLowerRoom_LandMons};
const struct WildPokemon gShoalCave_LowTideInnerRoom_LandMons[] =
{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {32, 32, SPECIES_ZUBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {32, 32, SPECIES_ZUBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
};
const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_LandMonsInfo = {10, gShoalCave_LowTideInnerRoom_LandMons};
const struct WildPokemon gShoalCave_LowTideInnerRoom_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {25, 30, SPECIES_SPHEAL},
- {25, 30, SPECIES_SPHEAL},
- {25, 35, SPECIES_SPHEAL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {25, 30, SPECIES_SPHEAL},
+ {25, 30, SPECIES_SPHEAL},
+ {25, 35, SPECIES_SPHEAL},
};
const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_WaterMonsInfo = {4, gShoalCave_LowTideInnerRoom_WaterMons};
const struct WildPokemon gShoalCave_LowTideInnerRoom_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gShoalCave_LowTideInnerRoom_FishingMonsInfo = {10, gShoalCave_LowTideInnerRoom_FishingMons};
const struct WildPokemon gShoalCave_LowTideEntranceRoom_LandMons[] =
{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {32, 32, SPECIES_ZUBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
- {32, 32, SPECIES_GOLBAT},
- {32, 32, SPECIES_SPHEAL},
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {32, 32, SPECIES_ZUBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
+ {32, 32, SPECIES_GOLBAT},
+ {32, 32, SPECIES_SPHEAL},
};
const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_LandMonsInfo = {10, gShoalCave_LowTideEntranceRoom_LandMons};
const struct WildPokemon gShoalCave_LowTideEntranceRoom_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {5, 35, SPECIES_ZUBAT},
- {25, 30, SPECIES_SPHEAL},
- {25, 30, SPECIES_SPHEAL},
- {25, 35, SPECIES_SPHEAL},
+ {5, 35, SPECIES_TENTACOOL},
+ {5, 35, SPECIES_ZUBAT},
+ {25, 30, SPECIES_SPHEAL},
+ {25, 30, SPECIES_SPHEAL},
+ {25, 35, SPECIES_SPHEAL},
};
const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_WaterMonsInfo = {4, gShoalCave_LowTideEntranceRoom_WaterMons};
const struct WildPokemon gShoalCave_LowTideEntranceRoom_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gShoalCave_LowTideEntranceRoom_FishingMonsInfo = {10, gShoalCave_LowTideEntranceRoom_FishingMons};
const struct WildPokemon gLilycoveCity_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gLilycoveCity_WaterMonsInfo = {4, gLilycoveCity_WaterMons};
const struct WildPokemon gLilycoveCity_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_STARYU},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_STARYU},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gLilycoveCity_FishingMonsInfo = {10, gLilycoveCity_FishingMons};
const struct WildPokemon gDewfordTown_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gDewfordTown_WaterMonsInfo = {4, gDewfordTown_WaterMons};
const struct WildPokemon gDewfordTown_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gDewfordTown_FishingMonsInfo = {10, gDewfordTown_FishingMons};
const struct WildPokemon gSlateportCity_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gSlateportCity_WaterMonsInfo = {4, gSlateportCity_WaterMons};
const struct WildPokemon gSlateportCity_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_WAILMER},
- {20, 25, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_WAILMER},
+ {20, 25, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gSlateportCity_FishingMonsInfo = {10, gSlateportCity_FishingMons};
const struct WildPokemon gMossdeepCity_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gMossdeepCity_WaterMonsInfo = {4, gMossdeepCity_WaterMons};
const struct WildPokemon gMossdeepCity_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gMossdeepCity_FishingMonsInfo = {10, gMossdeepCity_FishingMons};
const struct WildPokemon gPacifidlogTown_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gPacifidlogTown_WaterMonsInfo = {4, gPacifidlogTown_WaterMons};
const struct WildPokemon gPacifidlogTown_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_SHARPEDO},
- {30, 35, SPECIES_WAILMER},
- {25, 30, SPECIES_WAILMER},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_SHARPEDO},
+ {30, 35, SPECIES_WAILMER},
+ {25, 30, SPECIES_WAILMER},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gPacifidlogTown_FishingMonsInfo = {10, gPacifidlogTown_FishingMons};
const struct WildPokemon gEverGrandeCity_WaterMons[] =
{
- {5, 35, SPECIES_TENTACOOL},
- {10, 30, SPECIES_WINGULL},
- {15, 25, SPECIES_WINGULL},
- {25, 30, SPECIES_PELIPPER},
- {25, 30, SPECIES_PELIPPER},
+ {5, 35, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_WINGULL},
+ {15, 25, SPECIES_WINGULL},
+ {25, 30, SPECIES_PELIPPER},
+ {25, 30, SPECIES_PELIPPER},
};
const struct WildPokemonInfo gEverGrandeCity_WaterMonsInfo = {4, gEverGrandeCity_WaterMons};
const struct WildPokemon gEverGrandeCity_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_LUVDISC},
- {10, 30, SPECIES_WAILMER},
- {30, 35, SPECIES_LUVDISC},
- {30, 35, SPECIES_WAILMER},
- {30, 35, SPECIES_CORSOLA},
- {35, 40, SPECIES_WAILMER},
- {40, 45, SPECIES_WAILMER},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_LUVDISC},
+ {10, 30, SPECIES_WAILMER},
+ {30, 35, SPECIES_LUVDISC},
+ {30, 35, SPECIES_WAILMER},
+ {30, 35, SPECIES_CORSOLA},
+ {35, 40, SPECIES_WAILMER},
+ {40, 45, SPECIES_WAILMER},
};
const struct WildPokemonInfo gEverGrandeCity_FishingMonsInfo = {10, gEverGrandeCity_FishingMons};
const struct WildPokemon gPetalburgCity_WaterMons[] =
{
- {20, 30, SPECIES_MARILL},
- {10, 20, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
- {5, 10, SPECIES_MARILL},
+ {20, 30, SPECIES_MARILL},
+ {10, 20, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
+ {5, 10, SPECIES_MARILL},
};
const struct WildPokemonInfo gPetalburgCity_WaterMonsInfo = {1, gPetalburgCity_WaterMons};
const struct WildPokemon gPetalburgCity_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_GOLDEEN},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_GOLDEEN},
- {10, 30, SPECIES_CORPHISH},
- {25, 30, SPECIES_CORPHISH},
- {30, 35, SPECIES_CORPHISH},
- {20, 25, SPECIES_CORPHISH},
- {35, 40, SPECIES_CORPHISH},
- {40, 45, SPECIES_CORPHISH},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_GOLDEEN},
+ {10, 30, SPECIES_CORPHISH},
+ {25, 30, SPECIES_CORPHISH},
+ {30, 35, SPECIES_CORPHISH},
+ {20, 25, SPECIES_CORPHISH},
+ {35, 40, SPECIES_CORPHISH},
+ {40, 45, SPECIES_CORPHISH},
};
const struct WildPokemonInfo gPetalburgCity_FishingMonsInfo = {10, gPetalburgCity_FishingMons};
const struct WildPokemon gUnderwater1_WaterMons[] =
{
- {20, 30, SPECIES_CLAMPERL},
- {20, 30, SPECIES_CHINCHOU},
- {30, 35, SPECIES_CLAMPERL},
- {30, 35, SPECIES_RELICANTH},
- {30, 35, SPECIES_RELICANTH},
+ {20, 30, SPECIES_CLAMPERL},
+ {20, 30, SPECIES_CHINCHOU},
+ {30, 35, SPECIES_CLAMPERL},
+ {30, 35, SPECIES_RELICANTH},
+ {30, 35, SPECIES_RELICANTH},
};
const struct WildPokemonInfo gUnderwater1_WaterMonsInfo = {4, gUnderwater1_WaterMons};
const struct WildPokemon gShoalCave_LowTideIceRoom_LandMons[] =
{
- {26, 26, SPECIES_ZUBAT},
- {26, 26, SPECIES_SPHEAL},
- {28, 28, SPECIES_ZUBAT},
- {28, 28, SPECIES_SPHEAL},
- {30, 30, SPECIES_ZUBAT},
- {30, 30, SPECIES_SPHEAL},
- {26, 26, SPECIES_SNORUNT},
- {32, 32, SPECIES_SPHEAL},
- {30, 30, SPECIES_GOLBAT},
- {28, 28, SPECIES_SNORUNT},
- {32, 32, SPECIES_GOLBAT},
- {30, 30, SPECIES_SNORUNT},
+ {26, 26, SPECIES_ZUBAT},
+ {26, 26, SPECIES_SPHEAL},
+ {28, 28, SPECIES_ZUBAT},
+ {28, 28, SPECIES_SPHEAL},
+ {30, 30, SPECIES_ZUBAT},
+ {30, 30, SPECIES_SPHEAL},
+ {26, 26, SPECIES_SNORUNT},
+ {32, 32, SPECIES_SPHEAL},
+ {30, 30, SPECIES_GOLBAT},
+ {28, 28, SPECIES_SNORUNT},
+ {32, 32, SPECIES_GOLBAT},
+ {30, 30, SPECIES_SNORUNT},
};
const struct WildPokemonInfo gShoalCave_LowTideIceRoom_LandMonsInfo = {10, gShoalCave_LowTideIceRoom_LandMons};
const struct WildPokemon gSkyPillar_1F_LandMons[] =
{
- {33, 33, SPECIES_SABLEYE},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {34, 34, SPECIES_SABLEYE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_BANETTE},
- {38, 38, SPECIES_BANETTE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_CLAYDOL},
+ {33, 33, SPECIES_SABLEYE},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {34, 34, SPECIES_SABLEYE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_BANETTE},
+ {38, 38, SPECIES_BANETTE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_CLAYDOL},
};
const struct WildPokemonInfo gSkyPillar_1F_LandMonsInfo = {10, gSkyPillar_1F_LandMons};
const struct WildPokemon gSootopolisCity_WaterMons[] =
{
- {5, 35, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {15, 25, SPECIES_MAGIKARP},
- {25, 30, SPECIES_MAGIKARP},
- {25, 30, SPECIES_MAGIKARP},
+ {5, 35, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {15, 25, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_MAGIKARP},
};
const struct WildPokemonInfo gSootopolisCity_WaterMonsInfo = {1, gSootopolisCity_WaterMons};
const struct WildPokemon gSootopolisCity_FishingMons[] =
{
- {5, 10, SPECIES_MAGIKARP},
- {5, 10, SPECIES_TENTACOOL},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {10, 30, SPECIES_MAGIKARP},
- {30, 35, SPECIES_MAGIKARP},
- {30, 35, SPECIES_MAGIKARP},
- {35, 40, SPECIES_GYARADOS},
- {35, 45, SPECIES_GYARADOS},
- {5, 45, SPECIES_GYARADOS},
+ {5, 10, SPECIES_MAGIKARP},
+ {5, 10, SPECIES_TENTACOOL},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {10, 30, SPECIES_MAGIKARP},
+ {30, 35, SPECIES_MAGIKARP},
+ {30, 35, SPECIES_MAGIKARP},
+ {35, 40, SPECIES_GYARADOS},
+ {35, 45, SPECIES_GYARADOS},
+ {5, 45, SPECIES_GYARADOS},
};
const struct WildPokemonInfo gSootopolisCity_FishingMonsInfo = {10, gSootopolisCity_FishingMons};
const struct WildPokemon gSkyPillar_3F_LandMons[] =
{
- {33, 33, SPECIES_SABLEYE},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {34, 34, SPECIES_SABLEYE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_BANETTE},
- {38, 38, SPECIES_BANETTE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_CLAYDOL},
+ {33, 33, SPECIES_SABLEYE},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {34, 34, SPECIES_SABLEYE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_BANETTE},
+ {38, 38, SPECIES_BANETTE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_CLAYDOL},
};
const struct WildPokemonInfo gSkyPillar_3F_LandMonsInfo = {10, gSkyPillar_3F_LandMons};
const struct WildPokemon gSkyPillar_5F_LandMons[] =
{
- {33, 33, SPECIES_SABLEYE},
- {34, 34, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {34, 34, SPECIES_SABLEYE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_BANETTE},
- {38, 38, SPECIES_BANETTE},
- {36, 36, SPECIES_CLAYDOL},
- {37, 37, SPECIES_CLAYDOL},
- {38, 38, SPECIES_ALTARIA},
- {39, 39, SPECIES_ALTARIA},
- {39, 39, SPECIES_ALTARIA},
+ {33, 33, SPECIES_SABLEYE},
+ {34, 34, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {34, 34, SPECIES_SABLEYE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_BANETTE},
+ {38, 38, SPECIES_BANETTE},
+ {36, 36, SPECIES_CLAYDOL},
+ {37, 37, SPECIES_CLAYDOL},
+ {38, 38, SPECIES_ALTARIA},
+ {39, 39, SPECIES_ALTARIA},
+ {39, 39, SPECIES_ALTARIA},
};
const struct WildPokemonInfo gSkyPillar_5F_LandMonsInfo = {10, gSkyPillar_5F_LandMons};
const struct WildPokemon gSafariZone_Southeast_LandMons[] =
{
- {33, 33, SPECIES_SUNKERN},
- {34, 34, SPECIES_MAREEP},
- {35, 35, SPECIES_SUNKERN},
- {36, 36, SPECIES_MAREEP},
- {34, 34, SPECIES_AIPOM},
- {33, 33, SPECIES_SPINARAK},
- {35, 35, SPECIES_HOOTHOOT},
- {34, 34, SPECIES_SNUBBULL},
- {36, 36, SPECIES_STANTLER},
- {37, 37, SPECIES_GLIGAR},
- {39, 39, SPECIES_STANTLER},
- {40, 40, SPECIES_GLIGAR},
+ {33, 33, SPECIES_SUNKERN},
+ {34, 34, SPECIES_MAREEP},
+ {35, 35, SPECIES_SUNKERN},
+ {36, 36, SPECIES_MAREEP},
+ {34, 34, SPECIES_AIPOM},
+ {33, 33, SPECIES_SPINARAK},
+ {35, 35, SPECIES_HOOTHOOT},
+ {34, 34, SPECIES_SNUBBULL},
+ {36, 36, SPECIES_STANTLER},
+ {37, 37, SPECIES_GLIGAR},
+ {39, 39, SPECIES_STANTLER},
+ {40, 40, SPECIES_GLIGAR},
};
const struct WildPokemonInfo gSafariZone_Southeast_LandMonsInfo = {25, gSafariZone_Southeast_LandMons};
const struct WildPokemon gSafariZone_Southeast_WaterMons[] =
{
- {25, 30, SPECIES_WOOPER},
- {25, 30, SPECIES_MARILL},
- {25, 30, SPECIES_MARILL},
- {30, 35, SPECIES_MARILL},
- {35, 40, SPECIES_QUAGSIRE},
+ {25, 30, SPECIES_WOOPER},
+ {25, 30, SPECIES_MARILL},
+ {25, 30, SPECIES_MARILL},
+ {30, 35, SPECIES_MARILL},
+ {35, 40, SPECIES_QUAGSIRE},
};
const struct WildPokemonInfo gSafariZone_Southeast_WaterMonsInfo = {9, gSafariZone_Southeast_WaterMons};
const struct WildPokemon gSafariZone_Southeast_FishingMons[] =
{
- {25, 30, SPECIES_MAGIKARP},
- {25, 30, SPECIES_GOLDEEN},
- {25, 30, SPECIES_MAGIKARP},
- {25, 30, SPECIES_GOLDEEN},
- {30, 35, SPECIES_REMORAID},
- {25, 30, SPECIES_GOLDEEN},
- {25, 30, SPECIES_REMORAID},
- {30, 35, SPECIES_REMORAID},
- {30, 35, SPECIES_REMORAID},
- {35, 40, SPECIES_OCTILLERY},
+ {25, 30, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_GOLDEEN},
+ {25, 30, SPECIES_MAGIKARP},
+ {25, 30, SPECIES_GOLDEEN},
+ {30, 35, SPECIES_REMORAID},
+ {25, 30, SPECIES_GOLDEEN},
+ {25, 30, SPECIES_REMORAID},
+ {30, 35, SPECIES_REMORAID},
+ {30, 35, SPECIES_REMORAID},
+ {35, 40, SPECIES_OCTILLERY},
};
const struct WildPokemonInfo gSafariZone_Southeast_FishingMonsInfo = {35, gSafariZone_Southeast_FishingMons};
const struct WildPokemon gSafariZone_Northeast_LandMons[] =
{
- {33, 33, SPECIES_AIPOM},
- {34, 34, SPECIES_TEDDIURSA},
- {35, 35, SPECIES_AIPOM},
- {36, 36, SPECIES_TEDDIURSA},
- {34, 34, SPECIES_SUNKERN},
- {33, 33, SPECIES_LEDYBA},
- {35, 35, SPECIES_HOOTHOOT},
- {34, 34, SPECIES_PINECO},
- {36, 36, SPECIES_HOUNDOUR},
- {37, 37, SPECIES_MILTANK},
- {39, 39, SPECIES_HOUNDOUR},
- {40, 40, SPECIES_MILTANK},
+ {33, 33, SPECIES_AIPOM},
+ {34, 34, SPECIES_TEDDIURSA},
+ {35, 35, SPECIES_AIPOM},
+ {36, 36, SPECIES_TEDDIURSA},
+ {34, 34, SPECIES_SUNKERN},
+ {33, 33, SPECIES_LEDYBA},
+ {35, 35, SPECIES_HOOTHOOT},
+ {34, 34, SPECIES_PINECO},
+ {36, 36, SPECIES_HOUNDOUR},
+ {37, 37, SPECIES_MILTANK},
+ {39, 39, SPECIES_HOUNDOUR},
+ {40, 40, SPECIES_MILTANK},
};
const struct WildPokemonInfo gSafariZone_Northeast_LandMonsInfo = {25, gSafariZone_Northeast_LandMons};
const struct WildPokemon gSafariZone_Northeast_RockSmashMons[] =
{
- {25, 30, SPECIES_SHUCKLE},
- {20, 25, SPECIES_SHUCKLE},
- {30, 35, SPECIES_SHUCKLE},
- {30, 35, SPECIES_SHUCKLE},
- {35, 40, SPECIES_SHUCKLE},
+ {25, 30, SPECIES_SHUCKLE},
+ {20, 25, SPECIES_SHUCKLE},
+ {30, 35, SPECIES_SHUCKLE},
+ {30, 35, SPECIES_SHUCKLE},
+ {35, 40, SPECIES_SHUCKLE},
};
const struct WildPokemonInfo gSafariZone_Northeast_RockSmashMonsInfo = {25, gSafariZone_Northeast_RockSmashMons};
const struct WildPokemon gMagmaHideout_1F_LandMons[] =
{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gMagmaHideout_1F_LandMonsInfo = {10, gMagmaHideout_1F_LandMons};
const struct WildPokemon gMagmaHideout_2F_1R_LandMons[] =
{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gMagmaHideout_2F_1R_LandMonsInfo = {10, gMagmaHideout_2F_1R_LandMons};
const struct WildPokemon gMagmaHideout_2F_2R_LandMons[] =
{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gMagmaHideout_2F_2R_LandMonsInfo = {10, gMagmaHideout_2F_2R_LandMons};
const struct WildPokemon gMagmaHideout_3F_1R_LandMons[] =
{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gMagmaHideout_3F_1R_LandMonsInfo = {10, gMagmaHideout_3F_1R_LandMons};
const struct WildPokemon gMagmaHideout_3F_2R_LandMons[] =
{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gMagmaHideout_3F_2R_LandMonsInfo = {10, gMagmaHideout_3F_2R_LandMons};
const struct WildPokemon gMagmaHideout_4F_LandMons[] =
{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gMagmaHideout_4F_LandMonsInfo = {10, gMagmaHideout_4F_LandMons};
const struct WildPokemon gMagmaHideout_3F_3R_LandMons[] =
{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gMagmaHideout_3F_3R_LandMonsInfo = {10, gMagmaHideout_3F_3R_LandMons};
const struct WildPokemon gMagmaHideout_2F_3R_LandMons[] =
{
- {27, 27, SPECIES_GEODUDE},
- {28, 28, SPECIES_TORKOAL},
- {28, 28, SPECIES_GEODUDE},
- {30, 30, SPECIES_TORKOAL},
- {29, 29, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GEODUDE},
- {30, 30, SPECIES_GRAVELER},
- {30, 30, SPECIES_GRAVELER},
- {31, 31, SPECIES_GRAVELER},
- {32, 32, SPECIES_GRAVELER},
- {33, 33, SPECIES_GRAVELER},
+ {27, 27, SPECIES_GEODUDE},
+ {28, 28, SPECIES_TORKOAL},
+ {28, 28, SPECIES_GEODUDE},
+ {30, 30, SPECIES_TORKOAL},
+ {29, 29, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GEODUDE},
+ {30, 30, SPECIES_GRAVELER},
+ {30, 30, SPECIES_GRAVELER},
+ {31, 31, SPECIES_GRAVELER},
+ {32, 32, SPECIES_GRAVELER},
+ {33, 33, SPECIES_GRAVELER},
};
const struct WildPokemonInfo gMagmaHideout_2F_3R_LandMonsInfo = {10, gMagmaHideout_2F_3R_LandMons};
const struct WildPokemon gMirageTower_1F_LandMons[] =
{
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {22, 22, SPECIES_SANDSHREW},
- {22, 22, SPECIES_TRAPINCH},
- {23, 23, SPECIES_SANDSHREW},
- {23, 23, SPECIES_TRAPINCH},
- {24, 24, SPECIES_SANDSHREW},
- {24, 24, SPECIES_TRAPINCH},
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {22, 22, SPECIES_SANDSHREW},
+ {22, 22, SPECIES_TRAPINCH},
+ {23, 23, SPECIES_SANDSHREW},
+ {23, 23, SPECIES_TRAPINCH},
+ {24, 24, SPECIES_SANDSHREW},
+ {24, 24, SPECIES_TRAPINCH},
};
const struct WildPokemonInfo gMirageTower_1F_LandMonsInfo = {10, gMirageTower_1F_LandMons};
const struct WildPokemon gMirageTower_2F_LandMons[] =
{
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {22, 22, SPECIES_SANDSHREW},
- {22, 22, SPECIES_TRAPINCH},
- {23, 23, SPECIES_SANDSHREW},
- {23, 23, SPECIES_TRAPINCH},
- {24, 24, SPECIES_SANDSHREW},
- {24, 24, SPECIES_TRAPINCH},
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {22, 22, SPECIES_SANDSHREW},
+ {22, 22, SPECIES_TRAPINCH},
+ {23, 23, SPECIES_SANDSHREW},
+ {23, 23, SPECIES_TRAPINCH},
+ {24, 24, SPECIES_SANDSHREW},
+ {24, 24, SPECIES_TRAPINCH},
};
const struct WildPokemonInfo gMirageTower_2F_LandMonsInfo = {10, gMirageTower_2F_LandMons};
const struct WildPokemon gMirageTower_3F_LandMons[] =
{
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {22, 22, SPECIES_SANDSHREW},
- {22, 22, SPECIES_TRAPINCH},
- {23, 23, SPECIES_SANDSHREW},
- {23, 23, SPECIES_TRAPINCH},
- {24, 24, SPECIES_SANDSHREW},
- {24, 24, SPECIES_TRAPINCH},
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {22, 22, SPECIES_SANDSHREW},
+ {22, 22, SPECIES_TRAPINCH},
+ {23, 23, SPECIES_SANDSHREW},
+ {23, 23, SPECIES_TRAPINCH},
+ {24, 24, SPECIES_SANDSHREW},
+ {24, 24, SPECIES_TRAPINCH},
};
const struct WildPokemonInfo gMirageTower_3F_LandMonsInfo = {10, gMirageTower_3F_LandMons};
const struct WildPokemon gMirageTower_4F_LandMons[] =
{
- {21, 21, SPECIES_SANDSHREW},
- {21, 21, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {20, 20, SPECIES_SANDSHREW},
- {20, 20, SPECIES_TRAPINCH},
- {22, 22, SPECIES_SANDSHREW},
- {22, 22, SPECIES_TRAPINCH},
- {23, 23, SPECIES_SANDSHREW},
- {23, 23, SPECIES_TRAPINCH},
- {24, 24, SPECIES_SANDSHREW},
- {24, 24, SPECIES_TRAPINCH},
+ {21, 21, SPECIES_SANDSHREW},
+ {21, 21, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {20, 20, SPECIES_SANDSHREW},
+ {20, 20, SPECIES_TRAPINCH},
+ {22, 22, SPECIES_SANDSHREW},
+ {22, 22, SPECIES_TRAPINCH},
+ {23, 23, SPECIES_SANDSHREW},
+ {23, 23, SPECIES_TRAPINCH},
+ {24, 24, SPECIES_SANDSHREW},
+ {24, 24, SPECIES_TRAPINCH},
};
const struct WildPokemonInfo gMirageTower_4F_LandMonsInfo = {10, gMirageTower_4F_LandMons};
const struct WildPokemon gDesertUnderpass_LandMons[] =
{
- {38, 38, SPECIES_DITTO},
- {35, 35, SPECIES_WHISMUR},
- {40, 40, SPECIES_DITTO},
- {40, 40, SPECIES_LOUDRED},
- {41, 41, SPECIES_DITTO},
- {36, 36, SPECIES_WHISMUR},
- {38, 38, SPECIES_LOUDRED},
- {42, 42, SPECIES_DITTO},
- {38, 38, SPECIES_WHISMUR},
- {43, 43, SPECIES_DITTO},
- {44, 44, SPECIES_LOUDRED},
- {45, 45, SPECIES_DITTO},
+ {38, 38, SPECIES_DITTO},
+ {35, 35, SPECIES_WHISMUR},
+ {40, 40, SPECIES_DITTO},
+ {40, 40, SPECIES_LOUDRED},
+ {41, 41, SPECIES_DITTO},
+ {36, 36, SPECIES_WHISMUR},
+ {38, 38, SPECIES_LOUDRED},
+ {42, 42, SPECIES_DITTO},
+ {38, 38, SPECIES_WHISMUR},
+ {43, 43, SPECIES_DITTO},
+ {44, 44, SPECIES_LOUDRED},
+ {45, 45, SPECIES_DITTO},
};
const struct WildPokemonInfo gDesertUnderpass_LandMonsInfo = {10, gDesertUnderpass_LandMons};
const struct WildPokemon gArtisanCave_B1F_LandMons[] =
{
- {40, 40, SPECIES_SMEARGLE},
- {41, 41, SPECIES_SMEARGLE},
- {42, 42, SPECIES_SMEARGLE},
- {43, 43, SPECIES_SMEARGLE},
- {44, 44, SPECIES_SMEARGLE},
- {45, 45, SPECIES_SMEARGLE},
- {46, 46, SPECIES_SMEARGLE},
- {47, 47, SPECIES_SMEARGLE},
- {48, 48, SPECIES_SMEARGLE},
- {49, 49, SPECIES_SMEARGLE},
- {50, 50, SPECIES_SMEARGLE},
- {50, 50, SPECIES_SMEARGLE},
+ {40, 40, SPECIES_SMEARGLE},
+ {41, 41, SPECIES_SMEARGLE},
+ {42, 42, SPECIES_SMEARGLE},
+ {43, 43, SPECIES_SMEARGLE},
+ {44, 44, SPECIES_SMEARGLE},
+ {45, 45, SPECIES_SMEARGLE},
+ {46, 46, SPECIES_SMEARGLE},
+ {47, 47, SPECIES_SMEARGLE},
+ {48, 48, SPECIES_SMEARGLE},
+ {49, 49, SPECIES_SMEARGLE},
+ {50, 50, SPECIES_SMEARGLE},
+ {50, 50, SPECIES_SMEARGLE},
};
const struct WildPokemonInfo gArtisanCave_B1F_LandMonsInfo = {10, gArtisanCave_B1F_LandMons};
const struct WildPokemon gArtisanCave_1F_LandMons[] =
{
- {40, 40, SPECIES_SMEARGLE},
- {41, 41, SPECIES_SMEARGLE},
- {42, 42, SPECIES_SMEARGLE},
- {43, 43, SPECIES_SMEARGLE},
- {44, 44, SPECIES_SMEARGLE},
- {45, 45, SPECIES_SMEARGLE},
- {46, 46, SPECIES_SMEARGLE},
- {47, 47, SPECIES_SMEARGLE},
- {48, 48, SPECIES_SMEARGLE},
- {49, 49, SPECIES_SMEARGLE},
- {50, 50, SPECIES_SMEARGLE},
- {50, 50, SPECIES_SMEARGLE},
+ {40, 40, SPECIES_SMEARGLE},
+ {41, 41, SPECIES_SMEARGLE},
+ {42, 42, SPECIES_SMEARGLE},
+ {43, 43, SPECIES_SMEARGLE},
+ {44, 44, SPECIES_SMEARGLE},
+ {45, 45, SPECIES_SMEARGLE},
+ {46, 46, SPECIES_SMEARGLE},
+ {47, 47, SPECIES_SMEARGLE},
+ {48, 48, SPECIES_SMEARGLE},
+ {49, 49, SPECIES_SMEARGLE},
+ {50, 50, SPECIES_SMEARGLE},
+ {50, 50, SPECIES_SMEARGLE},
};
const struct WildPokemonInfo gArtisanCave_1F_LandMonsInfo = {10, gArtisanCave_1F_LandMons};
const struct WildPokemon gAlteringCave1_LandMons[] =
{
- {10, 10, SPECIES_ZUBAT},
- {12, 12, SPECIES_ZUBAT},
- {8, 8, SPECIES_ZUBAT},
- {14, 14, SPECIES_ZUBAT},
- {10, 10, SPECIES_ZUBAT},
- {12, 12, SPECIES_ZUBAT},
- {16, 16, SPECIES_ZUBAT},
- {6, 6, SPECIES_ZUBAT},
- {8, 8, SPECIES_ZUBAT},
- {14, 14, SPECIES_ZUBAT},
- {8, 8, SPECIES_ZUBAT},
- {14, 14, SPECIES_ZUBAT},
+ {10, 10, SPECIES_ZUBAT},
+ {12, 12, SPECIES_ZUBAT},
+ {8, 8, SPECIES_ZUBAT},
+ {14, 14, SPECIES_ZUBAT},
+ {10, 10, SPECIES_ZUBAT},
+ {12, 12, SPECIES_ZUBAT},
+ {16, 16, SPECIES_ZUBAT},
+ {6, 6, SPECIES_ZUBAT},
+ {8, 8, SPECIES_ZUBAT},
+ {14, 14, SPECIES_ZUBAT},
+ {8, 8, SPECIES_ZUBAT},
+ {14, 14, SPECIES_ZUBAT},
};
const struct WildPokemonInfo gAlteringCave1_LandMonsInfo = {7, gAlteringCave1_LandMons};
const struct WildPokemon gAlteringCave2_LandMons[] =
{
- {7, 7, SPECIES_MAREEP},
- {9, 9, SPECIES_MAREEP},
- {5, 5, SPECIES_MAREEP},
- {11, 11, SPECIES_MAREEP},
- {7, 7, SPECIES_MAREEP},
- {9, 9, SPECIES_MAREEP},
- {13, 13, SPECIES_MAREEP},
- {3, 3, SPECIES_MAREEP},
- {5, 5, SPECIES_MAREEP},
- {11, 11, SPECIES_MAREEP},
- {5, 5, SPECIES_MAREEP},
- {11, 11, SPECIES_MAREEP},
+ {7, 7, SPECIES_MAREEP},
+ {9, 9, SPECIES_MAREEP},
+ {5, 5, SPECIES_MAREEP},
+ {11, 11, SPECIES_MAREEP},
+ {7, 7, SPECIES_MAREEP},
+ {9, 9, SPECIES_MAREEP},
+ {13, 13, SPECIES_MAREEP},
+ {3, 3, SPECIES_MAREEP},
+ {5, 5, SPECIES_MAREEP},
+ {11, 11, SPECIES_MAREEP},
+ {5, 5, SPECIES_MAREEP},
+ {11, 11, SPECIES_MAREEP},
};
const struct WildPokemonInfo gAlteringCave2_LandMonsInfo = {7, gAlteringCave2_LandMons};
const struct WildPokemon gAlteringCave3_LandMons[] =
{
- {23, 23, SPECIES_PINECO},
- {25, 25, SPECIES_PINECO},
- {22, 22, SPECIES_PINECO},
- {27, 27, SPECIES_PINECO},
- {23, 23, SPECIES_PINECO},
- {25, 25, SPECIES_PINECO},
- {29, 29, SPECIES_PINECO},
- {19, 19, SPECIES_PINECO},
- {21, 21, SPECIES_PINECO},
- {27, 27, SPECIES_PINECO},
- {21, 21, SPECIES_PINECO},
- {27, 27, SPECIES_PINECO},
+ {23, 23, SPECIES_PINECO},
+ {25, 25, SPECIES_PINECO},
+ {22, 22, SPECIES_PINECO},
+ {27, 27, SPECIES_PINECO},
+ {23, 23, SPECIES_PINECO},
+ {25, 25, SPECIES_PINECO},
+ {29, 29, SPECIES_PINECO},
+ {19, 19, SPECIES_PINECO},
+ {21, 21, SPECIES_PINECO},
+ {27, 27, SPECIES_PINECO},
+ {21, 21, SPECIES_PINECO},
+ {27, 27, SPECIES_PINECO},
};
const struct WildPokemonInfo gAlteringCave3_LandMonsInfo = {7, gAlteringCave3_LandMons};
const struct WildPokemon gAlteringCave4_LandMons[] =
{
- {16, 16, SPECIES_HOUNDOUR},
- {18, 18, SPECIES_HOUNDOUR},
- {14, 14, SPECIES_HOUNDOUR},
- {20, 20, SPECIES_HOUNDOUR},
- {16, 16, SPECIES_HOUNDOUR},
- {18, 18, SPECIES_HOUNDOUR},
- {22, 22, SPECIES_HOUNDOUR},
- {12, 12, SPECIES_HOUNDOUR},
- {14, 14, SPECIES_HOUNDOUR},
- {20, 20, SPECIES_HOUNDOUR},
- {14, 14, SPECIES_HOUNDOUR},
- {20, 20, SPECIES_HOUNDOUR},
+ {16, 16, SPECIES_HOUNDOUR},
+ {18, 18, SPECIES_HOUNDOUR},
+ {14, 14, SPECIES_HOUNDOUR},
+ {20, 20, SPECIES_HOUNDOUR},
+ {16, 16, SPECIES_HOUNDOUR},
+ {18, 18, SPECIES_HOUNDOUR},
+ {22, 22, SPECIES_HOUNDOUR},
+ {12, 12, SPECIES_HOUNDOUR},
+ {14, 14, SPECIES_HOUNDOUR},
+ {20, 20, SPECIES_HOUNDOUR},
+ {14, 14, SPECIES_HOUNDOUR},
+ {20, 20, SPECIES_HOUNDOUR},
};
const struct WildPokemonInfo gAlteringCave4_LandMonsInfo = {7, gAlteringCave4_LandMons};
const struct WildPokemon gAlteringCave5_LandMons[] =
{
- {10, 10, SPECIES_TEDDIURSA},
- {12, 12, SPECIES_TEDDIURSA},
- {8, 8, SPECIES_TEDDIURSA},
- {14, 14, SPECIES_TEDDIURSA},
- {10, 10, SPECIES_TEDDIURSA},
- {12, 12, SPECIES_TEDDIURSA},
- {16, 16, SPECIES_TEDDIURSA},
- {6, 6, SPECIES_TEDDIURSA},
- {8, 8, SPECIES_TEDDIURSA},
- {14, 14, SPECIES_TEDDIURSA},
- {8, 8, SPECIES_TEDDIURSA},
- {14, 14, SPECIES_TEDDIURSA},
+ {10, 10, SPECIES_TEDDIURSA},
+ {12, 12, SPECIES_TEDDIURSA},
+ {8, 8, SPECIES_TEDDIURSA},
+ {14, 14, SPECIES_TEDDIURSA},
+ {10, 10, SPECIES_TEDDIURSA},
+ {12, 12, SPECIES_TEDDIURSA},
+ {16, 16, SPECIES_TEDDIURSA},
+ {6, 6, SPECIES_TEDDIURSA},
+ {8, 8, SPECIES_TEDDIURSA},
+ {14, 14, SPECIES_TEDDIURSA},
+ {8, 8, SPECIES_TEDDIURSA},
+ {14, 14, SPECIES_TEDDIURSA},
};
const struct WildPokemonInfo gAlteringCave5_LandMonsInfo = {7, gAlteringCave5_LandMons};
const struct WildPokemon gAlteringCave6_LandMons[] =
{
- {22, 22, SPECIES_AIPOM},
- {24, 24, SPECIES_AIPOM},
- {20, 20, SPECIES_AIPOM},
- {26, 26, SPECIES_AIPOM},
- {22, 22, SPECIES_AIPOM},
- {24, 24, SPECIES_AIPOM},
- {28, 28, SPECIES_AIPOM},
- {18, 18, SPECIES_AIPOM},
- {20, 20, SPECIES_AIPOM},
- {26, 26, SPECIES_AIPOM},
- {20, 20, SPECIES_AIPOM},
- {26, 26, SPECIES_AIPOM},
+ {22, 22, SPECIES_AIPOM},
+ {24, 24, SPECIES_AIPOM},
+ {20, 20, SPECIES_AIPOM},
+ {26, 26, SPECIES_AIPOM},
+ {22, 22, SPECIES_AIPOM},
+ {24, 24, SPECIES_AIPOM},
+ {28, 28, SPECIES_AIPOM},
+ {18, 18, SPECIES_AIPOM},
+ {20, 20, SPECIES_AIPOM},
+ {26, 26, SPECIES_AIPOM},
+ {20, 20, SPECIES_AIPOM},
+ {26, 26, SPECIES_AIPOM},
};
const struct WildPokemonInfo gAlteringCave6_LandMonsInfo = {7, gAlteringCave6_LandMons};
const struct WildPokemon gAlteringCave7_LandMons[] =
{
- {22, 22, SPECIES_SHUCKLE},
- {24, 24, SPECIES_SHUCKLE},
- {20, 20, SPECIES_SHUCKLE},
- {26, 26, SPECIES_SHUCKLE},
- {22, 22, SPECIES_SHUCKLE},
- {24, 24, SPECIES_SHUCKLE},
- {28, 28, SPECIES_SHUCKLE},
- {18, 18, SPECIES_SHUCKLE},
- {20, 20, SPECIES_SHUCKLE},
- {26, 26, SPECIES_SHUCKLE},
- {20, 20, SPECIES_SHUCKLE},
- {26, 26, SPECIES_SHUCKLE},
+ {22, 22, SPECIES_SHUCKLE},
+ {24, 24, SPECIES_SHUCKLE},
+ {20, 20, SPECIES_SHUCKLE},
+ {26, 26, SPECIES_SHUCKLE},
+ {22, 22, SPECIES_SHUCKLE},
+ {24, 24, SPECIES_SHUCKLE},
+ {28, 28, SPECIES_SHUCKLE},
+ {18, 18, SPECIES_SHUCKLE},
+ {20, 20, SPECIES_SHUCKLE},
+ {26, 26, SPECIES_SHUCKLE},
+ {20, 20, SPECIES_SHUCKLE},
+ {26, 26, SPECIES_SHUCKLE},
};
const struct WildPokemonInfo gAlteringCave7_LandMonsInfo = {7, gAlteringCave7_LandMons};
const struct WildPokemon gAlteringCave8_LandMons[] =
{
- {22, 22, SPECIES_STANTLER},
- {24, 24, SPECIES_STANTLER},
- {20, 20, SPECIES_STANTLER},
- {26, 26, SPECIES_STANTLER},
- {22, 22, SPECIES_STANTLER},
- {24, 24, SPECIES_STANTLER},
- {28, 28, SPECIES_STANTLER},
- {18, 18, SPECIES_STANTLER},
- {20, 20, SPECIES_STANTLER},
- {26, 26, SPECIES_STANTLER},
- {20, 20, SPECIES_STANTLER},
- {26, 26, SPECIES_STANTLER},
+ {22, 22, SPECIES_STANTLER},
+ {24, 24, SPECIES_STANTLER},
+ {20, 20, SPECIES_STANTLER},
+ {26, 26, SPECIES_STANTLER},
+ {22, 22, SPECIES_STANTLER},
+ {24, 24, SPECIES_STANTLER},
+ {28, 28, SPECIES_STANTLER},
+ {18, 18, SPECIES_STANTLER},
+ {20, 20, SPECIES_STANTLER},
+ {26, 26, SPECIES_STANTLER},
+ {20, 20, SPECIES_STANTLER},
+ {26, 26, SPECIES_STANTLER},
};
const struct WildPokemonInfo gAlteringCave8_LandMonsInfo = {7, gAlteringCave8_LandMons};
const struct WildPokemon gAlteringCave9_LandMons[] =
{
- {22, 22, SPECIES_SMEARGLE},
- {24, 24, SPECIES_SMEARGLE},
- {20, 20, SPECIES_SMEARGLE},
- {26, 26, SPECIES_SMEARGLE},
- {22, 22, SPECIES_SMEARGLE},
- {24, 24, SPECIES_SMEARGLE},
- {28, 28, SPECIES_SMEARGLE},
- {18, 18, SPECIES_SMEARGLE},
- {20, 20, SPECIES_SMEARGLE},
- {26, 26, SPECIES_SMEARGLE},
- {20, 20, SPECIES_SMEARGLE},
- {26, 26, SPECIES_SMEARGLE},
+ {22, 22, SPECIES_SMEARGLE},
+ {24, 24, SPECIES_SMEARGLE},
+ {20, 20, SPECIES_SMEARGLE},
+ {26, 26, SPECIES_SMEARGLE},
+ {22, 22, SPECIES_SMEARGLE},
+ {24, 24, SPECIES_SMEARGLE},
+ {28, 28, SPECIES_SMEARGLE},
+ {18, 18, SPECIES_SMEARGLE},
+ {20, 20, SPECIES_SMEARGLE},
+ {26, 26, SPECIES_SMEARGLE},
+ {20, 20, SPECIES_SMEARGLE},
+ {26, 26, SPECIES_SMEARGLE},
};
const struct WildPokemonInfo gAlteringCave9_LandMonsInfo = {7, gAlteringCave9_LandMons};
const struct WildPokemon gMeteorFalls_StevensCave_LandMons[] =
{
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_GOLBAT},
- {33, 33, SPECIES_GOLBAT},
- {35, 35, SPECIES_SOLROCK},
- {33, 33, SPECIES_SOLROCK},
- {37, 37, SPECIES_SOLROCK},
- {35, 35, SPECIES_GOLBAT},
- {39, 39, SPECIES_SOLROCK},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
- {38, 38, SPECIES_GOLBAT},
- {40, 40, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_GOLBAT},
+ {33, 33, SPECIES_GOLBAT},
+ {35, 35, SPECIES_SOLROCK},
+ {33, 33, SPECIES_SOLROCK},
+ {37, 37, SPECIES_SOLROCK},
+ {35, 35, SPECIES_GOLBAT},
+ {39, 39, SPECIES_SOLROCK},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
+ {38, 38, SPECIES_GOLBAT},
+ {40, 40, SPECIES_GOLBAT},
};
const struct WildPokemonInfo gMeteorFalls_StevensCave_LandMonsInfo = {10, gMeteorFalls_StevensCave_LandMons};
const struct WildPokemonHeader gWildMonHeaders[] =
{
- {
- .mapGroup = MAP_GROUP(ROUTE101),
- .mapNum = MAP_NUM(ROUTE101),
- .landMonsInfo = &gRoute101_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE102),
- .mapNum = MAP_NUM(ROUTE102),
- .landMonsInfo = &gRoute102_LandMonsInfo,
- .waterMonsInfo = &gRoute102_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute102_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE103),
- .mapNum = MAP_NUM(ROUTE103),
- .landMonsInfo = &gRoute103_LandMonsInfo,
- .waterMonsInfo = &gRoute103_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute103_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE104),
- .mapNum = MAP_NUM(ROUTE104),
- .landMonsInfo = &gRoute104_LandMonsInfo,
- .waterMonsInfo = &gRoute104_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute104_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE105),
- .mapNum = MAP_NUM(ROUTE105),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute105_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute105_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE110),
- .mapNum = MAP_NUM(ROUTE110),
- .landMonsInfo = &gRoute110_LandMonsInfo,
- .waterMonsInfo = &gRoute110_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute110_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE111),
- .mapNum = MAP_NUM(ROUTE111),
- .landMonsInfo = &gRoute111_LandMonsInfo,
- .waterMonsInfo = &gRoute111_WaterMonsInfo,
- .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo,
- .fishingMonsInfo = &gRoute111_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE112),
- .mapNum = MAP_NUM(ROUTE112),
- .landMonsInfo = &gRoute112_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE113),
- .mapNum = MAP_NUM(ROUTE113),
- .landMonsInfo = &gRoute113_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE114),
- .mapNum = MAP_NUM(ROUTE114),
- .landMonsInfo = &gRoute114_LandMonsInfo,
- .waterMonsInfo = &gRoute114_WaterMonsInfo,
- .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo,
- .fishingMonsInfo = &gRoute114_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE116),
- .mapNum = MAP_NUM(ROUTE116),
- .landMonsInfo = &gRoute116_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE117),
- .mapNum = MAP_NUM(ROUTE117),
- .landMonsInfo = &gRoute117_LandMonsInfo,
- .waterMonsInfo = &gRoute117_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute117_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE118),
- .mapNum = MAP_NUM(ROUTE118),
- .landMonsInfo = &gRoute118_LandMonsInfo,
- .waterMonsInfo = &gRoute118_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute118_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE124),
- .mapNum = MAP_NUM(ROUTE124),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute124_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute124_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(PETALBURG_WOODS),
- .mapNum = MAP_NUM(PETALBURG_WOODS),
- .landMonsInfo = &gPetalburgWoods_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(RUSTURF_TUNNEL),
- .mapNum = MAP_NUM(RUSTURF_TUNNEL),
- .landMonsInfo = &gRusturfTunnel_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(GRANITE_CAVE_1F),
- .mapNum = MAP_NUM(GRANITE_CAVE_1F),
- .landMonsInfo = &gGraniteCave_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F),
- .mapNum = MAP_NUM(GRANITE_CAVE_B1F),
- .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_1F),
- .mapNum = MAP_NUM(MT_PYRE_1F),
- .landMonsInfo = &gMtPyre_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(VICTORY_ROAD_1F),
- .mapNum = MAP_NUM(VICTORY_ROAD_1F),
- .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH),
- .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH),
- .landMonsInfo = &gSafariZone_South_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(UNDERWATER2),
- .mapNum = MAP_NUM(UNDERWATER2),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gUnderwater2_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F),
- .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F),
- .mapNum = MAP_NUM(GRANITE_CAVE_B2F),
- .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(FIERY_PATH),
- .mapNum = MAP_NUM(FIERY_PATH),
- .landMonsInfo = &gFieryPath_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R),
- .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R),
- .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo,
- .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(JAGGED_PASS),
- .mapNum = MAP_NUM(JAGGED_PASS),
- .landMonsInfo = &gJaggedPass_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE106),
- .mapNum = MAP_NUM(ROUTE106),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute106_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute106_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE107),
- .mapNum = MAP_NUM(ROUTE107),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute107_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute107_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE108),
- .mapNum = MAP_NUM(ROUTE108),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute108_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute108_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE109),
- .mapNum = MAP_NUM(ROUTE109),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute109_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute109_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE115),
- .mapNum = MAP_NUM(ROUTE115),
- .landMonsInfo = &gRoute115_LandMonsInfo,
- .waterMonsInfo = &gRoute115_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute115_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE),
- .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE),
- .landMonsInfo = &gNewMauville_Inside_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE119),
- .mapNum = MAP_NUM(ROUTE119),
- .landMonsInfo = &gRoute119_LandMonsInfo,
- .waterMonsInfo = &gRoute119_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute119_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE120),
- .mapNum = MAP_NUM(ROUTE120),
- .landMonsInfo = &gRoute120_LandMonsInfo,
- .waterMonsInfo = &gRoute120_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute120_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE121),
- .mapNum = MAP_NUM(ROUTE121),
- .landMonsInfo = &gRoute121_LandMonsInfo,
- .waterMonsInfo = &gRoute121_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute121_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE122),
- .mapNum = MAP_NUM(ROUTE122),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute122_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute122_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE123),
- .mapNum = MAP_NUM(ROUTE123),
- .landMonsInfo = &gRoute123_LandMonsInfo,
- .waterMonsInfo = &gRoute123_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute123_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_2F),
- .mapNum = MAP_NUM(MT_PYRE_2F),
- .landMonsInfo = &gMtPyre_2F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_3F),
- .mapNum = MAP_NUM(MT_PYRE_3F),
- .landMonsInfo = &gMtPyre_3F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_4F),
- .mapNum = MAP_NUM(MT_PYRE_4F),
- .landMonsInfo = &gMtPyre_4F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_5F),
- .mapNum = MAP_NUM(MT_PYRE_5F),
- .landMonsInfo = &gMtPyre_5F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_6F),
- .mapNum = MAP_NUM(MT_PYRE_6F),
- .landMonsInfo = &gMtPyre_6F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR),
- .mapNum = MAP_NUM(MT_PYRE_EXTERIOR),
- .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT),
- .mapNum = MAP_NUM(MT_PYRE_SUMMIT),
- .landMonsInfo = &gMtPyre_Summit_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM),
- .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM),
- .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE125),
- .mapNum = MAP_NUM(ROUTE125),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute125_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute125_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE126),
- .mapNum = MAP_NUM(ROUTE126),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute126_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute126_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE127),
- .mapNum = MAP_NUM(ROUTE127),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute127_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute127_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE128),
- .mapNum = MAP_NUM(ROUTE128),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute128_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute128_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE129),
- .mapNum = MAP_NUM(ROUTE129),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute129_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute129_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE130),
- .mapNum = MAP_NUM(ROUTE130),
- .landMonsInfo = &gRoute130_LandMonsInfo,
- .waterMonsInfo = &gRoute130_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute130_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE131),
- .mapNum = MAP_NUM(ROUTE131),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute131_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute131_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE132),
- .mapNum = MAP_NUM(ROUTE132),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute132_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute132_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE133),
- .mapNum = MAP_NUM(ROUTE133),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute133_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute133_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ROUTE134),
- .mapNum = MAP_NUM(ROUTE134),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gRoute134_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gRoute134_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS),
- .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1),
- .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2),
- .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3),
- .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4),
- .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5),
- .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6),
- .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo,
- .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7),
- .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo,
- .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8),
- .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE),
- .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE),
- .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F),
- .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1),
- .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2),
- .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3),
- .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3),
- .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE),
- .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE),
- .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST),
- .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST),
- .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo,
- .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH),
- .mapNum = MAP_NUM(SAFARI_ZONE_NORTH),
- .landMonsInfo = &gSafariZone_North_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST),
- .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST),
- .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo,
- .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F),
- .mapNum = MAP_NUM(VICTORY_ROAD_B1F),
- .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F),
- .mapNum = MAP_NUM(VICTORY_ROAD_B2F),
- .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo,
- .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R),
- .mapNum = MAP_NUM(METEOR_FALLS_1F_1R),
- .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo,
- .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R),
- .mapNum = MAP_NUM(METEOR_FALLS_1F_2R),
- .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo,
- .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R),
- .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R),
- .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo,
- .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM),
- .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM),
- .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM),
- .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo,
- .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM),
- .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo,
- .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(LILYCOVE_CITY),
- .mapNum = MAP_NUM(LILYCOVE_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gLilycoveCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(DEWFORD_TOWN),
- .mapNum = MAP_NUM(DEWFORD_TOWN),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gDewfordTown_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gDewfordTown_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SLATEPORT_CITY),
- .mapNum = MAP_NUM(SLATEPORT_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gSlateportCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSlateportCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(MOSSDEEP_CITY),
- .mapNum = MAP_NUM(MOSSDEEP_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gMossdeepCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN),
- .mapNum = MAP_NUM(PACIFIDLOG_TOWN),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(EVER_GRANDE_CITY),
- .mapNum = MAP_NUM(EVER_GRANDE_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(PETALBURG_CITY),
- .mapNum = MAP_NUM(PETALBURG_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gPetalburgCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(UNDERWATER1),
- .mapNum = MAP_NUM(UNDERWATER1),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gUnderwater1_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM),
- .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM),
- .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SKY_PILLAR_1F),
- .mapNum = MAP_NUM(SKY_PILLAR_1F),
- .landMonsInfo = &gSkyPillar_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY),
- .mapNum = MAP_NUM(SOOTOPOLIS_CITY),
- .landMonsInfo = NULL,
- .waterMonsInfo = &gSootopolisCity_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SKY_PILLAR_3F),
- .mapNum = MAP_NUM(SKY_PILLAR_3F),
- .landMonsInfo = &gSkyPillar_3F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SKY_PILLAR_5F),
- .mapNum = MAP_NUM(SKY_PILLAR_5F),
- .landMonsInfo = &gSkyPillar_5F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST),
- .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST),
- .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo,
- .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo,
- },
- {
- .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST),
- .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST),
- .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F),
- .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R),
- .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R),
- .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R),
- .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R),
- .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F),
- .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R),
- .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R),
- .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R),
- .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F),
- .mapNum = MAP_NUM(MIRAGE_TOWER_1F),
- .landMonsInfo = &gMirageTower_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F),
- .mapNum = MAP_NUM(MIRAGE_TOWER_2F),
- .landMonsInfo = &gMirageTower_2F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F),
- .mapNum = MAP_NUM(MIRAGE_TOWER_3F),
- .landMonsInfo = &gMirageTower_3F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F),
- .mapNum = MAP_NUM(MIRAGE_TOWER_4F),
- .landMonsInfo = &gMirageTower_4F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(DESERT_UNDERPASS),
- .mapNum = MAP_NUM(DESERT_UNDERPASS),
- .landMonsInfo = &gDesertUnderpass_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F),
- .mapNum = MAP_NUM(ARTISAN_CAVE_B1F),
- .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F),
- .mapNum = MAP_NUM(ARTISAN_CAVE_1F),
- .landMonsInfo = &gArtisanCave_1F_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave1_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave2_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave3_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave4_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave5_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave6_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave7_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave8_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(ALTERING_CAVE),
- .mapNum = MAP_NUM(ALTERING_CAVE),
- .landMonsInfo = &gAlteringCave9_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE),
- .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE),
- .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = MAP_GROUP(UNDEFINED),
- .mapNum = MAP_NUM(UNDEFINED),
- .landMonsInfo = NULL,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
+ {
+ .mapGroup = MAP_GROUP(ROUTE101),
+ .mapNum = MAP_NUM(ROUTE101),
+ .landMonsInfo = &gRoute101_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE102),
+ .mapNum = MAP_NUM(ROUTE102),
+ .landMonsInfo = &gRoute102_LandMonsInfo,
+ .waterMonsInfo = &gRoute102_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute102_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE103),
+ .mapNum = MAP_NUM(ROUTE103),
+ .landMonsInfo = &gRoute103_LandMonsInfo,
+ .waterMonsInfo = &gRoute103_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute103_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE104),
+ .mapNum = MAP_NUM(ROUTE104),
+ .landMonsInfo = &gRoute104_LandMonsInfo,
+ .waterMonsInfo = &gRoute104_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute104_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE105),
+ .mapNum = MAP_NUM(ROUTE105),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute105_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute105_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE110),
+ .mapNum = MAP_NUM(ROUTE110),
+ .landMonsInfo = &gRoute110_LandMonsInfo,
+ .waterMonsInfo = &gRoute110_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute110_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE111),
+ .mapNum = MAP_NUM(ROUTE111),
+ .landMonsInfo = &gRoute111_LandMonsInfo,
+ .waterMonsInfo = &gRoute111_WaterMonsInfo,
+ .rockSmashMonsInfo = &gRoute111_RockSmashMonsInfo,
+ .fishingMonsInfo = &gRoute111_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE112),
+ .mapNum = MAP_NUM(ROUTE112),
+ .landMonsInfo = &gRoute112_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE113),
+ .mapNum = MAP_NUM(ROUTE113),
+ .landMonsInfo = &gRoute113_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE114),
+ .mapNum = MAP_NUM(ROUTE114),
+ .landMonsInfo = &gRoute114_LandMonsInfo,
+ .waterMonsInfo = &gRoute114_WaterMonsInfo,
+ .rockSmashMonsInfo = &gRoute114_RockSmashMonsInfo,
+ .fishingMonsInfo = &gRoute114_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE116),
+ .mapNum = MAP_NUM(ROUTE116),
+ .landMonsInfo = &gRoute116_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE117),
+ .mapNum = MAP_NUM(ROUTE117),
+ .landMonsInfo = &gRoute117_LandMonsInfo,
+ .waterMonsInfo = &gRoute117_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute117_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE118),
+ .mapNum = MAP_NUM(ROUTE118),
+ .landMonsInfo = &gRoute118_LandMonsInfo,
+ .waterMonsInfo = &gRoute118_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute118_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE124),
+ .mapNum = MAP_NUM(ROUTE124),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute124_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute124_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(PETALBURG_WOODS),
+ .mapNum = MAP_NUM(PETALBURG_WOODS),
+ .landMonsInfo = &gPetalburgWoods_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(RUSTURF_TUNNEL),
+ .mapNum = MAP_NUM(RUSTURF_TUNNEL),
+ .landMonsInfo = &gRusturfTunnel_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(GRANITE_CAVE_1F),
+ .mapNum = MAP_NUM(GRANITE_CAVE_1F),
+ .landMonsInfo = &gGraniteCave_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(GRANITE_CAVE_B1F),
+ .mapNum = MAP_NUM(GRANITE_CAVE_B1F),
+ .landMonsInfo = &gGraniteCave_B1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_1F),
+ .mapNum = MAP_NUM(MT_PYRE_1F),
+ .landMonsInfo = &gMtPyre_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(VICTORY_ROAD_1F),
+ .mapNum = MAP_NUM(VICTORY_ROAD_1F),
+ .landMonsInfo = &gVictoryRoad_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH),
+ .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH),
+ .landMonsInfo = &gSafariZone_South_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(UNDERWATER2),
+ .mapNum = MAP_NUM(UNDERWATER2),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gUnderwater2_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ABANDONED_SHIP_ROOMS_B1F),
+ .mapNum = MAP_NUM(ABANDONED_SHIP_ROOMS_B1F),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gAbandonedShip_Rooms_B1F_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gAbandonedShip_Rooms_B1F_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(GRANITE_CAVE_B2F),
+ .mapNum = MAP_NUM(GRANITE_CAVE_B2F),
+ .landMonsInfo = &gGraniteCave_B2F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = &gGraniteCave_B2F_RockSmashMonsInfo,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(FIERY_PATH),
+ .mapNum = MAP_NUM(FIERY_PATH),
+ .landMonsInfo = &gFieryPath_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_2R),
+ .mapNum = MAP_NUM(METEOR_FALLS_B1F_2R),
+ .landMonsInfo = &gMeteorFalls_B1F_2R_LandMonsInfo,
+ .waterMonsInfo = &gMeteorFalls_B1F_2R_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMeteorFalls_B1F_2R_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(JAGGED_PASS),
+ .mapNum = MAP_NUM(JAGGED_PASS),
+ .landMonsInfo = &gJaggedPass_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE106),
+ .mapNum = MAP_NUM(ROUTE106),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute106_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute106_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE107),
+ .mapNum = MAP_NUM(ROUTE107),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute107_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute107_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE108),
+ .mapNum = MAP_NUM(ROUTE108),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute108_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute108_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE109),
+ .mapNum = MAP_NUM(ROUTE109),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute109_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute109_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE115),
+ .mapNum = MAP_NUM(ROUTE115),
+ .landMonsInfo = &gRoute115_LandMonsInfo,
+ .waterMonsInfo = &gRoute115_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute115_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(NEW_MAUVILLE_INSIDE),
+ .mapNum = MAP_NUM(NEW_MAUVILLE_INSIDE),
+ .landMonsInfo = &gNewMauville_Inside_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE119),
+ .mapNum = MAP_NUM(ROUTE119),
+ .landMonsInfo = &gRoute119_LandMonsInfo,
+ .waterMonsInfo = &gRoute119_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute119_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE120),
+ .mapNum = MAP_NUM(ROUTE120),
+ .landMonsInfo = &gRoute120_LandMonsInfo,
+ .waterMonsInfo = &gRoute120_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute120_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE121),
+ .mapNum = MAP_NUM(ROUTE121),
+ .landMonsInfo = &gRoute121_LandMonsInfo,
+ .waterMonsInfo = &gRoute121_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute121_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE122),
+ .mapNum = MAP_NUM(ROUTE122),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute122_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute122_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE123),
+ .mapNum = MAP_NUM(ROUTE123),
+ .landMonsInfo = &gRoute123_LandMonsInfo,
+ .waterMonsInfo = &gRoute123_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute123_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_2F),
+ .mapNum = MAP_NUM(MT_PYRE_2F),
+ .landMonsInfo = &gMtPyre_2F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_3F),
+ .mapNum = MAP_NUM(MT_PYRE_3F),
+ .landMonsInfo = &gMtPyre_3F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_4F),
+ .mapNum = MAP_NUM(MT_PYRE_4F),
+ .landMonsInfo = &gMtPyre_4F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_5F),
+ .mapNum = MAP_NUM(MT_PYRE_5F),
+ .landMonsInfo = &gMtPyre_5F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_6F),
+ .mapNum = MAP_NUM(MT_PYRE_6F),
+ .landMonsInfo = &gMtPyre_6F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_EXTERIOR),
+ .mapNum = MAP_NUM(MT_PYRE_EXTERIOR),
+ .landMonsInfo = &gMtPyre_Exterior_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MT_PYRE_SUMMIT),
+ .mapNum = MAP_NUM(MT_PYRE_SUMMIT),
+ .landMonsInfo = &gMtPyre_Summit_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(GRANITE_CAVE_STEVENS_ROOM),
+ .mapNum = MAP_NUM(GRANITE_CAVE_STEVENS_ROOM),
+ .landMonsInfo = &gGraniteCave_StevensRoom_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE125),
+ .mapNum = MAP_NUM(ROUTE125),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute125_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute125_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE126),
+ .mapNum = MAP_NUM(ROUTE126),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute126_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute126_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE127),
+ .mapNum = MAP_NUM(ROUTE127),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute127_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute127_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE128),
+ .mapNum = MAP_NUM(ROUTE128),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute128_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute128_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE129),
+ .mapNum = MAP_NUM(ROUTE129),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute129_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute129_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE130),
+ .mapNum = MAP_NUM(ROUTE130),
+ .landMonsInfo = &gRoute130_LandMonsInfo,
+ .waterMonsInfo = &gRoute130_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute130_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE131),
+ .mapNum = MAP_NUM(ROUTE131),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute131_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute131_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE132),
+ .mapNum = MAP_NUM(ROUTE132),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute132_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute132_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE133),
+ .mapNum = MAP_NUM(ROUTE133),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute133_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute133_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ROUTE134),
+ .mapNum = MAP_NUM(ROUTE134),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gRoute134_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gRoute134_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS),
+ .mapNum = MAP_NUM(ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gAbandonedShip_HiddenFloorCorridors_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gAbandonedShip_HiddenFloorCorridors_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM1),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM1),
+ .landMonsInfo = &gSeafloorCavern_Room1_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM2),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM2),
+ .landMonsInfo = &gSeafloorCavern_Room2_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM3),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM3),
+ .landMonsInfo = &gSeafloorCavern_Room3_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM4),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM4),
+ .landMonsInfo = &gSeafloorCavern_Room4_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM5),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM5),
+ .landMonsInfo = &gSeafloorCavern_Room5_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM6),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM6),
+ .landMonsInfo = &gSeafloorCavern_Room6_LandMonsInfo,
+ .waterMonsInfo = &gSeafloorCavern_Room6_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSeafloorCavern_Room6_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM7),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM7),
+ .landMonsInfo = &gSeafloorCavern_Room7_LandMonsInfo,
+ .waterMonsInfo = &gSeafloorCavern_Room7_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSeafloorCavern_Room7_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ROOM8),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ROOM8),
+ .landMonsInfo = &gSeafloorCavern_Room8_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SEAFLOOR_CAVERN_ENTRANCE),
+ .mapNum = MAP_NUM(SEAFLOOR_CAVERN_ENTRANCE),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gSeafloorCavern_Entrance_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSeafloorCavern_Entrance_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_ENTRANCE),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_ENTRANCE),
+ .landMonsInfo = &gCaveOfOrigin_Entrance_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_1F),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_1F),
+ .landMonsInfo = &gCaveOfOrigin_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1),
+ .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2),
+ .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3),
+ .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3),
+ .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(NEW_MAUVILLE_ENTRANCE),
+ .mapNum = MAP_NUM(NEW_MAUVILLE_ENTRANCE),
+ .landMonsInfo = &gNewMauville_Entrance_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHWEST),
+ .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHWEST),
+ .landMonsInfo = &gSafariZone_Southwest_LandMonsInfo,
+ .waterMonsInfo = &gSafariZone_Southwest_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH),
+ .mapNum = MAP_NUM(SAFARI_ZONE_NORTH),
+ .landMonsInfo = &gSafariZone_North_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHWEST),
+ .mapNum = MAP_NUM(SAFARI_ZONE_NORTHWEST),
+ .landMonsInfo = &gSafariZone_Northwest_LandMonsInfo,
+ .waterMonsInfo = &gSafariZone_Northwest_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSafariZone_Northwest_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(VICTORY_ROAD_B1F),
+ .mapNum = MAP_NUM(VICTORY_ROAD_B1F),
+ .landMonsInfo = &gVictoryRoad_B1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = &gVictoryRoad_B1F_RockSmashMonsInfo,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(VICTORY_ROAD_B2F),
+ .mapNum = MAP_NUM(VICTORY_ROAD_B2F),
+ .landMonsInfo = &gVictoryRoad_B2F_LandMonsInfo,
+ .waterMonsInfo = &gVictoryRoad_B2F_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gVictoryRoad_B2F_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_1F_1R),
+ .mapNum = MAP_NUM(METEOR_FALLS_1F_1R),
+ .landMonsInfo = &gMeteorFalls_1F_1R_LandMonsInfo,
+ .waterMonsInfo = &gMeteorFalls_1F_1R_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMeteorFalls_1F_1R_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_1F_2R),
+ .mapNum = MAP_NUM(METEOR_FALLS_1F_2R),
+ .landMonsInfo = &gMeteorFalls_1F_2R_LandMonsInfo,
+ .waterMonsInfo = &gMeteorFalls_1F_2R_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMeteorFalls_1F_2R_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_B1F_1R),
+ .mapNum = MAP_NUM(METEOR_FALLS_B1F_1R),
+ .landMonsInfo = &gMeteorFalls_B1F_1R_LandMonsInfo,
+ .waterMonsInfo = &gMeteorFalls_B1F_1R_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMeteorFalls_B1F_1R_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideStairsRoom_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_LOWER_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideLowerRoom_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_INNER_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_INNER_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideInnerRoom_LandMonsInfo,
+ .waterMonsInfo = &gShoalCave_LowTideInnerRoom_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gShoalCave_LowTideInnerRoom_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideEntranceRoom_LandMonsInfo,
+ .waterMonsInfo = &gShoalCave_LowTideEntranceRoom_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gShoalCave_LowTideEntranceRoom_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(LILYCOVE_CITY),
+ .mapNum = MAP_NUM(LILYCOVE_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gLilycoveCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gLilycoveCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(DEWFORD_TOWN),
+ .mapNum = MAP_NUM(DEWFORD_TOWN),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gDewfordTown_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gDewfordTown_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SLATEPORT_CITY),
+ .mapNum = MAP_NUM(SLATEPORT_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gSlateportCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSlateportCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(MOSSDEEP_CITY),
+ .mapNum = MAP_NUM(MOSSDEEP_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gMossdeepCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gMossdeepCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(PACIFIDLOG_TOWN),
+ .mapNum = MAP_NUM(PACIFIDLOG_TOWN),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gPacifidlogTown_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gPacifidlogTown_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(EVER_GRANDE_CITY),
+ .mapNum = MAP_NUM(EVER_GRANDE_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gEverGrandeCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gEverGrandeCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(PETALBURG_CITY),
+ .mapNum = MAP_NUM(PETALBURG_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gPetalburgCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gPetalburgCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(UNDERWATER1),
+ .mapNum = MAP_NUM(UNDERWATER1),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gUnderwater1_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SHOAL_CAVE_LOW_TIDE_ICE_ROOM),
+ .mapNum = MAP_NUM(SHOAL_CAVE_LOW_TIDE_ICE_ROOM),
+ .landMonsInfo = &gShoalCave_LowTideIceRoom_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SKY_PILLAR_1F),
+ .mapNum = MAP_NUM(SKY_PILLAR_1F),
+ .landMonsInfo = &gSkyPillar_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SOOTOPOLIS_CITY),
+ .mapNum = MAP_NUM(SOOTOPOLIS_CITY),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = &gSootopolisCity_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSootopolisCity_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SKY_PILLAR_3F),
+ .mapNum = MAP_NUM(SKY_PILLAR_3F),
+ .landMonsInfo = &gSkyPillar_3F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SKY_PILLAR_5F),
+ .mapNum = MAP_NUM(SKY_PILLAR_5F),
+ .landMonsInfo = &gSkyPillar_5F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST),
+ .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST),
+ .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo,
+ .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo,
+ },
+ {
+ .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST),
+ .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST),
+ .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_1F),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_1F),
+ .landMonsInfo = &gMagmaHideout_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_1R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_1R),
+ .landMonsInfo = &gMagmaHideout_2F_1R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_2R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_2R),
+ .landMonsInfo = &gMagmaHideout_2F_2R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_1R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_1R),
+ .landMonsInfo = &gMagmaHideout_3F_1R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_2R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_2R),
+ .landMonsInfo = &gMagmaHideout_3F_2R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_4F),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_4F),
+ .landMonsInfo = &gMagmaHideout_4F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_3F_3R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_3F_3R),
+ .landMonsInfo = &gMagmaHideout_3F_3R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MAGMA_HIDEOUT_2F_3R),
+ .mapNum = MAP_NUM(MAGMA_HIDEOUT_2F_3R),
+ .landMonsInfo = &gMagmaHideout_2F_3R_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MIRAGE_TOWER_1F),
+ .mapNum = MAP_NUM(MIRAGE_TOWER_1F),
+ .landMonsInfo = &gMirageTower_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MIRAGE_TOWER_2F),
+ .mapNum = MAP_NUM(MIRAGE_TOWER_2F),
+ .landMonsInfo = &gMirageTower_2F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MIRAGE_TOWER_3F),
+ .mapNum = MAP_NUM(MIRAGE_TOWER_3F),
+ .landMonsInfo = &gMirageTower_3F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(MIRAGE_TOWER_4F),
+ .mapNum = MAP_NUM(MIRAGE_TOWER_4F),
+ .landMonsInfo = &gMirageTower_4F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(DESERT_UNDERPASS),
+ .mapNum = MAP_NUM(DESERT_UNDERPASS),
+ .landMonsInfo = &gDesertUnderpass_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ARTISAN_CAVE_B1F),
+ .mapNum = MAP_NUM(ARTISAN_CAVE_B1F),
+ .landMonsInfo = &gArtisanCave_B1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ARTISAN_CAVE_1F),
+ .mapNum = MAP_NUM(ARTISAN_CAVE_1F),
+ .landMonsInfo = &gArtisanCave_1F_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave1_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave2_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave3_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave4_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave5_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave6_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave7_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave8_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(ALTERING_CAVE),
+ .mapNum = MAP_NUM(ALTERING_CAVE),
+ .landMonsInfo = &gAlteringCave9_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(METEOR_FALLS_STEVENS_CAVE),
+ .mapNum = MAP_NUM(METEOR_FALLS_STEVENS_CAVE),
+ .landMonsInfo = &gMeteorFalls_StevensCave_LandMonsInfo,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = MAP_GROUP(UNDEFINED),
+ .mapNum = MAP_NUM(UNDEFINED),
+ .landMonsInfo = NULL,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
};
const struct WildPokemon gBattlePyramidPlaceholders_1[] =
{
- {5, 5, SPECIES_BULBASAUR},
- {5, 5, SPECIES_BULBASAUR},
- {5, 5, SPECIES_BULBASAUR},
- {5, 5, SPECIES_BULBASAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_BULBASAUR},
+ {5, 5, SPECIES_BULBASAUR},
+ {5, 5, SPECIES_BULBASAUR},
+ {5, 5, SPECIES_BULBASAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_CHARMANDER},
};
const struct WildPokemonInfo gBattlePyramidPlaceholders_1Info = {4, gBattlePyramidPlaceholders_1};
const struct WildPokemon gBattlePyramidPlaceholders_2[] =
{
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_IVYSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_IVYSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMANDER},
};
const struct WildPokemonInfo gBattlePyramidPlaceholders_2Info = {4, gBattlePyramidPlaceholders_2};
const struct WildPokemon gBattlePyramidPlaceholders_3[] =
{
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_VENUSAUR},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_VENUSAUR},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARIZARD},
};
const struct WildPokemonInfo gBattlePyramidPlaceholders_3Info = {4, gBattlePyramidPlaceholders_3};
const struct WildPokemon gBattlePyramidPlaceholders_4[] =
{
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMANDER},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMANDER},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_SQUIRTLE},
};
const struct WildPokemonInfo gBattlePyramidPlaceholders_4Info = {4, gBattlePyramidPlaceholders_4};
const struct WildPokemon gBattlePyramidPlaceholders_5[] =
{
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_WARTORTLE},
};
const struct WildPokemonInfo gBattlePyramidPlaceholders_5Info = {4, gBattlePyramidPlaceholders_5};
const struct WildPokemon gBattlePyramidPlaceholders_6[] =
{
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
};
const struct WildPokemonInfo gBattlePyramidPlaceholders_6Info = {4, gBattlePyramidPlaceholders_6};
const struct WildPokemon gBattlePyramidPlaceholders_7[] =
{
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_WARTORTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_SQUIRTLE},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARIZARD},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
- {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_WARTORTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_SQUIRTLE},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARIZARD},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
+ {5, 5, SPECIES_CHARMELEON},
};
const struct WildPokemonInfo gBattlePyramidPlaceholders_7Info = {8, gBattlePyramidPlaceholders_7};
const struct WildPokemonHeader gBattlePyramidWildMonHeaders[] =
{
- {
- .mapGroup = 0,
- .mapNum = 1,
- .landMonsInfo = &gBattlePyramidPlaceholders_1Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 2,
- .landMonsInfo = &gBattlePyramidPlaceholders_2Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 3,
- .landMonsInfo = &gBattlePyramidPlaceholders_3Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 4,
- .landMonsInfo = &gBattlePyramidPlaceholders_4Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 5,
- .landMonsInfo = &gBattlePyramidPlaceholders_5Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 6,
- .landMonsInfo = &gBattlePyramidPlaceholders_6Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 7,
- .landMonsInfo = &gBattlePyramidPlaceholders_7Info,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 255,
- .mapNum = 255,
- .landMonsInfo = NULL,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
+ {
+ .mapGroup = 0,
+ .mapNum = 1,
+ .landMonsInfo = &gBattlePyramidPlaceholders_1Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 2,
+ .landMonsInfo = &gBattlePyramidPlaceholders_2Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 3,
+ .landMonsInfo = &gBattlePyramidPlaceholders_3Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 4,
+ .landMonsInfo = &gBattlePyramidPlaceholders_4Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 5,
+ .landMonsInfo = &gBattlePyramidPlaceholders_5Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 6,
+ .landMonsInfo = &gBattlePyramidPlaceholders_6Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 7,
+ .landMonsInfo = &gBattlePyramidPlaceholders_7Info,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 255,
+ .mapNum = 255,
+ .landMonsInfo = NULL,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
};
const struct WildPokemon gBattlePikeMons_1[] =
{
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_DUSCLOPS},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_DUSCLOPS},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
};
const struct WildPokemonInfo gBattlePikeMonsInfo_1 = {10, gBattlePikeMons_1};
const struct WildPokemon gBattlePikeMons_2[] =
{
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_ELECTRODE},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_ELECTRODE},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
};
const struct WildPokemonInfo gBattlePikeMonsInfo_2 = {10, gBattlePikeMons_2};
const struct WildPokemon gBattlePikeMons_3[] =
{
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_BRELOOM},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_BRELOOM},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
};
const struct WildPokemonInfo gBattlePikeMonsInfo_3 = {10, gBattlePikeMons_3};
const struct WildPokemon gBattlePikeMons_4[] =
{
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_WOBBUFFET},
- {5, 5, SPECIES_SEVIPER},
- {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_WOBBUFFET},
+ {5, 5, SPECIES_SEVIPER},
+ {5, 5, SPECIES_MILOTIC},
};
const struct WildPokemonInfo gBattlePikeMonsInfo_4 = {10, gBattlePikeMons_4};
const struct WildPokemonHeader gBattlePikeWildMonHeaders[] =
{
- {
- .mapGroup = 0,
- .mapNum = 1,
- .landMonsInfo = &gBattlePikeMonsInfo_1,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 2,
- .landMonsInfo = &gBattlePikeMonsInfo_2,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 3,
- .landMonsInfo = &gBattlePikeMonsInfo_3,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 0,
- .mapNum = 4,
- .landMonsInfo = &gBattlePikeMonsInfo_4,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
- {
- .mapGroup = 255,
- .mapNum = 255,
- .landMonsInfo = NULL,
- .waterMonsInfo = NULL,
- .rockSmashMonsInfo = NULL,
- .fishingMonsInfo = NULL,
- },
+ {
+ .mapGroup = 0,
+ .mapNum = 1,
+ .landMonsInfo = &gBattlePikeMonsInfo_1,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 2,
+ .landMonsInfo = &gBattlePikeMonsInfo_2,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 3,
+ .landMonsInfo = &gBattlePikeMonsInfo_3,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 0,
+ .mapNum = 4,
+ .landMonsInfo = &gBattlePikeMonsInfo_4,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
+ {
+ .mapGroup = 255,
+ .mapNum = 255,
+ .landMonsInfo = NULL,
+ .waterMonsInfo = NULL,
+ .rockSmashMonsInfo = NULL,
+ .fishingMonsInfo = NULL,
+ },
};
const struct WildPokemon gWildFeebasRoute119Data = {20, 25, SPECIES_FEEBAS};
const u16 gRoute119WaterTileData[] =
{
- 0, 0x2D, 0,
- 0x2E, 0x5B, 0x83,
- 0x5C, 0x8B, 0x12A,
+ 0, 0x2D, 0,
+ 0x2E, 0x5B, 0x83,
+ 0x5C, 0x8B, 0x12A,
};
// code
@@ -5079,7 +5079,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi
return FALSE;
headerId = GetCurrentMapWildMonHeaderId();
- if (headerId == 0xFFFF) // invalid
+ if (headerId == 0xFFFF)
{
if (gMapHeader.mapLayoutId == 0x166)
{
@@ -5222,7 +5222,7 @@ bool8 SweetScentWildEncounter(void)
PlayerGetDestCoords(&x, &y);
headerId = GetCurrentMapWildMonHeaderId();
- if (headerId == 0xFFFF) // invalid
+ if (headerId == 0xFFFF)
{
if (gMapHeader.mapLayoutId == 0x166)
{
diff --git a/src/window.c b/src/window.c
index 8efd1c281..4e1a38eff 100644
--- a/src/window.c
+++ b/src/window.c
@@ -1,6 +1,6 @@
#include "global.h"
#include "window.h"
-#include "malloc.h"
+#include "alloc.h"
#include "bg.h"
#include "blit.h"