diff options
author | Tetrable <atiftetra@gmail.com> | 2018-08-26 17:33:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-26 17:33:39 +0100 |
commit | d8f6da035015393339ea6391d293e5ff88558844 (patch) | |
tree | 7abec1fe7ed598e04de425ca4f49020759d5ee9d | |
parent | 8896b54e8f45528fc6c21cd55cdace2ad03b2796 (diff) | |
parent | 60dff848aace7226f903eb6759273c4b52ea1813 (diff) |
Merge pull request #1 from pret/master
Merge pokeemerald
-rw-r--r-- | asm/battle_frontier_2.s | 4 | ||||
-rw-r--r-- | asm/battle_pyramid.s (renamed from asm/pokemon_summary_screen.s) | 1533 | ||||
-rw-r--r-- | asm/contest.s | 60 | ||||
-rw-r--r-- | asm/contest_ai.s | 5278 | ||||
-rw-r--r-- | asm/contest_effect.s | 3175 | ||||
-rw-r--r-- | asm/party_menu.s | 6 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 4 | ||||
-rw-r--r-- | asm/trade.s | 4 | ||||
-rw-r--r-- | data/battle_pyramid.s | 94 | ||||
-rw-r--r-- | data/contest_ai.s | 144 | ||||
-rw-r--r-- | data/contest_effect.s | 22 | ||||
-rw-r--r-- | data/contest_effect_function_table.inc | 50 | ||||
-rw-r--r-- | data/contest_effects.inc | 289 | ||||
-rw-r--r-- | data/contest_moves.inc | 2486 | ||||
-rw-r--r-- | data/data2b.s | 701 | ||||
-rw-r--r-- | data/enemy_mon_elevation.inc | 415 | ||||
-rw-r--r-- | data/graphics/pokemon/back_pic_table.inc | 442 | ||||
-rw-r--r-- | data/graphics/pokemon/front_anims.inc | 6915 | ||||
-rw-r--r-- | data/graphics/pokemon/front_pic_table.inc | 442 | ||||
-rw-r--r-- | data/graphics/pokemon/palette_table.inc | 442 | ||||
-rw-r--r-- | data/graphics/pokemon/shiny_palette_table.inc | 442 | ||||
-rw-r--r-- | data/graphics/trainers/back_pic_coords.inc | 10 | ||||
-rw-r--r-- | data/graphics/trainers/back_pic_palette_table.inc | 10 | ||||
-rw-r--r-- | data/graphics/trainers/back_pic_table.inc | 10 | ||||
-rw-r--r-- | data/graphics/trainers/front_pic_coords.inc | 95 | ||||
-rw-r--r-- | data/graphics/trainers/front_pic_palette_table.inc | 95 | ||||
-rw-r--r-- | data/graphics/trainers/front_pic_table.inc | 95 | ||||
-rw-r--r-- | data/pokemon_summary_screen.s | 507 | ||||
-rw-r--r-- | data/text/nature_names.inc | 102 | ||||
-rw-r--r-- | include/battle_controllers.h | 2 | ||||
-rw-r--r-- | include/battle_frontier_2.h | 1 | ||||
-rw-r--r-- | include/battle_tent.h | 6 | ||||
-rw-r--r-- | include/constants/region_map_sections.h | 4 | ||||
-rw-r--r-- | include/contest.h | 19 | ||||
-rw-r--r-- | include/contest_ai.h | 16 | ||||
-rw-r--r-- | include/contest_effect.h | 5 | ||||
-rw-r--r-- | include/data/bard_music/bard_sounds.h | 52 | ||||
-rw-r--r-- | include/graphics.h | 231 | ||||
-rw-r--r-- | include/m4a.h | 1 | ||||
-rw-r--r-- | include/menu.h | 2 | ||||
-rw-r--r-- | include/menu_helpers.h | 1 | ||||
-rw-r--r-- | include/mon_markings.h | 2 | ||||
-rw-r--r-- | include/party_menu.h | 3 | ||||
-rw-r--r-- | include/pokeball.h | 2 | ||||
-rw-r--r-- | include/pokemon_storage_system.h | 1 | ||||
-rwxr-xr-x | include/pokemon_summary_screen.h | 20 | ||||
-rw-r--r-- | include/region_map.h | 1 | ||||
-rw-r--r-- | include/strings.h | 48 | ||||
-rw-r--r-- | ld_script.txt | 16 | ||||
-rw-r--r-- | src/battle_pyramid.c | 248 | ||||
-rw-r--r-- | src/contest.c | 10 | ||||
-rw-r--r-- | src/contest_ai.c | 1756 | ||||
-rw-r--r-- | src/contest_effect.c | 1080 | ||||
-rw-r--r-- | src/data/bard_music/actions.h (renamed from include/data/bard_music/actions.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/adjectives.h (renamed from include/data/bard_music/adjectives.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/bard_sounds.h | 52 | ||||
-rw-r--r-- | src/data/bard_music/battle.h (renamed from include/data/bard_music/battle.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/conditions.h (renamed from include/data/bard_music/conditions.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/default_sound.h (renamed from include/data/bard_music/default_sound.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/endings.h (renamed from include/data/bard_music/endings.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/events.h (renamed from include/data/bard_music/events.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/feelings.h (renamed from include/data/bard_music/feelings.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/greetings.h (renamed from include/data/bard_music/greetings.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/hobbies.h (renamed from include/data/bard_music/hobbies.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/length_table.h (renamed from include/data/bard_music/length_table.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/lifestyle.h (renamed from include/data/bard_music/lifestyle.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/misc.h (renamed from include/data/bard_music/misc.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/moves.h (renamed from include/data/bard_music/moves.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/people.h (renamed from include/data/bard_music/people.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/pokemon.h (renamed from include/data/bard_music/pokemon.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/speech.h (renamed from include/data/bard_music/speech.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/status.h (renamed from include/data/bard_music/status.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/time.h (renamed from include/data/bard_music/time.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/trainer.h (renamed from include/data/bard_music/trainer.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/trendysaying.h (renamed from include/data/bard_music/trendysaying.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/voices.h (renamed from include/data/bard_music/voices.h) | 0 | ||||
-rw-r--r-- | src/data/bard_music/word_pitch.h (renamed from include/data/bard_music/word_pitch.h) | 0 | ||||
-rw-r--r-- | src/data/battle_moves.h (renamed from include/data/battle_moves.h) | 0 | ||||
-rw-r--r-- | src/data/contest_moves.h | 3008 | ||||
-rw-r--r-- | src/data/decoration/description.h (renamed from include/data/decoration/description.h) | 0 | ||||
-rw-r--r-- | src/data/decoration/header.h (renamed from include/data/decoration/header.h) | 0 | ||||
-rw-r--r-- | src/data/decoration/icon.h (renamed from include/data/decoration/icon.h) | 0 | ||||
-rw-r--r-- | src/data/decoration/tilemaps.h (renamed from include/data/decoration/tilemaps.h) | 0 | ||||
-rw-r--r-- | src/data/decoration/tiles.h (renamed from include/data/decoration/tiles.h) | 0 | ||||
-rw-r--r-- | src/data/item_icon_table.h (renamed from include/data/item_icon_table.h) | 0 | ||||
-rw-r--r-- | src/data/items.h (renamed from include/data/items.h) | 0 | ||||
-rw-r--r-- | src/data/pokedex_orders.h (renamed from include/data/pokedex_orders.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/base_stats.h (renamed from include/data/pokemon/base_stats.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/cry_ids.h (renamed from include/data/pokemon/cry_ids.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/egg_moves.h (renamed from include/data/pokemon/egg_moves.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/evolution.h (renamed from include/data/pokemon/evolution.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/experience_tables.h (renamed from include/data/pokemon/experience_tables.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/item_effects.h (renamed from include/data/pokemon/item_effects.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/level_up_learnset_pointers.h (renamed from include/data/pokemon/level_up_learnset_pointers.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/level_up_learnsets.h (renamed from include/data/pokemon/level_up_learnsets.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/tmhm_learnsets.h (renamed from include/data/pokemon/tmhm_learnsets.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon/trainer_class_lookups.h (renamed from include/data/pokemon/trainer_class_lookups.h) | 0 | ||||
-rw-r--r-- | src/data/pokemon_graphics/back_pic_table.h | 443 | ||||
-rw-r--r-- | src/data/pokemon_graphics/enemy_mon_elevation.h | 417 | ||||
-rw-r--r-- | src/data/pokemon_graphics/front_anims.h | 7391 | ||||
-rw-r--r-- | src/data/pokemon_graphics/front_pic_table.h | 446 | ||||
-rw-r--r-- | src/data/pokemon_graphics/palette_table.h | 443 | ||||
-rw-r--r-- | src/data/pokemon_graphics/shiny_palette_table.h | 443 | ||||
-rw-r--r-- | src/data/region_map/region_map_entries.h (renamed from include/data/region_map/region_map_entries.h) | 0 | ||||
-rw-r--r-- | src/data/text/abilities.h (renamed from include/data/text/abilities.h) | 0 | ||||
-rw-r--r-- | src/data/text/item_descriptions.h (renamed from include/data/text/item_descriptions.h) | 0 | ||||
-rw-r--r-- | src/data/text/nature_names.h | 54 | ||||
-rw-r--r-- | src/data/trainer_graphics/back_pic_anims.h | 129 | ||||
-rw-r--r-- | src/data/trainer_graphics/back_pic_tables.h | 35 | ||||
-rw-r--r-- | src/data/trainer_graphics/front_pic_anims.h | 190 | ||||
-rw-r--r-- | src/data/trainer_graphics/front_pic_tables.h | 290 | ||||
-rw-r--r-- | src/data2b.c | 132 | ||||
-rw-r--r-- | src/field_special_scene.c | 22 | ||||
-rw-r--r-- | src/pokemon.c | 6 | ||||
-rw-r--r-- | src/pokemon_summary_screen.c | 4013 | ||||
-rw-r--r-- | src/unk_pokedex_area_screen_helper.c | 75 | ||||
-rw-r--r-- | sym_ewram.txt | 27 |
117 files changed, 19170 insertions, 25845 deletions
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s index 8f2d7b0e0..7e72aaf76 100644 --- a/asm/battle_frontier_2.s +++ b/asm/battle_frontier_2.s @@ -1244,7 +1244,7 @@ _0819AF1A: movs r0, 0x1 adds r2, r6, 0 movs r3, 0x5 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _0819AF50: add sp, 0x4 pop {r4-r6} @@ -4373,7 +4373,7 @@ _0819C9C4: str r0, [sp] movs r0, 0 movs r3, 0x2 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _0819C9F0: add sp, 0x4 pop {r4-r6} diff --git a/asm/pokemon_summary_screen.s b/asm/battle_pyramid.s index 91b1693fd..ea07fdd0a 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/battle_pyramid.s @@ -5,1523 +5,6 @@ .text - - - thumb_func_start sub_81C4568 -sub_81C4568: @ 81C4568 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gUnknown_0203CF1C - ldr r2, [r2] - adds r0, 0x3 - ldr r3, =0x000040d3 - adds r2, r3 - adds r0, r2, r0 - ldrb r0, [r0] - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, =gSprites - adds r4, r5 - adds r1, 0x3 - adds r2, r1 - ldrb r0, [r2] - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r3, r5 - adds r5, r4, 0 - adds r5, 0x2A - ldrb r1, [r5] - adds r2, r3, 0 - adds r2, 0x2A - ldrb r0, [r2] - strb r0, [r5] - strb r1, [r2] - ldrb r6, [r4, 0x5] - lsrs r5, r6, 4 - ldrb r2, [r3, 0x5] - lsrs r2, 4 - lsls r2, 4 - movs r1, 0xF - adds r0, r1, 0 - ands r0, r6 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r5, 4 - ldrb r0, [r3, 0x5] - ands r1, r0 - orrs r1, r5 - strb r1, [r3, 0x5] - adds r4, 0x3F - ldrb r0, [r4] - movs r2, 0x4 - orrs r0, r2 - movs r1, 0x11 - negs r1, r1 - ands r0, r1 - strb r0, [r4] - adds r3, 0x3F - ldrb r0, [r3] - orrs r0, r2 - ands r0, r1 - strb r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4568 - - thumb_func_start sub_81C45F4 -sub_81C45F4: @ 81C45F4 - push {r4-r6,lr} - adds r3, r0, 0 - adds r6, r1, 0 - ldr r0, =gUnknown_0203CF1C - ldr r2, [r0] - adds r5, r2, 0 - adds r5, 0x70 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _081C4620 - cmp r0, 0x1 - bne _081C4610 - b _081C4750 -_081C4610: - adds r0, r3, 0 - bl sub_81C47B4 - lsls r0, 24 - lsrs r0, 24 - b _081C4770 - .pool -_081C4620: - ldr r0, =gMain - ldr r1, =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081C4680 - ldr r1, =0x000040be - adds r0, r2, r1 - ldrb r1, [r0] - movs r0, 0x3 - bl sub_80688F8 - lsls r0, 24 - cmp r0, 0 - beq _081C4668 - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - b _081C46D6 - .pool -_081C4668: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - b _081C46B0 - .pool -_081C4680: - ldr r0, =gMonSpritesGfxPtr - ldr r3, [r0] - adds r4, r0, 0 - cmp r3, 0 - beq _081C46E4 - ldr r1, [r2] - ldr r0, =gPlayerParty - cmp r1, r0 - beq _081C46A6 - ldr r1, =0x000040bc - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _081C46A6 - adds r1, 0x33 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C46CC -_081C46A6: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, [r4] -_081C46B0: - ldr r1, [r1, 0x8] - ldr r3, [r5, 0xC] - bl HandleLoadSpecialPokePic_2 - b _081C4768 - .pool -_081C46CC: - ldrh r2, [r5, 0x2] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, [r3, 0x8] -_081C46D6: - ldr r3, [r5, 0xC] - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _081C4768 - .pool -_081C46E4: - ldr r1, [r2] - ldr r0, =gPlayerParty - cmp r1, r0 - beq _081C4700 - ldr r1, =0x000040bc - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _081C4700 - adds r1, 0x33 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _081C472C -_081C4700: - ldrh r4, [r5, 0x2] - lsls r4, 3 - ldr r0, =gMonFrontPicTable - adds r4, r0 - movs r0, 0 - movs r1, 0x1 - bl sub_806F4F8 - adds r1, r0, 0 - ldrh r2, [r5, 0x2] - ldr r3, [r5, 0xC] - adds r0, r4, 0 - bl HandleLoadSpecialPokePic_2 - b _081C4768 - .pool -_081C472C: - ldrh r4, [r5, 0x2] - lsls r4, 3 - ldr r0, =gMonFrontPicTable - adds r4, r0 - movs r0, 0 - movs r1, 0x1 - bl sub_806F4F8 - adds r1, r0, 0 - ldrh r2, [r5, 0x2] - ldr r3, [r5, 0xC] - adds r0, r4, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys - b _081C4768 - .pool -_081C4750: - ldrh r0, [r5, 0x2] - ldr r1, [r5, 0x48] - ldr r2, [r5, 0xC] - bl GetMonSpritePalStructFromOtIdPersonality - adds r4, r0, 0 - bl LoadCompressedObjectPalette - ldrh r0, [r4, 0x4] - movs r1, 0x1 - bl SetMultiuseSpriteTemplateToPokemon -_081C4768: - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - movs r0, 0xFF -_081C4770: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_81C45F4 - - thumb_func_start sub_81C4778 -sub_81C4778: @ 81C4778 - push {r4,lr} - ldr r0, =gUnknown_0203CF1C - ldr r1, [r0] - adds r4, r1, 0 - adds r4, 0x70 - ldrb r0, [r4, 0x4] - cmp r0, 0 - bne _081C47AE - adds r0, r1, 0 - adds r0, 0xC - bl ShouldPlayNormalMonCry - cmp r0, 0x1 - bne _081C47A4 - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0 - bl PlayCry3 - b _081C47AE - .pool -_081C47A4: - ldrh r0, [r4, 0x2] - movs r1, 0 - movs r2, 0xB - bl PlayCry3 -_081C47AE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81C4778 - - thumb_func_start sub_81C47B4 -sub_81C47B4: @ 81C47B4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gUnknown_0203CF1C - ldr r6, [r0] - adds r6, 0x70 - ldr r0, =gMultiuseSpriteTemplate - movs r1, 0x28 - movs r2, 0x40 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r4, r0, 4 - add r4, r8 - lsls r4, 2 - ldr r5, =gSprites - adds r7, r4, r5 - adds r0, r7, 0 - bl FreeSpriteOamMatrix - ldrh r0, [r6, 0x2] - movs r1, 0 - strh r0, [r7, 0x2E] - strh r1, [r7, 0x32] - adds r5, 0x1C - adds r4, r5 - ldr r0, =sub_81C4844 - str r0, [r4] - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r7, 0x5] - ldrh r0, [r6, 0x2] - bl IsMonSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _081C4828 - adds r0, r7, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0] - b _081C4836 - .pool -_081C4828: - adds r2, r7, 0 - adds r2, 0x3F - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_081C4836: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81C47B4 - - thumb_func_start sub_81C4844 -sub_81C4844: @ 81C4844 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - adds r5, r0, 0 - adds r5, 0x70 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C487E - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _081C487E - ldrh r0, [r4, 0x2E] - bl IsMonSpriteNotFlipped - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x30] - bl sub_81C4778 - ldrh r1, [r4, 0x2E] - ldrb r2, [r5, 0x4] - adds r0, r4, 0 - bl PokemonSummaryDoMonAnimation -_081C487E: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4844 - - thumb_func_start sub_81C488C -sub_81C488C: @ 81C488C - ldr r1, =gUnknown_0203CF24 - strb r0, [r1] - bx lr - .pool - thumb_func_end sub_81C488C - - thumb_func_start sub_81C4898 -sub_81C4898: @ 81C4898 - push {r4,lr} - ldr r4, =gUnknown_0203CF24 - ldrb r0, [r4] - cmp r0, 0xFF - beq _081C48AA - bl DestroyTask - movs r0, 0xFF - strb r0, [r4] -_081C48AA: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4898 - - thumb_func_start sub_81C48B4 -sub_81C48B4: @ 81C48B4 - push {lr} - ldr r2, =gSprites - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040d3 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _081C48E8 - movs r0, 0x1 - b _081C48EA - .pool -_081C48E8: - movs r0, 0 -_081C48EA: - pop {r1} - bx r1 - thumb_func_end sub_81C48B4 - - thumb_func_start sub_81C48F0 -sub_81C48F0: @ 81C48F0 - push {r4-r6,lr} - ldr r6, =gSprites - ldr r5, =gUnknown_0203CF1C - ldr r0, [r5] - ldr r4, =0x000040d3 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - bl sub_806EE98 - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r3, r0, 4 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - orrs r3, r0 - movs r2, 0 - ldr r5, =gPlttBufferUnfaded - ldr r4, =gPlttBufferFaded -_081C494C: - adds r0, r2, r3 - lsls r0, 16 - lsrs r0, 15 - adds r1, r0, r5 - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xF - bls _081C494C - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C48F0 - - thumb_func_start sub_81C4984 -sub_81C4984: @ 81C4984 - push {r4-r6,lr} - adds r5, r0, 0 - ldr r1, =0x00007533 - ldr r2, =gUnknown_0861D120 - adds r0, r1, 0 - bl sub_811FF94 - adds r4, r0, 0 - ldr r6, =gUnknown_0203CF1C - ldr r0, [r6] - str r4, [r0, 0x8] - cmp r4, 0 - beq _081C49CE - adds r0, r5, 0 - movs r1, 0x8 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - ldr r1, [r6] - ldr r2, [r1, 0x8] - movs r0, 0x3C - strh r0, [r2, 0x20] - ldr r2, [r1, 0x8] - movs r0, 0x1A - strh r0, [r2, 0x22] - ldr r2, [r1, 0x8] - ldrb r1, [r2, 0x5] - subs r0, 0x27 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2, 0x5] -_081C49CE: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4984 - - thumb_func_start sub_81C49E0 -sub_81C49E0: @ 81C49E0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r0, [r0, 0x8] - bl DestroySprite - ldr r0, =0x00007533 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl sub_81C4984 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C49E0 - - thumb_func_start sub_81C4A08 -sub_81C4A08: @ 81C4A08 - push {r4,lr} - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBallId - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl LoadBallGfx - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, =gBallSpriteTemplates - adds r0, r1 - movs r1, 0x10 - movs r2, 0x88 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_0203CF1C - ldr r1, [r2] - ldr r3, =0x000040d4 - adds r1, r3 - strb r0, [r1] - ldr r4, =gSprites - ldr r2, [r2] - adds r2, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =SpriteCallbackDummy - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - movs r2, 0xC - orrs r1, r2 - strb r1, [r0, 0x5] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4A08 - - thumb_func_start sub_81C4A88 -sub_81C4A88: @ 81C4A88 - push {r4,r5,lr} - ldr r5, =gUnknown_0203CF1C - ldr r0, [r5] - ldr r1, =0x000040d5 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _081C4AA6 - ldr r0, =gUnknown_0861D108 - movs r1, 0x40 - movs r2, 0x98 - movs r3, 0 - bl CreateSprite - strb r0, [r4] -_081C4AA6: - ldr r0, [r5] - adds r0, 0xC - bl sub_81B205C - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _081C4AE8 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - subs r1, r2, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim - movs r0, 0x2 - movs r1, 0 - bl sub_81C4204 - b _081C4AF0 - .pool -_081C4AE8: - movs r0, 0x2 - movs r1, 0x1 - bl sub_81C4204 -_081C4AF0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C4A88 - - thumb_func_start sub_81C4AF8 -sub_81C4AF8: @ 81C4AF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, =gUnknown_0203CF1C - ldr r1, =0x000040d3 - add r1, r8 - ldr r0, [r0] - adds r7, r0, r1 - ldr r1, =0x000040c0 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bls _081C4BD2 - movs r0, 0 - mov r9, r0 - mov r1, r8 - cmp r1, 0x8 - bne _081C4B2A - movs r0, 0x1 - mov r9, r0 -_081C4B2A: - movs r5, 0 - ldr r6, =gSprites - mov r10, r5 -_081C4B30: - lsls r1, r5, 20 - movs r0, 0xB2 - lsls r0, 15 - adds r1, r0 - asrs r1, 16 - ldr r0, =gUnknown_0861D084 - movs r2, 0x28 - mov r3, r9 - bl CreateSprite - adds r1, r7, r5 - strb r0, [r1] - adds r4, r1, 0 - cmp r5, 0 - bne _081C4B74 - ldrb r1, [r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x4 - bl StartSpriteAnim - b _081C4B9A - .pool -_081C4B74: - cmp r5, 0x9 - bne _081C4B8A - ldrb r1, [r7, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x5 - bl StartSpriteAnim - b _081C4B9A -_081C4B8A: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x6 - bl StartSpriteAnim -_081C4B9A: - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_81C4BE4 - str r1, [r0] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x2E] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r10 - strh r1, [r0, 0x30] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x9 - bls _081C4B30 -_081C4BD2: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4AF8 - - thumb_func_start sub_81C4BE4 -sub_81C4BE4: @ 81C4BE4 - push {lr} - adds r3, r0, 0 - adds r0, 0x2A - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _081C4C1C - ldrh r0, [r3, 0x30] - adds r0, 0x1 - movs r1, 0x1F - ands r0, r1 - strh r0, [r3, 0x30] - cmp r0, 0x18 - ble _081C4C10 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - b _081C4C2A -_081C4C10: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - b _081C4C28 -_081C4C1C: - movs r0, 0 - strh r0, [r3, 0x30] - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - subs r0, 0x5 -_081C4C28: - ands r0, r1 -_081C4C2A: - strb r0, [r2] - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x8 - bne _081C4C44 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c6 - b _081C4C4A - .pool -_081C4C44: - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040c7 -_081C4C4A: - adds r0, r1 - ldrb r0, [r0] - lsls r0, 4 - strh r0, [r3, 0x26] - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4BE4 - - thumb_func_start sub_81C4C60 -sub_81C4C60: @ 81C4C60 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 -_081C4C68: - adds r0, r5, r4 - lsls r0, 24 - lsrs r0, 24 - bl sub_81C41C0 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081C4C68 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81C4C60 - - thumb_func_start sub_81C4C84 -sub_81C4C84: @ 81C4C84 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_0203CF1C - ldr r0, [r0] - ldr r1, =0x000040db - adds r5, r0, r1 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 24 - movs r4, 0 - ldr r7, =gSprites - movs r2, 0x80 - lsls r2, 19 - adds r2, r0 - mov r9, r2 - lsrs r6, r0, 24 - movs r1, 0xA0 - lsls r1, 19 - adds r1, r0 - mov r8, r1 -_081C4CB4: - cmp r4, 0 - bne _081C4CD4 - ldrb r1, [r5] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r9 - b _081C4CE4 - .pool -_081C4CD4: - cmp r4, 0x9 - bne _081C4CEC - ldrb r1, [r5, 0x9] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - mov r2, r8 -_081C4CE4: - lsrs r1, r2, 24 - bl StartSpriteAnim - b _081C4D02 -_081C4CEC: - adds r0, r5, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - adds r1, r6, 0x6 - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAnim -_081C4D02: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _081C4CB4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81C4C84 - - thumb_func_start sub_81C4D18 -sub_81C4D18: @ 81C4D18 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gUnknown_0203CF1C - ldr r2, =0x000040d3 - adds r0, r2 - ldr r1, [r1] - adds r5, r1, r0 - movs r3, 0 - ldr r4, =gSprites - movs r7, 0x5 - negs r7, r7 - movs r6, 0 -_081C4D32: - adds r2, r5, r3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r6, [r0, 0x30] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r2, [r1] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x9 - bls _081C4D32 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4D18 - - thumb_func_start sub_81C4D70 -sub_81C4D70: @ 81C4D70 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r4, =gUnknown_0203CF28 - movs r0, 0x4 - bl Alloc - str r0, [r4] - ldr r1, [r5] - lsls r0, r1, 20 - lsrs r4, r0, 30 - cmp r4, 0 - bne _081C4DDC - lsls r0, r1, 30 - lsrs r0, 30 - movs r1, 0x8 - movs r2, 0 - bl SetBgAttribute - ldr r3, [r5] - lsls r0, r3, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861D1A0 - lsls r3, 22 - lsrs r3, 24 - str r4, [sp] - movs r2, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861DEF4 - movs r2, 0x1 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, [r5] - lsls r1, 22 - lsrs r1, 24 - str r4, [sp] - movs r2, 0x20 - movs r3, 0x20 - bl sub_8199D3C - b _081C4E2E - .pool -_081C4DDC: - lsls r0, r1, 30 - lsrs r0, 30 - movs r1, 0x8 - movs r2, 0x2 - bl SetBgAttribute - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x9 - movs r2, 0x1 - bl SetBgAttribute - ldr r3, [r5] - lsls r0, r3, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861E208 - lsls r3, 22 - lsrs r3, 24 - movs r2, 0 - str r2, [sp] - bl decompress_and_copy_tile_data_to_vram - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - ldr r1, =gUnknown_0861EF64 - movs r4, 0x1 - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - ldr r1, [r5] - lsls r1, 22 - lsrs r1, 24 - str r4, [sp] - movs r2, 0x40 - movs r3, 0x40 - bl sub_8199D3C -_081C4E2E: - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - movs r1, 0x4 - movs r2, 0x1 - bl SetBgAttribute - ldr r0, =gUnknown_0861D140 - ldr r1, =gPlttBufferUnfaded + 0xE0 - ldr r2, =0x04000018 - bl CpuSet - ldr r0, =gUnknown_0203CF28 - ldr r1, [r0] - ldr r0, [r5] - lsls r0, 30 - lsrs r0, 30 - strb r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4D70 - - thumb_func_start sub_81C4E90 -sub_81C4E90: @ 81C4E90 - push {lr} - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _081C4EA0 - movs r0, 0x1 - b _081C4EAC -_081C4EA0: - ldr r0, =gUnknown_0203CF28 - ldr r0, [r0] - ldrb r0, [r0] - bl ShowBg - movs r0, 0 -_081C4EAC: - pop {r1} - bx r1 - .pool - thumb_func_end sub_81C4E90 - - thumb_func_start sub_81C4EB4 -sub_81C4EB4: @ 81C4EB4 - push {r4,lr} - ldr r4, =gUnknown_0203CF28 - ldr r0, [r4] - cmp r0, 0 - beq _081C4EC6 - bl Free - movs r0, 0 - str r0, [r4] -_081C4EC6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4EB4 - - thumb_func_start sub_81C4ED0 -sub_81C4ED0: @ 81C4ED0 - push {lr} - adds r1, r0, 0 - ldr r0, =gUnknown_0203CF28 - ldr r0, [r0] - ldrb r0, [r0] - lsls r1, 8 - movs r2, 0 - bl ChangeBgY - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4ED0 - - thumb_func_start sub_81C4EEC -sub_81C4EEC: @ 81C4EEC - ldr r1, =gUnknown_0203CF30 - movs r0, 0 - strh r0, [r1, 0x6] - strh r0, [r1, 0x8] - bx lr - .pool - thumb_func_end sub_81C4EEC - - thumb_func_start sub_81C4EFC -sub_81C4EFC: @ 81C4EFC - push {lr} - ldr r1, =CB2_ReturnToFieldWithOpenMenu - movs r0, 0 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4EFC - - thumb_func_start sub_81C4F10 -sub_81C4F10: @ 81C4F10 - push {lr} - ldr r1, =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x1 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F10 - - thumb_func_start sub_81C4F24 -sub_81C4F24: @ 81C4F24 - push {lr} - bl ScriptContext2_Enable - movs r0, 0x1 - movs r1, 0 - bl FadeScreen - ldr r0, =sub_81C4F44 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F24 - - thumb_func_start sub_81C4F44 -sub_81C4F44: @ 81C4F44 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081C4F6E - bl overworld_free_bg_tilemaps - ldr r0, =gFieldCallback2 - ldr r1, =hm_add_c3_without_phase_2 - str r1, [r0] - ldr r1, =CB2_ReturnToField - movs r0, 0x3 - bl sub_81C4F98 - adds r0, r4, 0 - bl DestroyTask -_081C4F6E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F44 - - thumb_func_start sub_81C4F84 -sub_81C4F84: @ 81C4F84 - push {lr} - ldr r0, =gUnknown_0203CF30 - ldr r1, [r0] - movs r0, 0x4 - bl sub_81C4F98 - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F84 - - thumb_func_start sub_81C4F98 -sub_81C4F98: @ 81C4F98 - push {r4-r6,lr} - adds r5, r1, 0 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, =gUnknown_0203CF2C - ldr r0, =0x0000098c - bl AllocZeroed - str r0, [r6] - cmp r4, 0x4 - beq _081C4FB2 - ldr r0, =gUnknown_0203CF30 - strb r4, [r0, 0x4] -_081C4FB2: - cmp r5, 0 - beq _081C4FBA - ldr r0, =gUnknown_0203CF30 - str r5, [r0] -_081C4FBA: - ldr r0, [r6] - movs r1, 0 - str r1, [r0] - ldr r1, =0x00000814 - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x00000816 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - strb r1, [r0] - ldr r0, [r6] - ldr r1, =0x00000804 - adds r0, r1 - movs r1, 0xFF - movs r2, 0xB - bl memset - ldr r0, [r6] - ldr r1, =0x0000080f - adds r0, r1 - movs r1, 0xFF - movs r2, 0x5 - bl memset - ldr r0, =sub_81C504C - bl SetMainCallback2 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C4F98 - - thumb_func_start sub_81C501C -sub_81C501C: @ 81C501C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_81C501C - - thumb_func_start sub_81C5038 -sub_81C5038: @ 81C5038 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81C5038 - - thumb_func_start sub_81C504C -sub_81C504C: @ 81C504C - push {lr} -_081C504E: - bl sub_81221EC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5072 - bl sub_81C5078 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081C5072 - bl sub_81221AC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _081C504E -_081C5072: - pop {r0} - bx r0 - thumb_func_end sub_81C504C - - thumb_func_start sub_81C5078 -sub_81C5078: @ 81C5078 - push {lr} - sub sp, 0x4 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x10 - bls _081C508C - b _081C51BC -_081C508C: - lsls r0, 2 - ldr r1, =_081C50A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_081C50A0: - .4byte _081C50E4 - .4byte _081C50EE - .4byte _081C50F4 - .4byte _081C50FA - .4byte _081C510C - .4byte _081C5112 - .4byte _081C5122 - .4byte _081C513C - .4byte _081C5148 - .4byte _081C514E - .4byte _081C515C - .4byte _081C5162 - .4byte _081C5168 - .4byte _081C516E - .4byte _081C5174 - .4byte _081C517A - .4byte _081C5188 -_081C50E4: - bl SetVBlankHBlankCallbacksToNull - bl clear_scheduled_bg_copies_to_vram - b _081C51A2 -_081C50EE: - bl ScanlineEffect_Stop - b _081C51A2 -_081C50F4: - bl FreeAllSpritePalettes - b _081C51A2 -_081C50FA: - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _081C51A0 - .pool -_081C510C: - bl ResetSpriteData - b _081C51A2 -_081C5112: - bl sub_81221AC - lsls r0, 24 - cmp r0, 0 - bne _081C51A2 - bl ResetTasks - b _081C51A2 -_081C5122: - bl sub_81C51DC - ldr r0, =gUnknown_0203CF2C - ldr r0, [r0] - ldr r1, =0x00000984 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - b _081C51A2 - .pool -_081C513C: - bl sub_81C5238 - lsls r0, 24 - cmp r0, 0 - beq _081C51D4 - b _081C51A2 -_081C5148: - bl sub_81C6BD8 - b _081C51A2 -_081C514E: - bl sub_81C5924 - bl sub_81C59BC - bl sub_81C5A20 - b _081C51A2 -_081C515C: - bl sub_81C5314 - b _081C51A2 -_081C5162: - bl sub_81C56F8 - b _081C51A2 -_081C5168: - bl sub_81C6EF4 - b _081C51A2 -_081C516E: - bl sub_81C5674 - b _081C51A2 -_081C5174: - bl sub_81C700C - b _081C51A2 -_081C517A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _081C51A2 -_081C5188: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_081C51A0: - strb r0, [r2, 0x8] -_081C51A2: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081C51D4 - .pool -_081C51BC: - ldr r0, =sub_81C5038 - bl SetVBlankCallback - ldr r0, =sub_81C501C - bl SetMainCallback2 - movs r0, 0x1 - b _081C51D6 - .pool -_081C51D4: - movs r0, 0 -_081C51D6: - add sp, 0x4 - pop {r1} - bx r1 - thumb_func_end sub_81C5078 - - thumb_func_start sub_81C51DC -sub_81C51DC: @ 81C51DC - push {lr} - bl ResetVramOamAndBgCntRegs - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0861F2B4 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203CF2C - ldr r1, [r0] - adds r1, 0x4 - movs r0, 0x2 - bl SetBgTilemapBuffer - bl ResetAllBgsCoordinates - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - pop {r0} - bx r0 - .pool - thumb_func_end sub_81C51DC - thumb_func_start sub_81C5238 sub_81C5238: @ 81C5238 push {r4,lr} @@ -2001,7 +484,7 @@ sub_81C5674: @ 81C5674 ldr r0, =0x00000b5e str r0, [sp, 0x4] str r0, [sp, 0x8] - ldr r0, =gUnknown_0203CF38 + ldr r0, =gUnknown_0203CF30+8 str r0, [sp, 0xC] movs r0, 0x2 movs r1, 0xAC @@ -2604,7 +1087,7 @@ sub_81C5B4C: @ 81C5B4C cmp r0, 0 bne _081C5BBC ldrb r0, [r2] - ldr r4, =gUnknown_0203CF38 + ldr r4, =gUnknown_0203CF30+8 subs r2, r4, 0x2 adds r1, r4, 0 bl DestroyListMenuTask @@ -2706,7 +1189,7 @@ _081C5C5C: bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r7] - ldr r1, =gUnknown_0203CF38 + ldr r1, =gUnknown_0203CF30+8 mov r8, r1 mov r2, r8 subs r2, 0x2 @@ -3763,7 +2246,7 @@ sub_81C65CC: @ 81C65CC lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 - ldr r6, =gUnknown_0203CF38 + ldr r6, =gUnknown_0203CF30+8 subs r7, r6, 0x2 ldr r0, =gMain ldrh r1, [r0, 0x2E] @@ -4089,7 +2572,7 @@ sub_81C68B0: @ 81C68B0 movs r0, 0x5 bl PlaySE ldrb r0, [r4] - ldr r1, =gUnknown_0203CF38 + ldr r1, =gUnknown_0203CF30+8 subs r2, r1, 0x2 bl ListMenuGetScrollAndRow b _081C6940 @@ -4099,7 +2582,7 @@ _081C68F8: bl ListMenuHandleInputGetItemId adds r6, r0, 0 ldrb r0, [r4] - ldr r4, =gUnknown_0203CF38 + ldr r4, =gUnknown_0203CF30+8 subs r2, r4, 0x2 adds r1, r4, 0 bl ListMenuGetScrollAndRow @@ -4156,7 +2639,7 @@ sub_81C6964: @ 81C6964 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r5, r0, r1 - ldr r7, =gUnknown_0203CF38 + ldr r7, =gUnknown_0203CF30+8 subs r0, r7, 0x2 mov r8, r0 ldrh r0, [r0] @@ -4234,7 +2717,7 @@ sub_81C6A14: @ 81C6A14 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 - ldr r5, =gUnknown_0203CF38 + ldr r5, =gUnknown_0203CF30+8 subs r7, r5, 0x2 ldr r0, =gUnknown_0203CF2C ldr r0, [r0] diff --git a/asm/contest.s b/asm/contest.s index 6504e7bf1..b984a98b6 100644 --- a/asm/contest.s +++ b/asm/contest.s @@ -43,7 +43,7 @@ sub_80DB8B8: @ 80DB8B8 lsrs r4, r0, 24 adds r5, r4, 0 adds r0, r4, 0 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 beq _080DB8D0 @@ -55,8 +55,8 @@ _080DB8D0: cmp r4, r0 beq _080DB8F4 adds r0, r4, 0 - bl sub_81562C4 - bl sub_8156324 + bl ContestAI_ResetAI + bl ContestAI_GetActionToUse lsls r0, 24 ldr r2, =gContestMons lsrs r0, 23 @@ -533,7 +533,7 @@ _080DBC3C: ldr r0, [r3, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] - bl sub_80DD9F0 + bl Contest_GetMoveExcitement ldr r1, [r5] ldr r2, [r1] ldrb r1, [r2, 0x1] @@ -568,8 +568,8 @@ _080DBC3C: .pool thumb_func_end sub_80DBAA0 - thumb_func_start sub_80DBCA8 -sub_80DBCA8: @ 80DBCA8 + thumb_func_start Contest_IsMonsTurnDisabled +Contest_IsMonsTurnDisabled: @ 80DBCA8 push {lr} lsls r0, 24 lsrs r0, 24 @@ -599,7 +599,7 @@ _080DBCD8: _080DBCDA: pop {r1} bx r1 - thumb_func_end sub_80DBCA8 + thumb_func_end Contest_IsMonsTurnDisabled thumb_func_start sub_80DBCE0 sub_80DBCE0: @ 80DBCE0 @@ -3233,7 +3233,7 @@ _080DD166: ands r0, r2 strb r0, [r1, 0x15] _080DD1B4: - ldr r0, =gContestEffectFunctionTable + ldr r0, =gContestEffectFuncs add r0, r9 ldr r0, [r0] bl _call_via_r0 @@ -3425,7 +3425,7 @@ _080DD334: ldr r0, [r0, 0x4] adds r0, r4, r0 ldrh r0, [r0, 0x6] - bl sub_80DD9F0 + bl Contest_GetMoveExcitement ldr r1, [r5] ldr r1, [r1, 0x10] strb r0, [r1] @@ -3506,8 +3506,8 @@ _080DD3C4: .pool thumb_func_end sub_80DD080 - thumb_func_start sub_80DD3D4 -sub_80DD3D4: @ 80DD3D4 + thumb_func_start SetContestantEffectStringID +SetContestantEffectStringID: @ 80DD3D4 lsls r0, 24 lsrs r0, 24 ldr r2, =gContestResources @@ -3520,10 +3520,10 @@ sub_80DD3D4: @ 80DD3D4 strb r1, [r2, 0x13] bx lr .pool - thumb_func_end sub_80DD3D4 + thumb_func_end SetContestantEffectStringID - thumb_func_start sub_80DD3F0 -sub_80DD3F0: @ 80DD3F0 + thumb_func_start SetContestantEffectStringID2 +SetContestantEffectStringID2: @ 80DD3F0 lsls r0, 24 lsrs r0, 24 ldr r2, =gContestResources @@ -3536,10 +3536,10 @@ sub_80DD3F0: @ 80DD3F0 strb r1, [r2, 0x14] bx lr .pool - thumb_func_end sub_80DD3F0 + thumb_func_end SetContestantEffectStringID2 - thumb_func_start sub_80DD40C -sub_80DD40C: @ 80DD40C + thumb_func_start SetStartledString +SetStartledString: @ 80DD40C push {lr} lsls r0, 24 lsrs r0, 24 @@ -3550,36 +3550,36 @@ sub_80DD40C: @ 80DD40C cmp r1, 0x3B bls _080DD426 movs r1, 0x35 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD426: cmp r1, 0x27 bls _080DD432 movs r1, 0x34 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD432: cmp r1, 0x1D bls _080DD43E movs r1, 0x33 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD43E: cmp r1, 0x13 bls _080DD44A movs r1, 0x32 - bl sub_80DD3D4 + bl SetContestantEffectStringID b _080DD456 _080DD44A: cmp r2, 0x9 bls _080DD456 adds r0, r3, 0 movs r1, 0x31 - bl sub_80DD3D4 + bl SetContestantEffectStringID _080DD456: pop {r0} bx r0 - thumb_func_end sub_80DD40C + thumb_func_end SetStartledString thumb_func_start sub_80DD45C sub_80DD45C: @ 80DD45C @@ -3678,8 +3678,8 @@ _080DD52C: .pool thumb_func_end sub_80DD45C - thumb_func_start sub_80DD560 -sub_80DD560: @ 80DD560 + thumb_func_start MakeContestantNervous +MakeContestantNervous: @ 80DD560 push {r4,lr} lsls r0, 24 lsrs r0, 24 @@ -3703,7 +3703,7 @@ sub_80DD560: @ 80DD560 pop {r0} bx r0 .pool - thumb_func_end sub_80DD560 + thumb_func_end MakeContestantNervous thumb_func_start sub_80DD590 sub_80DD590: @ 80DD590 @@ -4213,8 +4213,8 @@ _080DD9C8: .pool thumb_func_end sub_80DD940 - thumb_func_start sub_80DD9F0 -sub_80DD9F0: @ 80DD9F0 + thumb_func_start Contest_GetMoveExcitement +Contest_GetMoveExcitement: @ 80DD9F0 lsls r0, 16 ldr r3, =gUnknown_085899EC ldr r1, =gContestMoves @@ -4233,7 +4233,7 @@ sub_80DD9F0: @ 80DD9F0 ldrsb r0, [r1, r0] bx lr .pool - thumb_func_end sub_80DD9F0 + thumb_func_end Contest_GetMoveExcitement thumb_func_start sub_80DDA20 sub_80DDA20: @ 80DDA20 @@ -5136,7 +5136,7 @@ _080DE146: beq _080DE1CA lsls r0, r7, 24 lsrs r0, 24 - bl sub_80DBCA8 + bl Contest_IsMonsTurnDisabled lsls r0, 24 cmp r0, 0 bne _080DE1CA diff --git a/asm/contest_ai.s b/asm/contest_ai.s deleted file mode 100644 index ff48661f0..000000000 --- a/asm/contest_ai.s +++ /dev/null @@ -1,5278 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81562C4 -sub_81562C4: @ 81562C4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0xC] - movs r1, 0 - movs r2, 0x44 - bl memset - movs r1, 0 - movs r3, 0x64 - adds r2, r4, 0 -_081562DE: - ldr r0, [r4] - ldr r0, [r0, 0xC] - adds r0, 0x5 - adds r0, r1 - strb r3, [r0] - adds r1, 0x1 - cmp r1, 0x3 - ble _081562DE - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - movs r1, 0 - strb r5, [r0] - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x40 - strb r1, [r0] - ldr r0, [r2] - ldr r2, [r0, 0xC] - ldr r1, =gContestMons - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, 0x18 - adds r0, r1 - ldr r0, [r0] - str r0, [r2, 0x14] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81562C4 - - thumb_func_start sub_8156324 -sub_8156324: @ 8156324 - push {r4-r6,lr} - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0xC] - ldr r0, [r0, 0x14] - cmp r0, 0 - beq _0815636A - adds r4, r1, 0 - movs r5, 0 -_08156336: - ldr r0, [r4] - ldr r2, [r0, 0xC] - ldr r0, [r2, 0x14] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0815634A - strb r5, [r2] - bl sub_81563B0 -_0815634A: - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldr r0, [r1, 0x14] - lsrs r0, 1 - str r0, [r1, 0x14] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - ldr r0, [r4] - ldr r0, [r0, 0xC] - strb r5, [r0, 0x4] - ldr r0, [r4] - ldr r0, [r0, 0xC] - ldr r0, [r0, 0x14] - cmp r0, 0 - bne _08156336 -_0815636A: - movs r6, 0x3 -_0815636C: - bl Random - adds r5, r0, 0 - ands r5, r6 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r1, [r0, 0xC] - adds r0, r1, 0x5 - adds r0, r5 - ldrb r3, [r0] - movs r2, 0 - ldrb r1, [r1, 0x5] - cmp r3, r1 - bcc _0815639E - adds r1, r4, 0 -_0815638A: - adds r2, 0x1 - cmp r2, 0x3 - bgt _0815639E - ldr r0, [r1] - ldr r0, [r0, 0xC] - adds r0, 0x5 - adds r0, r2 - ldrb r0, [r0] - cmp r3, r0 - bcs _0815638A -_0815639E: - cmp r2, 0x4 - bne _0815636C - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8156324 - - thumb_func_start sub_81563B0 -sub_81563B0: @ 81563B0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, =gContestResources - ldr r0, [r5] - ldr r0, [r0, 0xC] - ldrb r0, [r0] - adds r4, r5, 0 - cmp r0, 0x2 - beq _081564A0 - adds r7, r5, 0 - ldr r6, =gAIScriptPtr - ldr r0, =gContestMons + 30 - mov r8, r0 -_081563CC: - ldr r0, [r7] - ldr r2, [r0, 0xC] - ldrb r0, [r2] - cmp r0, 0x1 - beq _08156426 - cmp r0, 0x1 - bgt _08156496 - cmp r0, 0 - bne _08156496 - ldr r1, =gContestAIs - ldrb r0, [r2, 0x10] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [r6] - ldrb r1, [r2, 0x4] - lsls r1, 1 - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - add r1, r8 - ldrh r1, [r1] - adds r0, r1, 0 - cmp r0, 0 - bne _08156418 - strh r0, [r2, 0x2] - b _0815641A - .pool -_08156418: - strh r1, [r2, 0x2] -_0815641A: - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08156496 -_08156426: - ldrh r1, [r2, 0x2] - cmp r1, 0 - beq _08156444 - ldr r1, =gUnknown_085CDD00 - ldr r0, [r6] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl _call_via_r0 - b _08156458 - .pool -_08156444: - adds r0, r2, 0x5 - ldrb r2, [r2, 0x4] - adds r0, r2 - strb r1, [r0] - ldr r0, [r7] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] -_08156458: - ldr r2, =gContestResources - ldr r0, [r2] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x9] - movs r0, 0x1 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _08156496 - ldrb r0, [r3, 0x4] - adds r0, 0x1 - movs r2, 0 - strb r0, [r3, 0x4] - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - cmp r0, 0x3 - bhi _08156484 - strb r2, [r1] - b _0815648A - .pool -_08156484: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0815648A: - ldr r0, [r4] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0xFE - ands r0, r1 - strb r0, [r2, 0x9] -_08156496: - ldr r0, [r5] - ldr r0, [r0, 0xC] - ldrb r0, [r0] - cmp r0, 0x2 - bne _081563CC -_081564A0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81563B0 - - thumb_func_start sub_81564AC -sub_81564AC: @ 81564AC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0x8] - b _081564CC - .pool -_081564C0: - adds r1, 0x1 - cmp r1, 0x3 - bgt _081564D2 - ldr r0, [r3] - ldr r0, [r0, 0x8] - adds r0, r1 -_081564CC: - ldrb r0, [r0] - cmp r0, r2 - bne _081564C0 -_081564D2: - lsls r0, r1, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_81564AC - - thumb_func_start sub_81564DC -sub_81564DC: @ 81564DC - push {r4,lr} - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0xC] - adds r1, r0, 0x5 - ldrb r0, [r0, 0x4] - adds r1, r0 - ldr r2, =gAIScriptPtr - ldr r0, [r2] - ldrb r0, [r0, 0x1] - lsls r0, 24 - asrs r0, 24 - ldrb r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08156510 - movs r4, 0xFF - b _08156516 - .pool -_08156510: - cmp r0, 0 - bge _08156516 - movs r4, 0 -_08156516: - ldr r0, [r3] - ldr r1, [r0, 0xC] - adds r0, r1, 0x5 - ldrb r1, [r1, 0x4] - adds r0, r1 - strb r4, [r0] - ldr r0, [r2] - adds r0, 0x2 - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81564DC - - thumb_func_start sub_8156530 -sub_8156530: @ 8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, [r0] - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156530 - - thumb_func_start sub_8156550 -sub_8156550: @ 8156550 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _0815658C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156590 - .pool -_0815658C: - adds r0, r2, 0x5 - str r0, [r3] -_08156590: - pop {r0} - bx r0 - thumb_func_end sub_8156550 - - thumb_func_start sub_8156594 -sub_8156594: @ 8156594 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081565D0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081565D4 - .pool -_081565D0: - adds r0, r2, 0x5 - str r0, [r3] -_081565D4: - pop {r0} - bx r0 - thumb_func_end sub_8156594 - - thumb_func_start sub_81565D8 -sub_81565D8: @ 81565D8 - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156614 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156618 - .pool -_08156614: - adds r0, r2, 0x5 - str r0, [r3] -_08156618: - pop {r0} - bx r0 - thumb_func_end sub_81565D8 - - thumb_func_start sub_815661C -sub_815661C: @ 815661C - push {lr} - bl sub_8156530 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156658 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815665C - .pool -_08156658: - adds r0, r2, 0x5 - str r0, [r3] -_0815665C: - pop {r0} - bx r0 - thumb_func_end sub_815661C - - thumb_func_start sub_8156660 -sub_8156660: @ 8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, [r0] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156660 - - thumb_func_start sub_8156684 -sub_8156684: @ 8156684 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081566C0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081566C4 - .pool -_081566C0: - adds r0, r2, 0x5 - str r0, [r3] -_081566C4: - pop {r0} - bx r0 - thumb_func_end sub_8156684 - - thumb_func_start sub_81566C8 -sub_81566C8: @ 81566C8 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08156704 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156708 - .pool -_08156704: - adds r0, r2, 0x5 - str r0, [r3] -_08156708: - pop {r0} - bx r0 - thumb_func_end sub_81566C8 - - thumb_func_start sub_815670C -sub_815670C: @ 815670C - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156748 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815674C - .pool -_08156748: - adds r0, r2, 0x5 - str r0, [r3] -_0815674C: - pop {r0} - bx r0 - thumb_func_end sub_815670C - - thumb_func_start sub_8156750 -sub_8156750: @ 8156750 - push {lr} - bl sub_8156660 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _0815678C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156790 - .pool -_0815678C: - adds r0, r2, 0x5 - str r0, [r3] -_08156790: - pop {r0} - bx r0 - thumb_func_end sub_8156750 - - thumb_func_start sub_8156794 -sub_8156794: @ 8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r0, [r0, 0x8] - adds r1, r2, 0 - adds r1, 0x41 - ldrb r1, [r1] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156794 - - thumb_func_start sub_81567BC -sub_81567BC: @ 81567BC - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081567F8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081567FC - .pool -_081567F8: - adds r0, r2, 0x5 - str r0, [r3] -_081567FC: - pop {r0} - bx r0 - thumb_func_end sub_81567BC - - thumb_func_start sub_8156800 -sub_8156800: @ 8156800 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _0815683C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156840 - .pool -_0815683C: - adds r0, r2, 0x5 - str r0, [r3] -_08156840: - pop {r0} - bx r0 - thumb_func_end sub_8156800 - - thumb_func_start sub_8156844 -sub_8156844: @ 8156844 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156880 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156884 - .pool -_08156880: - adds r0, r2, 0x5 - str r0, [r3] -_08156884: - pop {r0} - bx r0 - thumb_func_end sub_8156844 - - thumb_func_start sub_8156888 -sub_8156888: @ 8156888 - push {lr} - bl sub_8156794 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _081568C4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081568C8 - .pool -_081568C4: - adds r0, r2, 0x5 - str r0, [r3] -_081568C8: - pop {r0} - bx r0 - thumb_func_end sub_8156888 - - thumb_func_start sub_81568CC -sub_81568CC: @ 81568CC - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - adds r1, r4, 0 - adds r1, 0x41 - ldrb r1, [r1] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81568CC - - thumb_func_start sub_815690C -sub_815690C: @ 815690C - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08156948 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815694C - .pool -_08156948: - adds r0, r2, 0x5 - str r0, [r3] -_0815694C: - pop {r0} - bx r0 - thumb_func_end sub_815690C - - thumb_func_start sub_8156950 -sub_8156950: @ 8156950 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _0815698C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156990 - .pool -_0815698C: - adds r0, r2, 0x5 - str r0, [r3] -_08156990: - pop {r0} - bx r0 - thumb_func_end sub_8156950 - - thumb_func_start sub_8156994 -sub_8156994: @ 8156994 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081569D0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081569D4 - .pool -_081569D0: - adds r0, r2, 0x5 - str r0, [r3] -_081569D4: - pop {r0} - bx r0 - thumb_func_end sub_8156994 - - thumb_func_start sub_81569D8 -sub_81569D8: @ 81569D8 - push {lr} - bl sub_81568CC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156A14 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156A18 - .pool -_08156A14: - adds r0, r2, 0x5 - str r0, [r3] -_08156A18: - pop {r0} - bx r0 - thumb_func_end sub_81569D8 - - thumb_func_start sub_8156A1C -sub_8156A1C: @ 8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - adds r1, r3, 0 - adds r1, 0x41 - ldrb r1, [r1] - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x4] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156A1C - - thumb_func_start sub_8156A48 -sub_8156A48: @ 8156A48 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _08156A8C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156A90 - .pool -_08156A8C: - adds r0, r3, 0x6 - str r0, [r4] -_08156A90: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156A48 - - thumb_func_start sub_8156A98 -sub_8156A98: @ 8156A98 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - ble _08156ADC - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156AE0 - .pool -_08156ADC: - adds r0, r3, 0x6 - str r0, [r4] -_08156AE0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156A98 - - thumb_func_start sub_8156AE8 -sub_8156AE8: @ 8156AE8 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bne _08156B2C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156B30 - .pool -_08156B2C: - adds r0, r3, 0x6 - str r0, [r4] -_08156B30: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156AE8 - - thumb_func_start sub_8156B38 -sub_8156B38: @ 8156B38 - push {r4,r5,lr} - bl sub_8156A1C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - beq _08156B7C - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156B80 - .pool -_08156B7C: - adds r0, r3, 0x6 - str r0, [r4] -_08156B80: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156B38 - - thumb_func_start sub_8156B88 -sub_8156B88: @ 8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r1, =gContestMonConditions - adds r0, r2, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156B88 - - thumb_func_start sub_8156BB4 -sub_8156BB4: @ 8156BB4 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _08156BF8 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156BFC - .pool -_08156BF8: - adds r0, r3, 0x6 - str r0, [r4] -_08156BFC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156BB4 - - thumb_func_start sub_8156C04 -sub_8156C04: @ 8156C04 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - ble _08156C48 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156C4C - .pool -_08156C48: - adds r0, r3, 0x6 - str r0, [r4] -_08156C4C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156C04 - - thumb_func_start sub_8156C54 -sub_8156C54: @ 8156C54 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bne _08156C98 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156C9C - .pool -_08156C98: - adds r0, r3, 0x6 - str r0, [r4] -_08156C9C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156C54 - - thumb_func_start sub_8156CA4 -sub_8156CA4: @ 8156CA4 - push {r4,r5,lr} - bl sub_8156B88 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r1, r0 - movs r5, 0x18 - ldrsh r0, [r2, r5] - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - beq _08156CE8 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08156CEC - .pool -_08156CE8: - adds r0, r3, 0x6 - str r0, [r4] -_08156CEC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8156CA4 - - thumb_func_start sub_8156CF4 -sub_8156CF4: @ 8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r0, =gSpecialVar_ContestCategory - ldrh r0, [r0] - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156CF4 - - thumb_func_start sub_8156D18 -sub_8156D18: @ 8156D18 - push {lr} - bl sub_8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156D54 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156D58 - .pool -_08156D54: - adds r0, r2, 0x5 - str r0, [r3] -_08156D58: - pop {r0} - bx r0 - thumb_func_end sub_8156D18 - - thumb_func_start sub_8156D5C -sub_8156D5C: @ 8156D5C - push {lr} - bl sub_8156CF4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156D98 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156D9C - .pool -_08156D98: - adds r0, r2, 0x5 - str r0, [r3] -_08156D9C: - pop {r0} - bx r0 - thumb_func_end sub_8156D5C - - thumb_func_start sub_8156DA0 -sub_8156DA0: @ 8156DA0 - push {r4,lr} - ldr r2, =gContestMons - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - bl sub_80DD9F0 - ldr r1, [r4] - ldr r1, [r1, 0xC] - lsls r0, 24 - asrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8156DA0 - - thumb_func_start sub_8156DE4 -sub_8156DE4: @ 8156DE4 - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - bge _08156E20 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156E24 - .pool -_08156E20: - adds r0, r2, 0x5 - str r0, [r3] -_08156E24: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156DE4 - - thumb_func_start sub_8156E2C -sub_8156E2C: @ 8156E2C - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - ble _08156E68 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156E6C - .pool -_08156E68: - adds r0, r2, 0x5 - str r0, [r3] -_08156E6C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156E2C - - thumb_func_start sub_8156E74 -sub_8156E74: @ 8156E74 - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - bne _08156EB0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156EB4 - .pool -_08156EB0: - adds r0, r2, 0x5 - str r0, [r3] -_08156EB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156E74 - - thumb_func_start sub_8156EBC -sub_8156EBC: @ 8156EBC - push {r4,lr} - bl sub_8156DA0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - movs r4, 0x18 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r1, r0 - beq _08156EF8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156EFC - .pool -_08156EF8: - adds r0, r2, 0x5 - str r0, [r3] -_08156EFC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8156EBC - - thumb_func_start sub_8156F04 -sub_8156F04: @ 8156F04 - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x4] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156F04 - - thumb_func_start sub_8156F44 -sub_8156F44: @ 8156F44 - push {lr} - bl sub_8156F04 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08156F80 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156F84 - .pool -_08156F80: - adds r0, r2, 0x5 - str r0, [r3] -_08156F84: - pop {r0} - bx r0 - thumb_func_end sub_8156F44 - - thumb_func_start sub_8156F88 -sub_8156F88: @ 8156F88 - push {lr} - bl sub_8156F04 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08156FC4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08156FC8 - .pool -_08156FC4: - adds r0, r2, 0x5 - str r0, [r3] -_08156FC8: - pop {r0} - bx r0 - thumb_func_end sub_8156F88 - - thumb_func_start sub_8156FCC -sub_8156FCC: @ 8156FCC - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldrb r1, [r3, 0x4] - lsls r1, 1 - adds r0, r3, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r3, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .pool - thumb_func_end sub_8156FCC - - thumb_func_start sub_8157018 -sub_8157018: @ 8157018 - push {lr} - bl sub_8156FCC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157054 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157058 - .pool -_08157054: - adds r0, r2, 0x5 - str r0, [r3] -_08157058: - pop {r0} - bx r0 - thumb_func_end sub_8157018 - - thumb_func_start sub_815705C -sub_815705C: @ 815705C - push {lr} - bl sub_8156FCC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157098 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815709C - .pool -_08157098: - adds r0, r2, 0x5 - str r0, [r3] -_0815709C: - pop {r0} - bx r0 - thumb_func_end sub_815705C - - thumb_func_start sub_81570A0 -sub_81570A0: @ 81570A0 - push {r4-r7,lr} - ldr r2, =gContestMons - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 6 - adds r0, r1 - adds r2, 0x1E - adds r0, r2 - ldrh r0, [r0] - ldr r3, =gContestEffects - ldr r4, =gContestMoves - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r7, [r0, 0x1] - movs r6, 0 - ldr r0, =gAIScriptPtr - mov r12, r0 - adds r1, r2 -_081570D4: - ldrh r0, [r1] - cmp r0, 0 - beq _081570EA - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - cmp r7, r0 - bcc _081570F2 -_081570EA: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _081570D4 -_081570F2: - cmp r6, 0x4 - bne _08157114 - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0x1 - b _0815711A - .pool -_08157114: - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0 -_0815711A: - strh r0, [r1, 0x18] - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81570A0 - - thumb_func_start sub_815712C -sub_815712C: @ 815712C - push {lr} - bl sub_81570A0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157164 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815716C - .pool -_08157164: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_0815716C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_815712C - - thumb_func_start sub_8157174 -sub_8157174: @ 8157174 - push {r4-r7,lr} - ldr r2, =gContestMons - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 6 - adds r0, r1 - adds r2, 0x1E - adds r0, r2 - ldrh r0, [r0] - ldr r3, =gContestEffects - ldr r4, =gContestMoves - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r7, [r0, 0x2] - movs r6, 0 - ldr r0, =gAIScriptPtr - mov r12, r0 - adds r1, r2 -_081571A8: - ldrh r0, [r1] - cmp r0, 0 - beq _081571BE - lsls r0, 3 - adds r0, r4 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x2] - cmp r7, r0 - bcc _081571C6 -_081571BE: - adds r1, 0x2 - adds r6, 0x1 - cmp r6, 0x3 - ble _081571A8 -_081571C6: - cmp r6, 0x4 - bne _081571E8 - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0x1 - b _081571EE - .pool -_081571E8: - ldr r0, [r5] - ldr r1, [r0, 0xC] - movs r0, 0 -_081571EE: - strh r0, [r1, 0x18] - mov r1, r12 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8157174 - - thumb_func_start sub_8157200 -sub_8157200: @ 8157200 - push {lr} - bl sub_8157174 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157238 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157240 - .pool -_08157238: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x5 - str r0, [r1] -_08157240: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157200 - - thumb_func_start sub_8157248 -sub_8157248: @ 8157248 - push {r4,lr} - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - ldrb r1, [r4, 0x4] - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157248 - - thumb_func_start sub_81572A4 -sub_81572A4: @ 81572A4 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081572E0 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081572E4 - .pool -_081572E0: - adds r0, r2, 0x5 - str r0, [r3] -_081572E4: - pop {r0} - bx r0 - thumb_func_end sub_81572A4 - - thumb_func_start sub_81572E8 -sub_81572E8: @ 81572E8 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157324 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157328 - .pool -_08157324: - adds r0, r2, 0x5 - str r0, [r3] -_08157328: - pop {r0} - bx r0 - thumb_func_end sub_81572E8 - - thumb_func_start sub_815732C -sub_815732C: @ 815732C - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157368 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815736C - .pool -_08157368: - adds r0, r2, 0x5 - str r0, [r3] -_0815736C: - pop {r0} - bx r0 - thumb_func_end sub_815732C - - thumb_func_start sub_8157370 -sub_8157370: @ 8157370 - push {lr} - bl sub_8157248 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _081573AC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081573B0 - .pool -_081573AC: - adds r0, r2, 0x5 - str r0, [r3] -_081573B0: - pop {r0} - bx r0 - thumb_func_end sub_8157370 - - thumb_func_start sub_81573B4 -sub_81573B4: @ 81573B4 - push {r4,lr} - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r4, [r0, 0xC] - ldrb r1, [r4, 0x4] - lsls r1, 1 - adds r0, r4, 0 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r0, [r1] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81573B4 - - thumb_func_start sub_8157410 -sub_8157410: @ 8157410 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _0815744C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157450 - .pool -_0815744C: - adds r0, r2, 0x5 - str r0, [r3] -_08157450: - pop {r0} - bx r0 - thumb_func_end sub_8157410 - - thumb_func_start sub_8157454 -sub_8157454: @ 8157454 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157490 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157494 - .pool -_08157490: - adds r0, r2, 0x5 - str r0, [r3] -_08157494: - pop {r0} - bx r0 - thumb_func_end sub_8157454 - - thumb_func_start sub_8157498 -sub_8157498: @ 8157498 - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081574D4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081574D8 - .pool -_081574D4: - adds r0, r2, 0x5 - str r0, [r3] -_081574D8: - pop {r0} - bx r0 - thumb_func_end sub_8157498 - - thumb_func_start sub_81574DC -sub_81574DC: @ 81574DC - push {lr} - bl sub_81573B4 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157518 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815751C - .pool -_08157518: - adds r0, r2, 0x5 - str r0, [r3] -_0815751C: - pop {r0} - bx r0 - thumb_func_end sub_81574DC - - thumb_func_start sub_8157520 -sub_8157520: @ 8157520 - push {r4,r5,lr} - ldr r3, =gContestMons - ldr r5, =gContestResources - ldr r4, [r5] - ldr r1, [r4, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r2, [r1] - lsls r1, r2, 6 - adds r0, r1 - adds r3, 0x1E - adds r0, r3 - ldrh r3, [r0] - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x8] - cmp r3, r1 - beq _08157558 - movs r1, 0 - b _08157560 - .pool -_08157558: - ldrb r0, [r0, 0xB] - lsls r0, 25 - lsrs r0, 29 - adds r1, r0, 0x1 -_08157560: - ldr r0, [r5] - ldr r0, [r0, 0xC] - strh r1, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157520 - - thumb_func_start sub_8157578 -sub_8157578: @ 8157578 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _081575B4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081575B8 - .pool -_081575B4: - adds r0, r2, 0x5 - str r0, [r3] -_081575B8: - pop {r0} - bx r0 - thumb_func_end sub_8157578 - - thumb_func_start sub_81575BC -sub_81575BC: @ 81575BC - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081575F8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081575FC - .pool -_081575F8: - adds r0, r2, 0x5 - str r0, [r3] -_081575FC: - pop {r0} - bx r0 - thumb_func_end sub_81575BC - - thumb_func_start sub_8157600 -sub_8157600: @ 8157600 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _0815763C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157640 - .pool -_0815763C: - adds r0, r2, 0x5 - str r0, [r3] -_08157640: - pop {r0} - bx r0 - thumb_func_end sub_8157600 - - thumb_func_start sub_8157644 -sub_8157644: @ 8157644 - push {lr} - bl sub_8157520 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157680 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157684 - .pool -_08157680: - adds r0, r2, 0x5 - str r0, [r3] -_08157684: - pop {r0} - bx r0 - thumb_func_end sub_8157644 - - thumb_func_start sub_8157688 -sub_8157688: @ 8157688 - push {r4-r6,lr} - movs r3, 0 - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r5, [r1] - movs r4, 0 - adds r6, r2, 0 -_081576AA: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _081576D2 - adds r1, r0, 0 - adds r0, r5, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _081576DC -_081576D2: - adds r4, 0x1 - cmp r4, 0x3 - ble _081576AA - cmp r3, 0 - beq _081576DE -_081576DC: - movs r3, 0x1 -_081576DE: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r3, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157688 - - thumb_func_start sub_8157700 -sub_8157700: @ 8157700 - push {lr} - bl sub_8157688 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157738 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157740 - .pool -_08157738: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157740: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157700 - - thumb_func_start sub_8157748 -sub_8157748: @ 8157748 - push {lr} - bl sub_8157688 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157780 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157788 - .pool -_08157780: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157788: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157748 - - thumb_func_start sub_8157790 -sub_8157790: @ 8157790 - push {r4-r6,lr} - movs r3, 0 - ldr r2, =gContestMons - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - ldrb r1, [r0, 0x4] - lsls r1, 1 - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r2, 0x1E - adds r1, r2 - ldrh r5, [r1] - movs r4, 0 - adds r6, r2, 0 -_081577B2: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _081577D8 - adds r1, r5, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - bne _081577E2 -_081577D8: - adds r4, 0x1 - cmp r4, 0x3 - ble _081577B2 - cmp r3, 0 - beq _081577E4 -_081577E2: - movs r3, 0x1 -_081577E4: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r3, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157790 - - thumb_func_start sub_8157808 -sub_8157808: @ 8157808 - push {lr} - bl sub_8157790 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157840 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157848 - .pool -_08157840: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157848: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157808 - - thumb_func_start sub_8157850 -sub_8157850: @ 8157850 - push {lr} - bl sub_8157790 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157888 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157890 - .pool -_08157888: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157890: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157850 - - thumb_func_start sub_8157898 -sub_8157898: @ 8157898 - push {r4-r6,lr} - movs r5, 0 - ldr r3, =gContestMons - ldr r6, =gContestResources - ldr r4, [r6] - ldr r1, [r4, 0xC] - ldrb r0, [r1, 0x4] - lsls r0, 1 - adds r1, 0x41 - ldrb r2, [r1] - lsls r1, r2, 6 - adds r0, r1 - adds r3, 0x1E - adds r0, r3 - ldrh r3, [r0] - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x8] - cmp r0, 0 - beq _081578D0 - adds r1, r3, 0 - bl AreMovesContestCombo - lsls r0, 24 - lsrs r5, r0, 24 -_081578D0: - cmp r5, 0 - beq _081578D6 - movs r5, 0x1 -_081578D6: - ldr r0, [r6] - ldr r0, [r0, 0xC] - strh r5, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157898 - - thumb_func_start sub_81578F8 -sub_81578F8: @ 81578F8 - push {lr} - bl sub_8157898 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157930 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157938 - .pool -_08157930: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157938: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81578F8 - - thumb_func_start sub_8157940 -sub_8157940: @ 8157940 - push {lr} - bl sub_8157898 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157978 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157980 - .pool -_08157978: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157980: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157940 - - thumb_func_start sub_8157988 -sub_8157988: @ 8157988 - push {r4,r5,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r5, [r1, 0xC] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - movs r0, 0xD - ldrsb r0, [r1, r0] - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157988 - - thumb_func_start sub_81579CC -sub_81579CC: @ 81579CC - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08157A08 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A0C - .pool -_08157A08: - adds r0, r2, 0x5 - str r0, [r3] -_08157A0C: - pop {r0} - bx r0 - thumb_func_end sub_81579CC - - thumb_func_start sub_8157A10 -sub_8157A10: @ 8157A10 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157A4C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A50 - .pool -_08157A4C: - adds r0, r2, 0x5 - str r0, [r3] -_08157A50: - pop {r0} - bx r0 - thumb_func_end sub_8157A10 - - thumb_func_start sub_8157A54 -sub_8157A54: @ 8157A54 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157A90 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157A94 - .pool -_08157A90: - adds r0, r2, 0x5 - str r0, [r3] -_08157A94: - pop {r0} - bx r0 - thumb_func_end sub_8157A54 - - thumb_func_start sub_8157A98 -sub_8157A98: @ 8157A98 - push {lr} - bl sub_8157988 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157AD4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157AD8 - .pool -_08157AD4: - adds r0, r2, 0x5 - str r0, [r3] -_08157AD8: - pop {r0} - bx r0 - thumb_func_end sub_8157A98 - - thumb_func_start sub_8157ADC -sub_8157ADC: @ 8157ADC - push {r4-r6,lr} - movs r6, 0 - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _08157B18 - ldr r2, =gContestMoves - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x4] - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x8] - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0x2] - negs r0, r1 - orrs r0, r1 - lsrs r6, r0, 31 -_08157B18: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r6, [r0, 0x18] - ldr r0, [r5] - adds r0, 0x2 - str r0, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157ADC - - thumb_func_start sub_8157B38 -sub_8157B38: @ 8157B38 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08157B74 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157B78 - .pool -_08157B74: - adds r0, r2, 0x5 - str r0, [r3] -_08157B78: - pop {r0} - bx r0 - thumb_func_end sub_8157B38 - - thumb_func_start sub_8157B7C -sub_8157B7C: @ 8157B7C - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08157BB8 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157BBC - .pool -_08157BB8: - adds r0, r2, 0x5 - str r0, [r3] -_08157BBC: - pop {r0} - bx r0 - thumb_func_end sub_8157B7C - - thumb_func_start sub_8157BC0 -sub_8157BC0: @ 8157BC0 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08157BFC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157C00 - .pool -_08157BFC: - adds r0, r2, 0x5 - str r0, [r3] -_08157C00: - pop {r0} - bx r0 - thumb_func_end sub_8157BC0 - - thumb_func_start sub_8157C04 -sub_8157C04: @ 8157C04 - push {lr} - bl sub_8157ADC - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08157C40 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157C44 - .pool -_08157C40: - adds r0, r2, 0x5 - str r0, [r3] -_08157C44: - pop {r0} - bx r0 - thumb_func_end sub_8157C04 - - thumb_func_start sub_8157C48 -sub_8157C48: @ 8157C48 - push {lr} - ldr r0, =gAIScriptPtr - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - beq _08157C74 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - movs r0, 0 - b _08157C7C - .pool -_08157C74: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - movs r0, 0x1 -_08157C7C: - strh r0, [r1, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157C48 - - thumb_func_start sub_8157C94 -sub_8157C94: @ 8157C94 - push {lr} - bl sub_8157C48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157CCC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157CD4 - .pool -_08157CCC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157CD4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157C94 - - thumb_func_start sub_8157CDC -sub_8157CDC: @ 8157CDC - push {lr} - bl sub_8157C48 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157D14 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157D1C - .pool -_08157D14: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157D1C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157CDC - - thumb_func_start sub_8157D24 -sub_8157D24: @ 8157D24 - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x15] - lsls r0, 28 - lsrs r0, 31 - strh r0, [r3, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157D24 - - thumb_func_start sub_8157D60 -sub_8157D60: @ 8157D60 - push {lr} - bl sub_8157D24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157D98 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157DA0 - .pool -_08157D98: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157DA0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157D60 - - thumb_func_start sub_8157DA8 -sub_8157DA8: @ 8157DA8 - push {lr} - bl sub_8157D24 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157DE0 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157DE8 - .pool -_08157DE0: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157DE8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157DA8 - - thumb_func_start sub_8157DF0 -sub_8157DF0: @ 8157DF0 - push {r4,r5,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r5, [r1, 0xC] - ldr r3, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r3 - adds r0, r5, 0 - adds r0, 0x41 - ldrb r2, [r0] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r1, 0x4] - ldrh r0, [r0, 0x4] - subs r1, r0 - strh r1, [r5, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157DF0 - - thumb_func_start sub_8157E3C -sub_8157E3C: @ 8157E3C - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08157E74 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157E7C - .pool -_08157E74: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157E7C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157E3C - - thumb_func_start sub_8157E84 -sub_8157E84: @ 8157E84 - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08157EBC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157EC4 - .pool -_08157EBC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157EC4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157E84 - - thumb_func_start sub_8157ECC -sub_8157ECC: @ 8157ECC - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08157F04 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157F0C - .pool -_08157F04: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157F0C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157ECC - - thumb_func_start sub_8157F14 -sub_8157F14: @ 8157F14 - push {lr} - bl sub_8157DF0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08157F4C - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157F54 - .pool -_08157F4C: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157F54: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157F14 - - thumb_func_start sub_8157F5C -sub_8157F5C: @ 8157F5C - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - ldr r2, =gContestMonConditions - lsrs r0, 23 - adds r0, r2 - adds r1, r3, 0 - adds r1, 0x41 - ldrb r1, [r1] - lsls r1, 1 - adds r1, r2 - ldrh r0, [r0] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r3, 0x18] - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157F5C - - thumb_func_start sub_8157FA0 -sub_8157FA0: @ 8157FA0 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08157FD8 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08157FE0 - .pool -_08157FD8: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08157FE0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157FA0 - - thumb_func_start sub_8157FE8 -sub_8157FE8: @ 8157FE8 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _08158020 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158028 - .pool -_08158020: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158028: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8157FE8 - - thumb_func_start sub_8158030 -sub_8158030: @ 8158030 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158068 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158070 - .pool -_08158068: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158070: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158030 - - thumb_func_start sub_8158078 -sub_8158078: @ 8158078 - push {lr} - bl sub_8157F5C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081580B0 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081580B8 - .pool -_081580B0: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_081580B8: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158078 - - thumb_func_start sub_81580C0 -sub_81580C0: @ 81580C0 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsrs r0, 23 - lsls r2, 3 - adds r0, r2 - adds r1, 0x1C - adds r1, r0 - ldrh r0, [r1] - ldr r2, [r4, 0xC] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - strh r0, [r2, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81580C0 - - thumb_func_start sub_8158108 -sub_8158108: @ 8158108 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08158144 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158148 - .pool -_08158144: - adds r0, r2, 0x5 - str r0, [r3] -_08158148: - pop {r0} - bx r0 - thumb_func_end sub_8158108 - - thumb_func_start sub_815814C -sub_815814C: @ 815814C - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _08158188 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815818C - .pool -_08158188: - adds r0, r2, 0x5 - str r0, [r3] -_0815818C: - pop {r0} - bx r0 - thumb_func_end sub_815814C - - thumb_func_start sub_8158190 -sub_8158190: @ 8158190 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081581CC - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081581D0 - .pool -_081581CC: - adds r0, r2, 0x5 - str r0, [r3] -_081581D0: - pop {r0} - bx r0 - thumb_func_end sub_8158190 - - thumb_func_start sub_81581D4 -sub_81581D4: @ 81581D4 - push {lr} - bl sub_81580C0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08158210 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158214 - .pool -_08158210: - adds r0, r2, 0x5 - str r0, [r3] -_08158214: - pop {r0} - bx r0 - thumb_func_end sub_81581D4 - - thumb_func_start sub_8158218 -sub_8158218: @ 8158218 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - lsrs r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsls r2, 2 - adds r0, r2 - adds r1, 0x44 - adds r1, r0 - ldr r2, [r4, 0xC] - movs r0, 0 - ldrsb r0, [r1, r0] - strh r0, [r2, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158218 - - thumb_func_start sub_8158254 -sub_8158254: @ 8158254 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bge _08158290 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158294 - .pool -_08158290: - adds r0, r2, 0x5 - str r0, [r3] -_08158294: - pop {r0} - bx r0 - thumb_func_end sub_8158254 - - thumb_func_start sub_8158298 -sub_8158298: @ 8158298 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - ble _081582D4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081582D8 - .pool -_081582D4: - adds r0, r2, 0x5 - str r0, [r3] -_081582D8: - pop {r0} - bx r0 - thumb_func_end sub_8158298 - - thumb_func_start sub_81582DC -sub_81582DC: @ 81582DC - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _08158318 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815831C - .pool -_08158318: - adds r0, r2, 0x5 - str r0, [r3] -_0815831C: - pop {r0} - bx r0 - thumb_func_end sub_81582DC - - thumb_func_start sub_8158320 -sub_8158320: @ 8158320 - push {lr} - bl sub_8158218 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _0815835C - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158360 - .pool -_0815835C: - adds r0, r2, 0x5 - str r0, [r3] -_08158360: - pop {r0} - bx r0 - thumb_func_end sub_8158320 - - thumb_func_start sub_8158364 -sub_8158364: @ 8158364 - push {r4,r5,lr} - ldr r5, =gAIScriptPtr - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_81564AC - lsls r0, 24 - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldr r1, =gContestResources - ldr r4, [r1] - ldr r1, [r4] - lsrs r0, 23 - lsls r2, 3 - adds r0, r2 - adds r1, 0x1C - adds r1, r0 - ldrh r0, [r1] - ldr r4, [r4, 0xC] - ldr r2, =gContestEffects - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x18] - adds r3, 0x3 - str r3, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158364 - - thumb_func_start sub_81583B8 -sub_81583B8: @ 81583B8 - push {lr} - bl sub_8158364 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - bne _081583F4 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081583F8 - .pool -_081583F4: - adds r0, r2, 0x5 - str r0, [r3] -_081583F8: - pop {r0} - bx r0 - thumb_func_end sub_81583B8 - - thumb_func_start sub_81583FC -sub_81583FC: @ 81583FC - push {lr} - bl sub_8158364 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - cmp r0, r1 - beq _08158438 - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _0815843C - .pool -_08158438: - adds r0, r2, 0x5 - str r0, [r3] -_0815843C: - pop {r0} - bx r0 - thumb_func_end sub_81583FC - - thumb_func_start sub_8158440 -sub_8158440: @ 8158440 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r2, [r4] - ldrb r0, [r2, 0x1] - lsls r0, 1 - adds r1, r3, 0 - adds r1, 0x1A - adds r1, r0 - ldrh r0, [r3, 0x18] - strh r0, [r1] - adds r2, 0x2 - str r2, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158440 - - thumb_func_start sub_815846C -sub_815846C: @ 815846C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r2, [r4] - ldrb r0, [r2, 0x1] - lsls r0, 1 - adds r3, 0x1A - adds r3, r0 - ldrb r1, [r2, 0x2] - ldrb r0, [r2, 0x3] - lsls r0, 8 - orrs r1, r0 - strh r1, [r3] - adds r2, 0x4 - str r2, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815846C - - thumb_func_start sub_815849C -sub_815849C: @ 815849C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r2, 0x1A - adds r2, r0 - movs r1, 0x2 - ldrsb r1, [r3, r1] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrh r0, [r2] - adds r1, r0 - strh r1, [r2] - adds r3, 0x4 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815849C - - thumb_func_start sub_81584D4 -sub_81584D4: @ 81584D4 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - ldrh r0, [r2] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - adds r3, 0x3 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81584D4 - - thumb_func_start sub_8158508 -sub_8158508: @ 8158508 - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - ldrh r0, [r2] - ldrh r2, [r1] - adds r0, r2 - strh r0, [r1] - adds r3, 0x3 - str r3, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158508 - - thumb_func_start sub_815853C -sub_815853C: @ 815853C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - bge _08158580 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158586 - .pool -_08158580: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158586: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815853C - - thumb_func_start sub_815858C -sub_815858C: @ 815858C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - ble _081585D0 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081585D6 - .pool -_081585D0: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_081585D6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815858C - - thumb_func_start sub_81585DC -sub_81585DC: @ 81585DC - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - bne _08158620 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158626 - .pool -_08158620: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158626: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81585DC - - thumb_func_start sub_815862C -sub_815862C: @ 815862C - push {r4,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r0, 0 - ldrsh r2, [r1, r0] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - cmp r2, r1 - beq _08158670 - ldrb r1, [r3, 0x4] - ldrb r0, [r3, 0x5] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x7] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158676 - .pool -_08158670: - adds r0, r3, 0 - adds r0, 0x8 - str r0, [r4] -_08158676: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815862C - - thumb_func_start sub_815867C -sub_815867C: @ 815867C - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - bge _081586C4 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081586C8 - .pool -_081586C4: - adds r0, r3, 0x7 - str r0, [r4] -_081586C8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815867C - - thumb_func_start sub_81586D0 -sub_81586D0: @ 81586D0 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - ble _08158718 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _0815871C - .pool -_08158718: - adds r0, r3, 0x7 - str r0, [r4] -_0815871C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81586D0 - - thumb_func_start sub_8158724 -sub_8158724: @ 8158724 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - bne _0815876C - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158770 - .pool -_0815876C: - adds r0, r3, 0x7 - str r0, [r4] -_08158770: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8158724 - - thumb_func_start sub_8158778 -sub_8158778: @ 8158778 - push {r4,r5,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r1, [r3, 0x1] - lsls r1, 1 - adds r2, 0x1A - adds r1, r2, r1 - ldrb r0, [r3, 0x2] - lsls r0, 1 - adds r2, r0 - movs r0, 0 - ldrsh r1, [r1, r0] - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r1, r0 - beq _081587C0 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081587C4 - .pool -_081587C0: - adds r0, r3, 0x7 - str r0, [r4] -_081587C4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8158778 - - thumb_func_start sub_81587CC -sub_81587CC: @ 81587CC - push {r4,r5,lr} - bl Random - movs r2, 0xFF - ands r2, r0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r2, r0 - bge _08158810 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158814 - .pool -_08158810: - adds r0, r3, 0x6 - str r0, [r4] -_08158814: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81587CC - - thumb_func_start sub_815881C -sub_815881C: @ 815881C - push {r4,r5,lr} - bl Random - movs r2, 0xFF - ands r2, r0 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0xC] - ldr r4, =gAIScriptPtr - ldr r3, [r4] - ldrb r0, [r3, 0x1] - lsls r0, 1 - adds r1, 0x1A - adds r1, r0 - movs r5, 0 - ldrsh r0, [r1, r5] - cmp r2, r0 - ble _08158860 - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08158864 - .pool -_08158860: - adds r0, r3, 0x6 - str r0, [r4] -_08158864: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_815881C - - thumb_func_start sub_815886C -sub_815886C: @ 815886C - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - bx lr - .pool - thumb_func_end sub_815886C - - thumb_func_start dp15_call -dp15_call: @ 815888C - push {r4,lr} - ldr r4, =gAIScriptPtr - ldr r0, [r4] - adds r0, 0x5 - bl sub_81588E0 - ldr r2, [r4] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x4] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end dp15_call - - thumb_func_start sub_81588BC -sub_81588BC: @ 81588BC - push {lr} - bl sub_8158908 - lsls r0, 24 - cmp r0, 0 - bne _081588D6 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r2, [r0, 0xC] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x9] -_081588D6: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81588BC - - thumb_func_start sub_81588E0 -sub_81588E0: @ 81588E0 - push {r4,lr} - ldr r1, =gContestResources - ldr r1, [r1] - ldr r3, [r1, 0xC] - adds r4, r3, 0 - adds r4, 0x40 - ldrb r1, [r4] - adds r2, r1, 0x1 - strb r2, [r4] - lsls r1, 24 - lsrs r1, 22 - adds r3, 0x20 - adds r3, r1 - str r0, [r3] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81588E0 - - thumb_func_start sub_8158908 -sub_8158908: @ 8158908 - push {lr} - ldr r3, =gContestResources - ldr r0, [r3] - ldr r0, [r0, 0xC] - adds r1, r0, 0 - adds r1, 0x40 - ldrb r0, [r1] - cmp r0, 0 - bne _08158924 - movs r0, 0 - b _08158940 - .pool -_08158924: - subs r0, 0x1 - strb r0, [r1] - ldr r2, =gAIScriptPtr - ldr r0, [r3] - ldr r1, [r0, 0xC] - adds r0, r1, 0 - adds r0, 0x40 - ldrb r0, [r0] - lsls r0, 2 - adds r1, 0x20 - adds r1, r0 - ldr r0, [r1] - str r0, [r2] - movs r0, 0x1 -_08158940: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8158908 - - thumb_func_start sub_8158948 -sub_8158948: @ 8158948 - push {r4-r6,lr} - movs r5, 0 - movs r4, 0 - ldr r6, =gContestMons + 30 -_08158950: - lsls r1, r4, 1 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - adds r1, r6 - ldrh r0, [r1] - cmp r0, 0 - beq _08158980 - bl sub_80DD9F0 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x1 - bne _08158980 - movs r5, 0x1 - b _08158986 - .pool -_08158980: - adds r4, 0x1 - cmp r4, 0x3 - ble _08158950 -_08158986: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - strh r5, [r0, 0x18] - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158948 - - thumb_func_start sub_81589A4 -sub_81589A4: @ 81589A4 - push {lr} - bl sub_8158948 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081589DC - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _081589E4 - .pool -_081589DC: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_081589E4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81589A4 - - thumb_func_start sub_81589EC -sub_81589EC: @ 81589EC - push {lr} - bl sub_8158948 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158A24 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158A2C - .pool -_08158A24: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158A2C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_81589EC - - thumb_func_start sub_8158A34 -sub_8158A34: @ 8158A34 - push {r4-r6,lr} - movs r6, 0 - ldr r3, =gAIScriptPtr - ldr r0, [r3] - ldrb r5, [r0, 0x1] - ldrb r0, [r0, 0x2] - lsls r0, 8 - orrs r5, r0 - movs r4, 0 - ldr r0, =gContestMons - mov r12, r0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - mov r1, r12 - adds r1, 0x1E - adds r0, r1 - ldrh r0, [r0] - b _08158A88 - .pool -_08158A6C: - adds r4, 0x1 - cmp r4, 0x3 - bgt _08158A8E - lsls r1, r4, 1 - ldr r0, [r2] - ldr r0, [r0, 0xC] - adds r0, 0x41 - ldrb r0, [r0] - lsls r0, 6 - adds r1, r0 - mov r0, r12 - adds r0, 0x1E - adds r1, r0 - ldrh r0, [r1] -_08158A88: - cmp r0, r5 - bne _08158A6C - movs r6, 0x1 -_08158A8E: - ldr r0, [r2] - ldr r0, [r0, 0xC] - strh r6, [r0, 0x18] - ldr r0, [r3] - adds r0, 0x3 - str r0, [r3] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8158A34 - - thumb_func_start sub_8158AA0 -sub_8158AA0: @ 8158AA0 - push {lr} - bl sub_8158A34 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08158AD8 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158AE0 - .pool -_08158AD8: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158AE0: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158AA0 - - thumb_func_start sub_8158AE8 -sub_8158AE8: @ 8158AE8 - push {lr} - bl sub_8158A34 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0xC] - movs r1, 0x18 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08158B20 - ldr r3, =gAIScriptPtr - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08158B28 - .pool -_08158B20: - ldr r1, =gAIScriptPtr - ldr r0, [r1] - adds r0, 0x4 - str r0, [r1] -_08158B28: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8158AE8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/contest_effect.s b/asm/contest_effect.s deleted file mode 100644 index 65a720a65..000000000 --- a/asm/contest_effect.s +++ /dev/null @@ -1,3175 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AreMovesContestCombo -@ u8 AreMovesContestCombo(u16 moveId1, u16 moveId2) -AreMovesContestCombo: @ 80E5414 - push {r4,lr} - sub sp, 0x4 - lsls r0, 16 - lsls r1, 16 - ldr r2, =gContestMoves - lsrs r0, 13 - adds r0, r2 - ldrb r4, [r0, 0x2] - mov r3, sp - lsrs r1, 13 - adds r1, r2 - ldrb r0, [r1, 0x3] - strb r0, [r3] - mov r2, sp - ldrb r0, [r1, 0x4] - strb r0, [r2, 0x1] - ldrb r0, [r1, 0x5] - strb r0, [r2, 0x2] - mov r0, sp - ldrb r1, [r1, 0x6] - strb r1, [r0, 0x3] - cmp r4, 0 - beq _080E5470 - mov r0, sp - ldrb r0, [r0] - cmp r4, r0 - beq _080E545E - mov r0, sp - ldrb r0, [r0, 0x1] - cmp r4, r0 - beq _080E545E - mov r0, sp - ldrb r0, [r0, 0x2] - cmp r4, r0 - beq _080E545E - cmp r4, r1 - bne _080E5470 -_080E545E: - ldr r0, =gComboStarterLookupTable - adds r0, r4, r0 - ldrb r0, [r0] - b _080E5472 - .pool -_080E5470: - movs r0, 0 -_080E5472: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end AreMovesContestCombo - - thumb_func_start ContestEffectFunc_080E547C -ContestEffectFunc_080E547C: @ 80E547C - bx lr - thumb_func_end ContestEffectFunc_080E547C - - thumb_func_start ContestEffectFunc_080E5480 -ContestEffectFunc_080E5480: @ 80E5480 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5480 - - thumb_func_start ContestEffectFunc_080E54B0 -ContestEffectFunc_080E54B0: @ 80E54B0 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E54B0 - - thumb_func_start ContestEffectFunc_080E54E0 -ContestEffectFunc_080E54E0: @ 80E54E0 - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0x15] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x15] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - ldr r2, [r1, 0x4] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r2, [r1, 0xB] - movs r0, 0x71 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0xB] - bx lr - .pool - thumb_func_end ContestEffectFunc_080E54E0 - - thumb_func_start ContestEffectFunc_080E5534 -ContestEffectFunc_080E5534: @ 80E5534 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0, 0x12] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x2 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5534 - - thumb_func_start ContestEffectFunc_080E5560 -ContestEffectFunc_080E5560: @ 80E5560 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x3 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5560 - - thumb_func_start ContestEffectFunc_080E5590 -ContestEffectFunc_080E5590: @ 80E5590 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x14 - strb r1, [r0, 0xF] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x4 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5590 - - thumb_func_start ContestEffectFunc_080E55BC -ContestEffectFunc_080E55BC: @ 80E55BC - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x10] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x5 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E55BC - - thumb_func_start ContestEffectFunc_080E55EC -ContestEffectFunc_080E55EC: @ 80E55EC - push {r4,r5,lr} - movs r2, 0 - ldr r5, =gContestResources - ldr r0, [r5] - ldr r1, [r0, 0x8] - ldrb r4, [r1, 0x11] - adds r3, r1, r4 - ldrb r0, [r3] - cmp r0, 0 - beq _080E563A - subs r0, 0x1 - ldrb r1, [r1] - cmp r0, r1 - beq _080E5622 - adds r3, r5, 0 -_080E560A: - adds r2, 0x1 - cmp r2, 0x3 - bgt _080E5622 - ldr r0, [r3] - ldr r1, [r0, 0x8] - adds r0, r1, r4 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r2 - ldrb r1, [r1] - cmp r0, r1 - bne _080E560A -_080E5622: - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - strb r2, [r0, 0x8] - ldr r0, [r1] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - lsrs r2, r0, 24 -_080E563A: - cmp r2, 0 - bne _080E564C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E564C: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E55EC - - thumb_func_start ContestEffectFunc_080E5664 -ContestEffectFunc_080E5664: @ 80E5664 - push {r4-r6,lr} - movs r1, 0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - ldrb r5, [r0, 0x11] - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0 - beq _080E56B4 - movs r3, 0 - movs r4, 0 - adds r6, r2, 0 -_080E567E: - ldr r0, [r6] - ldr r2, [r0, 0x8] - adds r0, r2, r5 - adds r1, r2, r3 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5698 - adds r0, r2, 0 - adds r0, 0x8 - adds r0, r4 - strb r3, [r0] - adds r4, 0x1 -_080E5698: - adds r3, 0x1 - cmp r3, 0x3 - ble _080E567E - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r4 - movs r1, 0xFF - strb r1, [r0] - bl sub_80E6A2C - lsls r0, 24 - lsrs r1, r0, 24 -_080E56B4: - cmp r1, 0 - bne _080E56C6 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E56C6: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5664 - - thumb_func_start ContestEffectFunc_080E56E0 -ContestEffectFunc_080E56E0: @ 80E56E0 - push {lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x14 - cmp r0, 0x1 - bls _080E5702 - movs r1, 0x3C - cmp r0, 0x7 - bhi _080E5702 - movs r1, 0x28 -_080E5702: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - strh r1, [r0, 0x4] - bl ContestEffectFunc_080E55EC - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E56E0 - - thumb_func_start ContestEffectFunc_080E5718 -ContestEffectFunc_080E5718: @ 80E5718 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r5, [r0, 0x11] - adds r0, r5 - ldrb r0, [r0] - mov r8, r1 - cmp r0, 0 - beq _080E579E - movs r4, 0 - mov r6, r8 -_080E5736: - ldr r0, [r6] - ldr r2, [r0, 0x8] - adds r0, r2, r5 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5798 - strb r4, [r2, 0x8] - ldr r0, [r6] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - cmp r0, 0 - beq _080E5782 - movs r1, 0xA - cmp r0, 0x2 - bls _080E5782 - movs r1, 0x14 - cmp r0, 0x4 - bls _080E5782 - movs r1, 0x1E - cmp r0, 0x6 - bls _080E5782 - movs r1, 0x3C - cmp r0, 0x8 - bhi _080E5782 - movs r1, 0x28 -_080E5782: - ldr r0, [r6] - ldr r0, [r0, 0x8] - strh r1, [r0, 0x4] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5798 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080E5798: - adds r4, 0x1 - cmp r4, 0x3 - ble _080E5736 -_080E579E: - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - cmp r7, 0 - bne _080E57BE - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E57BE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5718 - - thumb_func_start ContestEffectFunc_080E57CC -ContestEffectFunc_080E57CC: @ 80E57CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r9, r0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r2, [r0, 0x11] - mov r8, r2 - add r0, r8 - ldrb r0, [r0] - mov r10, r1 - cmp r0, 0 - beq _080E5858 - movs r6, 0 - mov r7, r10 - movs r5, 0 -_080E57F4: - ldr r2, [r7] - ldr r0, [r2, 0x8] - mov r3, r8 - adds r1, r0, r3 - adds r0, r6 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _080E5850 - ldr r0, [r2, 0x4] - adds r0, r5, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E5850 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5850 - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r0, [r2, 0x15] - movs r3, 0x11 - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - strb r0, [r2, 0x15] - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r0, [r2, 0x15] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x15] - adds r0, r4, 0 - movs r1, 0x8 - bl sub_80DD3D4 - movs r0, 0x1 - mov r9, r0 -_080E5850: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E57F4 -_080E5858: - mov r1, r10 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x7 - bl sub_80DD3D4 - mov r2, r9 - cmp r2, 0 - bne _080E587A - mov r3, r10 - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E587A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E57CC - - thumb_func_start ContestEffectFunc_080E588C -ContestEffectFunc_080E588C: @ 80E588C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - mov r9, r0 - ldr r1, =gContestResources - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r7, [r0, 0x11] - adds r0, r7 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0 - beq _080E590A - movs r5, 0 - movs r6, 0 - mov r8, r4 -_080E58B0: - ldr r3, [r4] - ldr r2, [r3, 0x8] - adds r0, r2, r7 - adds r1, r2, r5 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5900 - ldr r0, [r3, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E58D8 - movs r0, 0x32 - b _080E58DA - .pool -_080E58D8: - movs r0, 0xA -_080E58DA: - strh r0, [r2, 0x4] - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - strb r5, [r0, 0x8] - ldr r0, [r1] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5900 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080E5900: - adds r6, 0x1C - adds r5, 0x1 - ldr r4, =gContestResources - cmp r5, 0x3 - ble _080E58B0 -_080E590A: - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - mov r0, r9 - cmp r0, 0 - bne _080E5928 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5928: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E588C - - thumb_func_start ContestEffectFunc_080E5938 -ContestEffectFunc_080E5938: @ 80E5938 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x11] - bl ContestEffectFunc_080E5664 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5938 - - thumb_func_start ContestEffectFunc_080E5970 -ContestEffectFunc_080E5970: @ 80E5970 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - ldr r1, =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - bl sub_80E6934 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5970 - - thumb_func_start ContestEffectFunc_080E59B0 -ContestEffectFunc_080E59B0: @ 80E59B0 - push {lr} - movs r0, 0 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59B0 - - thumb_func_start ContestEffectFunc_080E59D0 -ContestEffectFunc_080E59D0: @ 80E59D0 - push {lr} - movs r0, 0x1 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59D0 - - thumb_func_start ContestEffectFunc_080E59F0 -ContestEffectFunc_080E59F0: @ 80E59F0 - push {lr} - movs r0, 0x2 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E59F0 - - thumb_func_start ContestEffectFunc_080E5A10 -ContestEffectFunc_080E5A10: @ 80E5A10 - push {lr} - movs r0, 0x3 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5A10 - - thumb_func_start ContestEffectFunc_080E5A30 -ContestEffectFunc_080E5A30: @ 80E5A30 - push {lr} - movs r0, 0x4 - bl sub_80E6934 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5A30 - - thumb_func_start ContestEffectFunc_080E5A50 -ContestEffectFunc_080E5A50: @ 80E5A50 - push {r4-r6,lr} - movs r4, 0 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x11] - adds r0, r1 - ldrb r0, [r0] - adds r6, r2, 0 - cmp r0, 0x3 - beq _080E5AB0 - movs r5, 0 -_080E5A68: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r1, [r0, 0x8] - ldrb r0, [r1, 0x11] - adds r0, r1, r0 - ldrb r0, [r0] - adds r0, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - bne _080E5AAA - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5AA0 - adds r0, r4, 0 - bl sub_80DD560 - adds r0, r4, 0 - movs r1, 0xA - b _080E5AA4 - .pool -_080E5AA0: - adds r0, r4, 0 - movs r1, 0x3C -_080E5AA4: - bl sub_80DD3D4 - movs r4, 0x1 -_080E5AAA: - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5A68 -_080E5AB0: - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x9 - bl sub_80DD3D4 - cmp r4, 0 - bne _080E5ACC - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5ACC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5A50 - - thumb_func_start ContestEffectFunc_080E5AD4 -ContestEffectFunc_080E5AD4: @ 80E5AD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - movs r0, 0 - mov r9, r0 - movs r1, 0 - str r1, [sp, 0x18] - mov r0, sp - movs r1, 0xFF - movs r2, 0x5 - bl memset - movs r5, 0 - movs r4, 0 - add r2, sp, 0x10 - mov r8, r2 - add r3, sp, 0x8 - mov r10, r3 - movs r6, 0 -_080E5B00: - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2, 0x8] - ldrb r0, [r1, 0x11] - adds r0, r1, r0 - adds r1, r5 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bcs _080E5B38 - ldr r0, [r2, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0xC] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E5B38 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80DBCA8 - lsls r0, 24 - cmp r0, 0 - bne _080E5B38 - mov r1, sp - adds r0, r1, r4 - strb r5, [r0] - adds r4, 0x1 -_080E5B38: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5B00 - cmp r4, 0x1 - bne _080E5B50 - movs r0, 0x3C - mov r2, r8 - strh r0, [r2] - b _080E5B7E - .pool -_080E5B50: - cmp r4, 0x2 - bne _080E5B5E - movs r0, 0x1E - mov r3, r8 - strh r0, [r3] - strh r0, [r3, 0x2] - b _080E5B7E -_080E5B5E: - cmp r4, 0x3 - bne _080E5B6E - movs r0, 0x14 - mov r6, r8 - strh r0, [r6] - strh r0, [r6, 0x2] - strh r0, [r6, 0x4] - b _080E5B7E -_080E5B6E: - mov r1, r8 - movs r2, 0 - mov r0, r8 - adds r0, 0x6 -_080E5B76: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _080E5B76 -_080E5B7E: - movs r5, 0 - ldr r7, =gContestResources - movs r6, 0 - mov r4, r10 -_080E5B86: - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080E5BD0 - lsls r0, r5, 24 - lsrs r0, 24 - bl sub_80DE1E8 - lsls r0, 24 - cmp r0, 0 - beq _080E5BD0 - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrh r0, [r0, 0x8] - lsls r0, 3 - ldr r1, =gContestMoves - adds r0, r1 - ldrb r0, [r0, 0x2] - ldr r2, =gComboStarterLookupTable - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - b _080E5BD2 - .pool -_080E5BD0: - movs r0, 0 -_080E5BD2: - strh r0, [r4] - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r6, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - movs r1, 0xA - bl __divsi3 - lsls r0, 24 - asrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - ldrh r0, [r4] - subs r0, r1 - strh r0, [r4] - adds r6, 0x1C - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _080E5B86 - mov r3, r8 - movs r6, 0 - ldrsh r0, [r3, r6] - cmp r0, 0 - beq _080E5CA0 - movs r5, 0 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0xFF - beq _080E5CA0 - mov r4, sp -_080E5C16: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r5, 1 - add r1, r8 - movs r3, 0 - ldrsh r2, [r1, r3] - ldrb r3, [r4] - lsls r1, r3, 1 - add r1, r10 - movs r6, 0 - ldrsh r1, [r1, r6] - adds r2, r1 - cmp r0, r2 - bge _080E5C66 - adds r0, r3, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5C70 - ldrb r0, [r4] - bl sub_80DD560 - ldrb r0, [r4] - movs r1, 0xA - bl sub_80DD3D4 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - b _080E5C6A -_080E5C66: - movs r0, 0x1 - str r0, [sp, 0x18] -_080E5C6A: - ldr r1, [sp, 0x18] - cmp r1, 0 - beq _080E5C86 -_080E5C70: - movs r2, 0 - str r2, [sp, 0x18] - ldrb r0, [r4] - movs r1, 0x3C - bl sub_80DD3D4 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080E5C86: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - adds r0, 0xD - ldrb r3, [r4] - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - adds r4, 0x1 - adds r5, 0x1 - ldrb r0, [r4] - cmp r0, 0xFF - bne _080E5C16 -_080E5CA0: - ldr r6, =gContestResources - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xB - bl sub_80DD3D4 - mov r0, r9 - cmp r0, 0 - bne _080E5CC0 - ldr r0, [r6] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E5CC0: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5AD4 - - thumb_func_start ContestEffectFunc_080E5CD4 -ContestEffectFunc_080E5CD4: @ 80E5CD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - movs r6, 0 - ldr r7, =gContestResources - movs r5, 0 -_080E5CE4: - ldr r2, [r7] - ldr r0, [r2, 0x8] - ldrb r1, [r0, 0x11] - adds r1, r0, r1 - adds r0, r6 - ldrb r1, [r1] - ldrb r0, [r0] - cmp r1, r0 - bls _080E5D46 - ldr r0, [r2, 0x4] - adds r0, r5, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080E5D46 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E5D46 - ldr r0, [r7] - ldr r0, [r0, 0x4] - adds r0, r5, r0 - movs r1, 0 - strb r1, [r0, 0xD] - ldr r0, [r7] - ldr r2, [r0, 0x4] - adds r2, r5, r2 - ldrb r1, [r2, 0x10] - movs r3, 0x31 - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x20 - orrs r1, r0 - strb r1, [r2, 0x10] - adds r0, r4, 0 - movs r1, 0xD - bl sub_80DD3D4 - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080E5D46: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E5CE4 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xC - bl sub_80DD3D4 - mov r0, r8 - cmp r0, 0 - bne _080E5D6E - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x39 - bl sub_80DD3F0 -_080E5D6E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5CD4 - - thumb_func_start ContestEffectFunc_080E5D7C -ContestEffectFunc_080E5D7C: @ 80E5D7C - push {r4-r7,lr} - movs r7, 0 - movs r4, 0 - ldr r5, =gContestResources - movs r6, 0 -_080E5D86: - ldr r3, [r5] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E5DD2 - ldr r0, [r3, 0x4] - adds r0, r6, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080E5DB0 - movs r0, 0x28 - b _080E5DB2 - .pool -_080E5DB0: - movs r0, 0xA -_080E5DB2: - strh r0, [r2, 0x4] - ldr r0, [r5] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r5] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E5DD2 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080E5DD2: - adds r6, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E5D86 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xE - bl sub_80DD3D4 - cmp r7, 0 - bne _080E5DF8 - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x39 - bl sub_80DD3F0 -_080E5DF8: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5D7C - - thumb_func_start ContestEffectFunc_080E5E04 -ContestEffectFunc_080E5E04: @ 80E5E04 - push {r4,lr} - ldr r1, =gUnknown_02039F26 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r2, r1 - ldrb r0, [r1] - cmp r0, 0 - bne _080E5E46 - ldr r0, [r4, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, =gContestEffects - ldr r2, =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0xF - bl sub_80DD3D4 -_080E5E46: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5E04 - - thumb_func_start ContestEffectFunc_080E5E5C -ContestEffectFunc_080E5E5C: @ 80E5E5C - push {r4,lr} - ldr r1, =gUnknown_02039F26 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r2, r1 - ldrb r0, [r1] - cmp r0, 0x3 - bne _080E5E9E - ldr r0, [r4, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, =gContestEffects - ldr r2, =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x10 - bl sub_80DD3D4 -_080E5E9E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5E5C - - thumb_func_start ContestEffectFunc_080E5EB4 -ContestEffectFunc_080E5EB4: @ 80E5EB4 - push {r4-r7,lr} - movs r1, 0 - movs r5, 0 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r2, [r4, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - ldrb r6, [r0] - movs r3, 0 -_080E5EC8: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r6, r0 - bls _080E5EDA - ldr r0, [r4, 0x4] - adds r0, r3, r0 - movs r7, 0x2 - ldrsh r0, [r0, r7] - adds r5, r0 -_080E5EDA: - adds r3, 0x1C - adds r1, 0x1 - cmp r1, 0x3 - ble _080E5EC8 - cmp r5, 0 - bge _080E5EE8 - movs r5, 0 -_080E5EE8: - ldr r0, =gContestResources - ldr r3, [r0] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E5EFC - cmp r5, 0 - bne _080E5F0C -_080E5EFC: - adds r0, r2, 0 - movs r1, 0x12 - bl sub_80DD3D4 - b _080E5F2C - .pool -_080E5F0C: - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r3, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x11 - bl sub_80DD3D4 -_080E5F2C: - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - movs r7, 0x2 - ldrsh r0, [r0, r7] - bl sub_80E6B70 - ldr r2, [r4] - ldr r1, [r2, 0x8] - ldrb r3, [r1, 0x11] - ldr r2, [r2, 0x4] - lsls r1, r3, 3 - subs r1, r3 - lsls r1, 2 - adds r1, r2 - strh r0, [r1, 0x2] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E5EB4 - - thumb_func_start ContestEffectFunc_080E5F64 -ContestEffectFunc_080E5F64: @ 80E5F64 - push {r4-r7,lr} - movs r6, 0 - ldr r0, =gContestResources - ldr r4, [r0] - ldr r2, [r4, 0x8] - ldrb r1, [r2, 0x11] - adds r3, r2, r1 - ldrb r1, [r3] - adds r7, r0, 0 - cmp r1, 0 - beq _080E5FB2 - movs r1, 0 - adds r5, r4, 0 - adds r4, r2, 0 - ldrb r0, [r3] - subs r3, r0, 0x1 - movs r2, 0 -_080E5F86: - adds r0, r4, r1 - ldrb r0, [r0] - cmp r3, r0 - bne _080E5F94 - ldr r0, [r5, 0x4] - adds r0, r2, r0 - ldrh r6, [r0, 0x2] -_080E5F94: - adds r2, 0x1C - adds r1, 0x1 - cmp r1, 0x3 - ble _080E5F86 - ldr r3, [r7] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080E5FB2 - lsls r0, r6, 16 - asrs r4, r0, 16 - cmp r4, 0 - bgt _080E5FC4 -_080E5FB2: - ldr r0, [r7] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x14 - bl sub_80DD3D4 - b _080E5FDE - .pool -_080E5FC4: - ldr r1, [r3, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x2] - adds r1, r4, r1 - strh r1, [r0, 0x2] - ldr r0, [r3, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x13 - bl sub_80DD3D4 -_080E5FDE: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5F64 - - thumb_func_start ContestEffectFunc_080E5FE4 -ContestEffectFunc_080E5FE4: @ 80E5FE4 - push {r4,r5,lr} - ldr r1, =gContestResources - ldr r3, [r1] - ldr r0, [r3, 0x8] - ldrb r2, [r0, 0x11] - adds r0, r2 - ldrb r4, [r0] - adds r5, r1, 0 - cmp r4, 0 - bne _080E600C - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - movs r0, 0xA - b _080E601C - .pool -_080E600C: - ldr r0, [r3, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 2 -_080E601C: - strh r0, [r1, 0x2] - cmp r4, 0 - bne _080E6030 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x15 - bl sub_80DD3D4 - b _080E6060 -_080E6030: - cmp r4, 0x1 - bne _080E6042 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x16 - bl sub_80DD3D4 - b _080E6060 -_080E6042: - cmp r4, 0x2 - bne _080E6054 - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x17 - bl sub_80DD3D4 - b _080E6060 -_080E6054: - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x18 - bl sub_80DD3D4 -_080E6060: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E5FE4 - - thumb_func_start ContestEffectFunc_080E6068 -ContestEffectFunc_080E6068: @ 80E6068 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - bhi _080E6098 - movs r4, 0xA - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1A - bl sub_80DD3D4 - b _080E60FC - .pool -_080E6098: - cmp r0, 0x5 - bhi _080E60B4 - movs r4, 0x14 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1B - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60B4: - cmp r0, 0x7 - bhi _080E60D0 - movs r4, 0x28 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1C - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60D0: - cmp r1, 0x8 - bhi _080E60EC - movs r4, 0x3C - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1D - bl sub_80DD3D4 - b _080E60FC - .pool -_080E60EC: - movs r4, 0x50 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1E - bl sub_80DD3D4 -_080E60FC: - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6068 - - thumb_func_start ContestEffectFunc_080E611C -ContestEffectFunc_080E611C: @ 80E611C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, =gContestResources - ldr r0, [r2] - ldr r3, [r0, 0x8] - ldrb r0, [r3, 0x11] - adds r0, r3, r0 - movs r1, 0 - ldrsb r1, [r0, r1] - subs r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - mov r8, r2 - cmp r1, 0 - beq _080E61F8 - mov r7, r8 - ldrb r6, [r3] -_080E6140: - movs r2, 0 - lsls r0, r4, 24 - asrs r1, r0, 24 - adds r5, r0, 0 - cmp r6, r1 - beq _080E616A - ldr r4, =gContestResources -_080E614E: - lsls r0, r2, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r2, r0, 24 - asrs r3, r0, 24 - cmp r3, 0x3 - bgt _080E616A - ldr r0, [r4] - ldr r0, [r0, 0x8] - adds r0, r3 - ldrb r0, [r0] - cmp r0, r1 - bne _080E614E -_080E616A: - ldr r0, [r7] - lsls r3, r2, 24 - asrs r1, r3, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r2, r0, r2 - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - mov r12, r3 - cmp r0, 0 - bne _080E6190 - ldrb r1, [r2, 0xC] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _080E61A4 -_080E6190: - movs r1, 0xFF - lsls r1, 24 - adds r0, r5, r1 - lsrs r4, r0, 24 - cmp r0, 0 - blt _080E61F8 - b _080E6140 - .pool -_080E61A4: - mov r2, r8 - ldr r6, [r2] - ldr r0, [r6, 0x8] - ldrb r1, [r0, 0x11] - ldr r4, [r6, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r5, r0, r4 - ldrh r0, [r5, 0x6] - ldr r3, =gContestMoves - lsls r0, 3 - adds r7, r0, r3 - ldrb r2, [r7, 0x1] - lsls r2, 29 - mov r0, r12 - asrs r1, r0, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x6] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r2, r0 - bne _080E61F8 - ldr r1, =gContestEffects - ldrb r0, [r7] - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r1, [r5, 0x2] - adds r0, r1 - strh r0, [r5, 0x2] - ldr r0, [r6, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1F - bl sub_80DD3D4 -_080E61F8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E611C - - thumb_func_start ContestEffectFunc_080E620C -ContestEffectFunc_080E620C: @ 80E620C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, =gContestResources - ldr r3, [r0] - ldr r1, [r3, 0x8] - ldrb r2, [r1, 0x11] - adds r1, r2 - ldrb r1, [r1] - mov r9, r0 - cmp r1, 0 - beq _080E62AC - ldr r1, [r3, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x6] - mov r8, r0 - movs r6, 0 - ldr r0, =gContestMoves - mov r12, r0 - movs r7, 0 -_080E623C: - mov r1, r9 - ldr r4, [r1] - ldr r0, [r4, 0x8] - ldrb r2, [r0, 0x11] - adds r1, r0, r2 - ldrb r1, [r1] - subs r1, 0x1 - adds r0, r6 - ldrb r0, [r0] - cmp r1, r0 - bne _080E62A4 - mov r1, r8 - lsls r0, r1, 3 - mov r1, r12 - adds r5, r0, r1 - ldrb r1, [r5, 0x1] - lsls r1, 29 - ldr r3, [r4, 0x4] - adds r0, r7, r3 - ldrh r0, [r0, 0x6] - lsls r0, 3 - add r0, r12 - ldrb r0, [r0, 0x1] - lsls r0, 29 - cmp r1, r0 - beq _080E62A4 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r3 - ldr r2, =gContestEffects - ldrb r0, [r5] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x20 - bl sub_80DD3D4 - b _080E62AC - .pool -_080E62A4: - adds r7, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080E623C -_080E62AC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E620C - - thumb_func_start ContestEffectFunc_080E62B8 -ContestEffectFunc_080E62B8: @ 80E62B8 - push {r4-r7,lr} - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x11] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080E632E - movs r5, 0 - movs r6, 0 -_080E62CE: - ldr r0, =gContestResources - ldr r4, [r0] - ldr r1, [r4, 0x8] - ldrb r2, [r1, 0x11] - adds r0, r1, r2 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r5 - ldrb r1, [r1] - cmp r0, r1 - bne _080E6326 - ldr r1, [r4, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r3, r0, r1 - adds r1, r6, r1 - movs r0, 0x2 - ldrsh r2, [r3, r0] - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r2, r0 - ble _080E6314 - adds r0, r2, 0 - lsls r0, 1 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x21 - bl sub_80DD3D4 - b _080E6326 - .pool -_080E6314: - cmp r2, r0 - bge _080E6326 - movs r0, 0 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x22 - bl sub_80DD3D4 -_080E6326: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080E62CE -_080E632E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E62B8 - - thumb_func_start ContestEffectFunc_080E6334 -ContestEffectFunc_080E6334: @ 80E6334 - push {r4,lr} - ldr r4, =gContestResources - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r1, r0, r1 - ldrb r3, [r1, 0xD] - movs r0, 0xD - ldrsb r0, [r1, r0] - cmp r0, 0x1D - bgt _080E6388 - adds r0, r3, 0 - adds r0, 0xA - strb r0, [r1, 0xD] - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x31 - negs r1, r1 - ands r1, r2 - movs r2, 0x10 - orrs r1, r2 - strb r1, [r0, 0x10] - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x23 - bl sub_80DD3D4 - b _080E6390 - .pool -_080E6388: - adds r0, r2, 0 - movs r1, 0x3A - bl sub_80DD3D4 -_080E6390: - pop {r4} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6334 - - thumb_func_start ContestEffectFunc_080E6398 -ContestEffectFunc_080E6398: @ 80E6398 - push {lr} - ldr r3, =gContestResources - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x20 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r1, [r3] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - beq _080E63DC - adds r0, r2, 0 - movs r1, 0x24 - bl sub_80DD3D4 - b _080E63E4 - .pool -_080E63DC: - adds r0, r2, 0 - movs r1, 0x3B - bl sub_80DD3D4 -_080E63E4: - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6398 - - thumb_func_start ContestEffectFunc_080E63E8 -ContestEffectFunc_080E63E8: @ 80E63E8 - push {r4-r7,lr} - sub sp, 0x4 - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2] - ldrb r1, [r1, 0x1] - mov r12, r0 - cmp r1, 0x4 - bne _080E63FC - b _080E6518 -_080E63FC: - movs r6, 0 - adds r4, r2, 0 -_080E6400: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6400 - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r6, 0 - mov r3, r12 - ldr r7, [r3] -_080E6438: - movs r5, 0 -_080E643A: - lsls r0, r5, 24 - asrs r2, r0, 24 - ldr r0, [r7, 0x8] - ldrb r0, [r0, 0x11] - cmp r2, r0 - beq _080E6474 - lsls r0, r6, 24 - asrs r3, r0, 24 - mov r0, sp - adds r4, r0, r2 - ldrb r1, [r4] - cmp r3, r1 - bne _080E6474 - ldr r0, [r7, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r3, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bne _080E6474 - adds r0, r3, 0x1 - strb r0, [r4] - b _080E6484 - .pool -_080E6474: - lsls r0, r5, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E643A -_080E6484: - cmp r5, 0x4 - beq _080E6498 - lsls r0, r6, 24 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E6438 -_080E6498: - mov r4, r12 - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - mov r3, sp - adds r2, r3, r0 - movs r0, 0 - strb r0, [r2] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x3F - ands r1, r2 - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0, 0x10] - movs r6, 0 - mov r3, r12 -_080E64C6: - ldr r0, [r3] - lsls r1, r6, 24 - asrs r1, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - mov r4, sp - adds r2, r4, r1 - ldrb r2, [r2] - strb r2, [r0, 0x19] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E64C6 - mov r0, r12 - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x11] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x11] - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x25 - bl sub_80DD3D4 -_080E6518: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E63E8 - - thumb_func_start ContestEffectFunc_080E6520 -ContestEffectFunc_080E6520: @ 80E6520 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, =gContestResources - ldr r2, [r0] - ldr r1, [r2] - ldrb r1, [r1, 0x1] - mov r12, r0 - cmp r1, 0x4 - bne _080E6538 - b _080E6658 -_080E6538: - movs r6, 0 - adds r4, r2, 0 -_080E653C: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E653C - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - mov r2, sp - adds r1, r2, r0 - movs r0, 0xFF - strb r0, [r1] - movs r6, 0x3 - mov r3, r12 - ldr r7, [r3] - movs r4, 0x1 - negs r4, r4 - mov r8, r4 -_080E657A: - movs r5, 0 -_080E657C: - lsls r0, r5, 24 - asrs r2, r0, 24 - ldr r0, [r7, 0x8] - ldrb r0, [r0, 0x11] - cmp r2, r0 - beq _080E65B4 - lsls r0, r6, 24 - asrs r3, r0, 24 - mov r0, sp - adds r4, r0, r2 - ldrb r1, [r4] - cmp r3, r1 - bne _080E65B4 - ldr r0, [r7, 0x4] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r1, r0 - lsls r0, r3, 24 - lsrs r0, 24 - ldrb r1, [r1, 0x19] - cmp r0, r1 - bne _080E65B4 - subs r0, r3, 0x1 - strb r0, [r4] - b _080E65C4 - .pool -_080E65B4: - lsls r0, r5, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r5, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E657C -_080E65C4: - cmp r5, 0x4 - beq _080E65D8 - lsls r0, r6, 24 - movs r3, 0xFF - lsls r3, 24 - adds r0, r3 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, r8 - bgt _080E657A -_080E65D8: - mov r4, r12 - ldr r1, [r4] - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - mov r3, sp - adds r2, r3, r0 - movs r0, 0x3 - strb r0, [r2] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x10] - movs r1, 0x3F - ands r1, r2 - movs r2, 0x40 - orrs r1, r2 - strb r1, [r0, 0x10] - movs r6, 0 - mov r3, r12 -_080E6606: - ldr r0, [r3] - lsls r1, r6, 24 - asrs r1, 24 - ldr r2, [r0, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - mov r4, sp - adds r2, r4, r1 - ldrb r2, [r2] - strb r2, [r0, 0x19] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6606 - mov r0, r12 - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x11] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x2 - orrs r1, r2 - strb r1, [r0, 0x11] - mov r1, r12 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x26 - bl sub_80DD3D4 -_080E6658: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffectFunc_080E6520 - - thumb_func_start ContestEffectFunc_080E6664 -ContestEffectFunc_080E6664: @ 80E6664 - bx lr - thumb_func_end ContestEffectFunc_080E6664 - - thumb_func_start ContestEffectFunc_080E6668 -ContestEffectFunc_080E6668: @ 80E6668 - push {r4-r7,lr} - sub sp, 0x8 - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x1] - cmp r0, 0x4 - beq _080E676C - movs r6, 0 - add r5, sp, 0x4 - adds r4, r1, 0 - adds r7, r5, 0 -_080E6680: - lsls r1, r6, 24 - asrs r1, 24 - mov r0, sp - adds r3, r0, r1 - ldr r2, [r4, 0x4] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x19] - strb r0, [r3] - adds r0, r7, r1 - strb r6, [r0] - adds r1, 0x1 - lsls r1, 24 - lsrs r6, r1, 24 - asrs r1, 24 - cmp r1, 0x3 - ble _080E6680 - movs r6, 0 - adds r7, r5, 0 -_080E66AA: - bl Random - lsls r0, 16 - lsrs r0, 16 - lsls r2, r6, 24 - asrs r2, 24 - movs r1, 0x4 - subs r1, r2 - bl __modsi3 - lsls r0, 24 - lsrs r4, r0, 24 - movs r1, 0 -_080E66C4: - lsls r0, r1, 24 - asrs r2, r0, 24 - adds r3, r7, r2 - ldrb r1, [r3] - adds r5, r0, 0 - cmp r1, 0xFF - beq _080E66EE - cmp r4, 0 - bne _080E66E8 - mov r1, sp - adds r0, r1, r2 - strb r6, [r0] - movs r0, 0xFF - strb r0, [r3] - b _080E66FC - .pool -_080E66E8: - subs r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_080E66EE: - movs r1, 0x80 - lsls r1, 17 - adds r0, r5, r1 - lsrs r1, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E66C4 -_080E66FC: - lsls r0, r6, 24 - movs r6, 0x80 - lsls r6, 17 - adds r0, r6 - lsrs r6, r0, 24 - asrs r0, 24 - cmp r0, 0x3 - ble _080E66AA - movs r6, 0 - ldr r5, =gContestResources - adds r4, r5, 0 -_080E6712: - ldr r0, [r4] - lsls r3, r6, 24 - asrs r3, 24 - ldr r1, [r0, 0x4] - lsls r2, r3, 3 - subs r2, r3 - lsls r2, 2 - adds r1, r2, r1 - mov r6, sp - adds r0, r6, r3 - ldrb r0, [r0] - strb r0, [r1, 0x19] - ldr r0, [r4] - ldr r0, [r0, 0x4] - adds r2, r0 - ldrb r1, [r2, 0x10] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x10] - adds r3, 0x1 - lsls r3, 24 - lsrs r6, r3, 24 - asrs r3, 24 - cmp r3, 0x3 - ble _080E6712 - ldr r1, [r5] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x11] - ldr r0, [r5] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x27 - bl sub_80DD3D4 -_080E676C: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6668 - - thumb_func_start ContestEffectFunc_080E6778 -ContestEffectFunc_080E6778: @ 80E6778 - push {lr} - ldr r3, =gContestMoves - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r2, r0, r1 - ldrh r0, [r2, 0x6] - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 29 - ldr r1, =gSpecialVar_ContestCategory - lsrs r0, 29 - ldrh r1, [r1] - cmp r0, r1 - beq _080E67AA - ldrb r0, [r2, 0x11] - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0x11] -_080E67AA: - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6778 - - thumb_func_start ContestEffectFunc_080E67BC -ContestEffectFunc_080E67BC: @ 80E67BC - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - movs r4, 0 - ldr r5, =gContestResources - movs r6, 0 -_080E67CC: - ldr r3, [r5] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E682E - ldr r0, [r3, 0x4] - adds r1, r6, r0 - movs r7, 0x2 - ldrsh r0, [r1, r7] - cmp r0, 0 - ble _080E6808 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r2, 0x4] - ldr r0, [r3, 0x8] - movs r1, 0x4 - ldrsh r0, [r0, r1] - bl sub_80E6BB4 - ldr r1, [r5] - ldr r1, [r1, 0x8] - strh r0, [r1, 0x4] - b _080E680C - .pool -_080E6808: - movs r0, 0xA - strh r0, [r2, 0x4] -_080E680C: - ldr r0, [r5] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r5] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E682E - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080E682E: - adds r6, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E67CC - mov r7, r8 - cmp r7, 0 - bne _080E684A - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E684A: - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl sub_80DD3D4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E67BC - - thumb_func_start ContestEffectFunc_080E6868 -ContestEffectFunc_080E6868: @ 80E6868 - push {r4,lr} - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1] - ldrb r0, [r0, 0x13] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080E688C - movs r4, 0xA - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1A - bl sub_80DD3D4 - b _080E68CE - .pool -_080E688C: - cmp r0, 0x1 - bne _080E689E - movs r4, 0x14 - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1B - bl sub_80DD3D4 - b _080E68CE -_080E689E: - cmp r0, 0x2 - bne _080E68B0 - movs r4, 0x1E - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1C - bl sub_80DD3D4 - b _080E68CE -_080E68B0: - cmp r0, 0x3 - bne _080E68C2 - movs r4, 0x32 - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1D - bl sub_80DD3D4 - b _080E68CE -_080E68C2: - movs r4, 0x3C - ldr r0, [r1, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x1E - bl sub_80DD3D4 -_080E68CE: - ldr r0, =gContestResources - ldr r1, [r0] - ldr r0, [r1, 0x8] - ldrb r2, [r0, 0x11] - ldr r1, [r1, 0x4] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - strh r4, [r0, 0x2] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E6868 - - thumb_func_start ContestEffectFunc_080E68EC -ContestEffectFunc_080E68EC: @ 80E68EC - push {r4,lr} - ldr r4, =gContestResources - ldr r0, [r4] - ldr r2, [r0, 0x10] - ldrb r1, [r2, 0x1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080E692A - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r0, [r4] - ldr r3, [r0, 0x10] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3, 0x1] - movs r0, 0xF - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x1] - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x3D - bl sub_80DD3D4 -_080E692A: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end ContestEffectFunc_080E68EC - - thumb_func_start sub_80E6934 -sub_80E6934: @ 80E6934 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r7, 0 - movs r4, 0 - ldr r6, =gContestResources - ldr r0, =gContestMoves - mov r9, r0 - movs r5, 0 -_080E694E: - ldr r3, [r6] - ldr r2, [r3, 0x8] - ldrb r0, [r2, 0x11] - adds r0, r2, r0 - adds r1, r2, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080E699E - ldr r0, [r3, 0x4] - adds r0, r5, r0 - ldrh r0, [r0, 0x6] - lsls r0, 3 - add r0, r9 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - cmp r8, r0 - bne _080E6980 - movs r0, 0x28 - b _080E6982 - .pool -_080E6980: - movs r0, 0xA -_080E6982: - strh r0, [r2, 0x4] - ldr r0, [r6] - ldr r0, [r0, 0x8] - strb r4, [r0, 0x8] - ldr r0, [r6] - ldr r1, [r0, 0x8] - movs r0, 0xFF - strb r0, [r1, 0x9] - bl sub_80E6A2C - lsls r0, 24 - cmp r0, 0 - beq _080E699E - adds r7, 0x1 -_080E699E: - adds r5, 0x1C - adds r4, 0x1 - cmp r4, 0x3 - ble _080E694E - cmp r7, 0 - bne _080E69B8 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x11] - movs r1, 0x36 - bl sub_80DD3F0 -_080E69B8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6934 - - thumb_func_start sub_80E69C8 -sub_80E69C8: @ 80E69C8 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gContestResources - ldr r0, [r2] - ldr r0, [r0, 0x8] - adds r0, 0xD - adds r0, r3 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - ldr r1, [r0, 0x4] - lsls r0, r3, 3 - subs r0, r3 - lsls r0, 2 - adds r2, r0, r1 - ldrb r1, [r2, 0x10] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _080E69FC - adds r0, r3, 0 - movs r1, 0x2D - b _080E6A22 - .pool -_080E69FC: - ldrb r0, [r2, 0x12] - cmp r0, 0 - bne _080E6A1A - ldrb r1, [r2, 0xB] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080E6A26 - ldrb r1, [r2, 0xC] - movs r0, 0x6 - ands r0, r1 - cmp r0, 0 - bne _080E6A26 - movs r0, 0x1 - b _080E6A28 -_080E6A1A: - subs r0, 0x1 - strb r0, [r2, 0x12] - adds r0, r3, 0 - movs r1, 0x2C -_080E6A22: - bl sub_80DD3D4 -_080E6A26: - movs r0, 0 -_080E6A28: - pop {r1} - bx r1 - thumb_func_end sub_80E69C8 - - thumb_func_start sub_80E6A2C -sub_80E6A2C: @ 80E6A2C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r0, sp - movs r1, 0 - movs r2, 0x8 - bl memset - movs r7, 0 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - ldrb r0, [r0, 0x8] - cmp r0, 0xFF - beq _080E6B10 - mov r8, r4 -_080E6A4E: - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r7 - ldrb r5, [r0] - adds r6, r5, 0 - adds r0, r5, 0 - bl sub_80E69C8 - lsls r0, 24 - cmp r0, 0 - beq _080E6AFE - ldr r2, [r4] - ldr r1, [r2, 0x8] - ldrh r0, [r1, 0x4] - strh r0, [r1, 0x6] - ldr r1, [r2, 0x4] - lsls r0, r5, 3 - subs r0, r5 - lsls r4, r0, 2 - adds r1, r4, r1 - ldrb r1, [r1, 0x10] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _080E6A8E - ldr r1, [r2, 0x8] - movs r2, 0x6 - ldrsh r0, [r1, r2] - lsls r0, 1 - strh r0, [r1, 0x6] -_080E6A8E: - mov r0, r8 - ldr r3, [r0] - ldr r0, [r3, 0x4] - adds r1, r4, r0 - ldrb r0, [r1, 0x10] - movs r4, 0x1 - ands r4, r0 - cmp r4, 0 - beq _080E6AB4 - ldr r1, [r3, 0x8] - movs r0, 0xA - strh r0, [r1, 0x6] - adds r0, r5, 0 - movs r1, 0x2F - bl sub_80DD3D4 - b _080E6AFE - .pool -_080E6AB4: - ldr r2, [r3, 0x8] - ldrb r1, [r1, 0xF] - ldrh r0, [r2, 0x6] - subs r0, r1 - strh r0, [r2, 0x6] - ldr r2, [r3, 0x8] - ldrh r1, [r2, 0x6] - movs r3, 0x6 - ldrsh r0, [r2, r3] - cmp r0, 0 - bgt _080E6AD6 - strh r4, [r2, 0x6] - adds r0, r5, 0 - movs r1, 0x2E - bl sub_80DD3D4 - b _080E6AFE -_080E6AD6: - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_80E6B3C - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x6] - adds r0, r6, 0 - bl sub_80DD40C - lsls r0, r6, 1 - mov r2, sp - adds r1, r2, r0 - mov r3, r8 - ldr r0, [r3] - ldr r0, [r0, 0x8] - ldrh r0, [r0, 0x6] - strh r0, [r1] -_080E6AFE: - adds r7, 0x1 - ldr r4, =gContestResources - ldr r0, [r4] - ldr r0, [r0, 0x8] - adds r0, 0x8 - adds r0, r7 - ldrb r0, [r0] - cmp r0, 0xFF - bne _080E6A4E -_080E6B10: - movs r7, 0 - mov r1, sp -_080E6B14: - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _080E6B24 - movs r0, 0x1 - b _080E6B2E - .pool -_080E6B24: - adds r1, 0x2 - adds r7, 0x1 - cmp r7, 0x3 - ble _080E6B14 - movs r0, 0 -_080E6B2E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80E6A2C - - thumb_func_start sub_80E6B3C -sub_80E6B3C: @ 80E6B3C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r2, =gContestResources - ldr r4, [r2] - ldr r3, [r4, 0x4] - lsls r2, r0, 3 - subs r2, r0 - lsls r2, 2 - adds r3, r2, r3 - ldrh r0, [r3, 0x2] - subs r0, r1 - strh r0, [r3, 0x2] - ldr r0, [r4, 0x4] - adds r2, r0 - ldrb r0, [r2, 0xE] - adds r1, r0 - strb r1, [r2, 0xE] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80E6B3C - - thumb_func_start sub_80E6B70 -sub_80E6B70: @ 80E6B70 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - cmp r4, 0 - bge _080E6B80 - negs r0, r4 -_080E6B80: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r4, 0 - bge _080E6B9E - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080E6BA8 - adds r0, r4, 0 - subs r0, 0xA - adds r0, r1, r0 - b _080E6BA4 -_080E6B9E: - lsls r0, 16 - asrs r0, 16 - subs r0, r4, r0 -_080E6BA4: - lsls r0, 16 - lsrs r5, r0, 16 -_080E6BA8: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E6B70 - - thumb_func_start sub_80E6BB4 -sub_80E6BB4: @ 80E6BB4 - push {r4,r5,lr} - lsls r0, 16 - lsrs r5, r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - cmp r4, 0 - bge _080E6BC4 - negs r0, r4 -_080E6BC4: - movs r1, 0xA - bl __modsi3 - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - beq _080E6BDC - adds r0, r4, 0 - adds r0, 0xA - subs r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 -_080E6BDC: - lsls r0, r5, 16 - asrs r0, 16 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80E6BB4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/party_menu.s b/asm/party_menu.s index 5c70e218e..92c4905a4 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -6796,7 +6796,7 @@ sub_81B3828: @ 81B3828 ldr r0, =sub_81B3894 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _081B3880 .pool _081B3868: @@ -6810,7 +6810,7 @@ _081B3868: ldr r0, =sub_81B3894 str r0, [sp] movs r0, 0 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _081B3880: add sp, 0x4 pop {r4} @@ -17663,7 +17663,7 @@ sub_81B968C: @ 81B968C ldr r0, =CB2_ReturnToField str r0, [sp] movs r0, 0x3 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen ldr r1, =gFieldCallback ldr r0, =sub_80AF168 str r0, [r1] diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 2633db13f..8fb4f2dec 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -3685,7 +3685,7 @@ _080C9EB4: adds r1, r4, 0 adds r2, r7, 0 adds r3, r6, 0 - bl sub_81BFA80 + bl ShowPokemonSummaryScreenSet40EF b _080C9F56 .pool _080C9F04: @@ -3695,7 +3695,7 @@ _080C9F04: adds r1, r4, 0 adds r2, r7, 0 adds r3, r6, 0 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _080C9F56 .pool _080C9F1C: diff --git a/asm/trade.s b/asm/trade.s index 19dfd5ff9..958bb77ea 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -3499,7 +3499,7 @@ sub_807905C: @ 807905C ldr r0, =sub_8077B74 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen b _080790C0 .pool _080790A4: @@ -3515,7 +3515,7 @@ _080790A4: ldr r0, =sub_8077B74 str r0, [sp] movs r0, 0x1 - bl sub_81BF8EC + bl ShowPokemonSummaryScreen _080790C0: bl FreeAllWindowBuffers _080790C4: diff --git a/data/battle_pyramid.s b/data/battle_pyramid.s new file mode 100644 index 000000000..7327fb1f8 --- /dev/null +++ b/data/battle_pyramid.s @@ -0,0 +1,94 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_0861F2B4:: @ 861F2B4 + .4byte 0x000011f0, 0x000001e1, 0x000021de + + .align 2 +gUnknown_0861F2C0:: @ 861F2C0 + .4byte 0x00000000, sub_81C5460, sub_81C5518, 0x00000000, 0x00080000, 0x07003021 + + .align 2 +gUnknown_0861F2D8:: @ 861F2D8 + .4byte gMenuText_Use, sub_81C61E0 + .4byte gMenuText_Toss, sub_81C62C4 + .4byte gMenuText_Give, sub_81C6648 + .4byte gText_Cancel2, sub_81C6258 + .4byte gMenuText_Use, sub_81C679C + .4byte gText_EmptyString2, NULL + +gUnknown_0861F308:: @ 861F308 + .byte 0x00, 0x02, 0x01, 0x03 + +gUnknown_0861F30C:: @ 861F30C + .byte 0x01, 0x03 + +gUnknown_0861F30E:: @ 861F30E + .byte 0x04, 0x03 + +gUnknown_0861F310:: @ 861F310 + .byte 0x03, 0x00, 0x00, 0x00 + +gUnknown_0861F314:: @ 861F314 + .4byte sub_81C654C + .4byte sub_81C63D0 + +gUnknown_0861F31C:: @ 861F31C + .byte 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00 + + .align 2 +gUnknown_0861F328:: @ 861F328 + window_template 0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e + window_template 0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e + window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162 + window_template 0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce + null_window_template + + .align 2 +gUnknown_0861F350:: @ 861F350 + window_template 0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8 + window_template 0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8 + window_template 0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8 + window_template 0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8 + + .align 2 +gUnknown_0861F370:: @ 861F370 + window_template 0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8 + + .align 2 +gOamData_861F378:: @ 861F378 + .2byte 0x0100, 0xc000, 0x0400, 0x0000 + + .align 2 +gSpriteAnim_861F380:: @ 861F380 + .2byte 0x0000, 0x0004, 0xffff, 0x0000 + + .align 2 +gSpriteAnimTable_861F388:: @ 861F388 + .4byte gSpriteAnim_861F380 + + .align 2 +gSpriteAffineAnim_861F38C:: @ 861F38C + .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnim_861F39C:: @ 861F39C + .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000 + .2byte 0x7fff, 0x0000, 0x0000, 0x0000 + + .align 2 +gSpriteAffineAnimTable_861F3C4:: @ 861F3C4 + .4byte gSpriteAffineAnim_861F38C + .4byte gSpriteAffineAnim_861F39C + + .align 2 +gUnknown_0861F3CC:: @ 861F3CC + obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024 + + .align 2 +gUnknown_0861F3D4:: @ 861F3D4 + spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy + diff --git a/data/contest_ai.s b/data/contest_ai.s deleted file mode 100644 index c7cb848a7..000000000 --- a/data/contest_ai.s +++ /dev/null @@ -1,144 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_085CDD00:: @ 85CDD00 - .4byte sub_81564DC - .4byte sub_8156530 - .4byte sub_8156550 - .4byte sub_8156594 - .4byte sub_81565D8 - .4byte sub_815661C - .4byte sub_8156660 - .4byte sub_8156684 - .4byte sub_81566C8 - .4byte sub_815670C - .4byte sub_8156750 - .4byte sub_8156794 - .4byte sub_81567BC - .4byte sub_8156800 - .4byte sub_8156844 - .4byte sub_8156888 - .4byte sub_81568CC - .4byte sub_815690C - .4byte sub_8156950 - .4byte sub_8156994 - .4byte sub_81569D8 - .4byte sub_8156A1C - .4byte sub_8156A48 - .4byte sub_8156A98 - .4byte sub_8156AE8 - .4byte sub_8156B38 - .4byte sub_8156B88 - .4byte sub_8156BB4 - .4byte sub_8156C04 - .4byte sub_8156C54 - .4byte sub_8156CA4 - .4byte sub_8156CF4 - .4byte sub_8156D18 - .4byte sub_8156D5C - .4byte sub_8156DA0 - .4byte sub_8156DE4 - .4byte sub_8156E2C - .4byte sub_8156E74 - .4byte sub_8156EBC - .4byte sub_8156F04 - .4byte sub_8156F44 - .4byte sub_8156F88 - .4byte sub_8156FCC - .4byte sub_8157018 - .4byte sub_815705C - .4byte sub_81570A0 - .4byte sub_815712C - .4byte sub_8157174 - .4byte sub_8157200 - .4byte sub_8157248 - .4byte sub_81572A4 - .4byte sub_81572E8 - .4byte sub_815732C - .4byte sub_8157370 - .4byte sub_81573B4 - .4byte sub_8157410 - .4byte sub_8157454 - .4byte sub_8157498 - .4byte sub_81574DC - .4byte sub_8157520 - .4byte sub_8157578 - .4byte sub_81575BC - .4byte sub_8157600 - .4byte sub_8157644 - .4byte sub_8157688 - .4byte sub_8157700 - .4byte sub_8157748 - .4byte sub_8157790 - .4byte sub_8157808 - .4byte sub_8157850 - .4byte sub_8157898 - .4byte sub_81578F8 - .4byte sub_8157940 - .4byte sub_8157988 - .4byte sub_81579CC - .4byte sub_8157A10 - .4byte sub_8157A54 - .4byte sub_8157A98 - .4byte sub_8157ADC - .4byte sub_8157B38 - .4byte sub_8157B7C - .4byte sub_8157BC0 - .4byte sub_8157C04 - .4byte sub_8157C48 - .4byte sub_8157C94 - .4byte sub_8157CDC - .4byte sub_8157D24 - .4byte sub_8157D60 - .4byte sub_8157DA8 - .4byte sub_8157DF0 - .4byte sub_8157E3C - .4byte sub_8157E84 - .4byte sub_8157ECC - .4byte sub_8157F14 - .4byte sub_8157F5C - .4byte sub_8157FA0 - .4byte sub_8157FE8 - .4byte sub_8158030 - .4byte sub_8158078 - .4byte sub_81580C0 - .4byte sub_8158108 - .4byte sub_815814C - .4byte sub_8158190 - .4byte sub_81581D4 - .4byte sub_8158218 - .4byte sub_8158254 - .4byte sub_8158298 - .4byte sub_81582DC - .4byte sub_8158320 - .4byte sub_8158364 - .4byte sub_81583B8 - .4byte sub_81583FC - .4byte sub_8158440 - .4byte sub_815846C - .4byte sub_815849C - .4byte sub_81584D4 - .4byte sub_8158508 - .4byte sub_815853C - .4byte sub_815858C - .4byte sub_81585DC - .4byte sub_815862C - .4byte sub_815867C - .4byte sub_81586D0 - .4byte sub_8158724 - .4byte sub_8158778 - .4byte sub_81587CC - .4byte sub_815881C - .4byte sub_815886C - .4byte dp15_call - .4byte sub_81588BC - .4byte sub_8158948 - .4byte sub_81589A4 - .4byte sub_81589EC - .4byte sub_8158A34 - .4byte sub_8158AA0 - .4byte sub_8158AE8 - diff --git a/data/contest_effect.s b/data/contest_effect.s deleted file mode 100644 index 31b294836..000000000 --- a/data/contest_effect.s +++ /dev/null @@ -1,22 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ 858C2B4 - .include "data/contest_moves.inc" - -@ 858CDCC - .include "data/contest_effects.inc" - -@ A lookup table with a 1 for each combo starter ID and a 0 for ID 0, -@ which means "not a combo starter move". -gComboStarterLookupTable:: @ 858CE8C - .byte 0 - .rept 62 - .byte 1 - .endr - - .align 2 -@ 858CECC - .include "data/contest_effect_function_table.inc" diff --git a/data/contest_effect_function_table.inc b/data/contest_effect_function_table.inc deleted file mode 100644 index 57d106844..000000000 --- a/data/contest_effect_function_table.inc +++ /dev/null @@ -1,50 +0,0 @@ - .align 2 -gContestEffectFunctionTable:: @ 858CECC - .4byte ContestEffectFunc_080E547C - .4byte ContestEffectFunc_080E5480 - .4byte ContestEffectFunc_080E54B0 - .4byte ContestEffectFunc_080E54E0 - .4byte ContestEffectFunc_080E5534 - .4byte ContestEffectFunc_080E5560 - .4byte ContestEffectFunc_080E5590 - .4byte ContestEffectFunc_080E55BC - .4byte ContestEffectFunc_080E55EC - .4byte ContestEffectFunc_080E5664 - .4byte ContestEffectFunc_080E55EC - .4byte ContestEffectFunc_080E5664 - .4byte ContestEffectFunc_080E55EC - .4byte ContestEffectFunc_080E5664 - .4byte ContestEffectFunc_080E56E0 - .4byte ContestEffectFunc_080E5718 - .4byte ContestEffectFunc_080E57CC - .4byte ContestEffectFunc_080E588C - .4byte ContestEffectFunc_080E5938 - .4byte ContestEffectFunc_080E5970 - .4byte ContestEffectFunc_080E59B0 - .4byte ContestEffectFunc_080E59D0 - .4byte ContestEffectFunc_080E59F0 - .4byte ContestEffectFunc_080E5A10 - .4byte ContestEffectFunc_080E5A30 - .4byte ContestEffectFunc_080E5A50 - .4byte ContestEffectFunc_080E5AD4 - .4byte ContestEffectFunc_080E5CD4 - .4byte ContestEffectFunc_080E5D7C - .4byte ContestEffectFunc_080E5E04 - .4byte ContestEffectFunc_080E5E5C - .4byte ContestEffectFunc_080E5EB4 - .4byte ContestEffectFunc_080E5F64 - .4byte ContestEffectFunc_080E5FE4 - .4byte ContestEffectFunc_080E6068 - .4byte ContestEffectFunc_080E611C - .4byte ContestEffectFunc_080E620C - .4byte ContestEffectFunc_080E62B8 - .4byte ContestEffectFunc_080E6334 - .4byte ContestEffectFunc_080E6398 - .4byte ContestEffectFunc_080E63E8 - .4byte ContestEffectFunc_080E6520 - .4byte ContestEffectFunc_080E6664 - .4byte ContestEffectFunc_080E6668 - .4byte ContestEffectFunc_080E6778 - .4byte ContestEffectFunc_080E67BC - .4byte ContestEffectFunc_080E6868 - .4byte ContestEffectFunc_080E68EC diff --git a/data/contest_effects.inc b/data/contest_effects.inc deleted file mode 100644 index 46da79e45..000000000 --- a/data/contest_effects.inc +++ /dev/null @@ -1,289 +0,0 @@ - .align 2 -gContestEffects:: @ 858CDCC -@ 0x00 - .byte 0 @ effect type - .byte 40 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x01 - .byte 0 @ effect type - .byte 60 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x02 - .byte 0 @ effect type - .byte 80 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x03 - .byte 0 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x04 - .byte 1 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x05 - .byte 1 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x06 - .byte 1 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x07 - .byte 1 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x08 - .byte 2 @ effect type - .byte 30 @ appeal - .byte 20 @ jam - .byte 0 @ padding - -@ 0x09 - .byte 3 @ effect type - .byte 30 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x0a - .byte 2 @ effect type - .byte 20 @ appeal - .byte 30 @ jam - .byte 0 @ padding - -@ 0x0b - .byte 3 @ effect type - .byte 20 @ appeal - .byte 20 @ jam - .byte 0 @ padding - -@ 0x0c - .byte 2 @ effect type - .byte 10 @ appeal - .byte 40 @ jam - .byte 0 @ padding - -@ 0x0d - .byte 3 @ effect type - .byte 10 @ appeal - .byte 30 @ jam - .byte 0 @ padding - -@ 0x0e - .byte 2 @ effect type - .byte 30 @ appeal - .byte 20 @ jam - .byte 0 @ padding - -@ 0x0f - .byte 3 @ effect type - .byte 30 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x10 - .byte 4 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x11 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x12 - .byte 3 @ effect type - .byte 40 @ appeal - .byte 40 @ jam - .byte 0 @ padding - -@ 0x13 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x14 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x15 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x16 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x17 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x18 - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x19 - .byte 4 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1a - .byte 4 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1b - .byte 4 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1c - .byte 3 @ effect type - .byte 30 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x1d - .byte 5 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1e - .byte 5 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x1f - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x20 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x21 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x22 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x23 - .byte 5 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x24 - .byte 5 @ effect type - .byte 20 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x25 - .byte 5 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x26 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x27 - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x28 - .byte 6 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x29 - .byte 6 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2a - .byte 6 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2b - .byte 6 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2c - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2d - .byte 3 @ effect type - .byte 20 @ appeal - .byte 10 @ jam - .byte 0 @ padding - -@ 0x2e - .byte 5 @ effect type - .byte 10 @ appeal - .byte 0 @ jam - .byte 0 @ padding - -@ 0x2f - .byte 4 @ effect type - .byte 30 @ appeal - .byte 0 @ jam - .byte 0 @ padding diff --git a/data/contest_moves.inc b/data/contest_moves.inc deleted file mode 100644 index aecea3a8d..000000000 --- a/data/contest_moves.inc +++ /dev/null @@ -1,2486 +0,0 @@ - .align 2 -gContestMoves:: @ 858C2B4 -@ - - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pound - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_POUND @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Karate Chop - .byte 0x25 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Double Slap - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_POUND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Comet Punch - .byte 0x23 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mega Punch - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pay Day - .byte 0x2e @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fire Punch - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_FIRE_PUNCH @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ice Punch - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_ICE_PUNCH @ combo starter ID - .byte COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunder Punch - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_THUNDER_PUNCH @ combo starter ID - .byte COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Scratch - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SCRATCH @ combo starter ID - .byte COMBO_STARTER_LEER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Vice Grip - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_VICE_GRIP @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Guillotine - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_VICE_GRIP, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Razor Wind - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Swords Dance - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_SWORDS_DANCE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Cut - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Gust - .byte 0x2b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Wing Attack - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Whirlwind - .byte 0x2b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fly - .byte 0x05 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bind - .byte 0x2f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_VICE_GRIP, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Slam - .byte 0x13 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_POUND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Vine Whip - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Stomp - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, COMBO_STARTER_LEER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Double Kick - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mega Kick - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Jump Kick - .byte 0x01 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MIND_READER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rolling Kick - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sand-Attack - .byte 0x11 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_SAND_ATTACK @ combo starter ID - .byte COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Headbutt - .byte 0x0a @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Horn Attack - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_HORN_ATTACK @ combo starter ID - .byte COMBO_STARTER_LEER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fury Attack - .byte 0x11 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Horn Drill - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HORN_ATTACK, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tackle - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Body Slam - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Wrap - .byte 0x2f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Take Down - .byte 0x01 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thrash - .byte 0x12 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Double-Edge - .byte 0x01 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tail Whip - .byte 0x1e @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Sting - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Twineedle - .byte 0x0a @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pin Missile - .byte 0x11 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Leer - .byte 0x2f @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_LEER @ combo starter ID - .byte COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bite - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Growl - .byte 0x1e @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Roar - .byte 0x2b @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sing - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_SING @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Supersonic - .byte 0x2b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sonic Boom - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Disable - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Acid - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ember - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flamethrower - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mist - .byte 0x05 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Water Gun - .byte 0x00 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hydro Pump - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Surf - .byte 0x25 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_SURF @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ice Beam - .byte 0x13 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Blizzard - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psybeam - .byte 0x2b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bubble Beam - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Aurora Beam - .byte 0x13 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hyper Beam - .byte 0x12 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Peck - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_PECK @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Drill Peck - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_PECK, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Submission - .byte 0x01 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MIND_READER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Low Kick - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Counter - .byte 0x04 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_TAUNT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Seismic Toss - .byte 0x13 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FAKE_OUT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Strength - .byte 0x13 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Absorb - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mega Drain - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Leech Seed - .byte 0x0b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Growth - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_GROWTH @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Razor Leaf - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Solar Beam - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Powder - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWEET_SCENT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Stun Spore - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWEET_SCENT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sleep Powder - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWEET_SCENT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Petal Dance - .byte 0x12 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ String Shot - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_STRING_SHOT @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dragon Rage - .byte 0x21 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_DRAGON_RAGE @ combo starter ID - .byte COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fire Spin - .byte 0x2f @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunder Shock - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunderbolt - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunder Wave - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thunder - .byte 0x0b @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Throw - .byte 0x23 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_ROCK_THROW @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Earthquake - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_EARTHQUAKE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fissure - .byte 0x2d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_EARTHQUAKE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dig - .byte 0x05 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Toxic - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Confusion - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_CONFUSION @ combo starter ID - .byte COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psychic - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_PSYCHIC @ combo starter ID - .byte COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hypnosis - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_HYPNOSIS @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Meditate - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Agility - .byte 0x28 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Quick Attack - .byte 0x28 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DOUBLE_TEAM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rage - .byte 0x03 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_RAGE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Teleport - .byte 0x05 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Night Shade - .byte 0x13 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mimic - .byte 0x20 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Screech - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Double Team - .byte 0x04 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_DOUBLE_TEAM @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Recover - .byte 0x13 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Harden - .byte 0x04 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_HARDEN @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Minimize - .byte 0x04 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Smokescreen - .byte 0x10 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SMOG, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Confuse Ray - .byte 0x2b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Withdraw - .byte 0x05 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Defense Curl - .byte 0x04 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_DEFENSE_CURL @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Barrier - .byte 0x05 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Light Screen - .byte 0x05 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Haze - .byte 0x1b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Reflect - .byte 0x05 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Focus Energy - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_FOCUS_ENERGY @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bide - .byte 0x05 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Metronome - .byte 0x03 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mirror Move - .byte 0x20 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Self-Destruct - .byte 0x02 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Egg Bomb - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SOFT_BOILED, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Lick - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Smog - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SMOG @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sludge - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SLUDGE @ combo starter ID - .byte COMBO_STARTER_SLUDGE_BOMB, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bone Club - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_BONE_CLUB @ combo starter ID - .byte COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fire Blast - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Waterfall - .byte 0x1e @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Clamp - .byte 0x2f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Swift - .byte 0x1d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Skull Bash - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spike Cannon - .byte 0x11 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Constrict - .byte 0x0a @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Amnesia - .byte 0x26 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Kinesis - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_KINESIS @ combo starter ID - .byte COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Soft-Boiled - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_SOFT_BOILED @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hi Jump Kick - .byte 0x01 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MIND_READER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Glare - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LEER, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dream Eater - .byte 0x0b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Gas - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Barrage - .byte 0x23 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Leech Life - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Lovely Kiss - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sky Attack - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Transform - .byte 0x03 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bubble - .byte 0x0b @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dizzy Punch - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spore - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flash - .byte 0x10 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psywave - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Splash - .byte 0x1e @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Acid Armor - .byte 0x26 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Crabhammer - .byte 0x25 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Explosion - .byte 0x02 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fury Swipes - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SCRATCH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bonemerang - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_BONEMERANG @ combo starter ID - .byte COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rest - .byte 0x04 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_REST @ combo starter ID - .byte COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Slide - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ROCK_THROW, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hyper Fang - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sharpen - .byte 0x26 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Conversion - .byte 0x23 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tri Attack - .byte 0x0b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LOCK_ON, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Super Fang - .byte 0x2d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SCARY_FACE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Slash - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Substitute - .byte 0x04 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Struggle - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sketch - .byte 0x20 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Triple Kick - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Thief - .byte 0x1f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spider Web - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_STRING_SHOT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mind Reader - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_MIND_READER @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Nightmare - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HYPNOSIS, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flame Wheel - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Snore - .byte 0x00 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_REST, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Curse - .byte 0x29 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_CURSE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flail - .byte 0x21 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Conversion 2 - .byte 0x23 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Aeroblast - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Cotton Spore - .byte 0x11 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Reversal - .byte 0x1e @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spite - .byte 0x21 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CURSE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Powder Snow - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_POWDER_SNOW @ combo starter ID - .byte COMBO_STARTER_HAIL, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Protect - .byte 0x05 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_HARDEN, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mach Punch - .byte 0x28 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Scary Face - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SCARY_FACE @ combo starter ID - .byte COMBO_STARTER_RAGE, COMBO_STARTER_LEER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Faint Attack - .byte 0x1d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sweet Kiss - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Belly Drum - .byte 0x26 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_BELLY_DRUM @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sludge Bomb - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SLUDGE_BOMB @ combo starter ID - .byte COMBO_STARTER_SLUDGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mud-Slap - .byte 0x11 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_MUD_SLAP @ combo starter ID - .byte COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Octazooka - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spikes - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Zap Cannon - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LOCK_ON, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Foresight - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Destiny Bond - .byte 0x02 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Perish Song - .byte 0x2d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Icy Wind - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Detect - .byte 0x04 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_TAUNT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bone Rush - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_BONE_RUSH @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Lock-On - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_LOCK_ON @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Outrage - .byte 0x12 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sandstorm - .byte 0x2b @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_SANDSTORM @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Giga Drain - .byte 0x11 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Endure - .byte 0x04 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_ENDURE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Charm - .byte 0x13 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_CHARM @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rollout - .byte 0x2f @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ False Swipe - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Swagger - .byte 0x1d @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Milk Drink - .byte 0x23 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spark - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fury Cutter - .byte 0x03 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Steel Wing - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mean Look - .byte 0x1a @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_MEAN_LOOK @ combo starter ID - .byte COMBO_STARTER_CURSE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Attract - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sleep Talk - .byte 0x03 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_REST, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Heal Bell - .byte 0x1e @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Return - .byte 0x2c @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Present - .byte 0x03 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Frustration - .byte 0x2c @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Safeguard - .byte 0x05 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pain Split - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sacred Fire - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Magnitude - .byte 0x2e @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dynamic Punch - .byte 0x11 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Megahorn - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dragon Breath - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_DRAGON_BREATH @ combo starter ID - .byte COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Baton Pass - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Encore - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Pursuit - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rapid Spin - .byte 0x04 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sweet Scent - .byte 0x0d @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_SWEET_SCENT @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Iron Tail - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Metal Claw - .byte 0x00 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_METAL_SOUND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Vital Throw - .byte 0x29 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FAKE_OUT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Morning Sun - .byte 0x22 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Synthesis - .byte 0x22 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Moonlight - .byte 0x22 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hidden Power - .byte 0x03 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Cross Chop - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Twister - .byte 0x2b @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rain Dance - .byte 0x2e @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_RAIN_DANCE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sunny Day - .byte 0x2e @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_SUNNY_DAY @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Crunch - .byte 0x0c @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SCARY_FACE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mirror Coat - .byte 0x04 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_TAUNT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psych Up - .byte 0x23 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Extreme Speed - .byte 0x28 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ancient Power - .byte 0x26 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Shadow Ball - .byte 0x10 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Future Sight - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Smash - .byte 0x27 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Whirlpool - .byte 0x2f @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Beat Up - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fake Out - .byte 0x13 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_FAKE_OUT @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Uproar - .byte 0x2b @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Stockpile - .byte 0x04 @ effect ID - .byte CONTEST_TOUGH - .byte COMBO_STARTER_STOCKPILE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Spit Up - .byte 0x00 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_STOCKPILE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Swallow - .byte 0x26 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_STOCKPILE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Heat Wave - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hail - .byte 0x0d @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_HAIL @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Torment - .byte 0x1a @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Flatter - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Will-O-Wisp - .byte 0x0c @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Memento - .byte 0x02 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Facade - .byte 0x1e @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Focus Punch - .byte 0x29 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Smelling Salt - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Follow Me - .byte 0x2f @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Nature Power - .byte 0x2e @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Charge - .byte 0x23 @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_CHARGE @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Taunt - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_TAUNT @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Helping Hand - .byte 0x1a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Trick - .byte 0x23 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Role Play - .byte 0x1f @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Wish - .byte 0x2f @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Assist - .byte 0x22 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ingrain - .byte 0x05 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Superpower - .byte 0x01 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_LOCK_ON, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Magic Coat - .byte 0x05 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Recycle - .byte 0x03 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Revenge - .byte 0x29 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Brick Break - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Yawn - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_YAWN @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Knock Off - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FAKE_OUT, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Endeavor - .byte 0x1e @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Eruption - .byte 0x21 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Skill Swap - .byte 0x1f @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Imprison - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Refresh - .byte 0x26 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Grudge - .byte 0x21 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CURSE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Snatch - .byte 0x2d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Secret Power - .byte 0x27 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dive - .byte 0x04 @ effect ID - .byte CONTEST_BEAUTY - .byte COMBO_STARTER_DIVE @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Arm Thrust - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Camouflage - .byte 0x25 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tail Glow - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Luster Purge - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mist Ball - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Feather Dance - .byte 0x1e @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Teeter Dance - .byte 0x12 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Blaze Kick - .byte 0x00 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mud Sport - .byte 0x00 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_MUD_SPORT @ combo starter ID - .byte COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Ice Ball - .byte 0x2f @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Needle Arm - .byte 0x0c @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Slack Off - .byte 0x21 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte COMBO_STARTER_YAWN, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hyper Voice - .byte 0x0d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Fang - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Crush Claw - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SWORDS_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Blast Burn - .byte 0x12 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Hydro Cannon - .byte 0x12 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Meteor Mash - .byte 0x23 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Astonish - .byte 0x0a @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Weather Ball - .byte 0x00 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Aromatherapy - .byte 0x1e @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Fake Tears - .byte 0x1e @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Air Cutter - .byte 0x13 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Overheat - .byte 0x01 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SUNNY_DAY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Odor Sleuth - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Tomb - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_ROCK_THROW, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Silver Wind - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Metal Sound - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_METAL_SOUND @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Grass Whistle - .byte 0x0d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Tickle - .byte 0x1b @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Cosmic Power - .byte 0x26 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Water Spout - .byte 0x21 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Signal Beam - .byte 0x2b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Shadow Punch - .byte 0x1d @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Extrasensory - .byte 0x0c @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sky Uppercut - .byte 0x13 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_FOCUS_ENERGY, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sand Tomb - .byte 0x2f @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_SANDSTORM, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Sheer Cold - .byte 0x2d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Muddy Water - .byte 0x11 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bullet Seed - .byte 0x2d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Aerial Ace - .byte 0x1d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Icicle Spear - .byte 0x13 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Iron Defense - .byte 0x05 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Block - .byte 0x1a @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Howl - .byte 0x26 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dragon Claw - .byte 0x13 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Frenzy Plant - .byte 0x12 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bulk Up - .byte 0x26 @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Bounce - .byte 0x05 @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Mud Shot - .byte 0x0d @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Poison Tail - .byte 0x1b @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Covet - .byte 0x1f @ effect ID - .byte CONTEST_CUTE - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Volt Tackle - .byte 0x01 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Magical Leaf - .byte 0x1d @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_GROWTH, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Water Sport - .byte 0x00 @ effect ID - .byte CONTEST_CUTE - .byte COMBO_STARTER_WATER_SPORT @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Calm Mind - .byte 0x04 @ effect ID - .byte CONTEST_SMART - .byte COMBO_STARTER_CALM_MIND @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Leaf Blade - .byte 0x25 @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Dragon Dance - .byte 0x26 @ effect ID - .byte CONTEST_COOL - .byte COMBO_STARTER_DRAGON_DANCE @ combo starter ID - .byte COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Rock Blast - .byte 0x23 @ effect ID - .byte CONTEST_TOUGH - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Shock Wave - .byte 0x1d @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CHARGE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Water Pulse - .byte 0x2b @ effect ID - .byte CONTEST_BEAUTY - .byte 0 @ combo starter ID - .byte COMBO_STARTER_RAIN_DANCE, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Doom Desire - .byte 0x2f @ effect ID - .byte CONTEST_COOL - .byte 0 @ combo starter ID - .byte 0, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding - -@ Psycho Boost - .byte 0x01 @ effect ID - .byte CONTEST_SMART - .byte 0 @ combo starter ID - .byte COMBO_STARTER_CALM_MIND, 0, 0, 0 @ moves this move can follow to make a combo - .byte 0 @ padding diff --git a/data/data2b.s b/data/data2b.s index bf28d13d6..8d20be90f 100644 --- a/data/data2b.s +++ b/data/data2b.s @@ -3929,704 +3929,3 @@ gUnknown_083021D8:: @ 83021D8 .byte 0x46, 0x0a, 0x00, 0x00 .byte 0x37, 0x06, 0x00, 0x00 .byte 0x47, 0x06, 0x00, 0x00 - -@ 83028B8 - .include "data/graphics/pokemon/back_pic_table.inc" - -@ 8303678 - .include "data/graphics/pokemon/palette_table.inc" - -@ 8304438 - .include "data/graphics/pokemon/shiny_palette_table.inc" - -gUnknown_083051F8:: @ 83051F8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083051FC:: @ 83051FC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305200:: @ 8305200 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305204:: @ 8305204 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305208:: @ 8305208 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830520C:: @ 830520C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305210:: @ 8305210 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305214:: @ 8305214 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305218:: @ 8305218 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830521C:: @ 830521C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305220:: @ 8305220 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305224:: @ 8305224 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305228:: @ 8305228 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830522C:: @ 830522C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305230:: @ 8305230 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305234:: @ 8305234 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305238:: @ 8305238 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830523C:: @ 830523C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305240:: @ 8305240 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305244:: @ 8305244 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305248:: @ 8305248 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830524C:: @ 830524C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305250:: @ 8305250 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305254:: @ 8305254 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305258:: @ 8305258 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830525C:: @ 830525C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305260:: @ 8305260 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305264:: @ 8305264 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305268:: @ 8305268 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830526C:: @ 830526C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305270:: @ 8305270 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305274:: @ 8305274 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305278:: @ 8305278 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830527C:: @ 830527C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305280:: @ 8305280 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305284:: @ 8305284 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305288:: @ 8305288 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830528C:: @ 830528C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305290:: @ 8305290 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305294:: @ 8305294 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305298:: @ 8305298 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830529C:: @ 830529C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052A0:: @ 83052A0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052A4:: @ 83052A4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052A8:: @ 83052A8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052AC:: @ 83052AC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052B0:: @ 83052B0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052B4:: @ 83052B4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052B8:: @ 83052B8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052BC:: @ 83052BC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052C0:: @ 83052C0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052C4:: @ 83052C4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052C8:: @ 83052C8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052CC:: @ 83052CC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052D0:: @ 83052D0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052D4:: @ 83052D4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052D8:: @ 83052D8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052DC:: @ 83052DC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052E0:: @ 83052E0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052E4:: @ 83052E4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052E8:: @ 83052E8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052EC:: @ 83052EC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052F0:: @ 83052F0 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052F4:: @ 83052F4 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052F8:: @ 83052F8 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_083052FC:: @ 83052FC - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305300:: @ 8305300 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305304:: @ 8305304 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305308:: @ 8305308 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830530C:: @ 830530C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305310:: @ 8305310 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305314:: @ 8305314 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305318:: @ 8305318 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830531C:: @ 830531C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305320:: @ 8305320 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305324:: @ 8305324 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305328:: @ 8305328 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830532C:: @ 830532C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305330:: @ 8305330 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305334:: @ 8305334 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305338:: @ 8305338 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830533C:: @ 830533C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305340:: @ 8305340 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305344:: @ 8305344 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305348:: @ 8305348 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830534C:: @ 830534C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305350:: @ 8305350 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305354:: @ 8305354 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305358:: @ 8305358 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830535C:: @ 830535C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305360:: @ 8305360 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305364:: @ 8305364 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_08305368:: @ 8305368 - .4byte gAnimCmd_General_Frame0 - - .align 2 -gUnknown_0830536C:: @ 830536C - .4byte gUnknown_083051F8 - .4byte gUnknown_083051FC - .4byte gUnknown_08305200 - .4byte gUnknown_08305204 - .4byte gUnknown_08305208 - .4byte gUnknown_0830520C - .4byte gUnknown_08305210 - .4byte gUnknown_08305214 - .4byte gUnknown_08305218 - .4byte gUnknown_0830521C - .4byte gUnknown_08305220 - .4byte gUnknown_08305224 - .4byte gUnknown_08305228 - .4byte gUnknown_0830522C - .4byte gUnknown_08305230 - .4byte gUnknown_08305234 - .4byte gUnknown_08305238 - .4byte gUnknown_0830523C - .4byte gUnknown_08305240 - .4byte gUnknown_08305244 - .4byte gUnknown_08305248 - .4byte gUnknown_0830524C - .4byte gUnknown_08305250 - .4byte gUnknown_08305254 - .4byte gUnknown_08305258 - .4byte gUnknown_0830525C - .4byte gUnknown_08305260 - .4byte gUnknown_08305264 - .4byte gUnknown_08305268 - .4byte gUnknown_0830526C - .4byte gUnknown_08305270 - .4byte gUnknown_08305274 - .4byte gUnknown_08305278 - .4byte gUnknown_0830527C - .4byte gUnknown_08305280 - .4byte gUnknown_08305284 - .4byte gUnknown_08305288 - .4byte gUnknown_0830528C - .4byte gUnknown_08305290 - .4byte gUnknown_08305294 - .4byte gUnknown_08305298 - .4byte gUnknown_0830529C - .4byte gUnknown_083052A0 - .4byte gUnknown_083052A4 - .4byte gUnknown_083052A8 - .4byte gUnknown_083052AC - .4byte gUnknown_083052B0 - .4byte gUnknown_083052B4 - .4byte gUnknown_083052B8 - .4byte gUnknown_083052BC - .4byte gUnknown_083052C0 - .4byte gUnknown_083052C4 - .4byte gUnknown_083052C8 - .4byte gUnknown_083052CC - .4byte gUnknown_083052D0 - .4byte gUnknown_083052D4 - .4byte gUnknown_083052D8 - .4byte gUnknown_083052DC - .4byte gUnknown_083052E0 - .4byte gUnknown_083052E4 - .4byte gUnknown_083052E8 - .4byte gUnknown_083052EC - .4byte gUnknown_083052F0 - .4byte gUnknown_083052F4 - .4byte gUnknown_083052F8 - .4byte gUnknown_083052FC - .4byte gUnknown_08305300 - .4byte gUnknown_08305304 - .4byte gUnknown_08305308 - .4byte gUnknown_0830530C - .4byte gUnknown_08305310 - .4byte gUnknown_08305314 - .4byte gUnknown_08305318 - .4byte gUnknown_0830531C - .4byte gUnknown_08305320 - .4byte gUnknown_08305324 - .4byte gUnknown_08305328 - .4byte gUnknown_0830532C - .4byte gUnknown_08305330 - .4byte gUnknown_08305334 - .4byte gUnknown_08305338 - .4byte gUnknown_0830533C - .4byte gUnknown_08305340 - .4byte gUnknown_08305344 - .4byte gUnknown_08305348 - .4byte gUnknown_0830534C - .4byte gUnknown_08305350 - .4byte gUnknown_08305354 - .4byte gUnknown_08305358 - .4byte gUnknown_0830535C - .4byte gUnknown_08305360 - .4byte gUnknown_08305364 - .4byte gUnknown_08305368 - -@ 83054E0 - .include "data/graphics/trainers/front_pic_coords.inc" - -@ 8305654 - .include "data/graphics/trainers/front_pic_table.inc" - -@ 830593C - .include "data/graphics/trainers/front_pic_palette_table.inc" - -gUnknown_08305C24:: @ 8305C24 - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C3C:: @ 8305C3C - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C54:: @ 8305C54 - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C6C:: @ 8305C6C - .2byte 0x0001, 0x0014, 0x0002, 0x0006, 0x0003, 0x0006, 0x0004, 0x0018 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C84:: @ 8305C84 - .2byte 0x0001, 0x0014, 0x0002, 0x0006, 0x0003, 0x0006, 0x0004, 0x0018 - .2byte 0x0000, 0x0001, 0xffff, 0x0000 - - .align 2 -gUnknown_08305C9C:: @ 8305C9C - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305CB4:: @ 8305CB4 - .2byte 0x0000, 0x0018, 0x0001, 0x0009, 0x0002, 0x0018, 0x0000, 0x0009 - .2byte 0x0003, 0x0032, 0xffff, 0x0000 - - .align 2 -gUnknown_08305CCC:: @ 8305CCC - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C24 - - .align 2 -gUnknown_08305CD4:: @ 8305CD4 - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C3C - - .align 2 -gUnknown_08305CDC:: @ 8305CDC - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_08305C6C - - .align 2 -gUnknown_08305CE4:: @ 8305CE4 - .4byte gAnimCmd_General_Frame0 - .4byte gUnknown_08305C84 - - .align 2 -gUnknown_08305CEC:: @ 8305CEC - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C9C - - .align 2 -gUnknown_08305CF4:: @ 8305CF4 - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305CB4 - - .align 2 -gUnknown_08305CFC:: @ 8305CFC - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C54 - - .align 2 -gUnknown_08305D04:: @ 8305D04 - .4byte AnimCmd_82FF540 - .4byte gUnknown_08305C3C - - .align 2 -gUnknown_08305D0C:: @ 8305D0C - .4byte gUnknown_08305CCC - .4byte gUnknown_08305CD4 - .4byte gUnknown_08305CDC - .4byte gUnknown_08305CE4 - .4byte gUnknown_08305CEC - .4byte gUnknown_08305CF4 - .4byte gUnknown_08305CFC - .4byte gUnknown_08305D04 - - -@ 8305D2C - .include "data/graphics/trainers/back_pic_coords.inc" - -@ 8305D4C - .include "data/graphics/trainers/back_pic_table.inc" - -@ 8305D8C - .include "data/graphics/trainers/back_pic_palette_table.inc" - -@ 8305DCC - .include "data/enemy_mon_elevation.inc" - -@ 8305F68 - .include "data/graphics/pokemon/front_anims.inc" - -@ 830A18C - .include "data/graphics/pokemon/front_pic_table.inc" - -@ 830AF4C - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000888, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000886, 0x00000886 - .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000886, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000886, 0x00000886 - .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000088 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000088, 0x00000088 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000888 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000088, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000886 - .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000886, 0x00000888 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000888, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000088 - .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000886 - .4byte 0x00000888, 0x00000886, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000888, 0x00000088, 0x00000088, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000088 - .4byte 0x00000886, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000886, 0x00000888, 0x00000088, 0x00000088 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000088 - .4byte 0x00000888, 0x00000888, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000088, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886 - .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000886, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000888, 0x00000888 - .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00001882, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000886, 0x00000088, 0x00000886, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886 - .4byte 0x00000886, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000088 - .4byte 0x00000088, 0x00000886, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000886 - .4byte 0x00000886, 0x00000886, 0x00000886, 0x00000088 - .4byte 0x00000886, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000886, 0x00000886 - .4byte 0x00000886, 0x00000888, 0x00000886, 0x00000886 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000886, 0x00000886, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000088, 0x00000088, 0x00000088 - .4byte 0x00000088, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 - .4byte 0x00000888, 0x00000888, 0x00000888, 0x00000888 diff --git a/data/enemy_mon_elevation.inc b/data/enemy_mon_elevation.inc deleted file mode 100644 index 2dadadd07..000000000 --- a/data/enemy_mon_elevation.inc +++ /dev/null @@ -1,415 +0,0 @@ -@ This determines how much higher above the usual position the enemy Pokémon -@ is during battle. Species that float or fly have nonzero values. -gEnemyMonElevation:: @ 8305DCC - .byte 0 @ 0 - .byte 0 @ SPECIES_BULBASAUR - .byte 0 @ SPECIES_IVYSAUR - .byte 0 @ SPECIES_VENUSAUR - .byte 0 @ SPECIES_CHARMANDER - .byte 0 @ SPECIES_CHARMELEON - .byte 0 @ SPECIES_CHARIZARD - .byte 0 @ SPECIES_SQUIRTLE - .byte 0 @ SPECIES_WARTORTLE - .byte 0 @ SPECIES_BLASTOISE - .byte 0 @ SPECIES_CATERPIE - .byte 0 @ SPECIES_METAPOD - .byte 8 @ SPECIES_BUTTERFREE - .byte 0 @ SPECIES_WEEDLE - .byte 0 @ SPECIES_KAKUNA - .byte 8 @ SPECIES_BEEDRILL - .byte 16 @ SPECIES_PIDGEY - .byte 0 @ SPECIES_PIDGEOTTO - .byte 4 @ SPECIES_PIDGEOT - .byte 0 @ SPECIES_RATTATA - .byte 0 @ SPECIES_RATICATE - .byte 0 @ SPECIES_SPEAROW - .byte 6 @ SPECIES_FEAROW - .byte 0 @ SPECIES_EKANS - .byte 0 @ SPECIES_ARBOK - .byte 0 @ SPECIES_PIKACHU - .byte 0 @ SPECIES_RAICHU - .byte 0 @ SPECIES_SANDSHREW - .byte 0 @ SPECIES_SANDSLASH - .byte 0 @ SPECIES_NIDORAN_F - .byte 0 @ SPECIES_NIDORINA - .byte 0 @ SPECIES_NIDOQUEEN - .byte 0 @ SPECIES_NIDORAN_M - .byte 0 @ SPECIES_NIDORINO - .byte 0 @ SPECIES_NIDOKING - .byte 0 @ SPECIES_CLEFAIRY - .byte 0 @ SPECIES_CLEFABLE - .byte 0 @ SPECIES_VULPIX - .byte 0 @ SPECIES_NINETALES - .byte 0 @ SPECIES_JIGGLYPUFF - .byte 0 @ SPECIES_WIGGLYTUFF - .byte 8 @ SPECIES_ZUBAT - .byte 8 @ SPECIES_GOLBAT - .byte 0 @ SPECIES_ODDISH - .byte 0 @ SPECIES_GLOOM - .byte 0 @ SPECIES_VILEPLUME - .byte 0 @ SPECIES_PARAS - .byte 0 @ SPECIES_PARASECT - .byte 0 @ SPECIES_VENONAT - .byte 8 @ SPECIES_VENOMOTH - .byte 0 @ SPECIES_DIGLETT - .byte 0 @ SPECIES_DUGTRIO - .byte 0 @ SPECIES_MEOWTH - .byte 0 @ SPECIES_PERSIAN - .byte 0 @ SPECIES_PSYDUCK - .byte 0 @ SPECIES_GOLDUCK - .byte 0 @ SPECIES_MANKEY - .byte 0 @ SPECIES_PRIMEAPE - .byte 0 @ SPECIES_GROWLITHE - .byte 0 @ SPECIES_ARCANINE - .byte 0 @ SPECIES_POLIWAG - .byte 0 @ SPECIES_POLIWHIRL - .byte 0 @ SPECIES_POLIWRATH - .byte 0 @ SPECIES_ABRA - .byte 0 @ SPECIES_KADABRA - .byte 0 @ SPECIES_ALAKAZAM - .byte 0 @ SPECIES_MACHOP - .byte 0 @ SPECIES_MACHOKE - .byte 0 @ SPECIES_MACHAMP - .byte 0 @ SPECIES_BELLSPROUT - .byte 0 @ SPECIES_WEEPINBELL - .byte 0 @ SPECIES_VICTREEBEL - .byte 0 @ SPECIES_TENTACOOL - .byte 0 @ SPECIES_TENTACRUEL - .byte 16 @ SPECIES_GEODUDE - .byte 0 @ SPECIES_GRAVELER - .byte 0 @ SPECIES_GOLEM - .byte 0 @ SPECIES_PONYTA - .byte 0 @ SPECIES_RAPIDASH - .byte 0 @ SPECIES_SLOWPOKE - .byte 0 @ SPECIES_SLOWBRO - .byte 16 @ SPECIES_MAGNEMITE - .byte 8 @ SPECIES_MAGNETON - .byte 0 @ SPECIES_FARFETCHD - .byte 0 @ SPECIES_DODUO - .byte 0 @ SPECIES_DODRIO - .byte 0 @ SPECIES_SEEL - .byte 0 @ SPECIES_DEWGONG - .byte 0 @ SPECIES_GRIMER - .byte 0 @ SPECIES_MUK - .byte 0 @ SPECIES_SHELLDER - .byte 0 @ SPECIES_CLOYSTER - .byte 4 @ SPECIES_GASTLY - .byte 4 @ SPECIES_HAUNTER - .byte 0 @ SPECIES_GENGAR - .byte 0 @ SPECIES_ONIX - .byte 0 @ SPECIES_DROWZEE - .byte 0 @ SPECIES_HYPNO - .byte 0 @ SPECIES_KRABBY - .byte 0 @ SPECIES_KINGLER - .byte 10 @ SPECIES_VOLTORB - .byte 12 @ SPECIES_ELECTRODE - .byte 0 @ SPECIES_EXEGGCUTE - .byte 0 @ SPECIES_EXEGGUTOR - .byte 0 @ SPECIES_CUBONE - .byte 0 @ SPECIES_MAROWAK - .byte 0 @ SPECIES_HITMONLEE - .byte 0 @ SPECIES_HITMONCHAN - .byte 0 @ SPECIES_LICKITUNG - .byte 8 @ SPECIES_KOFFING - .byte 6 @ SPECIES_WEEZING - .byte 0 @ SPECIES_RHYHORN - .byte 0 @ SPECIES_RHYDON - .byte 0 @ SPECIES_CHANSEY - .byte 0 @ SPECIES_TANGELA - .byte 0 @ SPECIES_KANGASKHAN - .byte 0 @ SPECIES_HORSEA - .byte 0 @ SPECIES_SEADRA - .byte 0 @ SPECIES_GOLDEEN - .byte 0 @ SPECIES_SEAKING - .byte 0 @ SPECIES_STARYU - .byte 0 @ SPECIES_STARMIE - .byte 0 @ SPECIES_MR_MIME - .byte 0 @ SPECIES_SCYTHER - .byte 0 @ SPECIES_JYNX - .byte 0 @ SPECIES_ELECTABUZZ - .byte 0 @ SPECIES_MAGMAR - .byte 0 @ SPECIES_PINSIR - .byte 0 @ SPECIES_TAUROS - .byte 0 @ SPECIES_MAGIKARP - .byte 0 @ SPECIES_GYARADOS - .byte 0 @ SPECIES_LAPRAS - .byte 0 @ SPECIES_DITTO - .byte 0 @ SPECIES_EEVEE - .byte 0 @ SPECIES_VAPOREON - .byte 0 @ SPECIES_JOLTEON - .byte 0 @ SPECIES_FLAREON - .byte 0 @ SPECIES_PORYGON - .byte 0 @ SPECIES_OMANYTE - .byte 0 @ SPECIES_OMASTAR - .byte 0 @ SPECIES_KABUTO - .byte 0 @ SPECIES_KABUTOPS - .byte 7 @ SPECIES_AERODACTYL - .byte 0 @ SPECIES_SNORLAX - .byte 6 @ SPECIES_ARTICUNO - .byte 8 @ SPECIES_ZAPDOS - .byte 5 @ SPECIES_MOLTRES - .byte 0 @ SPECIES_DRATINI - .byte 0 @ SPECIES_DRAGONAIR - .byte 6 @ SPECIES_DRAGONITE - .byte 0 @ SPECIES_MEWTWO - .byte 8 @ SPECIES_MEW - .byte 0 @ SPECIES_CHIKORITA - .byte 0 @ SPECIES_BAYLEEF - .byte 0 @ SPECIES_MEGANIUM - .byte 0 @ SPECIES_CYNDAQUIL - .byte 0 @ SPECIES_QUILAVA - .byte 0 @ SPECIES_TYPHLOSION - .byte 0 @ SPECIES_TOTODILE - .byte 0 @ SPECIES_CROCONAW - .byte 0 @ SPECIES_FERALIGATR - .byte 0 @ SPECIES_SENTRET - .byte 0 @ SPECIES_FURRET - .byte 0 @ SPECIES_HOOTHOOT - .byte 0 @ SPECIES_NOCTOWL - .byte 0 @ SPECIES_LEDYBA - .byte 8 @ SPECIES_LEDIAN - .byte 0 @ SPECIES_SPINARAK - .byte 0 @ SPECIES_ARIADOS - .byte 6 @ SPECIES_CROBAT - .byte 0 @ SPECIES_CHINCHOU - .byte 0 @ SPECIES_LANTURN - .byte 0 @ SPECIES_PICHU - .byte 0 @ SPECIES_CLEFFA - .byte 0 @ SPECIES_IGGLYBUFF - .byte 0 @ SPECIES_TOGEPI - .byte 0 @ SPECIES_TOGETIC - .byte 0 @ SPECIES_NATU - .byte 0 @ SPECIES_XATU - .byte 0 @ SPECIES_MAREEP - .byte 0 @ SPECIES_FLAAFFY - .byte 0 @ SPECIES_AMPHAROS - .byte 0 @ SPECIES_BELLOSSOM - .byte 0 @ SPECIES_MARILL - .byte 0 @ SPECIES_AZUMARILL - .byte 0 @ SPECIES_SUDOWOODO - .byte 0 @ SPECIES_POLITOED - .byte 11 @ SPECIES_HOPPIP - .byte 12 @ SPECIES_SKIPLOOM - .byte 9 @ SPECIES_JUMPLUFF - .byte 0 @ SPECIES_AIPOM - .byte 0 @ SPECIES_SUNKERN - .byte 0 @ SPECIES_SUNFLORA - .byte 8 @ SPECIES_YANMA - .byte 0 @ SPECIES_WOOPER - .byte 0 @ SPECIES_QUAGSIRE - .byte 0 @ SPECIES_ESPEON - .byte 0 @ SPECIES_UMBREON - .byte 0 @ SPECIES_MURKROW - .byte 0 @ SPECIES_SLOWKING - .byte 8 @ SPECIES_MISDREAVUS - .byte 8 @ SPECIES_UNOWN - .byte 0 @ SPECIES_WOBBUFFET - .byte 0 @ SPECIES_GIRAFARIG - .byte 0 @ SPECIES_PINECO - .byte 0 @ SPECIES_FORRETRESS - .byte 0 @ SPECIES_DUNSPARCE - .byte 6 @ SPECIES_GLIGAR - .byte 0 @ SPECIES_STEELIX - .byte 0 @ SPECIES_SNUBBULL - .byte 0 @ SPECIES_GRANBULL - .byte 0 @ SPECIES_QWILFISH - .byte 0 @ SPECIES_SCIZOR - .byte 0 @ SPECIES_SHUCKLE - .byte 0 @ SPECIES_HERACROSS - .byte 0 @ SPECIES_SNEASEL - .byte 0 @ SPECIES_TEDDIURSA - .byte 0 @ SPECIES_URSARING - .byte 0 @ SPECIES_SLUGMA - .byte 0 @ SPECIES_MAGCARGO - .byte 0 @ SPECIES_SWINUB - .byte 0 @ SPECIES_PILOSWINE - .byte 0 @ SPECIES_CORSOLA - .byte 0 @ SPECIES_REMORAID - .byte 0 @ SPECIES_OCTILLERY - .byte 0 @ SPECIES_DELIBIRD - .byte 0 @ SPECIES_MANTINE - .byte 0 @ SPECIES_SKARMORY - .byte 0 @ SPECIES_HOUNDOUR - .byte 0 @ SPECIES_HOUNDOOM - .byte 0 @ SPECIES_KINGDRA - .byte 0 @ SPECIES_PHANPY - .byte 0 @ SPECIES_DONPHAN - .byte 0 @ SPECIES_PORYGON2 - .byte 0 @ SPECIES_STANTLER - .byte 0 @ SPECIES_SMEARGLE - .byte 0 @ SPECIES_TYROGUE - .byte 0 @ SPECIES_HITMONTOP - .byte 0 @ SPECIES_SMOOCHUM - .byte 0 @ SPECIES_ELEKID - .byte 0 @ SPECIES_MAGBY - .byte 0 @ SPECIES_MILTANK - .byte 0 @ SPECIES_BLISSEY - .byte 0 @ SPECIES_RAIKOU - .byte 0 @ SPECIES_ENTEI - .byte 0 @ SPECIES_SUICUNE - .byte 0 @ SPECIES_LARVITAR - .byte 0 @ SPECIES_PUPITAR - .byte 0 @ SPECIES_TYRANITAR - .byte 6 @ SPECIES_LUGIA - .byte 6 @ SPECIES_HO_OH - .byte 15 @ SPECIES_CELEBI - .byte 0 @ 252 - .byte 0 @ 253 - .byte 0 @ 254 - .byte 0 @ 255 - .byte 0 @ 256 - .byte 0 @ 257 - .byte 0 @ 258 - .byte 0 @ 259 - .byte 0 @ 260 - .byte 0 @ 261 - .byte 0 @ 262 - .byte 0 @ 263 - .byte 0 @ 264 - .byte 0 @ 265 - .byte 0 @ 266 - .byte 0 @ 267 - .byte 0 @ 268 - .byte 0 @ 269 - .byte 0 @ 270 - .byte 0 @ 271 - .byte 0 @ 272 - .byte 0 @ 273 - .byte 0 @ 274 - .byte 0 @ 275 - .byte 0 @ 276 - .byte 0 @ SPECIES_TREECKO - .byte 0 @ SPECIES_GROVYLE - .byte 0 @ SPECIES_SCEPTILE - .byte 0 @ SPECIES_TORCHIC - .byte 0 @ SPECIES_COMBUSKEN - .byte 0 @ SPECIES_BLAZIKEN - .byte 0 @ SPECIES_MUDKIP - .byte 0 @ SPECIES_MARSHTOMP - .byte 0 @ SPECIES_SWAMPERT - .byte 0 @ SPECIES_POOCHYENA - .byte 0 @ SPECIES_MIGHTYENA - .byte 0 @ SPECIES_ZIGZAGOON - .byte 0 @ SPECIES_LINOONE - .byte 0 @ SPECIES_WURMPLE - .byte 0 @ SPECIES_SILCOON - .byte 8 @ SPECIES_BEAUTIFLY - .byte 0 @ SPECIES_CASCOON - .byte 10 @ SPECIES_DUSTOX - .byte 0 @ SPECIES_LOTAD - .byte 0 @ SPECIES_LOMBRE - .byte 0 @ SPECIES_LUDICOLO - .byte 0 @ SPECIES_SEEDOT - .byte 0 @ SPECIES_NUZLEAF - .byte 0 @ SPECIES_SHIFTRY - .byte 0 @ SPECIES_NINCADA - .byte 10 @ SPECIES_NINJASK - .byte 8 @ SPECIES_SHEDINJA - .byte 0 @ SPECIES_TAILLOW - .byte 0 @ SPECIES_SWELLOW - .byte 0 @ SPECIES_SHROOMISH - .byte 0 @ SPECIES_BRELOOM - .byte 0 @ SPECIES_SPINDA - .byte 16 @ SPECIES_WINGULL - .byte 8 @ SPECIES_PELIPPER - .byte 0 @ SPECIES_SURSKIT - .byte 10 @ SPECIES_MASQUERAIN - .byte 0 @ SPECIES_WAILMER - .byte 0 @ SPECIES_WAILORD - .byte 0 @ SPECIES_SKITTY - .byte 0 @ SPECIES_DELCATTY - .byte 0 @ SPECIES_KECLEON - .byte 4 @ SPECIES_BALTOY - .byte 10 @ SPECIES_CLAYDOL - .byte 0 @ SPECIES_NOSEPASS - .byte 0 @ SPECIES_TORKOAL - .byte 0 @ SPECIES_SABLEYE - .byte 0 @ SPECIES_BARBOACH - .byte 0 @ SPECIES_WHISCASH - .byte 0 @ SPECIES_LUVDISC - .byte 0 @ SPECIES_CORPHISH - .byte 0 @ SPECIES_CRAWDAUNT - .byte 0 @ SPECIES_FEEBAS - .byte 0 @ SPECIES_MILOTIC - .byte 0 @ SPECIES_CARVANHA - .byte 0 @ SPECIES_SHARPEDO - .byte 0 @ SPECIES_TRAPINCH - .byte 0 @ SPECIES_VIBRAVA - .byte 7 @ SPECIES_FLYGON - .byte 0 @ SPECIES_MAKUHITA - .byte 0 @ SPECIES_HARIYAMA - .byte 0 @ SPECIES_ELECTRIKE - .byte 0 @ SPECIES_MANECTRIC - .byte 0 @ SPECIES_NUMEL - .byte 0 @ SPECIES_CAMERUPT - .byte 0 @ SPECIES_SPHEAL - .byte 0 @ SPECIES_SEALEO - .byte 0 @ SPECIES_WALREIN - .byte 0 @ SPECIES_CACNEA - .byte 0 @ SPECIES_CACTURNE - .byte 0 @ SPECIES_SNORUNT - .byte 12 @ SPECIES_GLALIE - .byte 13 @ SPECIES_LUNATONE - .byte 4 @ SPECIES_SOLROCK - .byte 0 @ SPECIES_AZURILL - .byte 0 @ SPECIES_SPOINK - .byte 0 @ SPECIES_GRUMPIG - .byte 0 @ SPECIES_PLUSLE - .byte 0 @ SPECIES_MINUN - .byte 0 @ SPECIES_MAWILE - .byte 0 @ SPECIES_MEDITITE - .byte 0 @ SPECIES_MEDICHAM - .byte 12 @ SPECIES_SWABLU - .byte 8 @ SPECIES_ALTARIA - .byte 0 @ SPECIES_WYNAUT - .byte 9 @ SPECIES_DUSKULL - .byte 0 @ SPECIES_DUSCLOPS - .byte 0 @ SPECIES_ROSELIA - .byte 0 @ SPECIES_SLAKOTH - .byte 0 @ SPECIES_VIGOROTH - .byte 0 @ SPECIES_SLAKING - .byte 0 @ SPECIES_GULPIN - .byte 0 @ SPECIES_SWALOT - .byte 0 @ SPECIES_TROPIUS - .byte 0 @ SPECIES_WHISMUR - .byte 0 @ SPECIES_LOUDRED - .byte 0 @ SPECIES_EXPLOUD - .byte 0 @ SPECIES_CLAMPERL - .byte 0 @ SPECIES_HUNTAIL - .byte 0 @ SPECIES_GOREBYSS - .byte 0 @ SPECIES_ABSOL - .byte 12 @ SPECIES_SHUPPET - .byte 8 @ SPECIES_BANETTE - .byte 0 @ SPECIES_SEVIPER - .byte 0 @ SPECIES_ZANGOOSE - .byte 0 @ SPECIES_RELICANTH - .byte 0 @ SPECIES_ARON - .byte 0 @ SPECIES_LAIRON - .byte 0 @ SPECIES_AGGRON - .byte 16 @ SPECIES_CASTFORM - .byte 0 @ SPECIES_VOLBEAT - .byte 0 @ SPECIES_ILLUMISE - .byte 0 @ SPECIES_LILEEP - .byte 0 @ SPECIES_CRADILY - .byte 0 @ SPECIES_ANORITH - .byte 0 @ SPECIES_ARMALDO - .byte 0 @ SPECIES_RALTS - .byte 0 @ SPECIES_KIRLIA - .byte 0 @ SPECIES_GARDEVOIR - .byte 0 @ SPECIES_BAGON - .byte 0 @ SPECIES_SHELGON - .byte 0 @ SPECIES_SALAMENCE - .byte 8 @ SPECIES_BELDUM - .byte 0 @ SPECIES_METANG - .byte 0 @ SPECIES_METAGROSS - .byte 0 @ SPECIES_REGIROCK - .byte 0 @ SPECIES_REGICE - .byte 0 @ SPECIES_REGISTEEL - .byte 0 @ SPECIES_KYOGRE - .byte 0 @ SPECIES_GROUDON - .byte 6 @ SPECIES_RAYQUAZA - .byte 6 @ SPECIES_LATIAS - .byte 6 @ SPECIES_LATIOS - .byte 12 @ SPECIES_JIRACHI - .byte 8 @ SPECIES_DEOXYS - .byte 12 @ SPECIES_CHIMECHO diff --git a/data/graphics/pokemon/back_pic_table.inc b/data/graphics/pokemon/back_pic_table.inc deleted file mode 100644 index b1b477f30..000000000 --- a/data/graphics/pokemon/back_pic_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonBackPicTable:: @ 83028B8 - obj_tiles gMonBackPic_CircledQuestionMark, 0x800, 0 - obj_tiles gMonBackPic_Bulbasaur, 0x800, 1 - obj_tiles gMonBackPic_Ivysaur, 0x800, 2 - obj_tiles gMonBackPic_Venusaur, 0x800, 3 - obj_tiles gMonBackPic_Charmander, 0x800, 4 - obj_tiles gMonBackPic_Charmeleon, 0x800, 5 - obj_tiles gMonBackPic_Charizard, 0x800, 6 - obj_tiles gMonBackPic_Squirtle, 0x800, 7 - obj_tiles gMonBackPic_Wartortle, 0x800, 8 - obj_tiles gMonBackPic_Blastoise, 0x800, 9 - obj_tiles gMonBackPic_Caterpie, 0x800, 10 - obj_tiles gMonBackPic_Metapod, 0x800, 11 - obj_tiles gMonBackPic_Butterfree, 0x800, 12 - obj_tiles gMonBackPic_Weedle, 0x800, 13 - obj_tiles gMonBackPic_Kakuna, 0x800, 14 - obj_tiles gMonBackPic_Beedrill, 0x800, 15 - obj_tiles gMonBackPic_Pidgey, 0x800, 16 - obj_tiles gMonBackPic_Pidgeotto, 0x800, 17 - obj_tiles gMonBackPic_Pidgeot, 0x800, 18 - obj_tiles gMonBackPic_Rattata, 0x800, 19 - obj_tiles gMonBackPic_Raticate, 0x800, 20 - obj_tiles gMonBackPic_Spearow, 0x800, 21 - obj_tiles gMonBackPic_Fearow, 0x800, 22 - obj_tiles gMonBackPic_Ekans, 0x800, 23 - obj_tiles gMonBackPic_Arbok, 0x800, 24 - obj_tiles gMonBackPic_Pikachu, 0x800, 25 - obj_tiles gMonBackPic_Raichu, 0x800, 26 - obj_tiles gMonBackPic_Sandshrew, 0x800, 27 - obj_tiles gMonBackPic_Sandslash, 0x800, 28 - obj_tiles gMonBackPic_NidoranF, 0x800, 29 - obj_tiles gMonBackPic_Nidorina, 0x800, 30 - obj_tiles gMonBackPic_Nidoqueen, 0x800, 31 - obj_tiles gMonBackPic_NidoranM, 0x800, 32 - obj_tiles gMonBackPic_Nidorino, 0x800, 33 - obj_tiles gMonBackPic_Nidoking, 0x800, 34 - obj_tiles gMonBackPic_Clefairy, 0x800, 35 - obj_tiles gMonBackPic_Clefable, 0x800, 36 - obj_tiles gMonBackPic_Vulpix, 0x800, 37 - obj_tiles gMonBackPic_Ninetales, 0x800, 38 - obj_tiles gMonBackPic_Jigglypuff, 0x800, 39 - obj_tiles gMonBackPic_Wigglytuff, 0x800, 40 - obj_tiles gMonBackPic_Zubat, 0x800, 41 - obj_tiles gMonBackPic_Golbat, 0x800, 42 - obj_tiles gMonBackPic_Oddish, 0x800, 43 - obj_tiles gMonBackPic_Gloom, 0x800, 44 - obj_tiles gMonBackPic_Vileplume, 0x800, 45 - obj_tiles gMonBackPic_Paras, 0x800, 46 - obj_tiles gMonBackPic_Parasect, 0x800, 47 - obj_tiles gMonBackPic_Venonat, 0x800, 48 - obj_tiles gMonBackPic_Venomoth, 0x800, 49 - obj_tiles gMonBackPic_Diglett, 0x800, 50 - obj_tiles gMonBackPic_Dugtrio, 0x800, 51 - obj_tiles gMonBackPic_Meowth, 0x800, 52 - obj_tiles gMonBackPic_Persian, 0x800, 53 - obj_tiles gMonBackPic_Psyduck, 0x800, 54 - obj_tiles gMonBackPic_Golduck, 0x800, 55 - obj_tiles gMonBackPic_Mankey, 0x800, 56 - obj_tiles gMonBackPic_Primeape, 0x800, 57 - obj_tiles gMonBackPic_Growlithe, 0x800, 58 - obj_tiles gMonBackPic_Arcanine, 0x800, 59 - obj_tiles gMonBackPic_Poliwag, 0x800, 60 - obj_tiles gMonBackPic_Poliwhirl, 0x800, 61 - obj_tiles gMonBackPic_Poliwrath, 0x800, 62 - obj_tiles gMonBackPic_Abra, 0x800, 63 - obj_tiles gMonBackPic_Kadabra, 0x800, 64 - obj_tiles gMonBackPic_Alakazam, 0x800, 65 - obj_tiles gMonBackPic_Machop, 0x800, 66 - obj_tiles gMonBackPic_Machoke, 0x800, 67 - obj_tiles gMonBackPic_Machamp, 0x800, 68 - obj_tiles gMonBackPic_Bellsprout, 0x800, 69 - obj_tiles gMonBackPic_Weepinbell, 0x800, 70 - obj_tiles gMonBackPic_Victreebel, 0x800, 71 - obj_tiles gMonBackPic_Tentacool, 0x800, 72 - obj_tiles gMonBackPic_Tentacruel, 0x800, 73 - obj_tiles gMonBackPic_Geodude, 0x800, 74 - obj_tiles gMonBackPic_Graveler, 0x800, 75 - obj_tiles gMonBackPic_Golem, 0x800, 76 - obj_tiles gMonBackPic_Ponyta, 0x800, 77 - obj_tiles gMonBackPic_Rapidash, 0x800, 78 - obj_tiles gMonBackPic_Slowpoke, 0x800, 79 - obj_tiles gMonBackPic_Slowbro, 0x800, 80 - obj_tiles gMonBackPic_Magnemite, 0x800, 81 - obj_tiles gMonBackPic_Magneton, 0x800, 82 - obj_tiles gMonBackPic_Farfetchd, 0x800, 83 - obj_tiles gMonBackPic_Doduo, 0x800, 84 - obj_tiles gMonBackPic_Dodrio, 0x800, 85 - obj_tiles gMonBackPic_Seel, 0x800, 86 - obj_tiles gMonBackPic_Dewgong, 0x800, 87 - obj_tiles gMonBackPic_Grimer, 0x800, 88 - obj_tiles gMonBackPic_Muk, 0x800, 89 - obj_tiles gMonBackPic_Shellder, 0x800, 90 - obj_tiles gMonBackPic_Cloyster, 0x800, 91 - obj_tiles gMonBackPic_Gastly, 0x800, 92 - obj_tiles gMonBackPic_Haunter, 0x800, 93 - obj_tiles gMonBackPic_Gengar, 0x800, 94 - obj_tiles gMonBackPic_Onix, 0x800, 95 - obj_tiles gMonBackPic_Drowzee, 0x800, 96 - obj_tiles gMonBackPic_Hypno, 0x800, 97 - obj_tiles gMonBackPic_Krabby, 0x800, 98 - obj_tiles gMonBackPic_Kingler, 0x800, 99 - obj_tiles gMonBackPic_Voltorb, 0x800, 100 - obj_tiles gMonBackPic_Electrode, 0x800, 101 - obj_tiles gMonBackPic_Exeggcute, 0x800, 102 - obj_tiles gMonBackPic_Exeggutor, 0x800, 103 - obj_tiles gMonBackPic_Cubone, 0x800, 104 - obj_tiles gMonBackPic_Marowak, 0x800, 105 - obj_tiles gMonBackPic_Hitmonlee, 0x800, 106 - obj_tiles gMonBackPic_Hitmonchan, 0x800, 107 - obj_tiles gMonBackPic_Lickitung, 0x800, 108 - obj_tiles gMonBackPic_Koffing, 0x800, 109 - obj_tiles gMonBackPic_Weezing, 0x800, 110 - obj_tiles gMonBackPic_Rhyhorn, 0x800, 111 - obj_tiles gMonBackPic_Rhydon, 0x800, 112 - obj_tiles gMonBackPic_Chansey, 0x800, 113 - obj_tiles gMonBackPic_Tangela, 0x800, 114 - obj_tiles gMonBackPic_Kangaskhan, 0x800, 115 - obj_tiles gMonBackPic_Horsea, 0x800, 116 - obj_tiles gMonBackPic_Seadra, 0x800, 117 - obj_tiles gMonBackPic_Goldeen, 0x800, 118 - obj_tiles gMonBackPic_Seaking, 0x800, 119 - obj_tiles gMonBackPic_Staryu, 0x800, 120 - obj_tiles gMonBackPic_Starmie, 0x800, 121 - obj_tiles gMonBackPic_Mrmime, 0x800, 122 - obj_tiles gMonBackPic_Scyther, 0x800, 123 - obj_tiles gMonBackPic_Jynx, 0x800, 124 - obj_tiles gMonBackPic_Electabuzz, 0x800, 125 - obj_tiles gMonBackPic_Magmar, 0x800, 126 - obj_tiles gMonBackPic_Pinsir, 0x800, 127 - obj_tiles gMonBackPic_Tauros, 0x800, 128 - obj_tiles gMonBackPic_Magikarp, 0x800, 129 - obj_tiles gMonBackPic_Gyarados, 0x800, 130 - obj_tiles gMonBackPic_Lapras, 0x800, 131 - obj_tiles gMonBackPic_Ditto, 0x800, 132 - obj_tiles gMonBackPic_Eevee, 0x800, 133 - obj_tiles gMonBackPic_Vaporeon, 0x800, 134 - obj_tiles gMonBackPic_Jolteon, 0x800, 135 - obj_tiles gMonBackPic_Flareon, 0x800, 136 - obj_tiles gMonBackPic_Porygon, 0x800, 137 - obj_tiles gMonBackPic_Omanyte, 0x800, 138 - obj_tiles gMonBackPic_Omastar, 0x800, 139 - obj_tiles gMonBackPic_Kabuto, 0x800, 140 - obj_tiles gMonBackPic_Kabutops, 0x800, 141 - obj_tiles gMonBackPic_Aerodactyl, 0x800, 142 - obj_tiles gMonBackPic_Snorlax, 0x800, 143 - obj_tiles gMonBackPic_Articuno, 0x800, 144 - obj_tiles gMonBackPic_Zapdos, 0x800, 145 - obj_tiles gMonBackPic_Moltres, 0x800, 146 - obj_tiles gMonBackPic_Dratini, 0x800, 147 - obj_tiles gMonBackPic_Dragonair, 0x800, 148 - obj_tiles gMonBackPic_Dragonite, 0x800, 149 - obj_tiles gMonBackPic_Mewtwo, 0x800, 150 - obj_tiles gMonBackPic_Mew, 0x800, 151 - obj_tiles gMonBackPic_Chikorita, 0x800, 152 - obj_tiles gMonBackPic_Bayleef, 0x800, 153 - obj_tiles gMonBackPic_Meganium, 0x800, 154 - obj_tiles gMonBackPic_Cyndaquil, 0x800, 155 - obj_tiles gMonBackPic_Quilava, 0x800, 156 - obj_tiles gMonBackPic_Typhlosion, 0x800, 157 - obj_tiles gMonBackPic_Totodile, 0x800, 158 - obj_tiles gMonBackPic_Croconaw, 0x800, 159 - obj_tiles gMonBackPic_Feraligatr, 0x800, 160 - obj_tiles gMonBackPic_Sentret, 0x800, 161 - obj_tiles gMonBackPic_Furret, 0x800, 162 - obj_tiles gMonBackPic_Hoothoot, 0x800, 163 - obj_tiles gMonBackPic_Noctowl, 0x800, 164 - obj_tiles gMonBackPic_Ledyba, 0x800, 165 - obj_tiles gMonBackPic_Ledian, 0x800, 166 - obj_tiles gMonBackPic_Spinarak, 0x800, 167 - obj_tiles gMonBackPic_Ariados, 0x800, 168 - obj_tiles gMonBackPic_Crobat, 0x800, 169 - obj_tiles gMonBackPic_Chinchou, 0x800, 170 - obj_tiles gMonBackPic_Lanturn, 0x800, 171 - obj_tiles gMonBackPic_Pichu, 0x800, 172 - obj_tiles gMonBackPic_Cleffa, 0x800, 173 - obj_tiles gMonBackPic_Igglybuff, 0x800, 174 - obj_tiles gMonBackPic_Togepi, 0x800, 175 - obj_tiles gMonBackPic_Togetic, 0x800, 176 - obj_tiles gMonBackPic_Natu, 0x800, 177 - obj_tiles gMonBackPic_Xatu, 0x800, 178 - obj_tiles gMonBackPic_Mareep, 0x800, 179 - obj_tiles gMonBackPic_Flaaffy, 0x800, 180 - obj_tiles gMonBackPic_Ampharos, 0x800, 181 - obj_tiles gMonBackPic_Bellossom, 0x800, 182 - obj_tiles gMonBackPic_Marill, 0x800, 183 - obj_tiles gMonBackPic_Azumarill, 0x800, 184 - obj_tiles gMonBackPic_Sudowoodo, 0x800, 185 - obj_tiles gMonBackPic_Politoed, 0x800, 186 - obj_tiles gMonBackPic_Hoppip, 0x800, 187 - obj_tiles gMonBackPic_Skiploom, 0x800, 188 - obj_tiles gMonBackPic_Jumpluff, 0x800, 189 - obj_tiles gMonBackPic_Aipom, 0x800, 190 - obj_tiles gMonBackPic_Sunkern, 0x800, 191 - obj_tiles gMonBackPic_Sunflora, 0x800, 192 - obj_tiles gMonBackPic_Yanma, 0x800, 193 - obj_tiles gMonBackPic_Wooper, 0x800, 194 - obj_tiles gMonBackPic_Quagsire, 0x800, 195 - obj_tiles gMonBackPic_Espeon, 0x800, 196 - obj_tiles gMonBackPic_Umbreon, 0x800, 197 - obj_tiles gMonBackPic_Murkrow, 0x800, 198 - obj_tiles gMonBackPic_Slowking, 0x800, 199 - obj_tiles gMonBackPic_Misdreavus, 0x800, 200 - obj_tiles gMonBackPic_UnownA, 0x800, 201 - obj_tiles gMonBackPic_Wobbuffet, 0x800, 202 - obj_tiles gMonBackPic_Girafarig, 0x800, 203 - obj_tiles gMonBackPic_Pineco, 0x800, 204 - obj_tiles gMonBackPic_Forretress, 0x800, 205 - obj_tiles gMonBackPic_Dunsparce, 0x800, 206 - obj_tiles gMonBackPic_Gligar, 0x800, 207 - obj_tiles gMonBackPic_Steelix, 0x800, 208 - obj_tiles gMonBackPic_Snubbull, 0x800, 209 - obj_tiles gMonBackPic_Granbull, 0x800, 210 - obj_tiles gMonBackPic_Qwilfish, 0x800, 211 - obj_tiles gMonBackPic_Scizor, 0x800, 212 - obj_tiles gMonBackPic_Shuckle, 0x800, 213 - obj_tiles gMonBackPic_Heracross, 0x800, 214 - obj_tiles gMonBackPic_Sneasel, 0x800, 215 - obj_tiles gMonBackPic_Teddiursa, 0x800, 216 - obj_tiles gMonBackPic_Ursaring, 0x800, 217 - obj_tiles gMonBackPic_Slugma, 0x800, 218 - obj_tiles gMonBackPic_Magcargo, 0x800, 219 - obj_tiles gMonBackPic_Swinub, 0x800, 220 - obj_tiles gMonBackPic_Piloswine, 0x800, 221 - obj_tiles gMonBackPic_Corsola, 0x800, 222 - obj_tiles gMonBackPic_Remoraid, 0x800, 223 - obj_tiles gMonBackPic_Octillery, 0x800, 224 - obj_tiles gMonBackPic_Delibird, 0x800, 225 - obj_tiles gMonBackPic_Mantine, 0x800, 226 - obj_tiles gMonBackPic_Skarmory, 0x800, 227 - obj_tiles gMonBackPic_Houndour, 0x800, 228 - obj_tiles gMonBackPic_Houndoom, 0x800, 229 - obj_tiles gMonBackPic_Kingdra, 0x800, 230 - obj_tiles gMonBackPic_Phanpy, 0x800, 231 - obj_tiles gMonBackPic_Donphan, 0x800, 232 - obj_tiles gMonBackPic_Porygon2, 0x800, 233 - obj_tiles gMonBackPic_Stantler, 0x800, 234 - obj_tiles gMonBackPic_Smeargle, 0x800, 235 - obj_tiles gMonBackPic_Tyrogue, 0x800, 236 - obj_tiles gMonBackPic_Hitmontop, 0x800, 237 - obj_tiles gMonBackPic_Smoochum, 0x800, 238 - obj_tiles gMonBackPic_Elekid, 0x800, 239 - obj_tiles gMonBackPic_Magby, 0x800, 240 - obj_tiles gMonBackPic_Miltank, 0x800, 241 - obj_tiles gMonBackPic_Blissey, 0x800, 242 - obj_tiles gMonBackPic_Raikou, 0x800, 243 - obj_tiles gMonBackPic_Entei, 0x800, 244 - obj_tiles gMonBackPic_Suicune, 0x800, 245 - obj_tiles gMonBackPic_Larvitar, 0x800, 246 - obj_tiles gMonBackPic_Pupitar, 0x800, 247 - obj_tiles gMonBackPic_Tyranitar, 0x800, 248 - obj_tiles gMonBackPic_Lugia, 0x800, 249 - obj_tiles gMonBackPic_HoOh, 0x800, 250 - obj_tiles gMonBackPic_Celebi, 0x800, 251 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 252 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 253 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 254 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 255 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 256 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 257 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 258 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 259 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 260 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 261 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 262 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 263 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 264 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 265 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 266 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 267 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 268 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 269 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 270 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 271 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 272 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 273 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 274 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 275 - obj_tiles gMonBackPic_DoubleQuestionMark, 0x800, 276 - obj_tiles gMonBackPic_Treecko, 0x800, 277 - obj_tiles gMonBackPic_Grovyle, 0x800, 278 - obj_tiles gMonBackPic_Sceptile, 0x800, 279 - obj_tiles gMonBackPic_Torchic, 0x800, 280 - obj_tiles gMonBackPic_Combusken, 0x800, 281 - obj_tiles gMonBackPic_Blaziken, 0x800, 282 - obj_tiles gMonBackPic_Mudkip, 0x800, 283 - obj_tiles gMonBackPic_Marshtomp, 0x800, 284 - obj_tiles gMonBackPic_Swampert, 0x800, 285 - obj_tiles gMonBackPic_Poochyena, 0x800, 286 - obj_tiles gMonBackPic_Mightyena, 0x800, 287 - obj_tiles gMonBackPic_Zigzagoon, 0x800, 288 - obj_tiles gMonBackPic_Linoone, 0x800, 289 - obj_tiles gMonBackPic_Wurmple, 0x800, 290 - obj_tiles gMonBackPic_Silcoon, 0x800, 291 - obj_tiles gMonBackPic_Beautifly, 0x800, 292 - obj_tiles gMonBackPic_Cascoon, 0x800, 293 - obj_tiles gMonBackPic_Dustox, 0x800, 294 - obj_tiles gMonBackPic_Lotad, 0x800, 295 - obj_tiles gMonBackPic_Lombre, 0x800, 296 - obj_tiles gMonBackPic_Ludicolo, 0x800, 297 - obj_tiles gMonBackPic_Seedot, 0x800, 298 - obj_tiles gMonBackPic_Nuzleaf, 0x800, 299 - obj_tiles gMonBackPic_Shiftry, 0x800, 300 - obj_tiles gMonBackPic_Nincada, 0x800, 301 - obj_tiles gMonBackPic_Ninjask, 0x800, 302 - obj_tiles gMonBackPic_Shedinja, 0x800, 303 - obj_tiles gMonBackPic_Taillow, 0x800, 304 - obj_tiles gMonBackPic_Swellow, 0x800, 305 - obj_tiles gMonBackPic_Shroomish, 0x800, 306 - obj_tiles gMonBackPic_Breloom, 0x800, 307 - obj_tiles gMonBackPic_Spinda, 0x800, 308 - obj_tiles gMonBackPic_Wingull, 0x800, 309 - obj_tiles gMonBackPic_Pelipper, 0x800, 310 - obj_tiles gMonBackPic_Surskit, 0x800, 311 - obj_tiles gMonBackPic_Masquerain, 0x800, 312 - obj_tiles gMonBackPic_Wailmer, 0x800, 313 - obj_tiles gMonBackPic_Wailord, 0x800, 314 - obj_tiles gMonBackPic_Skitty, 0x800, 315 - obj_tiles gMonBackPic_Delcatty, 0x800, 316 - obj_tiles gMonBackPic_Kecleon, 0x800, 317 - obj_tiles gMonBackPic_Baltoy, 0x800, 318 - obj_tiles gMonBackPic_Claydol, 0x800, 319 - obj_tiles gMonBackPic_Nosepass, 0x800, 320 - obj_tiles gMonBackPic_Torkoal, 0x800, 321 - obj_tiles gMonBackPic_Sableye, 0x800, 322 - obj_tiles gMonBackPic_Barboach, 0x800, 323 - obj_tiles gMonBackPic_Whiscash, 0x800, 324 - obj_tiles gMonBackPic_Luvdisc, 0x800, 325 - obj_tiles gMonBackPic_Corphish, 0x800, 326 - obj_tiles gMonBackPic_Crawdaunt, 0x800, 327 - obj_tiles gMonBackPic_Feebas, 0x800, 328 - obj_tiles gMonBackPic_Milotic, 0x800, 329 - obj_tiles gMonBackPic_Carvanha, 0x800, 330 - obj_tiles gMonBackPic_Sharpedo, 0x800, 331 - obj_tiles gMonBackPic_Trapinch, 0x800, 332 - obj_tiles gMonBackPic_Vibrava, 0x800, 333 - obj_tiles gMonBackPic_Flygon, 0x800, 334 - obj_tiles gMonBackPic_Makuhita, 0x800, 335 - obj_tiles gMonBackPic_Hariyama, 0x800, 336 - obj_tiles gMonBackPic_Electrike, 0x800, 337 - obj_tiles gMonBackPic_Manectric, 0x800, 338 - obj_tiles gMonBackPic_Numel, 0x800, 339 - obj_tiles gMonBackPic_Camerupt, 0x800, 340 - obj_tiles gMonBackPic_Spheal, 0x800, 341 - obj_tiles gMonBackPic_Sealeo, 0x800, 342 - obj_tiles gMonBackPic_Walrein, 0x800, 343 - obj_tiles gMonBackPic_Cacnea, 0x800, 344 - obj_tiles gMonBackPic_Cacturne, 0x800, 345 - obj_tiles gMonBackPic_Snorunt, 0x800, 346 - obj_tiles gMonBackPic_Glalie, 0x800, 347 - obj_tiles gMonBackPic_Lunatone, 0x800, 348 - obj_tiles gMonBackPic_Solrock, 0x800, 349 - obj_tiles gMonBackPic_Azurill, 0x800, 350 - obj_tiles gMonBackPic_Spoink, 0x800, 351 - obj_tiles gMonBackPic_Grumpig, 0x800, 352 - obj_tiles gMonBackPic_Plusle, 0x800, 353 - obj_tiles gMonBackPic_Minun, 0x800, 354 - obj_tiles gMonBackPic_Mawile, 0x800, 355 - obj_tiles gMonBackPic_Meditite, 0x800, 356 - obj_tiles gMonBackPic_Medicham, 0x800, 357 - obj_tiles gMonBackPic_Swablu, 0x800, 358 - obj_tiles gMonBackPic_Altaria, 0x800, 359 - obj_tiles gMonBackPic_Wynaut, 0x800, 360 - obj_tiles gMonBackPic_Duskull, 0x800, 361 - obj_tiles gMonBackPic_Dusclops, 0x800, 362 - obj_tiles gMonBackPic_Roselia, 0x800, 363 - obj_tiles gMonBackPic_Slakoth, 0x800, 364 - obj_tiles gMonBackPic_Vigoroth, 0x800, 365 - obj_tiles gMonBackPic_Slaking, 0x800, 366 - obj_tiles gMonBackPic_Gulpin, 0x800, 367 - obj_tiles gMonBackPic_Swalot, 0x800, 368 - obj_tiles gMonBackPic_Tropius, 0x800, 369 - obj_tiles gMonBackPic_Whismur, 0x800, 370 - obj_tiles gMonBackPic_Loudred, 0x800, 371 - obj_tiles gMonBackPic_Exploud, 0x800, 372 - obj_tiles gMonBackPic_Clamperl, 0x800, 373 - obj_tiles gMonBackPic_Huntail, 0x800, 374 - obj_tiles gMonBackPic_Gorebyss, 0x800, 375 - obj_tiles gMonBackPic_Absol, 0x800, 376 - obj_tiles gMonBackPic_Shuppet, 0x800, 377 - obj_tiles gMonBackPic_Banette, 0x800, 378 - obj_tiles gMonBackPic_Seviper, 0x800, 379 - obj_tiles gMonBackPic_Zangoose, 0x800, 380 - obj_tiles gMonBackPic_Relicanth, 0x800, 381 - obj_tiles gMonBackPic_Aron, 0x800, 382 - obj_tiles gMonBackPic_Lairon, 0x800, 383 - obj_tiles gMonBackPic_Aggron, 0x800, 384 - obj_tiles gMonBackPic_Castform, 0x800, 385 - obj_tiles gMonBackPic_Volbeat, 0x800, 386 - obj_tiles gMonBackPic_Illumise, 0x800, 387 - obj_tiles gMonBackPic_Lileep, 0x800, 388 - obj_tiles gMonBackPic_Cradily, 0x800, 389 - obj_tiles gMonBackPic_Anorith, 0x800, 390 - obj_tiles gMonBackPic_Armaldo, 0x800, 391 - obj_tiles gMonBackPic_Ralts, 0x800, 392 - obj_tiles gMonBackPic_Kirlia, 0x800, 393 - obj_tiles gMonBackPic_Gardevoir, 0x800, 394 - obj_tiles gMonBackPic_Bagon, 0x800, 395 - obj_tiles gMonBackPic_Shelgon, 0x800, 396 - obj_tiles gMonBackPic_Salamence, 0x800, 397 - obj_tiles gMonBackPic_Beldum, 0x800, 398 - obj_tiles gMonBackPic_Metang, 0x800, 399 - obj_tiles gMonBackPic_Metagross, 0x800, 400 - obj_tiles gMonBackPic_Regirock, 0x800, 401 - obj_tiles gMonBackPic_Regice, 0x800, 402 - obj_tiles gMonBackPic_Registeel, 0x800, 403 - obj_tiles gMonBackPic_Kyogre, 0x800, 404 - obj_tiles gMonBackPic_Groudon, 0x800, 405 - obj_tiles gMonBackPic_Rayquaza, 0x800, 406 - obj_tiles gMonBackPic_Latias, 0x800, 407 - obj_tiles gMonBackPic_Latios, 0x800, 408 - obj_tiles gMonBackPic_Jirachi, 0x800, 409 - obj_tiles gMonBackPic_Deoxys, 0x800, 410 - obj_tiles gMonBackPic_Chimecho, 0x800, 411 - obj_tiles gMonStillFrontPic_Egg, 0x800, 412 - obj_tiles gMonBackPic_UnownB, 0x800, 413 - obj_tiles gMonBackPic_UnownC, 0x800, 414 - obj_tiles gMonBackPic_UnownD, 0x800, 415 - obj_tiles gMonBackPic_UnownE, 0x800, 416 - obj_tiles gMonBackPic_UnownF, 0x800, 417 - obj_tiles gMonBackPic_UnownG, 0x800, 418 - obj_tiles gMonBackPic_UnownH, 0x800, 419 - obj_tiles gMonBackPic_UnownI, 0x800, 420 - obj_tiles gMonBackPic_UnownJ, 0x800, 421 - obj_tiles gMonBackPic_UnownK, 0x800, 422 - obj_tiles gMonBackPic_UnownL, 0x800, 423 - obj_tiles gMonBackPic_UnownM, 0x800, 424 - obj_tiles gMonBackPic_UnownN, 0x800, 425 - obj_tiles gMonBackPic_UnownO, 0x800, 426 - obj_tiles gMonBackPic_UnownP, 0x800, 427 - obj_tiles gMonBackPic_UnownQ, 0x800, 428 - obj_tiles gMonBackPic_UnownR, 0x800, 429 - obj_tiles gMonBackPic_UnownS, 0x800, 430 - obj_tiles gMonBackPic_UnownT, 0x800, 431 - obj_tiles gMonBackPic_UnownU, 0x800, 432 - obj_tiles gMonBackPic_UnownV, 0x800, 433 - obj_tiles gMonBackPic_UnownW, 0x800, 434 - obj_tiles gMonBackPic_UnownX, 0x800, 435 - obj_tiles gMonBackPic_UnownY, 0x800, 436 - obj_tiles gMonBackPic_UnownZ, 0x800, 437 - obj_tiles gMonBackPic_UnownExclamationMark, 0x800, 438 - obj_tiles gMonBackPic_UnownQuestionMark, 0x800, 439 diff --git a/data/graphics/pokemon/front_anims.inc b/data/graphics/pokemon/front_anims.inc deleted file mode 100644 index 69341c88d..000000000 --- a/data/graphics/pokemon/front_anims.inc +++ /dev/null @@ -1,6915 +0,0 @@ - - .align 2 -gAnimCmd_NONE_1:: @ 8305F68 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_BULBASAUR_1:: @ 8305F78 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_IVYSAUR_1:: @ 8305F88 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 36 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_VENUSAUR_1:: @ 8305F98 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CHARMANDER_1:: @ 8305FA8 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 46 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CHARMELEON_1:: @ 8305FB8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_CHARIZARD_1:: @ 8305FC8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SQUIRTLE_1:: @ 8305FD4 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_WARTORTLE_1:: @ 8305FE4 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_BLASTOISE_1:: @ 8305FF4 - obj_image_anim_frame 0, 50 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CATERPIE_1:: @ 830600C - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_METAPOD_1:: @ 8306030 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_BUTTERFREE_1:: @ 830603C - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_WEEDLE_1:: @ 8306074 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_KAKUNA_1:: @ 8306094 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_BEEDRILL_1:: @ 83060C4 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PIDGEY_1:: @ 83060DC - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PIDGEOTTO_1:: @ 8306110 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_PIDGEOT_1:: @ 8306128 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_RATTATA_1:: @ 830613C - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 28 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_RATICATE_1:: @ 8306150 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SPEAROW_1:: @ 8306184 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_FEAROW_1:: @ 83061C8 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_EKANS_1:: @ 83061EC - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_ARBOK_1:: @ 8306208 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PIKACHU_1:: @ 8306218 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PIKACHU_2:: @ 8306230 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_RAICHU_1:: @ 8306244 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_RAICHU_2:: @ 830625C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SANDSHREW_1:: @ 8306270 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SANDSHREW_2:: @ 8306288 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SANDSLASH_1:: @ 830629C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SANDSLASH_2:: @ 83062B4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDORAN_F_1:: @ 83062C8 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 50 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDORINA_1:: @ 83062F0 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDOQUEEN_1:: @ 83062FC - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDORAN_M_1:: @ 8306308 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDORINO_1:: @ 8306318 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_NIDOKING_1:: @ 8306328 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CLEFAIRY_1:: @ 830633C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CLEFABLE_1:: @ 830634C - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 24 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_VULPIX_1:: @ 8306368 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_VULPIX_2:: @ 8306380 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_NINETALES_1:: @ 8306394 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_NINETALES_2:: @ 83063AC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_JIGGLYPUFF_1:: @ 83063C0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_JIGGLYPUFF_2:: @ 83063D8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_WIGGLYTUFF_1:: @ 83063EC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_WIGGLYTUFF_2:: @ 8306404 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_ZUBAT_1:: @ 8306418 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLBAT_1:: @ 8306450 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_ODDISH_1:: @ 83064A0 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_GLOOM_1:: @ 83064C0 - obj_image_anim_frame 0, 21 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_VILEPLUME_1:: @ 83064D4 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 21 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 21 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PARAS_1:: @ 83064EC - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_PARASECT_1:: @ 8306530 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_VENONAT_1:: @ 830654C - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 35 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_VENOMOTH_1:: @ 8306568 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gAnimCmd_DIGLETT_1:: @ 83065C4 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_DUGTRIO_1:: @ 83065D4 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MEOWTH_1:: @ 8306600 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 17 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PERSIAN_1:: @ 830661C - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PSYDUCK_1:: @ 8306628 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PSYDUCK_2:: @ 8306640 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLDUCK_1:: @ 8306654 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLDUCK_2:: @ 830666C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MANKEY_1:: @ 8306680 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_PRIMEAPE_1:: @ 830669C - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GROWLITHE_1:: @ 83066B8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ARCANINE_1:: @ 83066D4 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_POLIWAG_1:: @ 83066F0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_POLIWHIRL_1:: @ 8306700 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_POLIWRATH_1:: @ 8306718 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ABRA_1:: @ 8306724 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 21 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 21 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KADABRA_1:: @ 830673C - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ALAKAZAM_1:: @ 830674C - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 54 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_MACHOP_1:: @ 830675C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MACHOKE_1:: @ 830677C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MACHAMP_1:: @ 830678C - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_BELLSPROUT_1:: @ 83067AC - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_WEEPINBELL_1:: @ 83067BC - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_VICTREEBEL_1:: @ 83067DC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TENTACOOL_1:: @ 83067FC - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_TENTACRUEL_1:: @ 8306814 - obj_image_anim_frame 0, 19 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 19 - obj_image_anim_frame 1, 19 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_GEODUDE_1:: @ 830682C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 36 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GRAVELER_1:: @ 830683C - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLEM_1:: @ 8306854 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 31 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_PONYTA_1:: @ 830686C - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_RAPIDASH_1:: @ 8306878 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SLOWPOKE_1:: @ 8306888 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SLOWBRO_1:: @ 8306898 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGNEMITE_1:: @ 83068A8 - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 28 - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 28 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGNETON_1:: @ 83068C0 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_end - - .align 2 -gAnimCmd_FARFETCHD_1:: @ 83068E0 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_DODUO_1:: @ 8306914 - obj_image_anim_frame 0, 18 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 18 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DODRIO_1:: @ 830692C - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_SEEL_1:: @ 8306954 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DEWGONG_1:: @ 8306978 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_GRIMER_1:: @ 8306988 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GRIMER_2:: @ 83069A0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MUK_1:: @ 83069B4 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MUK_2:: @ 83069CC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SHELLDER_1:: @ 83069E0 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_CLOYSTER_1:: @ 83069F4 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_GASTLY_1:: @ 8306A38 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HAUNTER_1:: @ 8306A48 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GENGAR_1:: @ 8306A60 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ONIX_1:: @ 8306A70 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_DROWZEE_1:: @ 8306A80 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HYPNO_1:: @ 8306A9C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_KRABBY_1:: @ 8306ABC - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_KINGLER_1:: @ 8306AD8 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_VOLTORB_1:: @ 8306B00 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gAnimCmd_ELECTRODE_1:: @ 8306B18 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_EXEGGCUTE_1:: @ 8306B30 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_EXEGGUTOR_1:: @ 8306B58 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CUBONE_1:: @ 8306B64 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_end - - .align 2 -gAnimCmd_MAROWAK_1:: @ 8306B80 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_end - - .align 2 -gAnimCmd_HITMONLEE_1:: @ 8306B9C - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_HITMONCHAN_1:: @ 8306BA8 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LICKITUNG_1:: @ 8306BCC - obj_image_anim_frame 0, 28 - obj_image_anim_frame 1, 32 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_KOFFING_1:: @ 8306BDC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KOFFING_2:: @ 8306BF4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_WEEZING_1:: @ 8306C08 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_WEEZING_2:: @ 8306C20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_RHYHORN_1:: @ 8306C34 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_RHYHORN_2:: @ 8306C4C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_RHYDON_1:: @ 8306C60 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 48 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_RHYDON_2:: @ 8306C78 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CHANSEY_1:: @ 8306C8C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_TANGELA_1:: @ 8306C9C - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_end - - .align 2 -gAnimCmd_KANGASKHAN_1:: @ 8306CC8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HORSEA_1:: @ 8306CDC - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HORSEA_2:: @ 8306CF4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SEADRA_1:: @ 8306D08 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SEADRA_2:: @ 8306D20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GOLDEEN_1:: @ 8306D34 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SEAKING_1:: @ 8306D5C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STARYU_1:: @ 8306D74 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STARYU_2:: @ 8306D8C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_STARMIE_1:: @ 8306DA0 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STARMIE_2:: @ 8306DB8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MR_MIME_1:: @ 8306DCC - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SCYTHER_1:: @ 8306DE8 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_JYNX_1:: @ 8306E0C - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ELECTABUZZ_1:: @ 8306E24 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGMAR_1:: @ 8306E38 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PINSIR_1:: @ 8306E44 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PINSIR_2:: @ 8306E5C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_TAUROS_1:: @ 8306E70 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGIKARP_1:: @ 8306E84 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_GYARADOS_1:: @ 8306EAC - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 32 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LAPRAS_1:: @ 8306EBC - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DITTO_1:: @ 8306EC8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_EEVEE_1:: @ 8306EDC - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_VAPOREON_1:: @ 8306EE8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_JOLTEON_1:: @ 8306EF4 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_FLAREON_1:: @ 8306F00 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_PORYGON_1:: @ 8306F0C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_OMANYTE_1:: @ 8306F20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_OMASTAR_1:: @ 8306F44 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KABUTO_1:: @ 8306F58 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_KABUTOPS_1:: @ 8306F7C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_AERODACTYL_1:: @ 8306F90 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 25 - obj_image_anim_end - - .align 2 -gAnimCmd_SNORLAX_1:: @ 8306FA4 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ARTICUNO_1:: @ 8306FB4 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ZAPDOS_1:: @ 8306FC8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MOLTRES_1:: @ 8306FDC - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_DRATINI_1:: @ 8307060 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DRAGONAIR_1:: @ 8307070 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DRAGONITE_1:: @ 8307084 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MEWTWO_1:: @ 8307094 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MEW_1:: @ 83070A0 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CHIKORITA_1:: @ 83070B0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_BAYLEEF_1:: @ 83070C0 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_MEGANIUM_1:: @ 83070CC - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CYNDAQUIL_1:: @ 83070D8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_QUILAVA_1:: @ 83070EC - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_TYPHLOSION_1:: @ 83070F8 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TOTODILE_1:: @ 8307104 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_CROCONAW_1:: @ 8307120 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_FERALIGATR_1:: @ 830712C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 40 - obj_image_anim_end - - .align 2 -gAnimCmd_SENTRET_1:: @ 8307140 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_FURRET_1:: @ 8307154 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_HOOTHOOT_1:: @ 8307160 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_NOCTOWL_1:: @ 8307194 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LEDYBA_1:: @ 83071A0 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LEDIAN_1:: @ 83071B4 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_SPINARAK_1:: @ 8307220 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_ARIADOS_1:: @ 8307244 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CROBAT_1:: @ 8307258 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gAnimCmd_CHINCHOU_1:: @ 83072A0 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CHINCHOU_2:: @ 83072B8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LANTURN_1:: @ 83072CC - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LANTURN_2:: @ 83072E4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PICHU_1:: @ 83072F8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PICHU_2:: @ 8307310 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CLEFFA_1:: @ 8307324 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_IGGLYBUFF_1:: @ 8307338 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_IGGLYBUFF_2:: @ 8307350 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_TOGEPI_1:: @ 8307364 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TOGETIC_1:: @ 8307374 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_NATU_1:: @ 8307384 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_NATU_2:: @ 830739C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_XATU_1:: @ 83073B0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 45 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_XATU_2:: @ 83073D0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MAREEP_1:: @ 83073E4 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_FLAAFFY_1:: @ 8307400 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_AMPHAROS_1:: @ 8307414 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_BELLOSSOM_1:: @ 8307424 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_MARILL_1:: @ 8307444 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_AZUMARILL_1:: @ 830745C - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SUDOWOODO_1:: @ 8307474 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_POLITOED_1:: @ 8307490 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_HOPPIP_1:: @ 83074AC - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 25 - obj_image_anim_end - - .align 2 -gAnimCmd_SKIPLOOM_1:: @ 83074C0 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_JUMPLUFF_1:: @ 83074E4 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 25 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_AIPOM_1:: @ 8307500 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SUNKERN_1:: @ 830750C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SUNFLORA_1:: @ 8307520 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_YANMA_1:: @ 8307530 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gAnimCmd_WOOPER_1:: @ 830758C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_QUAGSIRE_1:: @ 830759C - obj_image_anim_frame 1, 32 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_ESPEON_1:: @ 83075A8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_UMBREON_1:: @ 83075B8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MURKROW_1:: @ 83075C4 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SLOWKING_1:: @ 83075D0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_MISDREAVUS_1:: @ 83075E0 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_1:: @ 830760C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_WOBBUFFET_1:: @ 830761C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_WOBBUFFET_2:: @ 8307634 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GIRAFARIG_1:: @ 8307648 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GIRAFARIG_2:: @ 8307668 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PINECO_1:: @ 830767C - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_FORRETRESS_1:: @ 83076A0 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DUNSPARCE_1:: @ 83076B4 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GLIGAR_1:: @ 83076C8 - obj_image_anim_frame 1, 17 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STEELIX_1:: @ 83076D4 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SNUBBULL_1:: @ 83076F0 - obj_image_anim_frame 1, 32 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GRANBULL_1:: @ 83076FC - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_QWILFISH_1:: @ 8307708 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_SCIZOR_1:: @ 8307728 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SHUCKLE_1:: @ 8307734 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_HERACROSS_1:: @ 8307744 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HERACROSS_2:: @ 830775C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SNEASEL_1:: @ 8307770 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_TEDDIURSA_1:: @ 830777C - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_URSARING_1:: @ 8307788 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SLUGMA_1:: @ 8307794 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SLUGMA_2:: @ 83077AC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGCARGO_1:: @ 83077C0 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGCARGO_2:: @ 83077D8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SWINUB_1:: @ 83077EC - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PILOSWINE_1:: @ 8307800 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CORSOLA_1:: @ 8307814 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_CORSOLA_2:: @ 830782C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_REMORAID_1:: @ 8307840 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_OCTILLERY_1:: @ 8307854 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_DELIBIRD_1:: @ 8307868 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MANTINE_1:: @ 830787C - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 40 - obj_image_anim_end - - .align 2 -gAnimCmd_SKARMORY_1:: @ 8307890 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SKARMORY_2:: @ 83078A8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_HOUNDOUR_1:: @ 83078BC - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HOUNDOOM_1:: @ 83078D0 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_KINGDRA_1:: @ 83078DC - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KINGDRA_2:: @ 83078F4 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PHANPY_1:: @ 8307908 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PHANPY_2:: @ 8307928 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_DONPHAN_1:: @ 830793C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DONPHAN_2:: @ 830795C - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_PORYGON2_1:: @ 8307970 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_STANTLER_1:: @ 8307988 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SMEARGLE_1:: @ 8307994 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TYROGUE_1:: @ 83079A8 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_HITMONTOP_1:: @ 83079B4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gAnimCmd_SMOOCHUM_1:: @ 83079E4 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ELEKID_1:: @ 8307A00 - obj_image_anim_frame 1, 50 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_MAGBY_1:: @ 8307A10 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MILTANK_1:: @ 8307A30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_BLISSEY_1:: @ 8307A3C - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_RAIKOU_1:: @ 8307A48 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_ENTEI_1:: @ 8307A5C - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SUICUNE_1:: @ 8307A68 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LARVITAR_1:: @ 8307A74 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_PUPITAR_1:: @ 8307A88 - obj_image_anim_frame 1, 40 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TYRANITAR_1:: @ 8307A94 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LUGIA_1:: @ 8307AA8 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_HO_OH_1:: @ 8307AB4 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CELEBI_1:: @ 8307AC0 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_OLD_UNOWN_B_1:: @ 8307AD4 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_TREECKO_1:: @ 8307AE4 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_GROVYLE_1:: @ 8307AFC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_SCEPTILE_1:: @ 8307B14 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 26 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_TORCHIC_1:: @ 8307B24 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_COMBUSKEN_1:: @ 8307B44 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 12 - obj_image_anim_end - - .align 2 -gAnimCmd_BLAZIKEN_1:: @ 8307B54 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_BLAZIKEN_2:: @ 8307B6C - obj_image_anim_frame 0, 1 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_BLAZIKEN_3:: @ 8307B7C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 2, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_BLAZIKEN_4:: @ 8307B88 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MUDKIP_1:: @ 8307B90 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 13 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_MARSHTOMP_1:: @ 8307BA8 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_SWAMPERT_1:: @ 8307BD0 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 18 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_POOCHYENA_1:: @ 8307BE8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MIGHTYENA_1:: @ 8307BF8 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_ZIGZAGOON_1:: @ 8307C10 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_LINOONE_1:: @ 8307C28 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_end - - .align 2 -gAnimCmd_WURMPLE_1:: @ 8307C40 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SILCOON_1:: @ 8307C50 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SILCOON_2:: @ 8307C60 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_BEAUTIFLY_1:: @ 8307C68 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gAnimCmd_BEAUTIFLY_2:: @ 8307C90 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CASCOON_1:: @ 8307C98 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CASCOON_2:: @ 8307CB0 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_DUSTOX_1:: @ 8307CB8 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_DUSTOX_2:: @ 8307CF8 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_LOTAD_1:: @ 8307D00 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 55 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_LOMBRE_1:: @ 8307D10 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_LUDICOLO_1:: @ 8307D28 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_SEEDOT_1:: @ 8307D48 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_NUZLEAF_1:: @ 8307D70 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_SHIFTRY_1:: @ 8307D98 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_NINCADA_1:: @ 8307DA8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_NINJASK_1:: @ 8307DC0 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SHEDINJA_1:: @ 8307E0C - obj_image_anim_frame 0, 33 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_TAILLOW_1:: @ 8307E24 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_SWELLOW_1:: @ 8307E4C - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SHROOMISH_1:: @ 8307E5C - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_BRELOOM_1:: @ 8307E8C - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 7 - obj_image_anim_end - - .align 2 -gAnimCmd_WINGULL_1:: @ 8307EA4 - obj_image_anim_frame 0, 17 - obj_image_anim_frame 1, 23 - obj_image_anim_frame 0, 13 - obj_image_anim_end - - .align 2 -gAnimCmd_PELIPPER_1:: @ 8307EB4 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_SURSKIT_1:: @ 8307EDC - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_SURSKIT_2:: @ 8307EF4 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_MASQUERAIN_1:: @ 8307EFC - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_MASQUERAIN_2:: @ 8307F24 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_WAILMER_1:: @ 8307F2C - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_WAILORD_1:: @ 8307F4C - obj_image_anim_frame 0, 26 - obj_image_anim_frame 1, 48 - obj_image_anim_frame 0, 33 - obj_image_anim_end - - .align 2 -gAnimCmd_SKITTY_1:: @ 8307F5C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 35 - obj_image_anim_frame 0, 9 - obj_image_anim_end - - .align 2 -gAnimCmd_DELCATTY_1:: @ 8307F6C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 46 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KECLEON_1:: @ 8307F7C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_BALTOY_1:: @ 8307F94 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_CLAYDOL_1:: @ 8307FB4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_NOSEPASS_1:: @ 8307FD4 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 27 - obj_image_anim_frame 1, 27 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_TORKOAL_1:: @ 8307FF4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SABLEYE_1:: @ 830800C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_BARBOACH_1:: @ 8308024 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_WHISCASH_1:: @ 830805C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_LUVDISC_1:: @ 8308094 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CORPHISH_1:: @ 83080AC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_CRAWDAUNT_1:: @ 83080CC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_FEEBAS_1:: @ 83080E4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_MILOTIC_1:: @ 8308104 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CARVANHA_1:: @ 8308124 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_SHARPEDO_1:: @ 830814C - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_TRAPINCH_1:: @ 8308174 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_VIBRAVA_1:: @ 830818C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_FLYGON_1:: @ 83081AC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_MAKUHITA_1:: @ 83081CC - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_HARIYAMA_1:: @ 83081F4 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_ELECTRIKE_1:: @ 8308208 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 17 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_MANECTRIC_1:: @ 8308220 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gAnimCmd_NUMEL_1:: @ 8308238 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 40 - obj_image_anim_end - - .align 2 -gAnimCmd_CAMERUPT_1:: @ 8308250 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SPHEAL_1:: @ 8308270 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 43 - obj_image_anim_frame 1, 60 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SEALEO_1:: @ 8308294 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_WALREIN_1:: @ 83082AC - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CACNEA_1:: @ 83082C4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CACTURNE_1:: @ 83082F4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SNORUNT_1:: @ 830830C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GLALIE_1:: @ 8308324 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_LUNATONE_1:: @ 830833C - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_LUNATONE_2:: @ 8308354 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_SOLROCK_1:: @ 8308368 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SOLROCK_2:: @ 8308380 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_AZURILL_1:: @ 8308394 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 12 - obj_image_anim_frame 0, 12 - obj_image_anim_end - - .align 2 -gAnimCmd_SPOINK_1:: @ 83083B4 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GRUMPIG_1:: @ 83083E4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_PLUSLE_1:: @ 83083FC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MINUN_1:: @ 8308414 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MAWILE_1:: @ 830842C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_MEDITITE_1:: @ 830844C - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_MEDICHAM_1:: @ 830845C - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SWABLU_1:: @ 830847C - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_SWABLU_2:: @ 830849C - obj_image_anim_frame 0, 1 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 2, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_ALTARIA_1:: @ 83084B8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ALTARIA_2:: @ 83084D0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_WYNAUT_1:: @ 83084E4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DUSKULL_1:: @ 83084FC - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_DUSCLOPS_1:: @ 8308514 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ROSELIA_1:: @ 830852C - obj_image_anim_frame 0, 18 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_SLAKOTH_1:: @ 830853C - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_VIGOROTH_1:: @ 8308558 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 13 - obj_image_anim_frame 1, 7 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_SLAKING_1:: @ 8308578 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_end - - .align 2 -gAnimCmd_GULPIN_1:: @ 8308598 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gAnimCmd_SWALOT_1:: @ 83085B0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gAnimCmd_TROPIUS_1:: @ 83085C4 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_WHISMUR_1:: @ 83085DC - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_end - - .align 2 -gAnimCmd_LOUDRED_1:: @ 8308608 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 9 - obj_image_anim_frame 0, 33 - obj_image_anim_end - - .align 2 -gAnimCmd_EXPLOUD_1:: @ 8308620 - obj_image_anim_frame 0, 9 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 9 - obj_image_anim_end - - .align 2 -gAnimCmd_CLAMPERL_1:: @ 8308630 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_HUNTAIL_1:: @ 8308648 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_GOREBYSS_1:: @ 8308660 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ABSOL_1:: @ 8308678 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SHUPPET_1:: @ 8308690 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_BANETTE_1:: @ 83086B0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SEVIPER_1:: @ 83086D0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_ZANGOOSE_1:: @ 83086F0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 50 - obj_image_anim_end - - .align 2 -gAnimCmd_RELICANTH_1:: @ 8308710 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ARON_1:: @ 8308728 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 33 - obj_image_anim_frame 1, 33 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_LAIRON_1:: @ 8308740 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 1, 29 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 29 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_AGGRON_1:: @ 8308758 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 44 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_CASTFORM_0:: @ 8308768 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CASTFORM_1:: @ 8308770 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CASTFORM_2:: @ 8308778 - obj_image_anim_frame 2, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_CASTFORM_3:: @ 8308780 - obj_image_anim_frame 3, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_VOLBEAT_1:: @ 8308788 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 11 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gAnimCmd_ILLUMISE_1:: @ 83087A8 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_frame 0, 11 - obj_image_anim_end - - .align 2 -gAnimCmd_LILEEP_1:: @ 83087C0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_CRADILY_1:: @ 83087D8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ANORITH_1:: @ 83087F8 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_ARMALDO_1:: @ 8308818 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_RALTS_1:: @ 8308830 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 25 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_KIRLIA_1:: @ 8308840 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 39 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GARDEVOIR_1:: @ 8308850 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 3 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_BAGON_1:: @ 8308888 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SHELGON_1:: @ 83088A0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_SALAMENCE_1:: @ 83088B8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_BELDUM_1:: @ 83088D0 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_METANG_1:: @ 83088E8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gAnimCmd_METAGROSS_1:: @ 8308900 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gAnimCmd_REGIROCK_1:: @ 8308918 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_REGIROCK_2:: @ 8308930 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_REGICE_1:: @ 8308944 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 18 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_REGISTEEL_1:: @ 830895C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_REGISTEEL_2:: @ 8308974 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_KYOGRE_1:: @ 8308988 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_KYOGRE_2:: @ 83089A0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_GROUDON_1:: @ 83089B4 - obj_image_anim_frame 0, 11 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 20 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_GROUDON_2:: @ 83089CC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_RAYQUAZA_1:: @ 83089E0 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_RAYQUAZA_2:: @ 83089F8 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LATIAS_1:: @ 8308A0C - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LATIAS_2:: @ 8308A24 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_LATIOS_1:: @ 8308A38 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_LATIOS_2:: @ 8308A50 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_JIRACHI_1:: @ 8308A64 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gAnimCmd_JIRACHI_2:: @ 8308A90 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_DEOXYS_1:: @ 8308AA4 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 26 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gAnimCmd_DEOXYS_2:: @ 8308ABC - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 2, 20 - obj_image_anim_end - - .align 2 -gAnimCmd_CHIMECHO_1:: @ 8308AD0 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 0, 15 - obj_image_anim_end - - .align 2 -gAnimCmd_EGG_1:: @ 8308AF8 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 2, 6 - obj_image_anim_frame 3, 6 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_B_1:: @ 8308B0C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_C_1:: @ 8308B1C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_D_1:: @ 8308B2C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_E_1:: @ 8308B3C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_F_1:: @ 8308B4C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_G_1:: @ 8308B5C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_H_1:: @ 8308B6C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_I_1:: @ 8308B7C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_J_1:: @ 8308B8C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_K_1:: @ 8308B9C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_L_1:: @ 8308BAC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_M_1:: @ 8308BBC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_N_1:: @ 8308BCC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_O_1:: @ 8308BDC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_P_1:: @ 8308BEC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_Q_1:: @ 8308BFC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_R_1:: @ 8308C0C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_S_1:: @ 8308C1C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_T_1:: @ 8308C2C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_U_1:: @ 8308C3C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_V_1:: @ 8308C4C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_W_1:: @ 8308C5C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_X_1:: @ 8308C6C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_Y_1:: @ 8308C7C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_Z_1:: @ 8308C8C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_EMARK_1:: @ 8308C9C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnimCmd_UNOWN_QMARK_1:: @ 8308CAC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gAnims_NONE:: @ 8308CBC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NONE_1 - - .align 2 -gAnims_BULBASAUR:: @ 8308CC4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BULBASAUR_1 - - .align 2 -gAnims_IVYSAUR:: @ 8308CCC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_IVYSAUR_1 - - .align 2 -gAnims_VENUSAUR:: @ 8308CD4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VENUSAUR_1 - - .align 2 -gAnims_CHARMANDER:: @ 8308CDC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHARMANDER_1 - - .align 2 -gAnims_CHARMELEON:: @ 8308CE4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHARMELEON_1 - - .align 2 -gAnims_CHARIZARD:: @ 8308CEC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHARIZARD_1 - - .align 2 -gAnims_SQUIRTLE:: @ 8308CF4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SQUIRTLE_1 - - .align 2 -gAnims_WARTORTLE:: @ 8308CFC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WARTORTLE_1 - - .align 2 -gAnims_BLASTOISE:: @ 8308D04 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BLASTOISE_1 - - .align 2 -gAnims_CATERPIE:: @ 8308D0C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CATERPIE_1 - - .align 2 -gAnims_METAPOD:: @ 8308D14 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_METAPOD_1 - - .align 2 -gAnims_BUTTERFREE:: @ 8308D1C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BUTTERFREE_1 - - .align 2 -gAnims_WEEDLE:: @ 8308D24 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WEEDLE_1 - - .align 2 -gAnims_KAKUNA:: @ 8308D2C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KAKUNA_1 - - .align 2 -gAnims_BEEDRILL:: @ 8308D34 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BEEDRILL_1 - - .align 2 -gAnims_PIDGEY:: @ 8308D3C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PIDGEY_1 - - .align 2 -gAnims_PIDGEOTTO:: @ 8308D44 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PIDGEOTTO_1 - - .align 2 -gAnims_PIDGEOT:: @ 8308D4C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PIDGEOT_1 - - .align 2 -gAnims_RATTATA:: @ 8308D54 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RATTATA_1 - - .align 2 -gAnims_RATICATE:: @ 8308D5C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RATICATE_1 - - .align 2 -gAnims_SPEAROW:: @ 8308D64 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SPEAROW_1 - - .align 2 -gAnims_FEAROW:: @ 8308D6C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FEAROW_1 - - .align 2 -gAnims_EKANS:: @ 8308D74 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EKANS_1 - - .align 2 -gAnims_ARBOK:: @ 8308D7C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARBOK_1 - - .align 2 -gAnims_PIKACHU:: @ 8308D84 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PIKACHU_1 - .4byte gAnimCmd_PIKACHU_2 - - .align 2 -gAnims_RAICHU:: @ 8308D90 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RAICHU_1 - .4byte gAnimCmd_RAICHU_2 - - .align 2 -gAnims_SANDSHREW:: @ 8308D9C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SANDSHREW_1 - .4byte gAnimCmd_SANDSHREW_2 - - .align 2 -gAnims_SANDSLASH:: @ 8308DA8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SANDSLASH_1 - .4byte gAnimCmd_SANDSLASH_2 - - .align 2 -gAnims_NIDORAN_F:: @ 8308DB4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDORAN_F_1 - - .align 2 -gAnims_NIDORINA:: @ 8308DBC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDORINA_1 - - .align 2 -gAnims_NIDOQUEEN:: @ 8308DC4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDOQUEEN_1 - - .align 2 -gAnims_NIDORAN_M:: @ 8308DCC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDORAN_M_1 - - .align 2 -gAnims_NIDORINO:: @ 8308DD4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDORINO_1 - - .align 2 -gAnims_NIDOKING:: @ 8308DDC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NIDOKING_1 - - .align 2 -gAnims_CLEFAIRY:: @ 8308DE4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLEFAIRY_1 - - .align 2 -gAnims_CLEFABLE:: @ 8308DEC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLEFABLE_1 - - .align 2 -gAnims_VULPIX:: @ 8308DF4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VULPIX_1 - .4byte gAnimCmd_VULPIX_2 - - .align 2 -gAnims_NINETALES:: @ 8308E00 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NINETALES_1 - .4byte gAnimCmd_NINETALES_2 - - .align 2 -gAnims_JIGGLYPUFF:: @ 8308E0C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JIGGLYPUFF_1 - .4byte gAnimCmd_JIGGLYPUFF_2 - - .align 2 -gAnims_WIGGLYTUFF:: @ 8308E18 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WIGGLYTUFF_1 - .4byte gAnimCmd_WIGGLYTUFF_2 - - .align 2 -gAnims_ZUBAT:: @ 8308E24 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ZUBAT_1 - - .align 2 -gAnims_GOLBAT:: @ 8308E2C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOLBAT_1 - - .align 2 -gAnims_ODDISH:: @ 8308E34 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ODDISH_1 - - .align 2 -gAnims_GLOOM:: @ 8308E3C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GLOOM_1 - - .align 2 -gAnims_VILEPLUME:: @ 8308E44 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VILEPLUME_1 - - .align 2 -gAnims_PARAS:: @ 8308E4C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PARAS_1 - - .align 2 -gAnims_PARASECT:: @ 8308E54 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PARASECT_1 - - .align 2 -gAnims_VENONAT:: @ 8308E5C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VENONAT_1 - - .align 2 -gAnims_VENOMOTH:: @ 8308E64 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VENOMOTH_1 - - .align 2 -gAnims_DIGLETT:: @ 8308E6C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DIGLETT_1 - - .align 2 -gAnims_DUGTRIO:: @ 8308E74 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUGTRIO_1 - - .align 2 -gAnims_MEOWTH:: @ 8308E7C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEOWTH_1 - - .align 2 -gAnims_PERSIAN:: @ 8308E84 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PERSIAN_1 - - .align 2 -gAnims_PSYDUCK:: @ 8308E8C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PSYDUCK_1 - .4byte gAnimCmd_PSYDUCK_2 - - .align 2 -gAnims_GOLDUCK:: @ 8308E98 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOLDUCK_1 - .4byte gAnimCmd_GOLDUCK_2 - - .align 2 -gAnims_MANKEY:: @ 8308EA4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MANKEY_1 - - .align 2 -gAnims_PRIMEAPE:: @ 8308EAC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PRIMEAPE_1 - - .align 2 -gAnims_GROWLITHE:: @ 8308EB4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GROWLITHE_1 - - .align 2 -gAnims_ARCANINE:: @ 8308EBC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARCANINE_1 - - .align 2 -gAnims_POLIWAG:: @ 8308EC4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POLIWAG_1 - - .align 2 -gAnims_POLIWHIRL:: @ 8308ECC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POLIWHIRL_1 - - .align 2 -gAnims_POLIWRATH:: @ 8308ED4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POLIWRATH_1 - - .align 2 -gAnims_ABRA:: @ 8308EDC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ABRA_1 - - .align 2 -gAnims_KADABRA:: @ 8308EE4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KADABRA_1 - - .align 2 -gAnims_ALAKAZAM:: @ 8308EEC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ALAKAZAM_1 - - .align 2 -gAnims_MACHOP:: @ 8308EF4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MACHOP_1 - - .align 2 -gAnims_MACHOKE:: @ 8308EFC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MACHOKE_1 - - .align 2 -gAnims_MACHAMP:: @ 8308F04 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MACHAMP_1 - - .align 2 -gAnims_BELLSPROUT:: @ 8308F0C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BELLSPROUT_1 - - .align 2 -gAnims_WEEPINBELL:: @ 8308F14 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WEEPINBELL_1 - - .align 2 -gAnims_VICTREEBEL:: @ 8308F1C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VICTREEBEL_1 - - .align 2 -gAnims_TENTACOOL:: @ 8308F24 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TENTACOOL_1 - - .align 2 -gAnims_TENTACRUEL:: @ 8308F2C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TENTACRUEL_1 - - .align 2 -gAnims_GEODUDE:: @ 8308F34 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GEODUDE_1 - - .align 2 -gAnims_GRAVELER:: @ 8308F3C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GRAVELER_1 - - .align 2 -gAnims_GOLEM:: @ 8308F44 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOLEM_1 - - .align 2 -gAnims_PONYTA:: @ 8308F4C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PONYTA_1 - - .align 2 -gAnims_RAPIDASH:: @ 8308F54 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RAPIDASH_1 - - .align 2 -gAnims_SLOWPOKE:: @ 8308F5C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLOWPOKE_1 - - .align 2 -gAnims_SLOWBRO:: @ 8308F64 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLOWBRO_1 - - .align 2 -gAnims_MAGNEMITE:: @ 8308F6C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGNEMITE_1 - - .align 2 -gAnims_MAGNETON:: @ 8308F74 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGNETON_1 - - .align 2 -gAnims_FARFETCHD:: @ 8308F7C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FARFETCHD_1 - - .align 2 -gAnims_DODUO:: @ 8308F84 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DODUO_1 - - .align 2 -gAnims_DODRIO:: @ 8308F8C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DODRIO_1 - - .align 2 -gAnims_SEEL:: @ 8308F94 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEEL_1 - - .align 2 -gAnims_DEWGONG:: @ 8308F9C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DEWGONG_1 - - .align 2 -gAnims_GRIMER:: @ 8308FA4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GRIMER_1 - .4byte gAnimCmd_GRIMER_2 - - .align 2 -gAnims_MUK:: @ 8308FB0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MUK_1 - .4byte gAnimCmd_MUK_2 - - .align 2 -gAnims_SHELLDER:: @ 8308FBC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHELLDER_1 - - .align 2 -gAnims_CLOYSTER:: @ 8308FC4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLOYSTER_1 - - .align 2 -gAnims_GASTLY:: @ 8308FCC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GASTLY_1 - - .align 2 -gAnims_HAUNTER:: @ 8308FD4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HAUNTER_1 - - .align 2 -gAnims_GENGAR:: @ 8308FDC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GENGAR_1 - - .align 2 -gAnims_ONIX:: @ 8308FE4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ONIX_1 - - .align 2 -gAnims_DROWZEE:: @ 8308FEC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DROWZEE_1 - - .align 2 -gAnims_HYPNO:: @ 8308FF4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HYPNO_1 - - .align 2 -gAnims_KRABBY:: @ 8308FFC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KRABBY_1 - - .align 2 -gAnims_KINGLER:: @ 8309004 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KINGLER_1 - - .align 2 -gAnims_VOLTORB:: @ 830900C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VOLTORB_1 - - .align 2 -gAnims_ELECTRODE:: @ 8309014 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ELECTRODE_1 - - .align 2 -gAnims_EXEGGCUTE:: @ 830901C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EXEGGCUTE_1 - - .align 2 -gAnims_EXEGGUTOR:: @ 8309024 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EXEGGUTOR_1 - - .align 2 -gAnims_CUBONE:: @ 830902C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CUBONE_1 - - .align 2 -gAnims_MAROWAK:: @ 8309034 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAROWAK_1 - - .align 2 -gAnims_HITMONLEE:: @ 830903C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HITMONLEE_1 - - .align 2 -gAnims_HITMONCHAN:: @ 8309044 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HITMONCHAN_1 - - .align 2 -gAnims_LICKITUNG:: @ 830904C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LICKITUNG_1 - - .align 2 -gAnims_KOFFING:: @ 8309054 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KOFFING_1 - .4byte gAnimCmd_KOFFING_2 - - .align 2 -gAnims_WEEZING:: @ 8309060 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WEEZING_1 - .4byte gAnimCmd_WEEZING_2 - - .align 2 -gAnims_RHYHORN:: @ 830906C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RHYHORN_1 - .4byte gAnimCmd_RHYHORN_2 - - .align 2 -gAnims_RHYDON:: @ 8309078 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RHYDON_1 - .4byte gAnimCmd_RHYDON_2 - - .align 2 -gAnims_CHANSEY:: @ 8309084 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHANSEY_1 - - .align 2 -gAnims_TANGELA:: @ 830908C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TANGELA_1 - - .align 2 -gAnims_KANGASKHAN:: @ 8309094 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KANGASKHAN_1 - - .align 2 -gAnims_HORSEA:: @ 830909C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HORSEA_1 - .4byte gAnimCmd_HORSEA_2 - - .align 2 -gAnims_SEADRA:: @ 83090A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEADRA_1 - .4byte gAnimCmd_SEADRA_2 - - .align 2 -gAnims_GOLDEEN:: @ 83090B4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOLDEEN_1 - - .align 2 -gAnims_SEAKING:: @ 83090BC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEAKING_1 - - .align 2 -gAnims_STARYU:: @ 83090C4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_STARYU_1 - .4byte gAnimCmd_STARYU_2 - - .align 2 -gAnims_STARMIE:: @ 83090D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_STARMIE_1 - .4byte gAnimCmd_STARMIE_2 - - .align 2 -gAnims_MR_MIME:: @ 83090DC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MR_MIME_1 - - .align 2 -gAnims_SCYTHER:: @ 83090E4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SCYTHER_1 - - .align 2 -gAnims_JYNX:: @ 83090EC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JYNX_1 - - .align 2 -gAnims_ELECTABUZZ:: @ 83090F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ELECTABUZZ_1 - - .align 2 -gAnims_MAGMAR:: @ 83090FC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGMAR_1 - - .align 2 -gAnims_PINSIR:: @ 8309104 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PINSIR_1 - .4byte gAnimCmd_PINSIR_2 - - .align 2 -gAnims_TAUROS:: @ 8309110 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TAUROS_1 - - .align 2 -gAnims_MAGIKARP:: @ 8309118 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGIKARP_1 - - .align 2 -gAnims_GYARADOS:: @ 8309120 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GYARADOS_1 - - .align 2 -gAnims_LAPRAS:: @ 8309128 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LAPRAS_1 - - .align 2 -gAnims_DITTO:: @ 8309130 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DITTO_1 - - .align 2 -gAnims_EEVEE:: @ 8309138 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EEVEE_1 - - .align 2 -gAnims_VAPOREON:: @ 8309140 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VAPOREON_1 - - .align 2 -gAnims_JOLTEON:: @ 8309148 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JOLTEON_1 - - .align 2 -gAnims_FLAREON:: @ 8309150 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FLAREON_1 - - .align 2 -gAnims_PORYGON:: @ 8309158 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PORYGON_1 - - .align 2 -gAnims_OMANYTE:: @ 8309160 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_OMANYTE_1 - - .align 2 -gAnims_OMASTAR:: @ 8309168 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_OMASTAR_1 - - .align 2 -gAnims_KABUTO:: @ 8309170 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KABUTO_1 - - .align 2 -gAnims_KABUTOPS:: @ 8309178 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KABUTOPS_1 - - .align 2 -gAnims_AERODACTYL:: @ 8309180 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AERODACTYL_1 - - .align 2 -gAnims_SNORLAX:: @ 8309188 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SNORLAX_1 - - .align 2 -gAnims_ARTICUNO:: @ 8309190 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARTICUNO_1 - - .align 2 -gAnims_ZAPDOS:: @ 8309198 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ZAPDOS_1 - - .align 2 -gAnims_MOLTRES:: @ 83091A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MOLTRES_1 - - .align 2 -gAnims_DRATINI:: @ 83091A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DRATINI_1 - - .align 2 -gAnims_DRAGONAIR:: @ 83091B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DRAGONAIR_1 - - .align 2 -gAnims_DRAGONITE:: @ 83091B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DRAGONITE_1 - - .align 2 -gAnims_MEWTWO:: @ 83091C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEWTWO_1 - - .align 2 -gAnims_MEW:: @ 83091C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEW_1 - - .align 2 -gAnims_CHIKORITA:: @ 83091D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHIKORITA_1 - - .align 2 -gAnims_BAYLEEF:: @ 83091D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BAYLEEF_1 - - .align 2 -gAnims_MEGANIUM:: @ 83091E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEGANIUM_1 - - .align 2 -gAnims_CYNDAQUIL:: @ 83091E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CYNDAQUIL_1 - - .align 2 -gAnims_QUILAVA:: @ 83091F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_QUILAVA_1 - - .align 2 -gAnims_TYPHLOSION:: @ 83091F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TYPHLOSION_1 - - .align 2 -gAnims_TOTODILE:: @ 8309200 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TOTODILE_1 - - .align 2 -gAnims_CROCONAW:: @ 8309208 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CROCONAW_1 - - .align 2 -gAnims_FERALIGATR:: @ 8309210 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FERALIGATR_1 - - .align 2 -gAnims_SENTRET:: @ 8309218 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SENTRET_1 - - .align 2 -gAnims_FURRET:: @ 8309220 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FURRET_1 - - .align 2 -gAnims_HOOTHOOT:: @ 8309228 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HOOTHOOT_1 - - .align 2 -gAnims_NOCTOWL:: @ 8309230 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NOCTOWL_1 - - .align 2 -gAnims_LEDYBA:: @ 8309238 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LEDYBA_1 - - .align 2 -gAnims_LEDIAN:: @ 8309240 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LEDIAN_1 - - .align 2 -gAnims_SPINARAK:: @ 8309248 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SPINARAK_1 - - .align 2 -gAnims_ARIADOS:: @ 8309250 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARIADOS_1 - - .align 2 -gAnims_CROBAT:: @ 8309258 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CROBAT_1 - - .align 2 -gAnims_CHINCHOU:: @ 8309260 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHINCHOU_1 - .4byte gAnimCmd_CHINCHOU_2 - - .align 2 -gAnims_LANTURN:: @ 830926C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LANTURN_1 - .4byte gAnimCmd_LANTURN_2 - - .align 2 -gAnims_PICHU:: @ 8309278 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PICHU_1 - .4byte gAnimCmd_PICHU_2 - - .align 2 -gAnims_CLEFFA:: @ 8309284 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLEFFA_1 - - .align 2 -gAnims_IGGLYBUFF:: @ 830928C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_IGGLYBUFF_1 - .4byte gAnimCmd_IGGLYBUFF_2 - - .align 2 -gAnims_TOGEPI:: @ 8309298 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TOGEPI_1 - - .align 2 -gAnims_TOGETIC:: @ 83092A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TOGETIC_1 - - .align 2 -gAnims_NATU:: @ 83092A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NATU_1 - .4byte gAnimCmd_NATU_2 - - .align 2 -gAnims_XATU:: @ 83092B4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_XATU_1 - .4byte gAnimCmd_XATU_2 - - .align 2 -gAnims_MAREEP:: @ 83092C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAREEP_1 - - .align 2 -gAnims_FLAAFFY:: @ 83092C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FLAAFFY_1 - - .align 2 -gAnims_AMPHAROS:: @ 83092D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AMPHAROS_1 - - .align 2 -gAnims_BELLOSSOM:: @ 83092D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BELLOSSOM_1 - - .align 2 -gAnims_MARILL:: @ 83092E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MARILL_1 - - .align 2 -gAnims_AZUMARILL:: @ 83092E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AZUMARILL_1 - - .align 2 -gAnims_SUDOWOODO:: @ 83092F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SUDOWOODO_1 - - .align 2 -gAnims_POLITOED:: @ 83092F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POLITOED_1 - - .align 2 -gAnims_HOPPIP:: @ 8309300 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HOPPIP_1 - - .align 2 -gAnims_SKIPLOOM:: @ 8309308 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SKIPLOOM_1 - - .align 2 -gAnims_JUMPLUFF:: @ 8309310 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JUMPLUFF_1 - - .align 2 -gAnims_AIPOM:: @ 8309318 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AIPOM_1 - - .align 2 -gAnims_SUNKERN:: @ 8309320 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SUNKERN_1 - - .align 2 -gAnims_SUNFLORA:: @ 8309328 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SUNFLORA_1 - - .align 2 -gAnims_YANMA:: @ 8309330 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_YANMA_1 - - .align 2 -gAnims_WOOPER:: @ 8309338 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WOOPER_1 - - .align 2 -gAnims_QUAGSIRE:: @ 8309340 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_QUAGSIRE_1 - - .align 2 -gAnims_ESPEON:: @ 8309348 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ESPEON_1 - - .align 2 -gAnims_UMBREON:: @ 8309350 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UMBREON_1 - - .align 2 -gAnims_MURKROW:: @ 8309358 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MURKROW_1 - - .align 2 -gAnims_SLOWKING:: @ 8309360 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLOWKING_1 - - .align 2 -gAnims_MISDREAVUS:: @ 8309368 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MISDREAVUS_1 - - .align 2 -gAnims_UNOWN:: @ 8309370 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_1 - - .align 2 -gAnims_WOBBUFFET:: @ 8309378 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WOBBUFFET_1 - .4byte gAnimCmd_WOBBUFFET_2 - - .align 2 -gAnims_GIRAFARIG:: @ 8309384 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GIRAFARIG_1 - .4byte gAnimCmd_GIRAFARIG_2 - - .align 2 -gAnims_PINECO:: @ 8309390 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PINECO_1 - - .align 2 -gAnims_FORRETRESS:: @ 8309398 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FORRETRESS_1 - - .align 2 -gAnims_DUNSPARCE:: @ 83093A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUNSPARCE_1 - - .align 2 -gAnims_GLIGAR:: @ 83093A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GLIGAR_1 - - .align 2 -gAnims_STEELIX:: @ 83093B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_STEELIX_1 - - .align 2 -gAnims_SNUBBULL:: @ 83093B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SNUBBULL_1 - - .align 2 -gAnims_GRANBULL:: @ 83093C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GRANBULL_1 - - .align 2 -gAnims_QWILFISH:: @ 83093C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_QWILFISH_1 - - .align 2 -gAnims_SCIZOR:: @ 83093D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SCIZOR_1 - - .align 2 -gAnims_SHUCKLE:: @ 83093D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHUCKLE_1 - - .align 2 -gAnims_HERACROSS:: @ 83093E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HERACROSS_1 - .4byte gAnimCmd_HERACROSS_2 - - .align 2 -gAnims_SNEASEL:: @ 83093EC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SNEASEL_1 - - .align 2 -gAnims_TEDDIURSA:: @ 83093F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TEDDIURSA_1 - - .align 2 -gAnims_URSARING:: @ 83093FC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_URSARING_1 - - .align 2 -gAnims_SLUGMA:: @ 8309404 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLUGMA_1 - .4byte gAnimCmd_SLUGMA_2 - - .align 2 -gAnims_MAGCARGO:: @ 8309410 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGCARGO_1 - .4byte gAnimCmd_MAGCARGO_2 - - .align 2 -gAnims_SWINUB:: @ 830941C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWINUB_1 - - .align 2 -gAnims_PILOSWINE:: @ 8309424 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PILOSWINE_1 - - .align 2 -gAnims_CORSOLA:: @ 830942C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CORSOLA_1 - .4byte gAnimCmd_CORSOLA_2 - - .align 2 -gAnims_REMORAID:: @ 8309438 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_REMORAID_1 - - .align 2 -gAnims_OCTILLERY:: @ 8309440 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_OCTILLERY_1 - - .align 2 -gAnims_DELIBIRD:: @ 8309448 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DELIBIRD_1 - - .align 2 -gAnims_MANTINE:: @ 8309450 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MANTINE_1 - - .align 2 -gAnims_SKARMORY:: @ 8309458 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SKARMORY_1 - .4byte gAnimCmd_SKARMORY_2 - - .align 2 -gAnims_HOUNDOUR:: @ 8309464 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HOUNDOUR_1 - - .align 2 -gAnims_HOUNDOOM:: @ 830946C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HOUNDOOM_1 - - .align 2 -gAnims_KINGDRA:: @ 8309474 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KINGDRA_1 - .4byte gAnimCmd_KINGDRA_2 - - .align 2 -gAnims_PHANPY:: @ 8309480 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PHANPY_1 - .4byte gAnimCmd_PHANPY_2 - - .align 2 -gAnims_DONPHAN:: @ 830948C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DONPHAN_1 - .4byte gAnimCmd_DONPHAN_2 - - .align 2 -gAnims_PORYGON2:: @ 8309498 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PORYGON2_1 - - .align 2 -gAnims_STANTLER:: @ 83094A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_STANTLER_1 - - .align 2 -gAnims_SMEARGLE:: @ 83094A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SMEARGLE_1 - - .align 2 -gAnims_TYROGUE:: @ 83094B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TYROGUE_1 - - .align 2 -gAnims_HITMONTOP:: @ 83094B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HITMONTOP_1 - - .align 2 -gAnims_SMOOCHUM:: @ 83094C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SMOOCHUM_1 - - .align 2 -gAnims_ELEKID:: @ 83094C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ELEKID_1 - - .align 2 -gAnims_MAGBY:: @ 83094D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAGBY_1 - - .align 2 -gAnims_MILTANK:: @ 83094D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MILTANK_1 - - .align 2 -gAnims_BLISSEY:: @ 83094E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BLISSEY_1 - - .align 2 -gAnims_RAIKOU:: @ 83094E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RAIKOU_1 - - .align 2 -gAnims_ENTEI:: @ 83094F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ENTEI_1 - - .align 2 -gAnims_SUICUNE:: @ 83094F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SUICUNE_1 - - .align 2 -gAnims_LARVITAR:: @ 8309500 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LARVITAR_1 - - .align 2 -gAnims_PUPITAR:: @ 8309508 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PUPITAR_1 - - .align 2 -gAnims_TYRANITAR:: @ 8309510 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TYRANITAR_1 - - .align 2 -gAnims_LUGIA:: @ 8309518 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LUGIA_1 - - .align 2 -gAnims_HO_OH:: @ 8309520 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HO_OH_1 - - .align 2 -gAnims_CELEBI:: @ 8309528 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CELEBI_1 - - .align 2 -gAnims_OLD_UNOWN_B:: @ 8309530 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_OLD_UNOWN_B_1 - - .align 2 -gAnims_TREECKO:: @ 8309538 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TREECKO_1 - - .align 2 -gAnims_GROVYLE:: @ 8309540 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GROVYLE_1 - - .align 2 -gAnims_SCEPTILE:: @ 8309548 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SCEPTILE_1 - - .align 2 -gAnims_TORCHIC:: @ 8309550 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TORCHIC_1 - - .align 2 -gAnims_COMBUSKEN:: @ 8309558 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_COMBUSKEN_1 - - .align 2 -gAnims_BLAZIKEN:: @ 8309560 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BLAZIKEN_1 - .4byte gAnimCmd_BLAZIKEN_2 - .4byte gAnimCmd_BLAZIKEN_3 - .4byte gAnimCmd_BLAZIKEN_4 - - .align 2 -gAnims_MUDKIP:: @ 8309574 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MUDKIP_1 - - .align 2 -gAnims_MARSHTOMP:: @ 830957C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MARSHTOMP_1 - - .align 2 -gAnims_SWAMPERT:: @ 8309584 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWAMPERT_1 - - .align 2 -gAnims_POOCHYENA:: @ 830958C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_POOCHYENA_1 - - .align 2 -gAnims_MIGHTYENA:: @ 8309594 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MIGHTYENA_1 - - .align 2 -gAnims_ZIGZAGOON:: @ 830959C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ZIGZAGOON_1 - - .align 2 -gAnims_LINOONE:: @ 83095A4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LINOONE_1 - - .align 2 -gAnims_WURMPLE:: @ 83095AC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WURMPLE_1 - - .align 2 -gAnims_SILCOON:: @ 83095B4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SILCOON_1 - .4byte gAnimCmd_SILCOON_2 - - .align 2 -gAnims_BEAUTIFLY:: @ 83095C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BEAUTIFLY_1 - .4byte gAnimCmd_BEAUTIFLY_2 - - .align 2 -gAnims_CASCOON:: @ 83095CC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CASCOON_1 - .4byte gAnimCmd_CASCOON_2 - - .align 2 -gAnims_DUSTOX:: @ 83095D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUSTOX_1 - .4byte gAnimCmd_DUSTOX_2 - - .align 2 -gAnims_LOTAD:: @ 83095E4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LOTAD_1 - - .align 2 -gAnims_LOMBRE:: @ 83095EC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LOMBRE_1 - - .align 2 -gAnims_LUDICOLO:: @ 83095F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LUDICOLO_1 - - .align 2 -gAnims_SEEDOT:: @ 83095FC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEEDOT_1 - - .align 2 -gAnims_NUZLEAF:: @ 8309604 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NUZLEAF_1 - - .align 2 -gAnims_SHIFTRY:: @ 830960C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHIFTRY_1 - - .align 2 -gAnims_NINCADA:: @ 8309614 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NINCADA_1 - - .align 2 -gAnims_NINJASK:: @ 830961C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NINJASK_1 - - .align 2 -gAnims_SHEDINJA:: @ 8309624 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHEDINJA_1 - - .align 2 -gAnims_TAILLOW:: @ 830962C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TAILLOW_1 - - .align 2 -gAnims_SWELLOW:: @ 8309634 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWELLOW_1 - - .align 2 -gAnims_SHROOMISH:: @ 830963C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHROOMISH_1 - - .align 2 -gAnims_BRELOOM:: @ 8309644 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BRELOOM_1 - - .align 2 -gAnims_SPINDA:: @ 830964C - .4byte gAnimCmd_General_Frame0 - - .align 2 -gAnims_WINGULL:: @ 8309650 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WINGULL_1 - - .align 2 -gAnims_PELIPPER:: @ 8309658 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PELIPPER_1 - - .align 2 -gAnims_SURSKIT:: @ 8309660 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SURSKIT_1 - .4byte gAnimCmd_SURSKIT_2 - - .align 2 -gAnims_MASQUERAIN:: @ 830966C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MASQUERAIN_1 - .4byte gAnimCmd_MASQUERAIN_2 - - .align 2 -gAnims_WAILMER:: @ 8309678 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WAILMER_1 - - .align 2 -gAnims_WAILORD:: @ 8309680 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WAILORD_1 - - .align 2 -gAnims_SKITTY:: @ 8309688 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SKITTY_1 - - .align 2 -gAnims_DELCATTY:: @ 8309690 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DELCATTY_1 - - .align 2 -gAnims_KECLEON:: @ 8309698 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KECLEON_1 - - .align 2 -gAnims_BALTOY:: @ 83096A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BALTOY_1 - - .align 2 -gAnims_CLAYDOL:: @ 83096A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLAYDOL_1 - - .align 2 -gAnims_NOSEPASS:: @ 83096B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NOSEPASS_1 - - .align 2 -gAnims_TORKOAL:: @ 83096B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TORKOAL_1 - - .align 2 -gAnims_SABLEYE:: @ 83096C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SABLEYE_1 - - .align 2 -gAnims_BARBOACH:: @ 83096C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BARBOACH_1 - - .align 2 -gAnims_WHISCASH:: @ 83096D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WHISCASH_1 - - .align 2 -gAnims_LUVDISC:: @ 83096D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LUVDISC_1 - - .align 2 -gAnims_CORPHISH:: @ 83096E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CORPHISH_1 - - .align 2 -gAnims_CRAWDAUNT:: @ 83096E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CRAWDAUNT_1 - - .align 2 -gAnims_FEEBAS:: @ 83096F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FEEBAS_1 - - .align 2 -gAnims_MILOTIC:: @ 83096F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MILOTIC_1 - - .align 2 -gAnims_CARVANHA:: @ 8309700 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CARVANHA_1 - - .align 2 -gAnims_SHARPEDO:: @ 8309708 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHARPEDO_1 - - .align 2 -gAnims_TRAPINCH:: @ 8309710 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TRAPINCH_1 - - .align 2 -gAnims_VIBRAVA:: @ 8309718 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VIBRAVA_1 - - .align 2 -gAnims_FLYGON:: @ 8309720 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_FLYGON_1 - - .align 2 -gAnims_MAKUHITA:: @ 8309728 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAKUHITA_1 - - .align 2 -gAnims_HARIYAMA:: @ 8309730 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HARIYAMA_1 - - .align 2 -gAnims_ELECTRIKE:: @ 8309738 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ELECTRIKE_1 - - .align 2 -gAnims_MANECTRIC:: @ 8309740 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MANECTRIC_1 - - .align 2 -gAnims_NUMEL:: @ 8309748 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_NUMEL_1 - - .align 2 -gAnims_CAMERUPT:: @ 8309750 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CAMERUPT_1 - - .align 2 -gAnims_SPHEAL:: @ 8309758 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SPHEAL_1 - - .align 2 -gAnims_SEALEO:: @ 8309760 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEALEO_1 - - .align 2 -gAnims_WALREIN:: @ 8309768 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WALREIN_1 - - .align 2 -gAnims_CACNEA:: @ 8309770 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CACNEA_1 - - .align 2 -gAnims_CACTURNE:: @ 8309778 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CACTURNE_1 - - .align 2 -gAnims_SNORUNT:: @ 8309780 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SNORUNT_1 - - .align 2 -gAnims_GLALIE:: @ 8309788 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GLALIE_1 - - .align 2 -gAnims_LUNATONE:: @ 8309790 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LUNATONE_1 - .4byte gAnimCmd_LUNATONE_2 - - .align 2 -gAnims_SOLROCK:: @ 830979C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SOLROCK_1 - .4byte gAnimCmd_SOLROCK_2 - - .align 2 -gAnims_AZURILL:: @ 83097A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AZURILL_1 - - .align 2 -gAnims_SPOINK:: @ 83097B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SPOINK_1 - - .align 2 -gAnims_GRUMPIG:: @ 83097B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GRUMPIG_1 - - .align 2 -gAnims_PLUSLE:: @ 83097C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_PLUSLE_1 - - .align 2 -gAnims_MINUN:: @ 83097C8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MINUN_1 - - .align 2 -gAnims_MAWILE:: @ 83097D0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MAWILE_1 - - .align 2 -gAnims_MEDITITE:: @ 83097D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEDITITE_1 - - .align 2 -gAnims_MEDICHAM:: @ 83097E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_MEDICHAM_1 - - .align 2 -gAnims_SWABLU:: @ 83097E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWABLU_1 - .4byte gAnimCmd_SWABLU_2 - - .align 2 -gAnims_ALTARIA:: @ 83097F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ALTARIA_1 - .4byte gAnimCmd_ALTARIA_2 - - .align 2 -gAnims_WYNAUT:: @ 8309800 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WYNAUT_1 - - .align 2 -gAnims_DUSKULL:: @ 8309808 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUSKULL_1 - - .align 2 -gAnims_DUSCLOPS:: @ 8309810 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DUSCLOPS_1 - - .align 2 -gAnims_ROSELIA:: @ 8309818 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ROSELIA_1 - - .align 2 -gAnims_SLAKOTH:: @ 8309820 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLAKOTH_1 - - .align 2 -gAnims_VIGOROTH:: @ 8309828 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VIGOROTH_1 - - .align 2 -gAnims_SLAKING:: @ 8309830 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SLAKING_1 - - .align 2 -gAnims_GULPIN:: @ 8309838 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GULPIN_1 - - .align 2 -gAnims_SWALOT:: @ 8309840 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SWALOT_1 - - .align 2 -gAnims_TROPIUS:: @ 8309848 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_TROPIUS_1 - - .align 2 -gAnims_WHISMUR:: @ 8309850 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_WHISMUR_1 - - .align 2 -gAnims_LOUDRED:: @ 8309858 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LOUDRED_1 - - .align 2 -gAnims_EXPLOUD:: @ 8309860 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EXPLOUD_1 - - .align 2 -gAnims_CLAMPERL:: @ 8309868 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CLAMPERL_1 - - .align 2 -gAnims_HUNTAIL:: @ 8309870 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_HUNTAIL_1 - - .align 2 -gAnims_GOREBYSS:: @ 8309878 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GOREBYSS_1 - - .align 2 -gAnims_ABSOL:: @ 8309880 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ABSOL_1 - - .align 2 -gAnims_SHUPPET:: @ 8309888 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHUPPET_1 - - .align 2 -gAnims_BANETTE:: @ 8309890 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BANETTE_1 - - .align 2 -gAnims_SEVIPER:: @ 8309898 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SEVIPER_1 - - .align 2 -gAnims_ZANGOOSE:: @ 83098A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ZANGOOSE_1 - - .align 2 -gAnims_RELICANTH:: @ 83098A8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RELICANTH_1 - - .align 2 -gAnims_ARON:: @ 83098B0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARON_1 - - .align 2 -gAnims_LAIRON:: @ 83098B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LAIRON_1 - - .align 2 -gAnims_AGGRON:: @ 83098C0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_AGGRON_1 - - .align 2 -gAnims_CASTFORM:: @ 83098C8 - .4byte gAnimCmd_CASTFORM_0 - .4byte gAnimCmd_CASTFORM_1 - .4byte gAnimCmd_CASTFORM_2 - .4byte gAnimCmd_CASTFORM_3 - - .align 2 -gAnims_VOLBEAT:: @ 83098D8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_VOLBEAT_1 - - .align 2 -gAnims_ILLUMISE:: @ 83098E0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ILLUMISE_1 - - .align 2 -gAnims_LILEEP:: @ 83098E8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LILEEP_1 - - .align 2 -gAnims_CRADILY:: @ 83098F0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CRADILY_1 - - .align 2 -gAnims_ANORITH:: @ 83098F8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ANORITH_1 - - .align 2 -gAnims_ARMALDO:: @ 8309900 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_ARMALDO_1 - - .align 2 -gAnims_RALTS:: @ 8309908 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RALTS_1 - - .align 2 -gAnims_KIRLIA:: @ 8309910 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KIRLIA_1 - - .align 2 -gAnims_GARDEVOIR:: @ 8309918 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GARDEVOIR_1 - - .align 2 -gAnims_BAGON:: @ 8309920 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BAGON_1 - - .align 2 -gAnims_SHELGON:: @ 8309928 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SHELGON_1 - - .align 2 -gAnims_SALAMENCE:: @ 8309930 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_SALAMENCE_1 - - .align 2 -gAnims_BELDUM:: @ 8309938 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_BELDUM_1 - - .align 2 -gAnims_METANG:: @ 8309940 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_METANG_1 - - .align 2 -gAnims_METAGROSS:: @ 8309948 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_METAGROSS_1 - - .align 2 -gAnims_REGIROCK:: @ 8309950 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_REGIROCK_1 - .4byte gAnimCmd_REGIROCK_2 - - .align 2 -gAnims_REGICE:: @ 830995C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_REGICE_1 - - .align 2 -gAnims_REGISTEEL:: @ 8309964 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_REGISTEEL_1 - .4byte gAnimCmd_REGISTEEL_2 - - .align 2 -gAnims_KYOGRE:: @ 8309970 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_KYOGRE_1 - .4byte gAnimCmd_KYOGRE_2 - - .align 2 -gAnims_GROUDON:: @ 830997C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_GROUDON_1 - .4byte gAnimCmd_GROUDON_2 - - .align 2 -gAnims_RAYQUAZA:: @ 8309988 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_RAYQUAZA_1 - .4byte gAnimCmd_RAYQUAZA_2 - - .align 2 -gAnims_LATIAS:: @ 8309994 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LATIAS_1 - .4byte gAnimCmd_LATIAS_2 - - .align 2 -gAnims_LATIOS:: @ 83099A0 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_LATIOS_1 - .4byte gAnimCmd_LATIOS_2 - - .align 2 -gAnims_JIRACHI:: @ 83099AC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_JIRACHI_1 - .4byte gAnimCmd_JIRACHI_2 - - .align 2 -gAnims_DEOXYS:: @ 83099B8 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_DEOXYS_1 - .4byte gAnimCmd_DEOXYS_2 - - .align 2 -gAnims_CHIMECHO:: @ 83099C4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_CHIMECHO_1 - - .align 2 -gAnims_EGG:: @ 83099CC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_EGG_1 - - .align 2 -gAnims_UNOWN_B:: @ 83099D4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_B_1 - - .align 2 -gAnims_UNOWN_C:: @ 83099DC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_C_1 - - .align 2 -gAnims_UNOWN_D:: @ 83099E4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_D_1 - - .align 2 -gAnims_UNOWN_E:: @ 83099EC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_E_1 - - .align 2 -gAnims_UNOWN_F:: @ 83099F4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_F_1 - - .align 2 -gAnims_UNOWN_G:: @ 83099FC - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_G_1 - - .align 2 -gAnims_UNOWN_H:: @ 8309A04 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_H_1 - - .align 2 -gAnims_UNOWN_I:: @ 8309A0C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_I_1 - - .align 2 -gAnims_UNOWN_J:: @ 8309A14 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_J_1 - - .align 2 -gAnims_UNOWN_K:: @ 8309A1C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_K_1 - - .align 2 -gAnims_UNOWN_L:: @ 8309A24 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_L_1 - - .align 2 -gAnims_UNOWN_M:: @ 8309A2C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_M_1 - - .align 2 -gAnims_UNOWN_N:: @ 8309A34 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_N_1 - - .align 2 -gAnims_UNOWN_O:: @ 8309A3C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_O_1 - - .align 2 -gAnims_UNOWN_P:: @ 8309A44 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_P_1 - - .align 2 -gAnims_UNOWN_Q:: @ 8309A4C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_Q_1 - - .align 2 -gAnims_UNOWN_R:: @ 8309A54 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_R_1 - - .align 2 -gAnims_UNOWN_S:: @ 8309A5C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_S_1 - - .align 2 -gAnims_UNOWN_T:: @ 8309A64 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_T_1 - - .align 2 -gAnims_UNOWN_U:: @ 8309A6C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_U_1 - - .align 2 -gAnims_UNOWN_V:: @ 8309A74 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_V_1 - - .align 2 -gAnims_UNOWN_W:: @ 8309A7C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_W_1 - - .align 2 -gAnims_UNOWN_X:: @ 8309A84 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_X_1 - - .align 2 -gAnims_UNOWN_Y:: @ 8309A8C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_Y_1 - - .align 2 -gAnims_UNOWN_Z:: @ 8309A94 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_Z_1 - - .align 2 -gAnims_UNOWN_EMARK:: @ 8309A9C - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_EMARK_1 - - .align 2 -gAnims_UNOWN_QMARK:: @ 8309AA4 - .4byte gAnimCmd_General_Frame0 - .4byte gAnimCmd_UNOWN_QMARK_1 - - .align 2 -gMonAnimationsSpriteAnimsPtrTable:: @ 8309AAC - .4byte gAnims_NONE - .4byte gAnims_BULBASAUR - .4byte gAnims_IVYSAUR - .4byte gAnims_VENUSAUR - .4byte gAnims_CHARMANDER - .4byte gAnims_CHARMELEON - .4byte gAnims_CHARIZARD - .4byte gAnims_SQUIRTLE - .4byte gAnims_WARTORTLE - .4byte gAnims_BLASTOISE - .4byte gAnims_CATERPIE - .4byte gAnims_METAPOD - .4byte gAnims_BUTTERFREE - .4byte gAnims_WEEDLE - .4byte gAnims_KAKUNA - .4byte gAnims_BEEDRILL - .4byte gAnims_PIDGEY - .4byte gAnims_PIDGEOTTO - .4byte gAnims_PIDGEOT - .4byte gAnims_RATTATA - .4byte gAnims_RATICATE - .4byte gAnims_SPEAROW - .4byte gAnims_FEAROW - .4byte gAnims_EKANS - .4byte gAnims_ARBOK - .4byte gAnims_PIKACHU - .4byte gAnims_RAICHU - .4byte gAnims_SANDSHREW - .4byte gAnims_SANDSLASH - .4byte gAnims_NIDORAN_F - .4byte gAnims_NIDORINA - .4byte gAnims_NIDOQUEEN - .4byte gAnims_NIDORAN_M - .4byte gAnims_NIDORINO - .4byte gAnims_NIDOKING - .4byte gAnims_CLEFAIRY - .4byte gAnims_CLEFABLE - .4byte gAnims_VULPIX - .4byte gAnims_NINETALES - .4byte gAnims_JIGGLYPUFF - .4byte gAnims_WIGGLYTUFF - .4byte gAnims_ZUBAT - .4byte gAnims_GOLBAT - .4byte gAnims_ODDISH - .4byte gAnims_GLOOM - .4byte gAnims_VILEPLUME - .4byte gAnims_PARAS - .4byte gAnims_PARASECT - .4byte gAnims_VENONAT - .4byte gAnims_VENOMOTH - .4byte gAnims_DIGLETT - .4byte gAnims_DUGTRIO - .4byte gAnims_MEOWTH - .4byte gAnims_PERSIAN - .4byte gAnims_PSYDUCK - .4byte gAnims_GOLDUCK - .4byte gAnims_MANKEY - .4byte gAnims_PRIMEAPE - .4byte gAnims_GROWLITHE - .4byte gAnims_ARCANINE - .4byte gAnims_POLIWAG - .4byte gAnims_POLIWHIRL - .4byte gAnims_POLIWRATH - .4byte gAnims_ABRA - .4byte gAnims_KADABRA - .4byte gAnims_ALAKAZAM - .4byte gAnims_MACHOP - .4byte gAnims_MACHOKE - .4byte gAnims_MACHAMP - .4byte gAnims_BELLSPROUT - .4byte gAnims_WEEPINBELL - .4byte gAnims_VICTREEBEL - .4byte gAnims_TENTACOOL - .4byte gAnims_TENTACRUEL - .4byte gAnims_GEODUDE - .4byte gAnims_GRAVELER - .4byte gAnims_GOLEM - .4byte gAnims_PONYTA - .4byte gAnims_RAPIDASH - .4byte gAnims_SLOWPOKE - .4byte gAnims_SLOWBRO - .4byte gAnims_MAGNEMITE - .4byte gAnims_MAGNETON - .4byte gAnims_FARFETCHD - .4byte gAnims_DODUO - .4byte gAnims_DODRIO - .4byte gAnims_SEEL - .4byte gAnims_DEWGONG - .4byte gAnims_GRIMER - .4byte gAnims_MUK - .4byte gAnims_SHELLDER - .4byte gAnims_CLOYSTER - .4byte gAnims_GASTLY - .4byte gAnims_HAUNTER - .4byte gAnims_GENGAR - .4byte gAnims_ONIX - .4byte gAnims_DROWZEE - .4byte gAnims_HYPNO - .4byte gAnims_KRABBY - .4byte gAnims_KINGLER - .4byte gAnims_VOLTORB - .4byte gAnims_ELECTRODE - .4byte gAnims_EXEGGCUTE - .4byte gAnims_EXEGGUTOR - .4byte gAnims_CUBONE - .4byte gAnims_MAROWAK - .4byte gAnims_HITMONLEE - .4byte gAnims_HITMONCHAN - .4byte gAnims_LICKITUNG - .4byte gAnims_KOFFING - .4byte gAnims_WEEZING - .4byte gAnims_RHYHORN - .4byte gAnims_RHYDON - .4byte gAnims_CHANSEY - .4byte gAnims_TANGELA - .4byte gAnims_KANGASKHAN - .4byte gAnims_HORSEA - .4byte gAnims_SEADRA - .4byte gAnims_GOLDEEN - .4byte gAnims_SEAKING - .4byte gAnims_STARYU - .4byte gAnims_STARMIE - .4byte gAnims_MR_MIME - .4byte gAnims_SCYTHER - .4byte gAnims_JYNX - .4byte gAnims_ELECTABUZZ - .4byte gAnims_MAGMAR - .4byte gAnims_PINSIR - .4byte gAnims_TAUROS - .4byte gAnims_MAGIKARP - .4byte gAnims_GYARADOS - .4byte gAnims_LAPRAS - .4byte gAnims_DITTO - .4byte gAnims_EEVEE - .4byte gAnims_VAPOREON - .4byte gAnims_JOLTEON - .4byte gAnims_FLAREON - .4byte gAnims_PORYGON - .4byte gAnims_OMANYTE - .4byte gAnims_OMASTAR - .4byte gAnims_KABUTO - .4byte gAnims_KABUTOPS - .4byte gAnims_AERODACTYL - .4byte gAnims_SNORLAX - .4byte gAnims_ARTICUNO - .4byte gAnims_ZAPDOS - .4byte gAnims_MOLTRES - .4byte gAnims_DRATINI - .4byte gAnims_DRAGONAIR - .4byte gAnims_DRAGONITE - .4byte gAnims_MEWTWO - .4byte gAnims_MEW - .4byte gAnims_CHIKORITA - .4byte gAnims_BAYLEEF - .4byte gAnims_MEGANIUM - .4byte gAnims_CYNDAQUIL - .4byte gAnims_QUILAVA - .4byte gAnims_TYPHLOSION - .4byte gAnims_TOTODILE - .4byte gAnims_CROCONAW - .4byte gAnims_FERALIGATR - .4byte gAnims_SENTRET - .4byte gAnims_FURRET - .4byte gAnims_HOOTHOOT - .4byte gAnims_NOCTOWL - .4byte gAnims_LEDYBA - .4byte gAnims_LEDIAN - .4byte gAnims_SPINARAK - .4byte gAnims_ARIADOS - .4byte gAnims_CROBAT - .4byte gAnims_CHINCHOU - .4byte gAnims_LANTURN - .4byte gAnims_PICHU - .4byte gAnims_CLEFFA - .4byte gAnims_IGGLYBUFF - .4byte gAnims_TOGEPI - .4byte gAnims_TOGETIC - .4byte gAnims_NATU - .4byte gAnims_XATU - .4byte gAnims_MAREEP - .4byte gAnims_FLAAFFY - .4byte gAnims_AMPHAROS - .4byte gAnims_BELLOSSOM - .4byte gAnims_MARILL - .4byte gAnims_AZUMARILL - .4byte gAnims_SUDOWOODO - .4byte gAnims_POLITOED - .4byte gAnims_HOPPIP - .4byte gAnims_SKIPLOOM - .4byte gAnims_JUMPLUFF - .4byte gAnims_AIPOM - .4byte gAnims_SUNKERN - .4byte gAnims_SUNFLORA - .4byte gAnims_YANMA - .4byte gAnims_WOOPER - .4byte gAnims_QUAGSIRE - .4byte gAnims_ESPEON - .4byte gAnims_UMBREON - .4byte gAnims_MURKROW - .4byte gAnims_SLOWKING - .4byte gAnims_MISDREAVUS - .4byte gAnims_UNOWN - .4byte gAnims_WOBBUFFET - .4byte gAnims_GIRAFARIG - .4byte gAnims_PINECO - .4byte gAnims_FORRETRESS - .4byte gAnims_DUNSPARCE - .4byte gAnims_GLIGAR - .4byte gAnims_STEELIX - .4byte gAnims_SNUBBULL - .4byte gAnims_GRANBULL - .4byte gAnims_QWILFISH - .4byte gAnims_SCIZOR - .4byte gAnims_SHUCKLE - .4byte gAnims_HERACROSS - .4byte gAnims_SNEASEL - .4byte gAnims_TEDDIURSA - .4byte gAnims_URSARING - .4byte gAnims_SLUGMA - .4byte gAnims_MAGCARGO - .4byte gAnims_SWINUB - .4byte gAnims_PILOSWINE - .4byte gAnims_CORSOLA - .4byte gAnims_REMORAID - .4byte gAnims_OCTILLERY - .4byte gAnims_DELIBIRD - .4byte gAnims_MANTINE - .4byte gAnims_SKARMORY - .4byte gAnims_HOUNDOUR - .4byte gAnims_HOUNDOOM - .4byte gAnims_KINGDRA - .4byte gAnims_PHANPY - .4byte gAnims_DONPHAN - .4byte gAnims_PORYGON2 - .4byte gAnims_STANTLER - .4byte gAnims_SMEARGLE - .4byte gAnims_TYROGUE - .4byte gAnims_HITMONTOP - .4byte gAnims_SMOOCHUM - .4byte gAnims_ELEKID - .4byte gAnims_MAGBY - .4byte gAnims_MILTANK - .4byte gAnims_BLISSEY - .4byte gAnims_RAIKOU - .4byte gAnims_ENTEI - .4byte gAnims_SUICUNE - .4byte gAnims_LARVITAR - .4byte gAnims_PUPITAR - .4byte gAnims_TYRANITAR - .4byte gAnims_LUGIA - .4byte gAnims_HO_OH - .4byte gAnims_CELEBI - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_OLD_UNOWN_B - .4byte gAnims_TREECKO - .4byte gAnims_GROVYLE - .4byte gAnims_SCEPTILE - .4byte gAnims_TORCHIC - .4byte gAnims_COMBUSKEN - .4byte gAnims_BLAZIKEN - .4byte gAnims_MUDKIP - .4byte gAnims_MARSHTOMP - .4byte gAnims_SWAMPERT - .4byte gAnims_POOCHYENA - .4byte gAnims_MIGHTYENA - .4byte gAnims_ZIGZAGOON - .4byte gAnims_LINOONE - .4byte gAnims_WURMPLE - .4byte gAnims_SILCOON - .4byte gAnims_BEAUTIFLY - .4byte gAnims_CASCOON - .4byte gAnims_DUSTOX - .4byte gAnims_LOTAD - .4byte gAnims_LOMBRE - .4byte gAnims_LUDICOLO - .4byte gAnims_SEEDOT - .4byte gAnims_NUZLEAF - .4byte gAnims_SHIFTRY - .4byte gAnims_NINCADA - .4byte gAnims_NINJASK - .4byte gAnims_SHEDINJA - .4byte gAnims_TAILLOW - .4byte gAnims_SWELLOW - .4byte gAnims_SHROOMISH - .4byte gAnims_BRELOOM - .4byte gAnims_SPINDA - .4byte gAnims_WINGULL - .4byte gAnims_PELIPPER - .4byte gAnims_SURSKIT - .4byte gAnims_MASQUERAIN - .4byte gAnims_WAILMER - .4byte gAnims_WAILORD - .4byte gAnims_SKITTY - .4byte gAnims_DELCATTY - .4byte gAnims_KECLEON - .4byte gAnims_BALTOY - .4byte gAnims_CLAYDOL - .4byte gAnims_NOSEPASS - .4byte gAnims_TORKOAL - .4byte gAnims_SABLEYE - .4byte gAnims_BARBOACH - .4byte gAnims_WHISCASH - .4byte gAnims_LUVDISC - .4byte gAnims_CORPHISH - .4byte gAnims_CRAWDAUNT - .4byte gAnims_FEEBAS - .4byte gAnims_MILOTIC - .4byte gAnims_CARVANHA - .4byte gAnims_SHARPEDO - .4byte gAnims_TRAPINCH - .4byte gAnims_VIBRAVA - .4byte gAnims_FLYGON - .4byte gAnims_MAKUHITA - .4byte gAnims_HARIYAMA - .4byte gAnims_ELECTRIKE - .4byte gAnims_MANECTRIC - .4byte gAnims_NUMEL - .4byte gAnims_CAMERUPT - .4byte gAnims_SPHEAL - .4byte gAnims_SEALEO - .4byte gAnims_WALREIN - .4byte gAnims_CACNEA - .4byte gAnims_CACTURNE - .4byte gAnims_SNORUNT - .4byte gAnims_GLALIE - .4byte gAnims_LUNATONE - .4byte gAnims_SOLROCK - .4byte gAnims_AZURILL - .4byte gAnims_SPOINK - .4byte gAnims_GRUMPIG - .4byte gAnims_PLUSLE - .4byte gAnims_MINUN - .4byte gAnims_MAWILE - .4byte gAnims_MEDITITE - .4byte gAnims_MEDICHAM - .4byte gAnims_SWABLU - .4byte gAnims_ALTARIA - .4byte gAnims_WYNAUT - .4byte gAnims_DUSKULL - .4byte gAnims_DUSCLOPS - .4byte gAnims_ROSELIA - .4byte gAnims_SLAKOTH - .4byte gAnims_VIGOROTH - .4byte gAnims_SLAKING - .4byte gAnims_GULPIN - .4byte gAnims_SWALOT - .4byte gAnims_TROPIUS - .4byte gAnims_WHISMUR - .4byte gAnims_LOUDRED - .4byte gAnims_EXPLOUD - .4byte gAnims_CLAMPERL - .4byte gAnims_HUNTAIL - .4byte gAnims_GOREBYSS - .4byte gAnims_ABSOL - .4byte gAnims_SHUPPET - .4byte gAnims_BANETTE - .4byte gAnims_SEVIPER - .4byte gAnims_ZANGOOSE - .4byte gAnims_RELICANTH - .4byte gAnims_ARON - .4byte gAnims_LAIRON - .4byte gAnims_AGGRON - .4byte gAnims_CASTFORM - .4byte gAnims_VOLBEAT - .4byte gAnims_ILLUMISE - .4byte gAnims_LILEEP - .4byte gAnims_CRADILY - .4byte gAnims_ANORITH - .4byte gAnims_ARMALDO - .4byte gAnims_RALTS - .4byte gAnims_KIRLIA - .4byte gAnims_GARDEVOIR - .4byte gAnims_BAGON - .4byte gAnims_SHELGON - .4byte gAnims_SALAMENCE - .4byte gAnims_BELDUM - .4byte gAnims_METANG - .4byte gAnims_METAGROSS - .4byte gAnims_REGIROCK - .4byte gAnims_REGICE - .4byte gAnims_REGISTEEL - .4byte gAnims_KYOGRE - .4byte gAnims_GROUDON - .4byte gAnims_RAYQUAZA - .4byte gAnims_LATIAS - .4byte gAnims_LATIOS - .4byte gAnims_JIRACHI - .4byte gAnims_DEOXYS - .4byte gAnims_CHIMECHO - .4byte gAnims_EGG - .4byte gAnims_UNOWN_B - .4byte gAnims_UNOWN_C - .4byte gAnims_UNOWN_D - .4byte gAnims_UNOWN_E - .4byte gAnims_UNOWN_F - .4byte gAnims_UNOWN_G - .4byte gAnims_UNOWN_H - .4byte gAnims_UNOWN_I - .4byte gAnims_UNOWN_J - .4byte gAnims_UNOWN_K - .4byte gAnims_UNOWN_L - .4byte gAnims_UNOWN_M - .4byte gAnims_UNOWN_N - .4byte gAnims_UNOWN_O - .4byte gAnims_UNOWN_P - .4byte gAnims_UNOWN_Q - .4byte gAnims_UNOWN_R - .4byte gAnims_UNOWN_S - .4byte gAnims_UNOWN_T - .4byte gAnims_UNOWN_U - .4byte gAnims_UNOWN_V - .4byte gAnims_UNOWN_W - .4byte gAnims_UNOWN_X - .4byte gAnims_UNOWN_Y - .4byte gAnims_UNOWN_Z - .4byte gAnims_UNOWN_EMARK - .4byte gAnims_UNOWN_QMARK diff --git a/data/graphics/pokemon/front_pic_table.inc b/data/graphics/pokemon/front_pic_table.inc deleted file mode 100644 index 7f481e190..000000000 --- a/data/graphics/pokemon/front_pic_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonFrontPicTable:: @ 830A18C - obj_tiles gMonFrontPic_CircledQuestionMark, 0x800, 0 - obj_tiles gMonFrontPic_Bulbasaur, 0x800, 1 - obj_tiles gMonFrontPic_Ivysaur, 0x800, 2 - obj_tiles gMonFrontPic_Venusaur, 0x800, 3 - obj_tiles gMonFrontPic_Charmander, 0x800, 4 - obj_tiles gMonFrontPic_Charmeleon, 0x800, 5 - obj_tiles gMonFrontPic_Charizard, 0x800, 6 - obj_tiles gMonFrontPic_Squirtle, 0x800, 7 - obj_tiles gMonFrontPic_Wartortle, 0x800, 8 - obj_tiles gMonFrontPic_Blastoise, 0x800, 9 - obj_tiles gMonFrontPic_Caterpie, 0x800, 10 - obj_tiles gMonFrontPic_Metapod, 0x800, 11 - obj_tiles gMonFrontPic_Butterfree, 0x800, 12 - obj_tiles gMonFrontPic_Weedle, 0x800, 13 - obj_tiles gMonFrontPic_Kakuna, 0x800, 14 - obj_tiles gMonFrontPic_Beedrill, 0x800, 15 - obj_tiles gMonFrontPic_Pidgey, 0x800, 16 - obj_tiles gMonFrontPic_Pidgeotto, 0x800, 17 - obj_tiles gMonFrontPic_Pidgeot, 0x800, 18 - obj_tiles gMonFrontPic_Rattata, 0x800, 19 - obj_tiles gMonFrontPic_Raticate, 0x800, 20 - obj_tiles gMonFrontPic_Spearow, 0x800, 21 - obj_tiles gMonFrontPic_Fearow, 0x800, 22 - obj_tiles gMonFrontPic_Ekans, 0x800, 23 - obj_tiles gMonFrontPic_Arbok, 0x800, 24 - obj_tiles gMonFrontPic_Pikachu, 0x800, 25 - obj_tiles gMonFrontPic_Raichu, 0x800, 26 - obj_tiles gMonFrontPic_Sandshrew, 0x800, 27 - obj_tiles gMonFrontPic_Sandslash, 0x800, 28 - obj_tiles gMonFrontPic_NidoranF, 0x800, 29 - obj_tiles gMonFrontPic_Nidorina, 0x800, 30 - obj_tiles gMonFrontPic_Nidoqueen, 0x800, 31 - obj_tiles gMonFrontPic_NidoranM, 0x800, 32 - obj_tiles gMonFrontPic_Nidorino, 0x800, 33 - obj_tiles gMonFrontPic_Nidoking, 0x800, 34 - obj_tiles gMonFrontPic_Clefairy, 0x800, 35 - obj_tiles gMonFrontPic_Clefable, 0x800, 36 - obj_tiles gMonFrontPic_Vulpix, 0x800, 37 - obj_tiles gMonFrontPic_Ninetales, 0x800, 38 - obj_tiles gMonFrontPic_Jigglypuff, 0x800, 39 - obj_tiles gMonFrontPic_Wigglytuff, 0x800, 40 - obj_tiles gMonFrontPic_Zubat, 0x800, 41 - obj_tiles gMonFrontPic_Golbat, 0x800, 42 - obj_tiles gMonFrontPic_Oddish, 0x800, 43 - obj_tiles gMonFrontPic_Gloom, 0x800, 44 - obj_tiles gMonFrontPic_Vileplume, 0x800, 45 - obj_tiles gMonFrontPic_Paras, 0x800, 46 - obj_tiles gMonFrontPic_Parasect, 0x800, 47 - obj_tiles gMonFrontPic_Venonat, 0x800, 48 - obj_tiles gMonFrontPic_Venomoth, 0x800, 49 - obj_tiles gMonFrontPic_Diglett, 0x800, 50 - obj_tiles gMonFrontPic_Dugtrio, 0x800, 51 - obj_tiles gMonFrontPic_Meowth, 0x800, 52 - obj_tiles gMonFrontPic_Persian, 0x800, 53 - obj_tiles gMonFrontPic_Psyduck, 0x800, 54 - obj_tiles gMonFrontPic_Golduck, 0x800, 55 - obj_tiles gMonFrontPic_Mankey, 0x800, 56 - obj_tiles gMonFrontPic_Primeape, 0x800, 57 - obj_tiles gMonFrontPic_Growlithe, 0x800, 58 - obj_tiles gMonFrontPic_Arcanine, 0x800, 59 - obj_tiles gMonFrontPic_Poliwag, 0x800, 60 - obj_tiles gMonFrontPic_Poliwhirl, 0x800, 61 - obj_tiles gMonFrontPic_Poliwrath, 0x800, 62 - obj_tiles gMonFrontPic_Abra, 0x800, 63 - obj_tiles gMonFrontPic_Kadabra, 0x800, 64 - obj_tiles gMonFrontPic_Alakazam, 0x800, 65 - obj_tiles gMonFrontPic_Machop, 0x800, 66 - obj_tiles gMonFrontPic_Machoke, 0x800, 67 - obj_tiles gMonFrontPic_Machamp, 0x800, 68 - obj_tiles gMonFrontPic_Bellsprout, 0x800, 69 - obj_tiles gMonFrontPic_Weepinbell, 0x800, 70 - obj_tiles gMonFrontPic_Victreebel, 0x800, 71 - obj_tiles gMonFrontPic_Tentacool, 0x800, 72 - obj_tiles gMonFrontPic_Tentacruel, 0x800, 73 - obj_tiles gMonFrontPic_Geodude, 0x800, 74 - obj_tiles gMonFrontPic_Graveler, 0x800, 75 - obj_tiles gMonFrontPic_Golem, 0x800, 76 - obj_tiles gMonFrontPic_Ponyta, 0x800, 77 - obj_tiles gMonFrontPic_Rapidash, 0x800, 78 - obj_tiles gMonFrontPic_Slowpoke, 0x800, 79 - obj_tiles gMonFrontPic_Slowbro, 0x800, 80 - obj_tiles gMonFrontPic_Magnemite, 0x800, 81 - obj_tiles gMonFrontPic_Magneton, 0x800, 82 - obj_tiles gMonFrontPic_Farfetchd, 0x800, 83 - obj_tiles gMonFrontPic_Doduo, 0x800, 84 - obj_tiles gMonFrontPic_Dodrio, 0x800, 85 - obj_tiles gMonFrontPic_Seel, 0x800, 86 - obj_tiles gMonFrontPic_Dewgong, 0x800, 87 - obj_tiles gMonFrontPic_Grimer, 0x800, 88 - obj_tiles gMonFrontPic_Muk, 0x800, 89 - obj_tiles gMonFrontPic_Shellder, 0x800, 90 - obj_tiles gMonFrontPic_Cloyster, 0x800, 91 - obj_tiles gMonFrontPic_Gastly, 0x800, 92 - obj_tiles gMonFrontPic_Haunter, 0x800, 93 - obj_tiles gMonFrontPic_Gengar, 0x800, 94 - obj_tiles gMonFrontPic_Onix, 0x800, 95 - obj_tiles gMonFrontPic_Drowzee, 0x800, 96 - obj_tiles gMonFrontPic_Hypno, 0x800, 97 - obj_tiles gMonFrontPic_Krabby, 0x800, 98 - obj_tiles gMonFrontPic_Kingler, 0x800, 99 - obj_tiles gMonFrontPic_Voltorb, 0x800, 100 - obj_tiles gMonFrontPic_Electrode, 0x800, 101 - obj_tiles gMonFrontPic_Exeggcute, 0x800, 102 - obj_tiles gMonFrontPic_Exeggutor, 0x800, 103 - obj_tiles gMonFrontPic_Cubone, 0x800, 104 - obj_tiles gMonFrontPic_Marowak, 0x800, 105 - obj_tiles gMonFrontPic_Hitmonlee, 0x800, 106 - obj_tiles gMonFrontPic_Hitmonchan, 0x800, 107 - obj_tiles gMonFrontPic_Lickitung, 0x800, 108 - obj_tiles gMonFrontPic_Koffing, 0x800, 109 - obj_tiles gMonFrontPic_Weezing, 0x800, 110 - obj_tiles gMonFrontPic_Rhyhorn, 0x800, 111 - obj_tiles gMonFrontPic_Rhydon, 0x800, 112 - obj_tiles gMonFrontPic_Chansey, 0x800, 113 - obj_tiles gMonFrontPic_Tangela, 0x800, 114 - obj_tiles gMonFrontPic_Kangaskhan, 0x800, 115 - obj_tiles gMonFrontPic_Horsea, 0x800, 116 - obj_tiles gMonFrontPic_Seadra, 0x800, 117 - obj_tiles gMonFrontPic_Goldeen, 0x800, 118 - obj_tiles gMonFrontPic_Seaking, 0x800, 119 - obj_tiles gMonFrontPic_Staryu, 0x800, 120 - obj_tiles gMonFrontPic_Starmie, 0x800, 121 - obj_tiles gMonFrontPic_Mrmime, 0x800, 122 - obj_tiles gMonFrontPic_Scyther, 0x800, 123 - obj_tiles gMonFrontPic_Jynx, 0x800, 124 - obj_tiles gMonFrontPic_Electabuzz, 0x800, 125 - obj_tiles gMonFrontPic_Magmar, 0x800, 126 - obj_tiles gMonFrontPic_Pinsir, 0x800, 127 - obj_tiles gMonFrontPic_Tauros, 0x800, 128 - obj_tiles gMonFrontPic_Magikarp, 0x800, 129 - obj_tiles gMonFrontPic_Gyarados, 0x800, 130 - obj_tiles gMonFrontPic_Lapras, 0x800, 131 - obj_tiles gMonFrontPic_Ditto, 0x800, 132 - obj_tiles gMonFrontPic_Eevee, 0x800, 133 - obj_tiles gMonFrontPic_Vaporeon, 0x800, 134 - obj_tiles gMonFrontPic_Jolteon, 0x800, 135 - obj_tiles gMonFrontPic_Flareon, 0x800, 136 - obj_tiles gMonFrontPic_Porygon, 0x800, 137 - obj_tiles gMonFrontPic_Omanyte, 0x800, 138 - obj_tiles gMonFrontPic_Omastar, 0x800, 139 - obj_tiles gMonFrontPic_Kabuto, 0x800, 140 - obj_tiles gMonFrontPic_Kabutops, 0x800, 141 - obj_tiles gMonFrontPic_Aerodactyl, 0x800, 142 - obj_tiles gMonFrontPic_Snorlax, 0x800, 143 - obj_tiles gMonFrontPic_Articuno, 0x800, 144 - obj_tiles gMonFrontPic_Zapdos, 0x800, 145 - obj_tiles gMonFrontPic_Moltres, 0x800, 146 - obj_tiles gMonFrontPic_Dratini, 0x800, 147 - obj_tiles gMonFrontPic_Dragonair, 0x800, 148 - obj_tiles gMonFrontPic_Dragonite, 0x800, 149 - obj_tiles gMonFrontPic_Mewtwo, 0x800, 150 - obj_tiles gMonFrontPic_Mew, 0x800, 151 - obj_tiles gMonFrontPic_Chikorita, 0x800, 152 - obj_tiles gMonFrontPic_Bayleef, 0x800, 153 - obj_tiles gMonFrontPic_Meganium, 0x800, 154 - obj_tiles gMonFrontPic_Cyndaquil, 0x800, 155 - obj_tiles gMonFrontPic_Quilava, 0x800, 156 - obj_tiles gMonFrontPic_Typhlosion, 0x800, 157 - obj_tiles gMonFrontPic_Totodile, 0x800, 158 - obj_tiles gMonFrontPic_Croconaw, 0x800, 159 - obj_tiles gMonFrontPic_Feraligatr, 0x800, 160 - obj_tiles gMonFrontPic_Sentret, 0x800, 161 - obj_tiles gMonFrontPic_Furret, 0x800, 162 - obj_tiles gMonFrontPic_Hoothoot, 0x800, 163 - obj_tiles gMonFrontPic_Noctowl, 0x800, 164 - obj_tiles gMonFrontPic_Ledyba, 0x800, 165 - obj_tiles gMonFrontPic_Ledian, 0x800, 166 - obj_tiles gMonFrontPic_Spinarak, 0x800, 167 - obj_tiles gMonFrontPic_Ariados, 0x800, 168 - obj_tiles gMonFrontPic_Crobat, 0x800, 169 - obj_tiles gMonFrontPic_Chinchou, 0x800, 170 - obj_tiles gMonFrontPic_Lanturn, 0x800, 171 - obj_tiles gMonFrontPic_Pichu, 0x800, 172 - obj_tiles gMonFrontPic_Cleffa, 0x800, 173 - obj_tiles gMonFrontPic_Igglybuff, 0x800, 174 - obj_tiles gMonFrontPic_Togepi, 0x800, 175 - obj_tiles gMonFrontPic_Togetic, 0x800, 176 - obj_tiles gMonFrontPic_Natu, 0x800, 177 - obj_tiles gMonFrontPic_Xatu, 0x800, 178 - obj_tiles gMonFrontPic_Mareep, 0x800, 179 - obj_tiles gMonFrontPic_Flaaffy, 0x800, 180 - obj_tiles gMonFrontPic_Ampharos, 0x800, 181 - obj_tiles gMonFrontPic_Bellossom, 0x800, 182 - obj_tiles gMonFrontPic_Marill, 0x800, 183 - obj_tiles gMonFrontPic_Azumarill, 0x800, 184 - obj_tiles gMonFrontPic_Sudowoodo, 0x800, 185 - obj_tiles gMonFrontPic_Politoed, 0x800, 186 - obj_tiles gMonFrontPic_Hoppip, 0x800, 187 - obj_tiles gMonFrontPic_Skiploom, 0x800, 188 - obj_tiles gMonFrontPic_Jumpluff, 0x800, 189 - obj_tiles gMonFrontPic_Aipom, 0x800, 190 - obj_tiles gMonFrontPic_Sunkern, 0x800, 191 - obj_tiles gMonFrontPic_Sunflora, 0x800, 192 - obj_tiles gMonFrontPic_Yanma, 0x800, 193 - obj_tiles gMonFrontPic_Wooper, 0x800, 194 - obj_tiles gMonFrontPic_Quagsire, 0x800, 195 - obj_tiles gMonFrontPic_Espeon, 0x800, 196 - obj_tiles gMonFrontPic_Umbreon, 0x800, 197 - obj_tiles gMonFrontPic_Murkrow, 0x800, 198 - obj_tiles gMonFrontPic_Slowking, 0x800, 199 - obj_tiles gMonFrontPic_Misdreavus, 0x800, 200 - obj_tiles gMonFrontPic_UnownA, 0x800, 201 - obj_tiles gMonFrontPic_Wobbuffet, 0x800, 202 - obj_tiles gMonFrontPic_Girafarig, 0x800, 203 - obj_tiles gMonFrontPic_Pineco, 0x800, 204 - obj_tiles gMonFrontPic_Forretress, 0x800, 205 - obj_tiles gMonFrontPic_Dunsparce, 0x800, 206 - obj_tiles gMonFrontPic_Gligar, 0x800, 207 - obj_tiles gMonFrontPic_Steelix, 0x800, 208 - obj_tiles gMonFrontPic_Snubbull, 0x800, 209 - obj_tiles gMonFrontPic_Granbull, 0x800, 210 - obj_tiles gMonFrontPic_Qwilfish, 0x800, 211 - obj_tiles gMonFrontPic_Scizor, 0x800, 212 - obj_tiles gMonFrontPic_Shuckle, 0x800, 213 - obj_tiles gMonFrontPic_Heracross, 0x800, 214 - obj_tiles gMonFrontPic_Sneasel, 0x800, 215 - obj_tiles gMonFrontPic_Teddiursa, 0x800, 216 - obj_tiles gMonFrontPic_Ursaring, 0x800, 217 - obj_tiles gMonFrontPic_Slugma, 0x800, 218 - obj_tiles gMonFrontPic_Magcargo, 0x800, 219 - obj_tiles gMonFrontPic_Swinub, 0x800, 220 - obj_tiles gMonFrontPic_Piloswine, 0x800, 221 - obj_tiles gMonFrontPic_Corsola, 0x800, 222 - obj_tiles gMonFrontPic_Remoraid, 0x800, 223 - obj_tiles gMonFrontPic_Octillery, 0x800, 224 - obj_tiles gMonFrontPic_Delibird, 0x800, 225 - obj_tiles gMonFrontPic_Mantine, 0x800, 226 - obj_tiles gMonFrontPic_Skarmory, 0x800, 227 - obj_tiles gMonFrontPic_Houndour, 0x800, 228 - obj_tiles gMonFrontPic_Houndoom, 0x800, 229 - obj_tiles gMonFrontPic_Kingdra, 0x800, 230 - obj_tiles gMonFrontPic_Phanpy, 0x800, 231 - obj_tiles gMonFrontPic_Donphan, 0x800, 232 - obj_tiles gMonFrontPic_Porygon2, 0x800, 233 - obj_tiles gMonFrontPic_Stantler, 0x800, 234 - obj_tiles gMonFrontPic_Smeargle, 0x800, 235 - obj_tiles gMonFrontPic_Tyrogue, 0x800, 236 - obj_tiles gMonFrontPic_Hitmontop, 0x800, 237 - obj_tiles gMonFrontPic_Smoochum, 0x800, 238 - obj_tiles gMonFrontPic_Elekid, 0x800, 239 - obj_tiles gMonFrontPic_Magby, 0x800, 240 - obj_tiles gMonFrontPic_Miltank, 0x800, 241 - obj_tiles gMonFrontPic_Blissey, 0x800, 242 - obj_tiles gMonFrontPic_Raikou, 0x800, 243 - obj_tiles gMonFrontPic_Entei, 0x800, 244 - obj_tiles gMonFrontPic_Suicune, 0x800, 245 - obj_tiles gMonFrontPic_Larvitar, 0x800, 246 - obj_tiles gMonFrontPic_Pupitar, 0x800, 247 - obj_tiles gMonFrontPic_Tyranitar, 0x800, 248 - obj_tiles gMonFrontPic_Lugia, 0x800, 249 - obj_tiles gMonFrontPic_HoOh, 0x800, 250 - obj_tiles gMonFrontPic_Celebi, 0x800, 251 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 252 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 253 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 254 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 255 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 256 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 257 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 258 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 259 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 260 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 261 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 262 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 263 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 264 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 265 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 266 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 267 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 268 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 269 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 270 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 271 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 272 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 273 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 274 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 275 - obj_tiles gMonFrontPic_DoubleQuestionMark, 0x800, 276 - obj_tiles gMonFrontPic_Treecko, 0x800, 277 - obj_tiles gMonFrontPic_Grovyle, 0x800, 278 - obj_tiles gMonFrontPic_Sceptile, 0x800, 279 - obj_tiles gMonFrontPic_Torchic, 0x800, 280 - obj_tiles gMonFrontPic_Combusken, 0x800, 281 - obj_tiles gMonFrontPic_Blaziken, 0x800, 282 - obj_tiles gMonFrontPic_Mudkip, 0x800, 283 - obj_tiles gMonFrontPic_Marshtomp, 0x800, 284 - obj_tiles gMonFrontPic_Swampert, 0x800, 285 - obj_tiles gMonFrontPic_Poochyena, 0x800, 286 - obj_tiles gMonFrontPic_Mightyena, 0x800, 287 - obj_tiles gMonFrontPic_Zigzagoon, 0x800, 288 - obj_tiles gMonFrontPic_Linoone, 0x800, 289 - obj_tiles gMonFrontPic_Wurmple, 0x800, 290 - obj_tiles gMonFrontPic_Silcoon, 0x800, 291 - obj_tiles gMonFrontPic_Beautifly, 0x800, 292 - obj_tiles gMonFrontPic_Cascoon, 0x800, 293 - obj_tiles gMonFrontPic_Dustox, 0x800, 294 - obj_tiles gMonFrontPic_Lotad, 0x800, 295 - obj_tiles gMonFrontPic_Lombre, 0x800, 296 - obj_tiles gMonFrontPic_Ludicolo, 0x800, 297 - obj_tiles gMonFrontPic_Seedot, 0x800, 298 - obj_tiles gMonFrontPic_Nuzleaf, 0x800, 299 - obj_tiles gMonFrontPic_Shiftry, 0x800, 300 - obj_tiles gMonFrontPic_Nincada, 0x800, 301 - obj_tiles gMonFrontPic_Ninjask, 0x800, 302 - obj_tiles gMonFrontPic_Shedinja, 0x800, 303 - obj_tiles gMonFrontPic_Taillow, 0x800, 304 - obj_tiles gMonFrontPic_Swellow, 0x800, 305 - obj_tiles gMonFrontPic_Shroomish, 0x800, 306 - obj_tiles gMonFrontPic_Breloom, 0x800, 307 - obj_tiles gMonFrontPic_Spinda, 0x800, 308 - obj_tiles gMonFrontPic_Wingull, 0x800, 309 - obj_tiles gMonFrontPic_Pelipper, 0x800, 310 - obj_tiles gMonFrontPic_Surskit, 0x800, 311 - obj_tiles gMonFrontPic_Masquerain, 0x800, 312 - obj_tiles gMonFrontPic_Wailmer, 0x800, 313 - obj_tiles gMonFrontPic_Wailord, 0x800, 314 - obj_tiles gMonFrontPic_Skitty, 0x800, 315 - obj_tiles gMonFrontPic_Delcatty, 0x800, 316 - obj_tiles gMonFrontPic_Kecleon, 0x800, 317 - obj_tiles gMonFrontPic_Baltoy, 0x800, 318 - obj_tiles gMonFrontPic_Claydol, 0x800, 319 - obj_tiles gMonFrontPic_Nosepass, 0x800, 320 - obj_tiles gMonFrontPic_Torkoal, 0x800, 321 - obj_tiles gMonFrontPic_Sableye, 0x800, 322 - obj_tiles gMonFrontPic_Barboach, 0x800, 323 - obj_tiles gMonFrontPic_Whiscash, 0x800, 324 - obj_tiles gMonFrontPic_Luvdisc, 0x800, 325 - obj_tiles gMonFrontPic_Corphish, 0x800, 326 - obj_tiles gMonFrontPic_Crawdaunt, 0x800, 327 - obj_tiles gMonFrontPic_Feebas, 0x800, 328 - obj_tiles gMonFrontPic_Milotic, 0x800, 329 - obj_tiles gMonFrontPic_Carvanha, 0x800, 330 - obj_tiles gMonFrontPic_Sharpedo, 0x800, 331 - obj_tiles gMonFrontPic_Trapinch, 0x800, 332 - obj_tiles gMonFrontPic_Vibrava, 0x800, 333 - obj_tiles gMonFrontPic_Flygon, 0x800, 334 - obj_tiles gMonFrontPic_Makuhita, 0x800, 335 - obj_tiles gMonFrontPic_Hariyama, 0x800, 336 - obj_tiles gMonFrontPic_Electrike, 0x800, 337 - obj_tiles gMonFrontPic_Manectric, 0x800, 338 - obj_tiles gMonFrontPic_Numel, 0x800, 339 - obj_tiles gMonFrontPic_Camerupt, 0x800, 340 - obj_tiles gMonFrontPic_Spheal, 0x800, 341 - obj_tiles gMonFrontPic_Sealeo, 0x800, 342 - obj_tiles gMonFrontPic_Walrein, 0x800, 343 - obj_tiles gMonFrontPic_Cacnea, 0x800, 344 - obj_tiles gMonFrontPic_Cacturne, 0x800, 345 - obj_tiles gMonFrontPic_Snorunt, 0x800, 346 - obj_tiles gMonFrontPic_Glalie, 0x800, 347 - obj_tiles gMonFrontPic_Lunatone, 0x800, 348 - obj_tiles gMonFrontPic_Solrock, 0x800, 349 - obj_tiles gMonFrontPic_Azurill, 0x800, 350 - obj_tiles gMonFrontPic_Spoink, 0x800, 351 - obj_tiles gMonFrontPic_Grumpig, 0x800, 352 - obj_tiles gMonFrontPic_Plusle, 0x800, 353 - obj_tiles gMonFrontPic_Minun, 0x800, 354 - obj_tiles gMonFrontPic_Mawile, 0x800, 355 - obj_tiles gMonFrontPic_Meditite, 0x800, 356 - obj_tiles gMonFrontPic_Medicham, 0x800, 357 - obj_tiles gMonFrontPic_Swablu, 0x800, 358 - obj_tiles gMonFrontPic_Altaria, 0x800, 359 - obj_tiles gMonFrontPic_Wynaut, 0x800, 360 - obj_tiles gMonFrontPic_Duskull, 0x800, 361 - obj_tiles gMonFrontPic_Dusclops, 0x800, 362 - obj_tiles gMonFrontPic_Roselia, 0x800, 363 - obj_tiles gMonFrontPic_Slakoth, 0x800, 364 - obj_tiles gMonFrontPic_Vigoroth, 0x800, 365 - obj_tiles gMonFrontPic_Slaking, 0x800, 366 - obj_tiles gMonFrontPic_Gulpin, 0x800, 367 - obj_tiles gMonFrontPic_Swalot, 0x800, 368 - obj_tiles gMonFrontPic_Tropius, 0x800, 369 - obj_tiles gMonFrontPic_Whismur, 0x800, 370 - obj_tiles gMonFrontPic_Loudred, 0x800, 371 - obj_tiles gMonFrontPic_Exploud, 0x800, 372 - obj_tiles gMonFrontPic_Clamperl, 0x800, 373 - obj_tiles gMonFrontPic_Huntail, 0x800, 374 - obj_tiles gMonFrontPic_Gorebyss, 0x800, 375 - obj_tiles gMonFrontPic_Absol, 0x800, 376 - obj_tiles gMonFrontPic_Shuppet, 0x800, 377 - obj_tiles gMonFrontPic_Banette, 0x800, 378 - obj_tiles gMonFrontPic_Seviper, 0x800, 379 - obj_tiles gMonFrontPic_Zangoose, 0x800, 380 - obj_tiles gMonFrontPic_Relicanth, 0x800, 381 - obj_tiles gMonFrontPic_Aron, 0x800, 382 - obj_tiles gMonFrontPic_Lairon, 0x800, 383 - obj_tiles gMonFrontPic_Aggron, 0x800, 384 - obj_tiles gMonFrontPic_Castform, 0x800, 385 - obj_tiles gMonFrontPic_Volbeat, 0x800, 386 - obj_tiles gMonFrontPic_Illumise, 0x800, 387 - obj_tiles gMonFrontPic_Lileep, 0x800, 388 - obj_tiles gMonFrontPic_Cradily, 0x800, 389 - obj_tiles gMonFrontPic_Anorith, 0x800, 390 - obj_tiles gMonFrontPic_Armaldo, 0x800, 391 - obj_tiles gMonFrontPic_Ralts, 0x800, 392 - obj_tiles gMonFrontPic_Kirlia, 0x800, 393 - obj_tiles gMonFrontPic_Gardevoir, 0x800, 394 - obj_tiles gMonFrontPic_Bagon, 0x800, 395 - obj_tiles gMonFrontPic_Shelgon, 0x800, 396 - obj_tiles gMonFrontPic_Salamence, 0x800, 397 - obj_tiles gMonFrontPic_Beldum, 0x800, 398 - obj_tiles gMonFrontPic_Metang, 0x800, 399 - obj_tiles gMonFrontPic_Metagross, 0x800, 400 - obj_tiles gMonFrontPic_Regirock, 0x800, 401 - obj_tiles gMonFrontPic_Regice, 0x800, 402 - obj_tiles gMonFrontPic_Registeel, 0x800, 403 - obj_tiles gMonFrontPic_Kyogre, 0x800, 404 - obj_tiles gMonFrontPic_Groudon, 0x800, 405 - obj_tiles gMonFrontPic_Rayquaza, 0x800, 406 - obj_tiles gMonFrontPic_Latias, 0x800, 407 - obj_tiles gMonFrontPic_Latios, 0x800, 408 - obj_tiles gMonFrontPic_Jirachi, 0x800, 409 - obj_tiles gMonFrontPic_Deoxys, 0x800, 410 - obj_tiles gMonFrontPic_Chimecho, 0x800, 411 - obj_tiles gMonFrontPic_Egg, 0x800, 412 - obj_tiles gMonFrontPic_UnownB, 0x800, 413 - obj_tiles gMonFrontPic_UnownC, 0x800, 414 - obj_tiles gMonFrontPic_UnownD, 0x800, 415 - obj_tiles gMonFrontPic_UnownE, 0x800, 416 - obj_tiles gMonFrontPic_UnownF, 0x800, 417 - obj_tiles gMonFrontPic_UnownG, 0x800, 418 - obj_tiles gMonFrontPic_UnownH, 0x800, 419 - obj_tiles gMonFrontPic_UnownI, 0x800, 420 - obj_tiles gMonFrontPic_UnownJ, 0x800, 421 - obj_tiles gMonFrontPic_UnownK, 0x800, 422 - obj_tiles gMonFrontPic_UnownL, 0x800, 423 - obj_tiles gMonFrontPic_UnownM, 0x800, 424 - obj_tiles gMonFrontPic_UnownN, 0x800, 425 - obj_tiles gMonFrontPic_UnownO, 0x800, 426 - obj_tiles gMonFrontPic_UnownP, 0x800, 427 - obj_tiles gMonFrontPic_UnownQ, 0x800, 428 - obj_tiles gMonFrontPic_UnownR, 0x800, 429 - obj_tiles gMonFrontPic_UnownS, 0x800, 430 - obj_tiles gMonFrontPic_UnownT, 0x800, 431 - obj_tiles gMonFrontPic_UnownU, 0x800, 432 - obj_tiles gMonFrontPic_UnownV, 0x800, 433 - obj_tiles gMonFrontPic_UnownW, 0x800, 434 - obj_tiles gMonFrontPic_UnownX, 0x800, 435 - obj_tiles gMonFrontPic_UnownY, 0x800, 436 - obj_tiles gMonFrontPic_UnownZ, 0x800, 437 - obj_tiles gMonFrontPic_UnownExclamationMark, 0x800, 438 - obj_tiles gMonFrontPic_UnownQuestionMark, 0x800, 439 diff --git a/data/graphics/pokemon/palette_table.inc b/data/graphics/pokemon/palette_table.inc deleted file mode 100644 index d636d13ec..000000000 --- a/data/graphics/pokemon/palette_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonPaletteTable:: @ 8303678 - obj_pal gMonPalette_CircledQuestionMark, 0 - obj_pal gMonPalette_Bulbasaur, 1 - obj_pal gMonPalette_Ivysaur, 2 - obj_pal gMonPalette_Venusaur, 3 - obj_pal gMonPalette_Charmander, 4 - obj_pal gMonPalette_Charmeleon, 5 - obj_pal gMonPalette_Charizard, 6 - obj_pal gMonPalette_Squirtle, 7 - obj_pal gMonPalette_Wartortle, 8 - obj_pal gMonPalette_Blastoise, 9 - obj_pal gMonPalette_Caterpie, 10 - obj_pal gMonPalette_Metapod, 11 - obj_pal gMonPalette_Butterfree, 12 - obj_pal gMonPalette_Weedle, 13 - obj_pal gMonPalette_Kakuna, 14 - obj_pal gMonPalette_Beedrill, 15 - obj_pal gMonPalette_Pidgey, 16 - obj_pal gMonPalette_Pidgeotto, 17 - obj_pal gMonPalette_Pidgeot, 18 - obj_pal gMonPalette_Rattata, 19 - obj_pal gMonPalette_Raticate, 20 - obj_pal gMonPalette_Spearow, 21 - obj_pal gMonPalette_Fearow, 22 - obj_pal gMonPalette_Ekans, 23 - obj_pal gMonPalette_Arbok, 24 - obj_pal gMonPalette_Pikachu, 25 - obj_pal gMonPalette_Raichu, 26 - obj_pal gMonPalette_Sandshrew, 27 - obj_pal gMonPalette_Sandslash, 28 - obj_pal gMonPalette_NidoranF, 29 - obj_pal gMonPalette_Nidorina, 30 - obj_pal gMonPalette_Nidoqueen, 31 - obj_pal gMonPalette_NidoranM, 32 - obj_pal gMonPalette_Nidorino, 33 - obj_pal gMonPalette_Nidoking, 34 - obj_pal gMonPalette_Clefairy, 35 - obj_pal gMonPalette_Clefable, 36 - obj_pal gMonPalette_Vulpix, 37 - obj_pal gMonPalette_Ninetales, 38 - obj_pal gMonPalette_Jigglypuff, 39 - obj_pal gMonPalette_Wigglytuff, 40 - obj_pal gMonPalette_Zubat, 41 - obj_pal gMonPalette_Golbat, 42 - obj_pal gMonPalette_Oddish, 43 - obj_pal gMonPalette_Gloom, 44 - obj_pal gMonPalette_Vileplume, 45 - obj_pal gMonPalette_Paras, 46 - obj_pal gMonPalette_Parasect, 47 - obj_pal gMonPalette_Venonat, 48 - obj_pal gMonPalette_Venomoth, 49 - obj_pal gMonPalette_Diglett, 50 - obj_pal gMonPalette_Dugtrio, 51 - obj_pal gMonPalette_Meowth, 52 - obj_pal gMonPalette_Persian, 53 - obj_pal gMonPalette_Psyduck, 54 - obj_pal gMonPalette_Golduck, 55 - obj_pal gMonPalette_Mankey, 56 - obj_pal gMonPalette_Primeape, 57 - obj_pal gMonPalette_Growlithe, 58 - obj_pal gMonPalette_Arcanine, 59 - obj_pal gMonPalette_Poliwag, 60 - obj_pal gMonPalette_Poliwhirl, 61 - obj_pal gMonPalette_Poliwrath, 62 - obj_pal gMonPalette_Abra, 63 - obj_pal gMonPalette_Kadabra, 64 - obj_pal gMonPalette_Alakazam, 65 - obj_pal gMonPalette_Machop, 66 - obj_pal gMonPalette_Machoke, 67 - obj_pal gMonPalette_Machamp, 68 - obj_pal gMonPalette_Bellsprout, 69 - obj_pal gMonPalette_Weepinbell, 70 - obj_pal gMonPalette_Victreebel, 71 - obj_pal gMonPalette_Tentacool, 72 - obj_pal gMonPalette_Tentacruel, 73 - obj_pal gMonPalette_Geodude, 74 - obj_pal gMonPalette_Graveler, 75 - obj_pal gMonPalette_Golem, 76 - obj_pal gMonPalette_Ponyta, 77 - obj_pal gMonPalette_Rapidash, 78 - obj_pal gMonPalette_Slowpoke, 79 - obj_pal gMonPalette_Slowbro, 80 - obj_pal gMonPalette_Magnemite, 81 - obj_pal gMonPalette_Magneton, 82 - obj_pal gMonPalette_Farfetchd, 83 - obj_pal gMonPalette_Doduo, 84 - obj_pal gMonPalette_Dodrio, 85 - obj_pal gMonPalette_Seel, 86 - obj_pal gMonPalette_Dewgong, 87 - obj_pal gMonPalette_Grimer, 88 - obj_pal gMonPalette_Muk, 89 - obj_pal gMonPalette_Shellder, 90 - obj_pal gMonPalette_Cloyster, 91 - obj_pal gMonPalette_Gastly, 92 - obj_pal gMonPalette_Haunter, 93 - obj_pal gMonPalette_Gengar, 94 - obj_pal gMonPalette_Onix, 95 - obj_pal gMonPalette_Drowzee, 96 - obj_pal gMonPalette_Hypno, 97 - obj_pal gMonPalette_Krabby, 98 - obj_pal gMonPalette_Kingler, 99 - obj_pal gMonPalette_Voltorb, 100 - obj_pal gMonPalette_Electrode, 101 - obj_pal gMonPalette_Exeggcute, 102 - obj_pal gMonPalette_Exeggutor, 103 - obj_pal gMonPalette_Cubone, 104 - obj_pal gMonPalette_Marowak, 105 - obj_pal gMonPalette_Hitmonlee, 106 - obj_pal gMonPalette_Hitmonchan, 107 - obj_pal gMonPalette_Lickitung, 108 - obj_pal gMonPalette_Koffing, 109 - obj_pal gMonPalette_Weezing, 110 - obj_pal gMonPalette_Rhyhorn, 111 - obj_pal gMonPalette_Rhydon, 112 - obj_pal gMonPalette_Chansey, 113 - obj_pal gMonPalette_Tangela, 114 - obj_pal gMonPalette_Kangaskhan, 115 - obj_pal gMonPalette_Horsea, 116 - obj_pal gMonPalette_Seadra, 117 - obj_pal gMonPalette_Goldeen, 118 - obj_pal gMonPalette_Seaking, 119 - obj_pal gMonPalette_Staryu, 120 - obj_pal gMonPalette_Starmie, 121 - obj_pal gMonPalette_Mrmime, 122 - obj_pal gMonPalette_Scyther, 123 - obj_pal gMonPalette_Jynx, 124 - obj_pal gMonPalette_Electabuzz, 125 - obj_pal gMonPalette_Magmar, 126 - obj_pal gMonPalette_Pinsir, 127 - obj_pal gMonPalette_Tauros, 128 - obj_pal gMonPalette_Magikarp, 129 - obj_pal gMonPalette_Gyarados, 130 - obj_pal gMonPalette_Lapras, 131 - obj_pal gMonPalette_Ditto, 132 - obj_pal gMonPalette_Eevee, 133 - obj_pal gMonPalette_Vaporeon, 134 - obj_pal gMonPalette_Jolteon, 135 - obj_pal gMonPalette_Flareon, 136 - obj_pal gMonPalette_Porygon, 137 - obj_pal gMonPalette_Omanyte, 138 - obj_pal gMonPalette_Omastar, 139 - obj_pal gMonPalette_Kabuto, 140 - obj_pal gMonPalette_Kabutops, 141 - obj_pal gMonPalette_Aerodactyl, 142 - obj_pal gMonPalette_Snorlax, 143 - obj_pal gMonPalette_Articuno, 144 - obj_pal gMonPalette_Zapdos, 145 - obj_pal gMonPalette_Moltres, 146 - obj_pal gMonPalette_Dratini, 147 - obj_pal gMonPalette_Dragonair, 148 - obj_pal gMonPalette_Dragonite, 149 - obj_pal gMonPalette_Mewtwo, 150 - obj_pal gMonPalette_Mew, 151 - obj_pal gMonPalette_Chikorita, 152 - obj_pal gMonPalette_Bayleef, 153 - obj_pal gMonPalette_Meganium, 154 - obj_pal gMonPalette_Cyndaquil, 155 - obj_pal gMonPalette_Quilava, 156 - obj_pal gMonPalette_Typhlosion, 157 - obj_pal gMonPalette_Totodile, 158 - obj_pal gMonPalette_Croconaw, 159 - obj_pal gMonPalette_Feraligatr, 160 - obj_pal gMonPalette_Sentret, 161 - obj_pal gMonPalette_Furret, 162 - obj_pal gMonPalette_Hoothoot, 163 - obj_pal gMonPalette_Noctowl, 164 - obj_pal gMonPalette_Ledyba, 165 - obj_pal gMonPalette_Ledian, 166 - obj_pal gMonPalette_Spinarak, 167 - obj_pal gMonPalette_Ariados, 168 - obj_pal gMonPalette_Crobat, 169 - obj_pal gMonPalette_Chinchou, 170 - obj_pal gMonPalette_Lanturn, 171 - obj_pal gMonPalette_Pichu, 172 - obj_pal gMonPalette_Cleffa, 173 - obj_pal gMonPalette_Igglybuff, 174 - obj_pal gMonPalette_Togepi, 175 - obj_pal gMonPalette_Togetic, 176 - obj_pal gMonPalette_Natu, 177 - obj_pal gMonPalette_Xatu, 178 - obj_pal gMonPalette_Mareep, 179 - obj_pal gMonPalette_Flaaffy, 180 - obj_pal gMonPalette_Ampharos, 181 - obj_pal gMonPalette_Bellossom, 182 - obj_pal gMonPalette_Marill, 183 - obj_pal gMonPalette_Azumarill, 184 - obj_pal gMonPalette_Sudowoodo, 185 - obj_pal gMonPalette_Politoed, 186 - obj_pal gMonPalette_Hoppip, 187 - obj_pal gMonPalette_Skiploom, 188 - obj_pal gMonPalette_Jumpluff, 189 - obj_pal gMonPalette_Aipom, 190 - obj_pal gMonPalette_Sunkern, 191 - obj_pal gMonPalette_Sunflora, 192 - obj_pal gMonPalette_Yanma, 193 - obj_pal gMonPalette_Wooper, 194 - obj_pal gMonPalette_Quagsire, 195 - obj_pal gMonPalette_Espeon, 196 - obj_pal gMonPalette_Umbreon, 197 - obj_pal gMonPalette_Murkrow, 198 - obj_pal gMonPalette_Slowking, 199 - obj_pal gMonPalette_Misdreavus, 200 - obj_pal gMonPalette_Unown, 201 - obj_pal gMonPalette_Wobbuffet, 202 - obj_pal gMonPalette_Girafarig, 203 - obj_pal gMonPalette_Pineco, 204 - obj_pal gMonPalette_Forretress, 205 - obj_pal gMonPalette_Dunsparce, 206 - obj_pal gMonPalette_Gligar, 207 - obj_pal gMonPalette_Steelix, 208 - obj_pal gMonPalette_Snubbull, 209 - obj_pal gMonPalette_Granbull, 210 - obj_pal gMonPalette_Qwilfish, 211 - obj_pal gMonPalette_Scizor, 212 - obj_pal gMonPalette_Shuckle, 213 - obj_pal gMonPalette_Heracross, 214 - obj_pal gMonPalette_Sneasel, 215 - obj_pal gMonPalette_Teddiursa, 216 - obj_pal gMonPalette_Ursaring, 217 - obj_pal gMonPalette_Slugma, 218 - obj_pal gMonPalette_Magcargo, 219 - obj_pal gMonPalette_Swinub, 220 - obj_pal gMonPalette_Piloswine, 221 - obj_pal gMonPalette_Corsola, 222 - obj_pal gMonPalette_Remoraid, 223 - obj_pal gMonPalette_Octillery, 224 - obj_pal gMonPalette_Delibird, 225 - obj_pal gMonPalette_Mantine, 226 - obj_pal gMonPalette_Skarmory, 227 - obj_pal gMonPalette_Houndour, 228 - obj_pal gMonPalette_Houndoom, 229 - obj_pal gMonPalette_Kingdra, 230 - obj_pal gMonPalette_Phanpy, 231 - obj_pal gMonPalette_Donphan, 232 - obj_pal gMonPalette_Porygon2, 233 - obj_pal gMonPalette_Stantler, 234 - obj_pal gMonPalette_Smeargle, 235 - obj_pal gMonPalette_Tyrogue, 236 - obj_pal gMonPalette_Hitmontop, 237 - obj_pal gMonPalette_Smoochum, 238 - obj_pal gMonPalette_Elekid, 239 - obj_pal gMonPalette_Magby, 240 - obj_pal gMonPalette_Miltank, 241 - obj_pal gMonPalette_Blissey, 242 - obj_pal gMonPalette_Raikou, 243 - obj_pal gMonPalette_Entei, 244 - obj_pal gMonPalette_Suicune, 245 - obj_pal gMonPalette_Larvitar, 246 - obj_pal gMonPalette_Pupitar, 247 - obj_pal gMonPalette_Tyranitar, 248 - obj_pal gMonPalette_Lugia, 249 - obj_pal gMonPalette_HoOh, 250 - obj_pal gMonPalette_Celebi, 251 - obj_pal gMonPalette_DoubleQuestionMark, 252 - obj_pal gMonPalette_DoubleQuestionMark, 253 - obj_pal gMonPalette_DoubleQuestionMark, 254 - obj_pal gMonPalette_DoubleQuestionMark, 255 - obj_pal gMonPalette_DoubleQuestionMark, 256 - obj_pal gMonPalette_DoubleQuestionMark, 257 - obj_pal gMonPalette_DoubleQuestionMark, 258 - obj_pal gMonPalette_DoubleQuestionMark, 259 - obj_pal gMonPalette_DoubleQuestionMark, 260 - obj_pal gMonPalette_DoubleQuestionMark, 261 - obj_pal gMonPalette_DoubleQuestionMark, 262 - obj_pal gMonPalette_DoubleQuestionMark, 263 - obj_pal gMonPalette_DoubleQuestionMark, 264 - obj_pal gMonPalette_DoubleQuestionMark, 265 - obj_pal gMonPalette_DoubleQuestionMark, 266 - obj_pal gMonPalette_DoubleQuestionMark, 267 - obj_pal gMonPalette_DoubleQuestionMark, 268 - obj_pal gMonPalette_DoubleQuestionMark, 269 - obj_pal gMonPalette_DoubleQuestionMark, 270 - obj_pal gMonPalette_DoubleQuestionMark, 271 - obj_pal gMonPalette_DoubleQuestionMark, 272 - obj_pal gMonPalette_DoubleQuestionMark, 273 - obj_pal gMonPalette_DoubleQuestionMark, 274 - obj_pal gMonPalette_DoubleQuestionMark, 275 - obj_pal gMonPalette_DoubleQuestionMark, 276 - obj_pal gMonPalette_Treecko, 277 - obj_pal gMonPalette_Grovyle, 278 - obj_pal gMonPalette_Sceptile, 279 - obj_pal gMonPalette_Torchic, 280 - obj_pal gMonPalette_Combusken, 281 - obj_pal gMonPalette_Blaziken, 282 - obj_pal gMonPalette_Mudkip, 283 - obj_pal gMonPalette_Marshtomp, 284 - obj_pal gMonPalette_Swampert, 285 - obj_pal gMonPalette_Poochyena, 286 - obj_pal gMonPalette_Mightyena, 287 - obj_pal gMonPalette_Zigzagoon, 288 - obj_pal gMonPalette_Linoone, 289 - obj_pal gMonPalette_Wurmple, 290 - obj_pal gMonPalette_Silcoon, 291 - obj_pal gMonPalette_Beautifly, 292 - obj_pal gMonPalette_Cascoon, 293 - obj_pal gMonPalette_Dustox, 294 - obj_pal gMonPalette_Lotad, 295 - obj_pal gMonPalette_Lombre, 296 - obj_pal gMonPalette_Ludicolo, 297 - obj_pal gMonPalette_Seedot, 298 - obj_pal gMonPalette_Nuzleaf, 299 - obj_pal gMonPalette_Shiftry, 300 - obj_pal gMonPalette_Nincada, 301 - obj_pal gMonPalette_Ninjask, 302 - obj_pal gMonPalette_Shedinja, 303 - obj_pal gMonPalette_Taillow, 304 - obj_pal gMonPalette_Swellow, 305 - obj_pal gMonPalette_Shroomish, 306 - obj_pal gMonPalette_Breloom, 307 - obj_pal gMonPalette_Spinda, 308 - obj_pal gMonPalette_Wingull, 309 - obj_pal gMonPalette_Pelipper, 310 - obj_pal gMonPalette_Surskit, 311 - obj_pal gMonPalette_Masquerain, 312 - obj_pal gMonPalette_Wailmer, 313 - obj_pal gMonPalette_Wailord, 314 - obj_pal gMonPalette_Skitty, 315 - obj_pal gMonPalette_Delcatty, 316 - obj_pal gMonPalette_Kecleon, 317 - obj_pal gMonPalette_Baltoy, 318 - obj_pal gMonPalette_Claydol, 319 - obj_pal gMonPalette_Nosepass, 320 - obj_pal gMonPalette_Torkoal, 321 - obj_pal gMonPalette_Sableye, 322 - obj_pal gMonPalette_Barboach, 323 - obj_pal gMonPalette_Whiscash, 324 - obj_pal gMonPalette_Luvdisc, 325 - obj_pal gMonPalette_Corphish, 326 - obj_pal gMonPalette_Crawdaunt, 327 - obj_pal gMonPalette_Feebas, 328 - obj_pal gMonPalette_Milotic, 329 - obj_pal gMonPalette_Carvanha, 330 - obj_pal gMonPalette_Sharpedo, 331 - obj_pal gMonPalette_Trapinch, 332 - obj_pal gMonPalette_Vibrava, 333 - obj_pal gMonPalette_Flygon, 334 - obj_pal gMonPalette_Makuhita, 335 - obj_pal gMonPalette_Hariyama, 336 - obj_pal gMonPalette_Electrike, 337 - obj_pal gMonPalette_Manectric, 338 - obj_pal gMonPalette_Numel, 339 - obj_pal gMonPalette_Camerupt, 340 - obj_pal gMonPalette_Spheal, 341 - obj_pal gMonPalette_Sealeo, 342 - obj_pal gMonPalette_Walrein, 343 - obj_pal gMonPalette_Cacnea, 344 - obj_pal gMonPalette_Cacturne, 345 - obj_pal gMonPalette_Snorunt, 346 - obj_pal gMonPalette_Glalie, 347 - obj_pal gMonPalette_Lunatone, 348 - obj_pal gMonPalette_Solrock, 349 - obj_pal gMonPalette_Azurill, 350 - obj_pal gMonPalette_Spoink, 351 - obj_pal gMonPalette_Grumpig, 352 - obj_pal gMonPalette_Plusle, 353 - obj_pal gMonPalette_Minun, 354 - obj_pal gMonPalette_Mawile, 355 - obj_pal gMonPalette_Meditite, 356 - obj_pal gMonPalette_Medicham, 357 - obj_pal gMonPalette_Swablu, 358 - obj_pal gMonPalette_Altaria, 359 - obj_pal gMonPalette_Wynaut, 360 - obj_pal gMonPalette_Duskull, 361 - obj_pal gMonPalette_Dusclops, 362 - obj_pal gMonPalette_Roselia, 363 - obj_pal gMonPalette_Slakoth, 364 - obj_pal gMonPalette_Vigoroth, 365 - obj_pal gMonPalette_Slaking, 366 - obj_pal gMonPalette_Gulpin, 367 - obj_pal gMonPalette_Swalot, 368 - obj_pal gMonPalette_Tropius, 369 - obj_pal gMonPalette_Whismur, 370 - obj_pal gMonPalette_Loudred, 371 - obj_pal gMonPalette_Exploud, 372 - obj_pal gMonPalette_Clamperl, 373 - obj_pal gMonPalette_Huntail, 374 - obj_pal gMonPalette_Gorebyss, 375 - obj_pal gMonPalette_Absol, 376 - obj_pal gMonPalette_Shuppet, 377 - obj_pal gMonPalette_Banette, 378 - obj_pal gMonPalette_Seviper, 379 - obj_pal gMonPalette_Zangoose, 380 - obj_pal gMonPalette_Relicanth, 381 - obj_pal gMonPalette_Aron, 382 - obj_pal gMonPalette_Lairon, 383 - obj_pal gMonPalette_Aggron, 384 - obj_pal gMonPalette_Castform, 385 - obj_pal gMonPalette_Volbeat, 386 - obj_pal gMonPalette_Illumise, 387 - obj_pal gMonPalette_Lileep, 388 - obj_pal gMonPalette_Cradily, 389 - obj_pal gMonPalette_Anorith, 390 - obj_pal gMonPalette_Armaldo, 391 - obj_pal gMonPalette_Ralts, 392 - obj_pal gMonPalette_Kirlia, 393 - obj_pal gMonPalette_Gardevoir, 394 - obj_pal gMonPalette_Bagon, 395 - obj_pal gMonPalette_Shelgon, 396 - obj_pal gMonPalette_Salamence, 397 - obj_pal gMonPalette_Beldum, 398 - obj_pal gMonPalette_Metang, 399 - obj_pal gMonPalette_Metagross, 400 - obj_pal gMonPalette_Regirock, 401 - obj_pal gMonPalette_Regice, 402 - obj_pal gMonPalette_Registeel, 403 - obj_pal gMonPalette_Kyogre, 404 - obj_pal gMonPalette_Groudon, 405 - obj_pal gMonPalette_Rayquaza, 406 - obj_pal gMonPalette_Latias, 407 - obj_pal gMonPalette_Latios, 408 - obj_pal gMonPalette_Jirachi, 409 - obj_pal gMonPalette_Deoxys, 410 - obj_pal gMonPalette_Chimecho, 411 - obj_pal gMonPalette_Egg, 412 - obj_pal gMonPalette_Unown, 413 - obj_pal gMonPalette_Unown, 414 - obj_pal gMonPalette_Unown, 415 - obj_pal gMonPalette_Unown, 416 - obj_pal gMonPalette_Unown, 417 - obj_pal gMonPalette_Unown, 418 - obj_pal gMonPalette_Unown, 419 - obj_pal gMonPalette_Unown, 420 - obj_pal gMonPalette_Unown, 421 - obj_pal gMonPalette_Unown, 422 - obj_pal gMonPalette_Unown, 423 - obj_pal gMonPalette_Unown, 424 - obj_pal gMonPalette_Unown, 425 - obj_pal gMonPalette_Unown, 426 - obj_pal gMonPalette_Unown, 427 - obj_pal gMonPalette_Unown, 428 - obj_pal gMonPalette_Unown, 429 - obj_pal gMonPalette_Unown, 430 - obj_pal gMonPalette_Unown, 431 - obj_pal gMonPalette_Unown, 432 - obj_pal gMonPalette_Unown, 433 - obj_pal gMonPalette_Unown, 434 - obj_pal gMonPalette_Unown, 435 - obj_pal gMonPalette_Unown, 436 - obj_pal gMonPalette_Unown, 437 - obj_pal gMonPalette_Unown, 438 - obj_pal gMonPalette_Unown, 439 diff --git a/data/graphics/pokemon/shiny_palette_table.inc b/data/graphics/pokemon/shiny_palette_table.inc deleted file mode 100644 index 724820221..000000000 --- a/data/graphics/pokemon/shiny_palette_table.inc +++ /dev/null @@ -1,442 +0,0 @@ - .align 2 -gMonShinyPaletteTable:: @ 8304438 - obj_pal gMonShinyPalette_CircledQuestionMark, 500 - obj_pal gMonShinyPalette_Bulbasaur, 501 - obj_pal gMonShinyPalette_Ivysaur, 502 - obj_pal gMonShinyPalette_Venusaur, 503 - obj_pal gMonShinyPalette_Charmander, 504 - obj_pal gMonShinyPalette_Charmeleon, 505 - obj_pal gMonShinyPalette_Charizard, 506 - obj_pal gMonShinyPalette_Squirtle, 507 - obj_pal gMonShinyPalette_Wartortle, 508 - obj_pal gMonShinyPalette_Blastoise, 509 - obj_pal gMonShinyPalette_Caterpie, 510 - obj_pal gMonShinyPalette_Metapod, 511 - obj_pal gMonShinyPalette_Butterfree, 512 - obj_pal gMonShinyPalette_Weedle, 513 - obj_pal gMonShinyPalette_Kakuna, 514 - obj_pal gMonShinyPalette_Beedrill, 515 - obj_pal gMonShinyPalette_Pidgey, 516 - obj_pal gMonShinyPalette_Pidgeotto, 517 - obj_pal gMonShinyPalette_Pidgeot, 518 - obj_pal gMonShinyPalette_Rattata, 519 - obj_pal gMonShinyPalette_Raticate, 520 - obj_pal gMonShinyPalette_Spearow, 521 - obj_pal gMonShinyPalette_Fearow, 522 - obj_pal gMonShinyPalette_Ekans, 523 - obj_pal gMonShinyPalette_Arbok, 524 - obj_pal gMonShinyPalette_Pikachu, 525 - obj_pal gMonShinyPalette_Raichu, 526 - obj_pal gMonShinyPalette_Sandshrew, 527 - obj_pal gMonShinyPalette_Sandslash, 528 - obj_pal gMonShinyPalette_NidoranF, 529 - obj_pal gMonShinyPalette_Nidorina, 530 - obj_pal gMonShinyPalette_Nidoqueen, 531 - obj_pal gMonShinyPalette_NidoranM, 532 - obj_pal gMonShinyPalette_Nidorino, 533 - obj_pal gMonShinyPalette_Nidoking, 534 - obj_pal gMonShinyPalette_Clefairy, 535 - obj_pal gMonShinyPalette_Clefable, 536 - obj_pal gMonShinyPalette_Vulpix, 537 - obj_pal gMonShinyPalette_Ninetales, 538 - obj_pal gMonShinyPalette_Jigglypuff, 539 - obj_pal gMonShinyPalette_Wigglytuff, 540 - obj_pal gMonShinyPalette_Zubat, 541 - obj_pal gMonShinyPalette_Golbat, 542 - obj_pal gMonShinyPalette_Oddish, 543 - obj_pal gMonShinyPalette_Gloom, 544 - obj_pal gMonShinyPalette_Vileplume, 545 - obj_pal gMonShinyPalette_Paras, 546 - obj_pal gMonShinyPalette_Parasect, 547 - obj_pal gMonShinyPalette_Venonat, 548 - obj_pal gMonShinyPalette_Venomoth, 549 - obj_pal gMonShinyPalette_Diglett, 550 - obj_pal gMonShinyPalette_Dugtrio, 551 - obj_pal gMonShinyPalette_Meowth, 552 - obj_pal gMonShinyPalette_Persian, 553 - obj_pal gMonShinyPalette_Psyduck, 554 - obj_pal gMonShinyPalette_Golduck, 555 - obj_pal gMonShinyPalette_Mankey, 556 - obj_pal gMonShinyPalette_Primeape, 557 - obj_pal gMonShinyPalette_Growlithe, 558 - obj_pal gMonShinyPalette_Arcanine, 559 - obj_pal gMonShinyPalette_Poliwag, 560 - obj_pal gMonShinyPalette_Poliwhirl, 561 - obj_pal gMonShinyPalette_Poliwrath, 562 - obj_pal gMonShinyPalette_Abra, 563 - obj_pal gMonShinyPalette_Kadabra, 564 - obj_pal gMonShinyPalette_Alakazam, 565 - obj_pal gMonShinyPalette_Machop, 566 - obj_pal gMonShinyPalette_Machoke, 567 - obj_pal gMonShinyPalette_Machamp, 568 - obj_pal gMonShinyPalette_Bellsprout, 569 - obj_pal gMonShinyPalette_Weepinbell, 570 - obj_pal gMonShinyPalette_Victreebel, 571 - obj_pal gMonShinyPalette_Tentacool, 572 - obj_pal gMonShinyPalette_Tentacruel, 573 - obj_pal gMonShinyPalette_Geodude, 574 - obj_pal gMonShinyPalette_Graveler, 575 - obj_pal gMonShinyPalette_Golem, 576 - obj_pal gMonShinyPalette_Ponyta, 577 - obj_pal gMonShinyPalette_Rapidash, 578 - obj_pal gMonShinyPalette_Slowpoke, 579 - obj_pal gMonShinyPalette_Slowbro, 580 - obj_pal gMonShinyPalette_Magnemite, 581 - obj_pal gMonShinyPalette_Magneton, 582 - obj_pal gMonShinyPalette_Farfetchd, 583 - obj_pal gMonShinyPalette_Doduo, 584 - obj_pal gMonShinyPalette_Dodrio, 585 - obj_pal gMonShinyPalette_Seel, 586 - obj_pal gMonShinyPalette_Dewgong, 587 - obj_pal gMonShinyPalette_Grimer, 588 - obj_pal gMonShinyPalette_Muk, 589 - obj_pal gMonShinyPalette_Shellder, 590 - obj_pal gMonShinyPalette_Cloyster, 591 - obj_pal gMonShinyPalette_Gastly, 592 - obj_pal gMonShinyPalette_Haunter, 593 - obj_pal gMonShinyPalette_Gengar, 594 - obj_pal gMonShinyPalette_Onix, 595 - obj_pal gMonShinyPalette_Drowzee, 596 - obj_pal gMonShinyPalette_Hypno, 597 - obj_pal gMonShinyPalette_Krabby, 598 - obj_pal gMonShinyPalette_Kingler, 599 - obj_pal gMonShinyPalette_Voltorb, 600 - obj_pal gMonShinyPalette_Electrode, 601 - obj_pal gMonShinyPalette_Exeggcute, 602 - obj_pal gMonShinyPalette_Exeggutor, 603 - obj_pal gMonShinyPalette_Cubone, 604 - obj_pal gMonShinyPalette_Marowak, 605 - obj_pal gMonShinyPalette_Hitmonlee, 606 - obj_pal gMonShinyPalette_Hitmonchan, 607 - obj_pal gMonShinyPalette_Lickitung, 608 - obj_pal gMonShinyPalette_Koffing, 609 - obj_pal gMonShinyPalette_Weezing, 610 - obj_pal gMonShinyPalette_Rhyhorn, 611 - obj_pal gMonShinyPalette_Rhydon, 612 - obj_pal gMonShinyPalette_Chansey, 613 - obj_pal gMonShinyPalette_Tangela, 614 - obj_pal gMonShinyPalette_Kangaskhan, 615 - obj_pal gMonShinyPalette_Horsea, 616 - obj_pal gMonShinyPalette_Seadra, 617 - obj_pal gMonShinyPalette_Goldeen, 618 - obj_pal gMonShinyPalette_Seaking, 619 - obj_pal gMonShinyPalette_Staryu, 620 - obj_pal gMonShinyPalette_Starmie, 621 - obj_pal gMonShinyPalette_Mrmime, 622 - obj_pal gMonShinyPalette_Scyther, 623 - obj_pal gMonShinyPalette_Jynx, 624 - obj_pal gMonShinyPalette_Electabuzz, 625 - obj_pal gMonShinyPalette_Magmar, 626 - obj_pal gMonShinyPalette_Pinsir, 627 - obj_pal gMonShinyPalette_Tauros, 628 - obj_pal gMonShinyPalette_Magikarp, 629 - obj_pal gMonShinyPalette_Gyarados, 630 - obj_pal gMonShinyPalette_Lapras, 631 - obj_pal gMonShinyPalette_Ditto, 632 - obj_pal gMonShinyPalette_Eevee, 633 - obj_pal gMonShinyPalette_Vaporeon, 634 - obj_pal gMonShinyPalette_Jolteon, 635 - obj_pal gMonShinyPalette_Flareon, 636 - obj_pal gMonShinyPalette_Porygon, 637 - obj_pal gMonShinyPalette_Omanyte, 638 - obj_pal gMonShinyPalette_Omastar, 639 - obj_pal gMonShinyPalette_Kabuto, 640 - obj_pal gMonShinyPalette_Kabutops, 641 - obj_pal gMonShinyPalette_Aerodactyl, 642 - obj_pal gMonShinyPalette_Snorlax, 643 - obj_pal gMonShinyPalette_Articuno, 644 - obj_pal gMonShinyPalette_Zapdos, 645 - obj_pal gMonShinyPalette_Moltres, 646 - obj_pal gMonShinyPalette_Dratini, 647 - obj_pal gMonShinyPalette_Dragonair, 648 - obj_pal gMonShinyPalette_Dragonite, 649 - obj_pal gMonShinyPalette_Mewtwo, 650 - obj_pal gMonShinyPalette_Mew, 651 - obj_pal gMonShinyPalette_Chikorita, 652 - obj_pal gMonShinyPalette_Bayleef, 653 - obj_pal gMonShinyPalette_Meganium, 654 - obj_pal gMonShinyPalette_Cyndaquil, 655 - obj_pal gMonShinyPalette_Quilava, 656 - obj_pal gMonShinyPalette_Typhlosion, 657 - obj_pal gMonShinyPalette_Totodile, 658 - obj_pal gMonShinyPalette_Croconaw, 659 - obj_pal gMonShinyPalette_Feraligatr, 660 - obj_pal gMonShinyPalette_Sentret, 661 - obj_pal gMonShinyPalette_Furret, 662 - obj_pal gMonShinyPalette_Hoothoot, 663 - obj_pal gMonShinyPalette_Noctowl, 664 - obj_pal gMonShinyPalette_Ledyba, 665 - obj_pal gMonShinyPalette_Ledian, 666 - obj_pal gMonShinyPalette_Spinarak, 667 - obj_pal gMonShinyPalette_Ariados, 668 - obj_pal gMonShinyPalette_Crobat, 669 - obj_pal gMonShinyPalette_Chinchou, 670 - obj_pal gMonShinyPalette_Lanturn, 671 - obj_pal gMonShinyPalette_Pichu, 672 - obj_pal gMonShinyPalette_Cleffa, 673 - obj_pal gMonShinyPalette_Igglybuff, 674 - obj_pal gMonShinyPalette_Togepi, 675 - obj_pal gMonShinyPalette_Togetic, 676 - obj_pal gMonShinyPalette_Natu, 677 - obj_pal gMonShinyPalette_Xatu, 678 - obj_pal gMonShinyPalette_Mareep, 679 - obj_pal gMonShinyPalette_Flaaffy, 680 - obj_pal gMonShinyPalette_Ampharos, 681 - obj_pal gMonShinyPalette_Bellossom, 682 - obj_pal gMonShinyPalette_Marill, 683 - obj_pal gMonShinyPalette_Azumarill, 684 - obj_pal gMonShinyPalette_Sudowoodo, 685 - obj_pal gMonShinyPalette_Politoed, 686 - obj_pal gMonShinyPalette_Hoppip, 687 - obj_pal gMonShinyPalette_Skiploom, 688 - obj_pal gMonShinyPalette_Jumpluff, 689 - obj_pal gMonShinyPalette_Aipom, 690 - obj_pal gMonShinyPalette_Sunkern, 691 - obj_pal gMonShinyPalette_Sunflora, 692 - obj_pal gMonShinyPalette_Yanma, 693 - obj_pal gMonShinyPalette_Wooper, 694 - obj_pal gMonShinyPalette_Quagsire, 695 - obj_pal gMonShinyPalette_Espeon, 696 - obj_pal gMonShinyPalette_Umbreon, 697 - obj_pal gMonShinyPalette_Murkrow, 698 - obj_pal gMonShinyPalette_Slowking, 699 - obj_pal gMonShinyPalette_Misdreavus, 700 - obj_pal gMonShinyPalette_Unown, 701 - obj_pal gMonShinyPalette_Wobbuffet, 702 - obj_pal gMonShinyPalette_Girafarig, 703 - obj_pal gMonShinyPalette_Pineco, 704 - obj_pal gMonShinyPalette_Forretress, 705 - obj_pal gMonShinyPalette_Dunsparce, 706 - obj_pal gMonShinyPalette_Gligar, 707 - obj_pal gMonShinyPalette_Steelix, 708 - obj_pal gMonShinyPalette_Snubbull, 709 - obj_pal gMonShinyPalette_Granbull, 710 - obj_pal gMonShinyPalette_Qwilfish, 711 - obj_pal gMonShinyPalette_Scizor, 712 - obj_pal gMonShinyPalette_Shuckle, 713 - obj_pal gMonShinyPalette_Heracross, 714 - obj_pal gMonShinyPalette_Sneasel, 715 - obj_pal gMonShinyPalette_Teddiursa, 716 - obj_pal gMonShinyPalette_Ursaring, 717 - obj_pal gMonShinyPalette_Slugma, 718 - obj_pal gMonShinyPalette_Magcargo, 719 - obj_pal gMonShinyPalette_Swinub, 720 - obj_pal gMonShinyPalette_Piloswine, 721 - obj_pal gMonShinyPalette_Corsola, 722 - obj_pal gMonShinyPalette_Remoraid, 723 - obj_pal gMonShinyPalette_Octillery, 724 - obj_pal gMonShinyPalette_Delibird, 725 - obj_pal gMonShinyPalette_Mantine, 726 - obj_pal gMonShinyPalette_Skarmory, 727 - obj_pal gMonShinyPalette_Houndour, 728 - obj_pal gMonShinyPalette_Houndoom, 729 - obj_pal gMonShinyPalette_Kingdra, 730 - obj_pal gMonShinyPalette_Phanpy, 731 - obj_pal gMonShinyPalette_Donphan, 732 - obj_pal gMonShinyPalette_Porygon2, 733 - obj_pal gMonShinyPalette_Stantler, 734 - obj_pal gMonShinyPalette_Smeargle, 735 - obj_pal gMonShinyPalette_Tyrogue, 736 - obj_pal gMonShinyPalette_Hitmontop, 737 - obj_pal gMonShinyPalette_Smoochum, 738 - obj_pal gMonShinyPalette_Elekid, 739 - obj_pal gMonShinyPalette_Magby, 740 - obj_pal gMonShinyPalette_Miltank, 741 - obj_pal gMonShinyPalette_Blissey, 742 - obj_pal gMonShinyPalette_Raikou, 743 - obj_pal gMonShinyPalette_Entei, 744 - obj_pal gMonShinyPalette_Suicune, 745 - obj_pal gMonShinyPalette_Larvitar, 746 - obj_pal gMonShinyPalette_Pupitar, 747 - obj_pal gMonShinyPalette_Tyranitar, 748 - obj_pal gMonShinyPalette_Lugia, 749 - obj_pal gMonShinyPalette_HoOh, 750 - obj_pal gMonShinyPalette_Celebi, 751 - obj_pal gMonShinyPalette_DoubleQuestionMark, 752 - obj_pal gMonShinyPalette_DoubleQuestionMark, 753 - obj_pal gMonShinyPalette_DoubleQuestionMark, 754 - obj_pal gMonShinyPalette_DoubleQuestionMark, 755 - obj_pal gMonShinyPalette_DoubleQuestionMark, 756 - obj_pal gMonShinyPalette_DoubleQuestionMark, 757 - obj_pal gMonShinyPalette_DoubleQuestionMark, 758 - obj_pal gMonShinyPalette_DoubleQuestionMark, 759 - obj_pal gMonShinyPalette_DoubleQuestionMark, 760 - obj_pal gMonShinyPalette_DoubleQuestionMark, 761 - obj_pal gMonShinyPalette_DoubleQuestionMark, 762 - obj_pal gMonShinyPalette_DoubleQuestionMark, 763 - obj_pal gMonShinyPalette_DoubleQuestionMark, 764 - obj_pal gMonShinyPalette_DoubleQuestionMark, 765 - obj_pal gMonShinyPalette_DoubleQuestionMark, 766 - obj_pal gMonShinyPalette_DoubleQuestionMark, 767 - obj_pal gMonShinyPalette_DoubleQuestionMark, 768 - obj_pal gMonShinyPalette_DoubleQuestionMark, 769 - obj_pal gMonShinyPalette_DoubleQuestionMark, 770 - obj_pal gMonShinyPalette_DoubleQuestionMark, 771 - obj_pal gMonShinyPalette_DoubleQuestionMark, 772 - obj_pal gMonShinyPalette_DoubleQuestionMark, 773 - obj_pal gMonShinyPalette_DoubleQuestionMark, 774 - obj_pal gMonShinyPalette_DoubleQuestionMark, 775 - obj_pal gMonShinyPalette_DoubleQuestionMark, 776 - obj_pal gMonShinyPalette_Treecko, 777 - obj_pal gMonShinyPalette_Grovyle, 778 - obj_pal gMonShinyPalette_Sceptile, 779 - obj_pal gMonShinyPalette_Torchic, 780 - obj_pal gMonShinyPalette_Combusken, 781 - obj_pal gMonShinyPalette_Blaziken, 782 - obj_pal gMonShinyPalette_Mudkip, 783 - obj_pal gMonShinyPalette_Marshtomp, 784 - obj_pal gMonShinyPalette_Swampert, 785 - obj_pal gMonShinyPalette_Poochyena, 786 - obj_pal gMonShinyPalette_Mightyena, 787 - obj_pal gMonShinyPalette_Zigzagoon, 788 - obj_pal gMonShinyPalette_Linoone, 789 - obj_pal gMonShinyPalette_Wurmple, 790 - obj_pal gMonShinyPalette_Silcoon, 791 - obj_pal gMonShinyPalette_Beautifly, 792 - obj_pal gMonShinyPalette_Cascoon, 793 - obj_pal gMonShinyPalette_Dustox, 794 - obj_pal gMonShinyPalette_Lotad, 795 - obj_pal gMonShinyPalette_Lombre, 796 - obj_pal gMonShinyPalette_Ludicolo, 797 - obj_pal gMonShinyPalette_Seedot, 798 - obj_pal gMonShinyPalette_Nuzleaf, 799 - obj_pal gMonShinyPalette_Shiftry, 800 - obj_pal gMonShinyPalette_Nincada, 801 - obj_pal gMonShinyPalette_Ninjask, 802 - obj_pal gMonShinyPalette_Shedinja, 803 - obj_pal gMonShinyPalette_Taillow, 804 - obj_pal gMonShinyPalette_Swellow, 805 - obj_pal gMonShinyPalette_Shroomish, 806 - obj_pal gMonShinyPalette_Breloom, 807 - obj_pal gMonShinyPalette_Spinda, 808 - obj_pal gMonShinyPalette_Wingull, 809 - obj_pal gMonShinyPalette_Pelipper, 810 - obj_pal gMonShinyPalette_Surskit, 811 - obj_pal gMonShinyPalette_Masquerain, 812 - obj_pal gMonShinyPalette_Wailmer, 813 - obj_pal gMonShinyPalette_Wailord, 814 - obj_pal gMonShinyPalette_Skitty, 815 - obj_pal gMonShinyPalette_Delcatty, 816 - obj_pal gMonShinyPalette_Kecleon, 817 - obj_pal gMonShinyPalette_Baltoy, 818 - obj_pal gMonShinyPalette_Claydol, 819 - obj_pal gMonShinyPalette_Nosepass, 820 - obj_pal gMonShinyPalette_Torkoal, 821 - obj_pal gMonShinyPalette_Sableye, 822 - obj_pal gMonShinyPalette_Barboach, 823 - obj_pal gMonShinyPalette_Whiscash, 824 - obj_pal gMonShinyPalette_Luvdisc, 825 - obj_pal gMonShinyPalette_Corphish, 826 - obj_pal gMonShinyPalette_Crawdaunt, 827 - obj_pal gMonShinyPalette_Feebas, 828 - obj_pal gMonShinyPalette_Milotic, 829 - obj_pal gMonShinyPalette_Carvanha, 830 - obj_pal gMonShinyPalette_Sharpedo, 831 - obj_pal gMonShinyPalette_Trapinch, 832 - obj_pal gMonShinyPalette_Vibrava, 833 - obj_pal gMonShinyPalette_Flygon, 834 - obj_pal gMonShinyPalette_Makuhita, 835 - obj_pal gMonShinyPalette_Hariyama, 836 - obj_pal gMonShinyPalette_Electrike, 837 - obj_pal gMonShinyPalette_Manectric, 838 - obj_pal gMonShinyPalette_Numel, 839 - obj_pal gMonShinyPalette_Camerupt, 840 - obj_pal gMonShinyPalette_Spheal, 841 - obj_pal gMonShinyPalette_Sealeo, 842 - obj_pal gMonShinyPalette_Walrein, 843 - obj_pal gMonShinyPalette_Cacnea, 844 - obj_pal gMonShinyPalette_Cacturne, 845 - obj_pal gMonShinyPalette_Snorunt, 846 - obj_pal gMonShinyPalette_Glalie, 847 - obj_pal gMonShinyPalette_Lunatone, 848 - obj_pal gMonShinyPalette_Solrock, 849 - obj_pal gMonShinyPalette_Azurill, 850 - obj_pal gMonShinyPalette_Spoink, 851 - obj_pal gMonShinyPalette_Grumpig, 852 - obj_pal gMonShinyPalette_Plusle, 853 - obj_pal gMonShinyPalette_Minun, 854 - obj_pal gMonShinyPalette_Mawile, 855 - obj_pal gMonShinyPalette_Meditite, 856 - obj_pal gMonShinyPalette_Medicham, 857 - obj_pal gMonShinyPalette_Swablu, 858 - obj_pal gMonShinyPalette_Altaria, 859 - obj_pal gMonShinyPalette_Wynaut, 860 - obj_pal gMonShinyPalette_Duskull, 861 - obj_pal gMonShinyPalette_Dusclops, 862 - obj_pal gMonShinyPalette_Roselia, 863 - obj_pal gMonShinyPalette_Slakoth, 864 - obj_pal gMonShinyPalette_Vigoroth, 865 - obj_pal gMonShinyPalette_Slaking, 866 - obj_pal gMonShinyPalette_Gulpin, 867 - obj_pal gMonShinyPalette_Swalot, 868 - obj_pal gMonShinyPalette_Tropius, 869 - obj_pal gMonShinyPalette_Whismur, 870 - obj_pal gMonShinyPalette_Loudred, 871 - obj_pal gMonShinyPalette_Exploud, 872 - obj_pal gMonShinyPalette_Clamperl, 873 - obj_pal gMonShinyPalette_Huntail, 874 - obj_pal gMonShinyPalette_Gorebyss, 875 - obj_pal gMonShinyPalette_Absol, 876 - obj_pal gMonShinyPalette_Shuppet, 877 - obj_pal gMonShinyPalette_Banette, 878 - obj_pal gMonShinyPalette_Seviper, 879 - obj_pal gMonShinyPalette_Zangoose, 880 - obj_pal gMonShinyPalette_Relicanth, 881 - obj_pal gMonShinyPalette_Aron, 882 - obj_pal gMonShinyPalette_Lairon, 883 - obj_pal gMonShinyPalette_Aggron, 884 - obj_pal gMonShinyPalette_Castform, 885 - obj_pal gMonShinyPalette_Volbeat, 886 - obj_pal gMonShinyPalette_Illumise, 887 - obj_pal gMonShinyPalette_Lileep, 888 - obj_pal gMonShinyPalette_Cradily, 889 - obj_pal gMonShinyPalette_Anorith, 890 - obj_pal gMonShinyPalette_Armaldo, 891 - obj_pal gMonShinyPalette_Ralts, 892 - obj_pal gMonShinyPalette_Kirlia, 893 - obj_pal gMonShinyPalette_Gardevoir, 894 - obj_pal gMonShinyPalette_Bagon, 895 - obj_pal gMonShinyPalette_Shelgon, 896 - obj_pal gMonShinyPalette_Salamence, 897 - obj_pal gMonShinyPalette_Beldum, 898 - obj_pal gMonShinyPalette_Metang, 899 - obj_pal gMonShinyPalette_Metagross, 900 - obj_pal gMonShinyPalette_Regirock, 901 - obj_pal gMonShinyPalette_Regice, 902 - obj_pal gMonShinyPalette_Registeel, 903 - obj_pal gMonShinyPalette_Kyogre, 904 - obj_pal gMonShinyPalette_Groudon, 905 - obj_pal gMonShinyPalette_Rayquaza, 906 - obj_pal gMonShinyPalette_Latias, 907 - obj_pal gMonShinyPalette_Latios, 908 - obj_pal gMonShinyPalette_Jirachi, 909 - obj_pal gMonShinyPalette_Deoxys, 910 - obj_pal gMonShinyPalette_Chimecho, 911 - obj_pal gMonPalette_Egg, 912 - obj_pal gMonShinyPalette_Unown, 913 - obj_pal gMonShinyPalette_Unown, 914 - obj_pal gMonShinyPalette_Unown, 915 - obj_pal gMonShinyPalette_Unown, 916 - obj_pal gMonShinyPalette_Unown, 917 - obj_pal gMonShinyPalette_Unown, 918 - obj_pal gMonShinyPalette_Unown, 919 - obj_pal gMonShinyPalette_Unown, 920 - obj_pal gMonShinyPalette_Unown, 921 - obj_pal gMonShinyPalette_Unown, 922 - obj_pal gMonShinyPalette_Unown, 923 - obj_pal gMonShinyPalette_Unown, 924 - obj_pal gMonShinyPalette_Unown, 925 - obj_pal gMonShinyPalette_Unown, 926 - obj_pal gMonShinyPalette_Unown, 927 - obj_pal gMonShinyPalette_Unown, 928 - obj_pal gMonShinyPalette_Unown, 929 - obj_pal gMonShinyPalette_Unown, 930 - obj_pal gMonShinyPalette_Unown, 931 - obj_pal gMonShinyPalette_Unown, 932 - obj_pal gMonShinyPalette_Unown, 933 - obj_pal gMonShinyPalette_Unown, 934 - obj_pal gMonShinyPalette_Unown, 935 - obj_pal gMonShinyPalette_Unown, 936 - obj_pal gMonShinyPalette_Unown, 937 - obj_pal gMonShinyPalette_Unown, 938 - obj_pal gMonShinyPalette_Unown, 939 diff --git a/data/graphics/trainers/back_pic_coords.inc b/data/graphics/trainers/back_pic_coords.inc deleted file mode 100644 index 57a45c71e..000000000 --- a/data/graphics/trainers/back_pic_coords.inc +++ /dev/null @@ -1,10 +0,0 @@ - .align 2 -gTrainerBackPicCoords:: @ 8305D2C - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x05, 0x00, 0x00 - .byte 0x08, 0x05, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 - .byte 0x08, 0x04, 0x00, 0x00 diff --git a/data/graphics/trainers/back_pic_palette_table.inc b/data/graphics/trainers/back_pic_palette_table.inc deleted file mode 100644 index 46e56f2ac..000000000 --- a/data/graphics/trainers/back_pic_palette_table.inc +++ /dev/null @@ -1,10 +0,0 @@ - .align 2 -gTrainerBackPicPaletteTable:: @ 8305D8C - obj_pal gTrainerPalette_Brendan, 0 - obj_pal gTrainerPalette_May, 1 - obj_pal gTrainerBackPicPalette_Red, 2 - obj_pal gTrainerBackPicPalette_Leaf, 3 - obj_pal gTrainerPalette_RubySapphireBrendan, 4 - obj_pal gTrainerPalette_RubySapphireMay, 5 - obj_pal gTrainerPalette_Wally, 6 - obj_pal gTrainerPalette_Steven, 7 diff --git a/data/graphics/trainers/back_pic_table.inc b/data/graphics/trainers/back_pic_table.inc deleted file mode 100644 index e67c2a073..000000000 --- a/data/graphics/trainers/back_pic_table.inc +++ /dev/null @@ -1,10 +0,0 @@ - .align 2 -gTrainerBackPicTable:: @ 8305D4C - obj_tiles gTrainerBackPic_Brendan, 0x2000, 0 - obj_tiles gTrainerBackPic_May, 0x2000, 1 - obj_tiles gTrainerBackPic_Red, 0x2800, 2 - obj_tiles gTrainerBackPic_Leaf, 0x2800, 3 - obj_tiles gTrainerBackPic_RubySapphireBrendan, 0x2000, 4 - obj_tiles gTrainerBackPic_RubySapphireMay, 0x2000, 5 - obj_tiles gTrainerBackPic_Wally, 0x2000, 6 - obj_tiles gTrainerBackPic_Steven, 0x2000, 7 diff --git a/data/graphics/trainers/front_pic_coords.inc b/data/graphics/trainers/front_pic_coords.inc deleted file mode 100644 index 8d20f0a9e..000000000 --- a/data/graphics/trainers/front_pic_coords.inc +++ /dev/null @@ -1,95 +0,0 @@ - .align 2 -gTrainerFrontPicCoords:: @ 83054E0 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x02, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 - .byte 0x08, 0x01, 0x00, 0x00 diff --git a/data/graphics/trainers/front_pic_palette_table.inc b/data/graphics/trainers/front_pic_palette_table.inc deleted file mode 100644 index 44cf98dab..000000000 --- a/data/graphics/trainers/front_pic_palette_table.inc +++ /dev/null @@ -1,95 +0,0 @@ - .align 2 -gTrainerFrontPicPaletteTable:: @ 830593C - obj_pal gTrainerPalette_Hiker, 0 - obj_pal gTrainerPalette_AquaGruntM, 1 - obj_pal gTrainerPalette_PokemonBreederF, 2 - obj_pal gTrainerPalette_CoolTrainerM, 3 - obj_pal gTrainerPalette_BirdKeeper, 4 - obj_pal gTrainerPalette_Collector, 5 - obj_pal gTrainerPalette_AquaGruntF, 6 - obj_pal gTrainerPalette_SwimmerM, 7 - obj_pal gTrainerPalette_MagmaGruntM, 8 - obj_pal gTrainerPalette_ExpertM, 9 - obj_pal gTrainerPalette_AquaAdminM, 10 - obj_pal gTrainerPalette_BlackBelt, 11 - obj_pal gTrainerPalette_AquaAdminF, 12 - obj_pal gTrainerPalette_AquaLeaderArchie, 13 - obj_pal gTrainerPalette_HexManiac, 14 - obj_pal gTrainerPalette_AromaLady, 15 - obj_pal gTrainerPalette_RuinManiac, 16 - obj_pal gTrainerPalette_Interviewer, 17 - obj_pal gTrainerPalette_TuberF, 18 - obj_pal gTrainerPalette_TuberM, 19 - obj_pal gTrainerPalette_CoolTrainerF, 20 - obj_pal gTrainerPalette_Lady, 21 - obj_pal gTrainerPalette_Beauty, 22 - obj_pal gTrainerPalette_RichBoy, 23 - obj_pal gTrainerPalette_ExpertF, 24 - obj_pal gTrainerPalette_Pokemaniac, 25 - obj_pal gTrainerPalette_MagmaGruntF, 26 - obj_pal gTrainerPalette_Guitarist, 27 - obj_pal gTrainerPalette_Kindler, 28 - obj_pal gTrainerPalette_Camper, 29 - obj_pal gTrainerPalette_Picnicker, 30 - obj_pal gTrainerPalette_BugManiac, 31 - obj_pal gTrainerPalette_PokemonBreederM, 32 - obj_pal gTrainerPalette_PsychicM, 33 - obj_pal gTrainerPalette_PsychicF, 34 - obj_pal gTrainerPalette_Gentleman, 35 - obj_pal gTrainerPalette_EliteFourSidney, 36 - obj_pal gTrainerPalette_EliteFourPhoebe, 37 - obj_pal gTrainerPalette_EliteFourGlacia, 38 - obj_pal gTrainerPalette_EliteFourDrake, 39 - obj_pal gTrainerPalette_LeaderRoxanne, 40 - obj_pal gTrainerPalette_LeaderBrawly, 41 - obj_pal gTrainerPalette_LeaderWattson, 42 - obj_pal gTrainerPalette_LeaderFlannery, 43 - obj_pal gTrainerPalette_LeaderNorman, 44 - obj_pal gTrainerPalette_LeaderWinona, 45 - obj_pal gTrainerPalette_LeaderTateAndLiza, 46 - obj_pal gTrainerPalette_LeaderJuan, 47 - obj_pal gTrainerPalette_SchoolKidM, 48 - obj_pal gTrainerPalette_SchoolKidF, 49 - obj_pal gTrainerPalette_SrAndJr, 50 - obj_pal gTrainerPalette_WinstrateM, 51 - obj_pal gTrainerPalette_WinstrateF, 52 - obj_pal gTrainerPalette_Youngster, 53 - obj_pal gTrainerPalette_ChampionWallace, 54 - obj_pal gTrainerPalette_Fisherman, 55 - obj_pal gTrainerPalette_CyclingTriathleteM, 56 - obj_pal gTrainerPalette_CyclingTriathleteF, 57 - obj_pal gTrainerPalette_RunningTriathleteM, 58 - obj_pal gTrainerPalette_RunningTriathleteF, 59 - obj_pal gTrainerPalette_SwimmingTriathleteM, 60 - obj_pal gTrainerPalette_SwimmingTriathleteF, 61 - obj_pal gTrainerPalette_DragonTamer, 62 - obj_pal gTrainerPalette_NinjaBoy, 63 - obj_pal gTrainerPalette_BattleGirl, 64 - obj_pal gTrainerPalette_ParasolLady, 65 - obj_pal gTrainerPalette_SwimmerF, 66 - obj_pal gTrainerPalette_Twins, 67 - obj_pal gTrainerPalette_Sailor, 68 - obj_pal gTrainerPalette_MagmaAdmin, 69 - obj_pal gTrainerPalette_Wally, 70 - obj_pal gTrainerPalette_Brendan, 71 - obj_pal gTrainerPalette_May, 72 - obj_pal gTrainerPalette_BugCatcher, 73 - obj_pal gTrainerPalette_PokemonRangerM, 74 - obj_pal gTrainerPalette_PokemonRangerF, 75 - obj_pal gTrainerPalette_MagmaLeaderMaxie, 76 - obj_pal gTrainerPalette_Lass, 77 - obj_pal gTrainerPalette_YoungCouple, 78 - obj_pal gTrainerPalette_OldCouple, 79 - obj_pal gTrainerPalette_SisAndBro, 80 - obj_pal gTrainerPalette_Steven, 81 - obj_pal gTrainerPalette_SalonMaidenAnabel, 82 - obj_pal gTrainerPalette_DomeAceTucker, 83 - obj_pal gTrainerPalette_PalaceMavenSpenser, 84 - obj_pal gTrainerPalette_ArenaTycoonGreta, 85 - obj_pal gTrainerPalette_FactoryHeadNoland, 86 - obj_pal gTrainerPalette_PikeQueenLucy, 87 - obj_pal gTrainerPalette_PyramidKingBrandon, 88 - obj_pal gTrainerPalette_Red, 89 - obj_pal gTrainerPalette_Leaf, 90 - obj_pal gTrainerPalette_RubySapphireBrendan, 91 - obj_pal gTrainerPalette_RubySapphireMay, 92 diff --git a/data/graphics/trainers/front_pic_table.inc b/data/graphics/trainers/front_pic_table.inc deleted file mode 100644 index 91294d170..000000000 --- a/data/graphics/trainers/front_pic_table.inc +++ /dev/null @@ -1,95 +0,0 @@ - .align 2 -gTrainerFrontPicTable:: @ 8305654 - obj_tiles gTrainerFrontPic_Hiker, 0x800, 0 - obj_tiles gTrainerFrontPic_AquaGruntM, 0x800, 1 - obj_tiles gTrainerFrontPic_PokemonBreederF, 0x800, 2 - obj_tiles gTrainerFrontPic_CoolTrainerM, 0x800, 3 - obj_tiles gTrainerFrontPic_BirdKeeper, 0x800, 4 - obj_tiles gTrainerFrontPic_Collector, 0x800, 5 - obj_tiles gTrainerFrontPic_AquaGruntF, 0x800, 6 - obj_tiles gTrainerFrontPic_SwimmerM, 0x800, 7 - obj_tiles gTrainerFrontPic_MagmaGruntM, 0x800, 8 - obj_tiles gTrainerFrontPic_ExpertM, 0x800, 9 - obj_tiles gTrainerFrontPic_AquaAdminM, 0x800, 10 - obj_tiles gTrainerFrontPic_BlackBelt, 0x800, 11 - obj_tiles gTrainerFrontPic_AquaAdminF, 0x800, 12 - obj_tiles gTrainerFrontPic_AquaLeaderArchie, 0x800, 13 - obj_tiles gTrainerFrontPic_HexManiac, 0x800, 14 - obj_tiles gTrainerFrontPic_AromaLady, 0x800, 15 - obj_tiles gTrainerFrontPic_RuinManiac, 0x800, 16 - obj_tiles gTrainerFrontPic_Interviewer, 0x800, 17 - obj_tiles gTrainerFrontPic_TuberF, 0x800, 18 - obj_tiles gTrainerFrontPic_TuberM, 0x800, 19 - obj_tiles gTrainerFrontPic_CoolTrainerF, 0x800, 20 - obj_tiles gTrainerFrontPic_Lady, 0x800, 21 - obj_tiles gTrainerFrontPic_Beauty, 0x800, 22 - obj_tiles gTrainerFrontPic_RichBoy, 0x800, 23 - obj_tiles gTrainerFrontPic_ExpertF, 0x800, 24 - obj_tiles gTrainerFrontPic_Pokemaniac, 0x800, 25 - obj_tiles gTrainerFrontPic_MagmaGruntF, 0x800, 26 - obj_tiles gTrainerFrontPic_Guitarist, 0x800, 27 - obj_tiles gTrainerFrontPic_Kindler, 0x800, 28 - obj_tiles gTrainerFrontPic_Camper, 0x800, 29 - obj_tiles gTrainerFrontPic_Picnicker, 0x800, 30 - obj_tiles gTrainerFrontPic_BugManiac, 0x800, 31 - obj_tiles gTrainerFrontPic_PokemonBreederM, 0x800, 32 - obj_tiles gTrainerFrontPic_PsychicM, 0x800, 33 - obj_tiles gTrainerFrontPic_PsychicF, 0x800, 34 - obj_tiles gTrainerFrontPic_Gentleman, 0x800, 35 - obj_tiles gTrainerFrontPic_EliteFourSidney, 0x800, 36 - obj_tiles gTrainerFrontPic_EliteFourPhoebe, 0x800, 37 - obj_tiles gTrainerFrontPic_EliteFourGlacia, 0x800, 38 - obj_tiles gTrainerFrontPic_EliteFourDrake, 0x800, 39 - obj_tiles gTrainerFrontPic_LeaderRoxanne, 0x800, 40 - obj_tiles gTrainerFrontPic_LeaderBrawly, 0x800, 41 - obj_tiles gTrainerFrontPic_LeaderWattson, 0x800, 42 - obj_tiles gTrainerFrontPic_LeaderFlannery, 0x800, 43 - obj_tiles gTrainerFrontPic_LeaderNorman, 0x800, 44 - obj_tiles gTrainerFrontPic_LeaderWinona, 0x800, 45 - obj_tiles gTrainerFrontPic_LeaderTateAndLiza, 0x800, 46 - obj_tiles gTrainerFrontPic_LeaderJuan, 0x800, 47 - obj_tiles gTrainerFrontPic_SchoolKidM, 0x800, 48 - obj_tiles gTrainerFrontPic_SchoolKidF, 0x800, 49 - obj_tiles gTrainerFrontPic_SrAndJr, 0x1000, 50 - obj_tiles gTrainerFrontPic_WinstrateM, 0x1000, 51 - obj_tiles gTrainerFrontPic_WinstrateF, 0x800, 52 - obj_tiles gTrainerFrontPic_Youngster, 0x800, 53 - obj_tiles gTrainerFrontPic_ChampionWallace, 0x1000, 54 - obj_tiles gTrainerFrontPic_Fisherman, 0x800, 55 - obj_tiles gTrainerFrontPic_CyclingTriathleteM, 0x1000, 56 - obj_tiles gTrainerFrontPic_CyclingTriathleteF, 0x800, 57 - obj_tiles gTrainerFrontPic_RunningTriathleteM, 0x800, 58 - obj_tiles gTrainerFrontPic_RunningTriathleteF, 0x800, 59 - obj_tiles gTrainerFrontPic_SwimmingTriathleteM, 0x800, 60 - obj_tiles gTrainerFrontPic_SwimmingTriathleteF, 0x800, 61 - obj_tiles gTrainerFrontPic_DragonTamer, 0x800, 62 - obj_tiles gTrainerFrontPic_NinjaBoy, 0x800, 63 - obj_tiles gTrainerFrontPic_BattleGirl, 0x1000, 64 - obj_tiles gTrainerFrontPic_ParasolLady, 0x800, 65 - obj_tiles gTrainerFrontPic_SwimmerF, 0x800, 66 - obj_tiles gTrainerFrontPic_Twins, 0x800, 67 - obj_tiles gTrainerFrontPic_Sailor, 0x800, 68 - obj_tiles gTrainerFrontPic_MagmaAdmin, 0x800, 69 - obj_tiles gTrainerFrontPic_Wally, 0x800, 70 - obj_tiles gTrainerFrontPic_Brendan, 0x800, 71 - obj_tiles gTrainerFrontPic_May, 0x800, 72 - obj_tiles gTrainerFrontPic_BugCatcher, 0x800, 73 - obj_tiles gTrainerFrontPic_PokemonRangerM, 0x800, 74 - obj_tiles gTrainerFrontPic_PokemonRangerF, 0x800, 75 - obj_tiles gTrainerFrontPic_MagmaLeaderMaxie, 0x800, 76 - obj_tiles gTrainerFrontPic_Lass, 0x800, 77 - obj_tiles gTrainerFrontPic_YoungCouple, 0x800, 78 - obj_tiles gTrainerFrontPic_OldCouple, 0x800, 79 - obj_tiles gTrainerFrontPic_SisAndBro, 0x800, 80 - obj_tiles gTrainerFrontPic_Steven, 0x800, 81 - obj_tiles gTrainerFrontPic_SalonMaidenAnabel, 0x800, 82 - obj_tiles gTrainerFrontPic_DomeAceTucker, 0x800, 83 - obj_tiles gTrainerFrontPic_PalaceMavenSpenser, 0x800, 84 - obj_tiles gTrainerFrontPic_ArenaTycoonGreta, 0x1000, 85 - obj_tiles gTrainerFrontPic_FactoryHeadNoland, 0x800, 86 - obj_tiles gTrainerFrontPic_PikeQueenLucy, 0x800, 87 - obj_tiles gTrainerFrontPic_PyramidKingBrandon, 0x800, 88 - obj_tiles gTrainerFrontPic_Red, 0x800, 89 - obj_tiles gTrainerFrontPic_Leaf, 0x800, 90 - obj_tiles gTrainerFrontPic_RubySapphireBrendan, 0x800, 91 - obj_tiles gTrainerFrontPic_RubySapphireMay, 0x800, 92 diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s deleted file mode 100644 index 0c22aa6cd..000000000 --- a/data/pokemon_summary_screen.s +++ /dev/null @@ -1,507 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - -@ 861CAAC - .include "data/text/nature_names.inc" - - .align 2 -gUnknown_0861CBB4:: @ 861CBB4 - .4byte 0x000001f0, 0x000013b9, 0x0000239a, 0x000033db - - .align 2 -gUnknown_0861CBC4:: @ 861CBC4 - .incbin "graphics/interface/unk_tilemap2.bin" - - .align 2 -gUnknown_0861CBEC:: @ 861CBEC - .4byte gUnknown_0861CBC4 - .byte 0x01, 0x00, 0x0a, 0x02, 0x00, 0x12 - - .align 2 -gUnknown_0861CBF8:: @ 861CBF8 - .4byte gUnknown_0861CBC4 - .byte 0x01, 0x00, 0x0a, 0x02, 0x00, 0x32 - - .align 2 -gUnknown_0861CC04:: @ 861CC04 - .4byte gSummaryScreenPowAcc_Tilemap - .byte 0x00 - .byte 0x00 - .byte 0x0A - .byte 0x07 - .byte 0x00 - .byte 0x2D - - .align 2 -gUnknown_0861CC10:: @ 861CC10 - .4byte gUnknown_08DC3C34 - .byte 0x00 - .byte 0x00 - .byte 0x0A - .byte 0x07 - .byte 0x00 - .byte 0x2D - - .align 2 -gUnknown_0861CC1C:: @ 861CC1C - .byte 0x00, 0x02, 0x03, 0x01, 0x04, 0x05, 0x00, 0x00 - - .align 2 -gUnknown_0861CC24:: @ 861CC24 - window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0001 - window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0017 - window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x002d - window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0043 - window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0059 - window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0069 - window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0079 - window_template 0x00, 0x0b, 0x04, 0x00, 0x02, 0x06, 0x0089 - window_template 0x00, 0x0b, 0x04, 0x12, 0x02, 0x06, 0x0089 - window_template 0x00, 0x0b, 0x06, 0x12, 0x02, 0x06, 0x00ad - window_template 0x00, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x00d1 - window_template 0x00, 0x16, 0x07, 0x05, 0x06, 0x06, 0x00f5 - window_template 0x00, 0x0a, 0x0e, 0x0b, 0x04, 0x06, 0x0113 - window_template 0x00, 0x00, 0x12, 0x06, 0x02, 0x06, 0x013f - window_template 0x00, 0x01, 0x0f, 0x09, 0x04, 0x06, 0x014b - window_template 0x00, 0x01, 0x0f, 0x05, 0x04, 0x06, 0x016f - window_template 0x00, 0x16, 0x04, 0x00, 0x02, 0x06, 0x0183 - window_template 0x00, 0x01, 0x02, 0x04, 0x02, 0x07, 0x0183 - window_template 0x00, 0x01, 0x0c, 0x09, 0x02, 0x06, 0x018b - window_template 0x00, 0x01, 0x0e, 0x09, 0x04, 0x06, 0x019d - null_window_template - - .align 2 -gUnknown_0861CCCC:: @ 861CCCC - window_template 0x00, 0x0b, 0x04, 0x0b, 0x02, 0x06, 0x01c1 - window_template 0x00, 0x16, 0x04, 0x07, 0x02, 0x06, 0x01d7 - window_template 0x00, 0x0b, 0x09, 0x12, 0x04, 0x06, 0x01e5 - window_template 0x00, 0x0b, 0x0e, 0x12, 0x06, 0x06, 0x022d - - .align 2 -gUnknown_0861CCEC:: @ 861CCEC - window_template 0x00, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x01c1 - window_template 0x00, 0x14, 0x04, 0x0a, 0x02, 0x06, 0x01d5 - window_template 0x00, 0x10, 0x07, 0x06, 0x06, 0x06, 0x01e9 - window_template 0x00, 0x1b, 0x07, 0x03, 0x06, 0x06, 0x020d - window_template 0x00, 0x18, 0x0e, 0x06, 0x04, 0x06, 0x021f - - .align 2 -gUnknown_0861CD14:: @ 861CD14 - window_template 0x00, 0x0f, 0x04, 0x09, 0x0a, 0x06, 0x01c1 - window_template 0x00, 0x18, 0x04, 0x06, 0x0a, 0x08, 0x021b - window_template 0x00, 0x0a, 0x0f, 0x14, 0x04, 0x06, 0x0257 - -gUnknown_0861CD2C:: @ 861CD2C - .byte 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x00, 0x05, 0x06, 0x00, 0x07, 0x08, 0x00, 0x09, 0x0a, 0x00, 0x0b, 0x0c, 0x00, 0x0d, 0x0e, 0x00, 0x07, 0x08, 0x0d, 0x0f, 0x0e, 0x00, 0x01, 0x02, 0x00, 0x03 - .byte 0x04, 0x00, 0x05, 0x06, 0x00, 0x07, 0x08 - -gUnknown_0861CD53:: @ 861CD53 - .incbin "graphics/interface/summary_a_button.4bpp" - -gUnknown_0861CDD3:: @ 861CDD3 - .incbin "graphics/interface/summary_b_button.4bpp" - - .align 2 -gUnknown_0861CE54:: @ 861CE54 - .4byte sub_81C2E00 - .4byte sub_81C3530 - .4byte sub_81C3984 - .4byte sub_81C3D08 - - .align 2 -gUnknown_0861CE64:: @ 861CE64 - .4byte sub_81C2E40 - .4byte sub_81C3554 - .4byte sub_81C39F0 - .4byte sub_81C3D54 - -gUnknown_0861CE74:: @ 861CE74 - .string "{COLOR LIGHT_RED}{SHADOW GREEN}$" - -gUnknown_0861CE7B:: @ 861CE7B - .string "{COLOR WHITE}{SHADOW DARK_GREY}$" - -gUnknown_0861CE82:: @ 861CE82 - .string "{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n" - .string "{SPECIAL_F7 0x02}\n" - .string "{SPECIAL_F7 0x03}$" - -gUnknown_0861CE8E:: @ 861CE8E - .string "{SPECIAL_F7 0x00}\n" - .string "{SPECIAL_F7 0x01}\n" - .string "{SPECIAL_F7 0x02}$" - -gUnknown_0861CE97:: @ 861CE97 - .string "{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}$" - - .align 2 -gOamData_861CEA0:: @ 861CEA0 - .2byte 0x4000, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_861CEA8:: @ 861CEA8 - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEB0:: @ 861CEB0 - .2byte 0x0008, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEB8:: @ 861CEB8 - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEC0:: @ 861CEC0 - .2byte 0x0018, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEC8:: @ 861CEC8 - .2byte 0x0020, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CED0:: @ 861CED0 - .2byte 0x0028, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CED8:: @ 861CED8 - .2byte 0x0030, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEE0:: @ 861CEE0 - .2byte 0x0038, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEE8:: @ 861CEE8 - .2byte 0x0040, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEF0:: @ 861CEF0 - .2byte 0x0048, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CEF8:: @ 861CEF8 - .2byte 0x0050, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF00:: @ 861CF00 - .2byte 0x0058, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF08:: @ 861CF08 - .2byte 0x0060, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF10:: @ 861CF10 - .2byte 0x0068, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF18:: @ 861CF18 - .2byte 0x0070, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF20:: @ 861CF20 - .2byte 0x0078, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF28:: @ 861CF28 - .2byte 0x0080, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF30:: @ 861CF30 - .2byte 0x0088, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF38:: @ 861CF38 - .2byte 0x0090, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF40:: @ 861CF40 - .2byte 0x0098, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF48:: @ 861CF48 - .2byte 0x00a0, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF50:: @ 861CF50 - .2byte 0x00a8, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861CF58:: @ 861CF58 - .2byte 0x00b0, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861CF60:: @ 861CF60 - .4byte gSpriteAnim_861CEA8 - .4byte gSpriteAnim_861CEB0 - .4byte gSpriteAnim_861CEB8 - .4byte gSpriteAnim_861CEC0 - .4byte gSpriteAnim_861CEC8 - .4byte gSpriteAnim_861CED0 - .4byte gSpriteAnim_861CED8 - .4byte gSpriteAnim_861CEE0 - .4byte gSpriteAnim_861CEE8 - .4byte gSpriteAnim_861CEF0 - .4byte gSpriteAnim_861CEF8 - .4byte gSpriteAnim_861CF00 - .4byte gSpriteAnim_861CF08 - .4byte gSpriteAnim_861CF10 - .4byte gSpriteAnim_861CF18 - .4byte gSpriteAnim_861CF20 - .4byte gSpriteAnim_861CF28 - .4byte gSpriteAnim_861CF30 - .4byte gSpriteAnim_861CF38 - .4byte gSpriteAnim_861CF40 - .4byte gSpriteAnim_861CF48 - .4byte gSpriteAnim_861CF50 - .4byte gSpriteAnim_861CF58 - - .align 2 -gUnknown_0861CFBC:: @ 861CFBC - obj_tiles gMoveTypes_Gfx, 0x1700, 0x7532 - - .align 2 -gUnknown_0861CFC4:: @ 861CFC4 - spr_template 0x7532, 0x7532, gOamData_861CEA0, gSpriteAnimTable_861CF60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_0861CFDC:: @ 861CFDC - .byte 0x0d, 0x0d, 0x0e, 0x0e, 0x0d, 0x0d, 0x0f, 0x0e, 0x0d, 0x0f, 0x0d, 0x0e, 0x0f, 0x0d, 0x0e, 0x0e, 0x0f, 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x0d, 0x00 - - .align 2 -gOamData_861CFF4:: @ 861CFF4 - .2byte 0x0000, 0x4000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_861CFFC:: @ 861CFFC - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D004:: @ 861D004 - .2byte 0x0004, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D00C:: @ 861D00C - .2byte 0x0008, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D014:: @ 861D014 - .2byte 0x000c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D01C:: @ 861D01C - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D024:: @ 861D024 - .2byte 0x0010, 0x0040, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D02C:: @ 861D02C - .2byte 0x0014, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D034:: @ 861D034 - .2byte 0x0018, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D03C:: @ 861D03C - .2byte 0x0018, 0x0040, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D044:: @ 861D044 - .2byte 0x001c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861D04C:: @ 861D04C - .4byte gSpriteAnim_861CFFC - .4byte gSpriteAnim_861D004 - .4byte gSpriteAnim_861D00C - .4byte gSpriteAnim_861D014 - .4byte gSpriteAnim_861D01C - .4byte gSpriteAnim_861D024 - .4byte gSpriteAnim_861D02C - .4byte gSpriteAnim_861D034 - .4byte gSpriteAnim_861D03C - .4byte gSpriteAnim_861D044 - - .align 2 -gUnknown_0861D074:: @ 861D074 - obj_tiles gUnknown_08D97BEC, 0x0400, 0x7530 - - .align 2 -gUnknown_0861D07C:: @ 861D07C - obj_pal gUnknown_08D97CF4, 0x7530 - - .align 2 -gUnknown_0861D084:: @ 861D084 - spr_template 0x7530, 0x7530, gOamData_861CFF4, gSpriteAnimTable_861D04C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_861D09C:: @ 861D09C - .2byte 0x4000, 0x4000, 0x0c00, 0x0000 - - .align 2 -gSpriteAnim_861D0A4:: @ 861D0A4 - .2byte 0x0000, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0AC:: @ 861D0AC - .2byte 0x0004, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0B4:: @ 861D0B4 - .2byte 0x0008, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0BC:: @ 861D0BC - .2byte 0x000c, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0C4:: @ 861D0C4 - .2byte 0x0010, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0CC:: @ 861D0CC - .2byte 0x0014, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_861D0D4:: @ 861D0D4 - .2byte 0x0018, 0x0000, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861D0DC:: @ 861D0DC - .4byte gSpriteAnim_861D0A4 - .4byte gSpriteAnim_861D0AC - .4byte gSpriteAnim_861D0B4 - .4byte gSpriteAnim_861D0BC - .4byte gSpriteAnim_861D0C4 - .4byte gSpriteAnim_861D0CC - .4byte gSpriteAnim_861D0D4 - - .align 2 -gUnknown_0861D0F8:: @ 861D0F8 - obj_tiles gStatusGfx_Icons, 0x0380, 0x7531 - - .align 2 -gUnknown_0861D100:: @ 861D100 - obj_pal gStatusPal_Icons, 0x7531 - - .align 2 -gUnknown_0861D108:: @ 861D108 - spr_template 0x7531, 0x7531, gOamData_861D09C, gSpriteAnimTable_861D0DC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0861D120:: @ 861D120 - .incbin "graphics/interface/summary_markings.gbapal" - - .align 2 -gUnknown_0861D140:: @ 861D140 - .incbin "graphics/interface/region_map.gbapal" - - .align 2 -gUnknown_0861D1A0:: @ 861D1A0 - .incbin "graphics/interface/region_map.8bpp.lz" - - .align 2 -gUnknown_0861DEF4:: @ 861DEF4 - .incbin "graphics/interface/region_map.bin.lz" - - .align 2 -gUnknown_0861E208:: @ 861E208 - .incbin "graphics/interface/region_map_affine.8bpp.lz" - - .align 2 -gUnknown_0861EF64:: @ 861EF64 - .incbin "graphics/interface/region_map_affine.bin.lz" - - .align 2 -gUnknown_0861F2B4:: @ 861F2B4 - .4byte 0x000011f0, 0x000001e1, 0x000021de - - .align 2 -gUnknown_0861F2C0:: @ 861F2C0 - .4byte 0x00000000, sub_81C5460, sub_81C5518, 0x00000000, 0x00080000, 0x07003021 - - .align 2 -gUnknown_0861F2D8:: @ 861F2D8 - .4byte gMenuText_Use, sub_81C61E0 - .4byte gMenuText_Toss, sub_81C62C4 - .4byte gMenuText_Give, sub_81C6648 - .4byte gText_Cancel2, sub_81C6258 - .4byte gMenuText_Use, sub_81C679C - .4byte gText_EmptyString2, NULL - -gUnknown_0861F308:: @ 861F308 - .byte 0x00, 0x02, 0x01, 0x03 - -gUnknown_0861F30C:: @ 861F30C - .byte 0x01, 0x03 - -gUnknown_0861F30E:: @ 861F30E - .byte 0x04, 0x03 - -gUnknown_0861F310:: @ 861F310 - .byte 0x03, 0x00, 0x00, 0x00 - -gUnknown_0861F314:: @ 861F314 - .4byte sub_81C654C - .4byte sub_81C63D0 - -gUnknown_0861F31C:: @ 861F31C - .byte 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0861F328:: @ 861F328 - window_template 0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e - window_template 0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e - window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162 - window_template 0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce - null_window_template - - .align 2 -gUnknown_0861F350:: @ 861F350 - window_template 0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8 - window_template 0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8 - window_template 0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8 - window_template 0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8 - - .align 2 -gUnknown_0861F370:: @ 861F370 - window_template 0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8 - - .align 2 -gOamData_861F378:: @ 861F378 - .2byte 0x0100, 0xc000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_861F380:: @ 861F380 - .2byte 0x0000, 0x0004, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_861F388:: @ 861F388 - .4byte gSpriteAnim_861F380 - - .align 2 -gSpriteAffineAnim_861F38C:: @ 861F38C - .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_861F39C:: @ 861F39C - .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000 - .2byte 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_861F3C4:: @ 861F3C4 - .4byte gSpriteAffineAnim_861F38C - .4byte gSpriteAffineAnim_861F39C - - .align 2 -gUnknown_0861F3CC:: @ 861F3CC - obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024 - - .align 2 -gUnknown_0861F3D4:: @ 861F3D4 - spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy - diff --git a/data/text/nature_names.inc b/data/text/nature_names.inc deleted file mode 100644 index 31e2876e2..000000000 --- a/data/text/nature_names.inc +++ /dev/null @@ -1,102 +0,0 @@ -gHardyNatureName:: @ 861CAAC - .string "HARDY$" - -gLonelyNatureName:: @ 861CAB2 - .string "LONELY$" - -gBraveNatureName:: @ 861CAB9 - .string "BRAVE$" - -gAdamantNatureName:: @ 861CABF - .string "ADAMANT$" - -gNaughtyNatureName:: @ 861CAC7 - .string "NAUGHTY$" - -gBoldNatureName:: @ 861CACF - .string "BOLD$" - -gDocileNatureName:: @ 861CAD4 - .string "DOCILE$" - -gRelaxedNatureName:: @ 861CADB - .string "RELAXED$" - -gImpishNatureName:: @ 861CAE3 - .string "IMPISH$" - -gLaxNatureName:: @ 861CAEA - .string "LAX$" - -gTimidNatureName:: @ 861CAEE - .string "TIMID$" - -gHastyNatureName:: @ 861CAF4 - .string "HASTY$" - -gSeriousNatureName:: @ 861CAFA - .string "SERIOUS$" - -gJollyNatureName:: @ 861CB02 - .string "JOLLY$" - -gNaiveNatureName:: @ 861CB08 - .string "NAIVE$" - -gModestNatureName:: @ 861CB0E - .string "MODEST$" - -gMildNatureName:: @ 861CB15 - .string "MILD$" - -gQuietNatureName:: @ 861CB1A - .string "QUIET$" - -gBashfulNatureName:: @ 861CB20 - .string "BASHFUL$" - -gRashNatureName:: @ 861CB28 - .string "RASH$" - -gCalmNatureName:: @ 861CB2D - .string "CALM$" - -gGentleNatureName:: @ 861CB32 - .string "GENTLE$" - -gSassyNatureName:: @ 861CB39 - .string "SASSY$" - -gCarefulNatureName:: @ 861CB3F - .string "CAREFUL$" - -gQuirkyNatureName:: @ 861CB47 - .string "QUIRKY$" - - .align 2 -gNatureNamePointers:: @ 861CB50 - .4byte gHardyNatureName - .4byte gLonelyNatureName - .4byte gBraveNatureName - .4byte gAdamantNatureName - .4byte gNaughtyNatureName - .4byte gBoldNatureName - .4byte gDocileNatureName - .4byte gRelaxedNatureName - .4byte gImpishNatureName - .4byte gLaxNatureName - .4byte gTimidNatureName - .4byte gHastyNatureName - .4byte gSeriousNatureName - .4byte gJollyNatureName - .4byte gNaiveNatureName - .4byte gModestNatureName - .4byte gMildNatureName - .4byte gQuietNatureName - .4byte gBashfulNatureName - .4byte gRashNatureName - .4byte gCalmNatureName - .4byte gGentleNatureName - .4byte gSassyNatureName - .4byte gCarefulNatureName - .4byte gQuirkyNatureName diff --git a/include/battle_controllers.h b/include/battle_controllers.h index ff5a629af..b449bb501 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_CONTROLLERS_H #define GUARD_BATTLE_CONTROLLERS_H +#include "battle.h" + enum { REQUEST_ALL_BATTLE, diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h index d410749b9..09e974068 100644 --- a/include/battle_frontier_2.h +++ b/include/battle_frontier_2.h @@ -11,5 +11,6 @@ void sub_81AA078(u16*, u8); void sub_81A4C30(void); void sub_819A4F8(void); void sub_819DC00(void); +bool8 sub_81A6BF4(void); #endif // GUARD_BATTLE_FRONTIER_2_H diff --git a/include/battle_tent.h b/include/battle_tent.h new file mode 100644 index 000000000..a894d4cfb --- /dev/null +++ b/include/battle_tent.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BATTLE_TENT_H +#define GUARD_BATTLE_TENT_H + +bool8 sub_81B9E94(void); + +#endif //GUARD_BATTLE_TENT_H diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h index b9c518b1b..8ff75dfa9 100644 --- a/include/constants/region_map_sections.h +++ b/include/constants/region_map_sections.h @@ -216,4 +216,8 @@ #define MAPSEC_TRAINER_HILL 0xD4 #define MAPSEC_NONE 0xD5 +#define MAPSEC_SPECIAL_EGG 0xFD +#define MAPSEC_IN_GAME_TRADE 0xFE +#define MAPSEC_FATEFUL_ENCOUNTER 0xFF + #endif //GUARD_REGIONMAPSEC_H diff --git a/include/contest.h b/include/contest.h index b7324e26b..33080225b 100644 --- a/include/contest.h +++ b/include/contest.h @@ -341,7 +341,8 @@ struct UnknownContestStruct7 u8 contestant; }; -struct ContestAIInfo { +struct ContestAIInfo +{ /*0x00*/ u8 aiState; /*0x02*/ u16 unk2; /*0x04*/ u8 unk4; @@ -352,9 +353,9 @@ struct ContestAIInfo { /*0x14*/ u32 flags; /*0x18*/ s16 scriptResult; /*0x1A*/ s16 scriptArr[3]; - /*0x20*/ u32 stack[8]; - /*0x40*/ u8 unk40; - /*0x41*/ u8 unk41; + /*0x20*/ const u8 *stack[8]; + /*0x40*/ u8 stackSize; + /*0x41*/ u8 contestantId; }; struct UnknownContestStruct5 @@ -406,7 +407,7 @@ extern struct ContestResources *gContestResources; #define sContest (*gContestResources->field_0) #define sContestantStatus (gContestResources->field_4) #define shared192D0 (*gContestResources->field_8) -#define eContestAI (*gContestResources->field_C) +#define eContestAI (gContestResources->field_C) #define shared19328 (*gContestResources->field_10) #define shared19338 (*gContestResources->field_14) @@ -414,8 +415,16 @@ extern struct ContestResources *gContestResources; #define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000)) extern u32 gContestRngValue; +extern u8 gUnknown_02039F26[4]; bool8 IsSpeciesNotUnown(u16 species); void LoadContestBgAfterMoveAnim(void); +void SetContestantEffectStringID(u8 a, u8 b); +void SetContestantEffectStringID2(u8 a, u8 b); +void MakeContestantNervous(u8 p); +bool8 Contest_IsMonsTurnDisabled(u8 a); +bool8 sub_80DE1E8(u8 a); +void SetStartledString(u8 a, u8 b); +s8 Contest_GetMoveExcitement(u16); #endif //GUARD_CONTEST_H diff --git a/include/contest_ai.h b/include/contest_ai.h new file mode 100644 index 000000000..20b9eec10 --- /dev/null +++ b/include/contest_ai.h @@ -0,0 +1,16 @@ +#ifndef GUARD_CONTESTAI_H +#define GUARD_CONTESTAI_H + +// AI states +enum +{ + CONTESTAI_SETTING_UP, + CONTESTAI_PROCESSING, + CONTESTAI_FINISHED, + CONTESTAI_DO_NOT_PROCESS +}; + +void ContestAI_ResetAI(u8); +u8 ContestAI_GetActionToUse(void); + +#endif // GUARD_CONTESTAI_H diff --git a/include/contest_effect.h b/include/contest_effect.h index 3484ca5df..5f48e1b8b 100644 --- a/include/contest_effect.h +++ b/include/contest_effect.h @@ -17,6 +17,9 @@ struct ContestEffect }; extern const struct ContestMove gContestMoves[]; -extern struct ContestEffect gContestEffects[]; +extern const struct ContestEffect gContestEffects[]; +extern const u8 *const gContestEffectDescriptionPointers[]; + +bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove); #endif //GUARD_CONTEST_EFFECT_H diff --git a/include/data/bard_music/bard_sounds.h b/include/data/bard_music/bard_sounds.h deleted file mode 100644 index 94923b099..000000000 --- a/include/data/bard_music/bard_sounds.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef GUARD_BARD_SOUNDS_TABLE_H -#define GUARD_BARD_SOUNDS_TABLE_H - -#define NULL_BARD_SOUND { 0xff } - -#include "data/bard_music/pokemon.h" -#include "data/bard_music/moves.h" -#include "data/bard_music/trainer.h" -#include "data/bard_music/status.h" -#include "data/bard_music/battle.h" -#include "data/bard_music/greetings.h" -#include "data/bard_music/people.h" -#include "data/bard_music/voices.h" -#include "data/bard_music/speech.h" -#include "data/bard_music/endings.h" -#include "data/bard_music/feelings.h" -#include "data/bard_music/conditions.h" -#include "data/bard_music/actions.h" -#include "data/bard_music/lifestyle.h" -#include "data/bard_music/hobbies.h" -#include "data/bard_music/time.h" -#include "data/bard_music/misc.h" -#include "data/bard_music/adjectives.h" -#include "data/bard_music/events.h" -#include "data/bard_music/trendysaying.h" - -const struct BardSound (*const gBardSoundsTable[])[6] = { - NULL, - gBardSounds_Trainer, - gBardSounds_Status, - gBardSounds_Battle, - gBardSounds_Greetings, - gBardSounds_People, - gBardSounds_Voices, - gBardSounds_Speech, - gBardSounds_Endings, - gBardSounds_Feelings, - gBardSounds_Conditions, - gBardSounds_Actions, - gBardSounds_Lifestyle, - gBardSounds_Hobbies, - gBardSounds_Time, - gBardSounds_Misc, - gBardSounds_Adjectives, - gBardSounds_Events, - NULL, - NULL, - gBardSounds_TrendySaying, - NULL -}; - -#endif //GUARD_BARD_SOUNDS_TABLE_H diff --git a/include/graphics.h b/include/graphics.h index 2dc5e99bf..24a7b839a 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -2437,10 +2437,221 @@ extern const u8 gMonFrontPic_UnownQuestionMark[]; extern const u8 gMonBackPic_UnownQuestionMark[]; extern const u8 gMonIcon_UnownQuestionMark[]; +extern const u8 gMonFrontPic_CircledQuestionMark[]; +extern const u8 gMonBackPic_CircledQuestionMark[]; +extern const u8 gMonPalette_CircledQuestionMark[]; +extern const u8 gMonShinyPalette_CircledQuestionMark[]; extern const u8 gMonIcon_QuestionMark[]; +extern const u8 gMonFrontPic_DoubleQuestionMark[]; +extern const u8 gMonBackPic_DoubleQuestionMark[]; +extern const u8 gMonPalette_DoubleQuestionMark[]; +extern const u8 gMonShinyPalette_DoubleQuestionMark[]; +extern const u8 gMonFrontPic_Egg[]; +extern const u8 gMonStillFrontPic_Egg[]; extern const u8 gMonIcon_Egg[]; extern const u16 gMonIconPalettes[][16]; +// trainer sprites +extern const u8 gTrainerFrontPic_Hiker[]; +extern const u8 gTrainerFrontPic_AquaGruntM[]; +extern const u8 gTrainerFrontPic_PokemonBreederF[]; +extern const u8 gTrainerFrontPic_CoolTrainerM[]; +extern const u8 gTrainerFrontPic_BirdKeeper[]; +extern const u8 gTrainerFrontPic_Collector[]; +extern const u8 gTrainerFrontPic_AquaGruntF[]; +extern const u8 gTrainerFrontPic_SwimmerM[]; +extern const u8 gTrainerFrontPic_MagmaGruntM[]; +extern const u8 gTrainerFrontPic_ExpertM[]; +extern const u8 gTrainerFrontPic_AquaAdminM[]; +extern const u8 gTrainerFrontPic_BlackBelt[]; +extern const u8 gTrainerFrontPic_AquaAdminF[]; +extern const u8 gTrainerFrontPic_AquaLeaderArchie[]; +extern const u8 gTrainerFrontPic_HexManiac[]; +extern const u8 gTrainerFrontPic_AromaLady[]; +extern const u8 gTrainerFrontPic_RuinManiac[]; +extern const u8 gTrainerFrontPic_Interviewer[]; +extern const u8 gTrainerFrontPic_TuberF[]; +extern const u8 gTrainerFrontPic_TuberM[]; +extern const u8 gTrainerFrontPic_CoolTrainerF[]; +extern const u8 gTrainerFrontPic_Lady[]; +extern const u8 gTrainerFrontPic_Beauty[]; +extern const u8 gTrainerFrontPic_RichBoy[]; +extern const u8 gTrainerFrontPic_ExpertF[]; +extern const u8 gTrainerFrontPic_Pokemaniac[]; +extern const u8 gTrainerFrontPic_MagmaGruntF[]; +extern const u8 gTrainerFrontPic_Guitarist[]; +extern const u8 gTrainerFrontPic_Kindler[]; +extern const u8 gTrainerFrontPic_Camper[]; +extern const u8 gTrainerFrontPic_Picnicker[]; +extern const u8 gTrainerFrontPic_BugManiac[]; +extern const u8 gTrainerFrontPic_PokemonBreederM[]; +extern const u8 gTrainerFrontPic_PsychicM[]; +extern const u8 gTrainerFrontPic_PsychicF[]; +extern const u8 gTrainerFrontPic_Gentleman[]; +extern const u8 gTrainerFrontPic_EliteFourSidney[]; +extern const u8 gTrainerFrontPic_EliteFourPhoebe[]; +extern const u8 gTrainerFrontPic_EliteFourGlacia[]; +extern const u8 gTrainerFrontPic_EliteFourDrake[]; +extern const u8 gTrainerFrontPic_LeaderRoxanne[]; +extern const u8 gTrainerFrontPic_LeaderBrawly[]; +extern const u8 gTrainerFrontPic_LeaderWattson[]; +extern const u8 gTrainerFrontPic_LeaderFlannery[]; +extern const u8 gTrainerFrontPic_LeaderNorman[]; +extern const u8 gTrainerFrontPic_LeaderWinona[]; +extern const u8 gTrainerFrontPic_LeaderTateAndLiza[]; +extern const u8 gTrainerFrontPic_LeaderJuan[]; +extern const u8 gTrainerFrontPic_SchoolKidM[]; +extern const u8 gTrainerFrontPic_SchoolKidF[]; +extern const u8 gTrainerFrontPic_SrAndJr[]; +extern const u8 gTrainerFrontPic_WinstrateM[]; +extern const u8 gTrainerFrontPic_WinstrateF[]; +extern const u8 gTrainerFrontPic_Youngster[]; +extern const u8 gTrainerFrontPic_ChampionWallace[]; +extern const u8 gTrainerFrontPic_Fisherman[]; +extern const u8 gTrainerFrontPic_CyclingTriathleteM[]; +extern const u8 gTrainerFrontPic_CyclingTriathleteF[]; +extern const u8 gTrainerFrontPic_RunningTriathleteM[]; +extern const u8 gTrainerFrontPic_RunningTriathleteF[]; +extern const u8 gTrainerFrontPic_SwimmingTriathleteM[]; +extern const u8 gTrainerFrontPic_SwimmingTriathleteF[]; +extern const u8 gTrainerFrontPic_DragonTamer[]; +extern const u8 gTrainerFrontPic_NinjaBoy[]; +extern const u8 gTrainerFrontPic_BattleGirl[]; +extern const u8 gTrainerFrontPic_ParasolLady[]; +extern const u8 gTrainerFrontPic_SwimmerF[]; +extern const u8 gTrainerFrontPic_Twins[]; +extern const u8 gTrainerFrontPic_Sailor[]; +extern const u8 gTrainerFrontPic_MagmaAdmin[]; +extern const u8 gTrainerFrontPic_Wally[]; +extern const u8 gTrainerFrontPic_Brendan[]; +extern const u8 gTrainerFrontPic_May[]; +extern const u8 gTrainerFrontPic_BugCatcher[]; +extern const u8 gTrainerFrontPic_PokemonRangerM[]; +extern const u8 gTrainerFrontPic_PokemonRangerF[]; +extern const u8 gTrainerFrontPic_MagmaLeaderMaxie[]; +extern const u8 gTrainerFrontPic_Lass[]; +extern const u8 gTrainerFrontPic_YoungCouple[]; +extern const u8 gTrainerFrontPic_OldCouple[]; +extern const u8 gTrainerFrontPic_SisAndBro[]; +extern const u8 gTrainerFrontPic_Steven[]; +extern const u8 gTrainerFrontPic_SalonMaidenAnabel[]; +extern const u8 gTrainerFrontPic_DomeAceTucker[]; +extern const u8 gTrainerFrontPic_PalaceMavenSpenser[]; +extern const u8 gTrainerFrontPic_ArenaTycoonGreta[]; +extern const u8 gTrainerFrontPic_FactoryHeadNoland[]; +extern const u8 gTrainerFrontPic_PikeQueenLucy[]; +extern const u8 gTrainerFrontPic_PyramidKingBrandon[]; +extern const u8 gTrainerFrontPic_Red[]; +extern const u8 gTrainerFrontPic_Leaf[]; +extern const u8 gTrainerFrontPic_RubySapphireBrendan[]; +extern const u8 gTrainerFrontPic_RubySapphireMay[]; + +extern const u8 gTrainerPalette_Hiker[]; +extern const u8 gTrainerPalette_AquaGruntM[]; +extern const u8 gTrainerPalette_PokemonBreederF[]; +extern const u8 gTrainerPalette_CoolTrainerM[]; +extern const u8 gTrainerPalette_BirdKeeper[]; +extern const u8 gTrainerPalette_Collector[]; +extern const u8 gTrainerPalette_AquaGruntF[]; +extern const u8 gTrainerPalette_SwimmerM[]; +extern const u8 gTrainerPalette_MagmaGruntM[]; +extern const u8 gTrainerPalette_ExpertM[]; +extern const u8 gTrainerPalette_AquaAdminM[]; +extern const u8 gTrainerPalette_BlackBelt[]; +extern const u8 gTrainerPalette_AquaAdminF[]; +extern const u8 gTrainerPalette_AquaLeaderArchie[]; +extern const u8 gTrainerPalette_HexManiac[]; +extern const u8 gTrainerPalette_AromaLady[]; +extern const u8 gTrainerPalette_RuinManiac[]; +extern const u8 gTrainerPalette_Interviewer[]; +extern const u8 gTrainerPalette_TuberF[]; +extern const u8 gTrainerPalette_TuberM[]; +extern const u8 gTrainerPalette_CoolTrainerF[]; +extern const u8 gTrainerPalette_Lady[]; +extern const u8 gTrainerPalette_Beauty[]; +extern const u8 gTrainerPalette_RichBoy[]; +extern const u8 gTrainerPalette_ExpertF[]; +extern const u8 gTrainerPalette_Pokemaniac[]; +extern const u8 gTrainerPalette_MagmaGruntF[]; +extern const u8 gTrainerPalette_Guitarist[]; +extern const u8 gTrainerPalette_Kindler[]; +extern const u8 gTrainerPalette_Camper[]; +extern const u8 gTrainerPalette_Picnicker[]; +extern const u8 gTrainerPalette_BugManiac[]; +extern const u8 gTrainerPalette_PokemonBreederM[]; +extern const u8 gTrainerPalette_PsychicM[]; +extern const u8 gTrainerPalette_PsychicF[]; +extern const u8 gTrainerPalette_Gentleman[]; +extern const u8 gTrainerPalette_EliteFourSidney[]; +extern const u8 gTrainerPalette_EliteFourPhoebe[]; +extern const u8 gTrainerPalette_EliteFourGlacia[]; +extern const u8 gTrainerPalette_EliteFourDrake[]; +extern const u8 gTrainerPalette_LeaderRoxanne[]; +extern const u8 gTrainerPalette_LeaderBrawly[]; +extern const u8 gTrainerPalette_LeaderWattson[]; +extern const u8 gTrainerPalette_LeaderFlannery[]; +extern const u8 gTrainerPalette_LeaderNorman[]; +extern const u8 gTrainerPalette_LeaderWinona[]; +extern const u8 gTrainerPalette_LeaderTateAndLiza[]; +extern const u8 gTrainerPalette_LeaderJuan[]; +extern const u8 gTrainerPalette_SchoolKidM[]; +extern const u8 gTrainerPalette_SchoolKidF[]; +extern const u8 gTrainerPalette_SrAndJr[]; +extern const u8 gTrainerPalette_WinstrateM[]; +extern const u8 gTrainerPalette_WinstrateF[]; +extern const u8 gTrainerPalette_Youngster[]; +extern const u8 gTrainerPalette_ChampionWallace[]; +extern const u8 gTrainerPalette_Fisherman[]; +extern const u8 gTrainerPalette_CyclingTriathleteM[]; +extern const u8 gTrainerPalette_CyclingTriathleteF[]; +extern const u8 gTrainerPalette_RunningTriathleteM[]; +extern const u8 gTrainerPalette_RunningTriathleteF[]; +extern const u8 gTrainerPalette_SwimmingTriathleteM[]; +extern const u8 gTrainerPalette_SwimmingTriathleteF[]; +extern const u8 gTrainerPalette_DragonTamer[]; +extern const u8 gTrainerPalette_NinjaBoy[]; +extern const u8 gTrainerPalette_BattleGirl[]; +extern const u8 gTrainerPalette_ParasolLady[]; +extern const u8 gTrainerPalette_SwimmerF[]; +extern const u8 gTrainerPalette_Twins[]; +extern const u8 gTrainerPalette_Sailor[]; +extern const u8 gTrainerPalette_MagmaAdmin[]; +extern const u8 gTrainerPalette_Wally[]; +extern const u8 gTrainerPalette_Brendan[]; +extern const u8 gTrainerPalette_May[]; +extern const u8 gTrainerPalette_BugCatcher[]; +extern const u8 gTrainerPalette_PokemonRangerM[]; +extern const u8 gTrainerPalette_PokemonRangerF[]; +extern const u8 gTrainerPalette_MagmaLeaderMaxie[]; +extern const u8 gTrainerPalette_Lass[]; +extern const u8 gTrainerPalette_YoungCouple[]; +extern const u8 gTrainerPalette_OldCouple[]; +extern const u8 gTrainerPalette_SisAndBro[]; +extern const u8 gTrainerPalette_Steven[]; +extern const u8 gTrainerPalette_SalonMaidenAnabel[]; +extern const u8 gTrainerPalette_DomeAceTucker[]; +extern const u8 gTrainerPalette_PalaceMavenSpenser[]; +extern const u8 gTrainerPalette_ArenaTycoonGreta[]; +extern const u8 gTrainerPalette_FactoryHeadNoland[]; +extern const u8 gTrainerPalette_PikeQueenLucy[]; +extern const u8 gTrainerPalette_PyramidKingBrandon[]; +extern const u8 gTrainerPalette_Red[]; +extern const u8 gTrainerPalette_Leaf[]; +extern const u8 gTrainerPalette_RubySapphireBrendan[]; +extern const u8 gTrainerPalette_RubySapphireMay[]; + +extern const u8 gTrainerBackPic_Brendan[]; +extern const u8 gTrainerBackPic_May[]; +extern const u8 gTrainerBackPic_Red[]; +extern const u8 gTrainerBackPic_Leaf[]; +extern const u8 gTrainerBackPic_RubySapphireBrendan[]; +extern const u8 gTrainerBackPic_RubySapphireMay[]; +extern const u8 gTrainerBackPic_Wally[]; +extern const u8 gTrainerBackPic_Steven[]; + +extern const u8 gTrainerBackPicPalette_Red[]; +extern const u8 gTrainerBackPicPalette_Leaf[]; + // pokeblock extern const u8 gMenuPokeblock_Gfx[]; extern const u8 gMenuPokeblock_Pal[]; @@ -3382,4 +3593,24 @@ extern const u8 gCreditsCopyrightEnd_Gfx[]; extern const u8 gPokenavConditionMarker_Gfx[]; extern const u16 gPokenavConditionMarker_Pal[]; +extern const u8 gUnknown_08D9862C[]; +extern const u8 gUnknown_08D98CC8[]; +extern const u8 gUnknown_08D987FC[]; +extern const u8 gUnknown_08D9898C[]; +extern const u8 gUnknown_08D98B28[]; +extern const u8 gUnknown_08D9853C[]; +extern const u8 gUnknown_08D85620[]; +extern const u16 gSummaryScreenWindow_Tilemap[]; +extern const u16 gMoveTypes_Pal[]; +extern const u8 gUnknown_08D97D0C[]; + +extern const u16 gSummaryScreenPowAcc_Tilemap[]; +extern const u16 gUnknown_08DC3C34[]; + +extern const u8 gMoveTypes_Gfx[]; +extern const u8 gUnknown_08D97BEC[]; +extern const u8 gUnknown_08D97CF4[]; +extern const u8 gStatusGfx_Icons[]; +extern const u8 gStatusPal_Icons[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/m4a.h b/include/m4a.h index a1f413cf5..595379495 100644 --- a/include/m4a.h +++ b/include/m4a.h @@ -17,6 +17,7 @@ void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed); void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed); void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo); +extern struct MusicPlayerInfo gMPlayInfo_BGM; extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; extern struct MusicPlayerInfo gMPlayInfo_SE3; diff --git a/include/menu.h b/include/menu.h index 5dfd99c64..054d8cb34 100644 --- a/include/menu.h +++ b/include/menu.h @@ -85,5 +85,7 @@ void RemoveMapNamePopUpWindow(void); u8 GetMapNamePopUpWindowId(void); u8 AddMapNamePopUpWindow(void); void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing); +void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); +void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP); #endif // GUARD_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 387a89fdd..ee8501d18 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -2,6 +2,7 @@ #define GUARD_MENU_HELPERS_H #include "task.h" +#include "window.h" // Exported type declarations diff --git a/include/mon_markings.h b/include/mon_markings.h index 852e8b4eb..22c3f14a4 100644 --- a/include/mon_markings.h +++ b/include/mon_markings.h @@ -21,4 +21,6 @@ struct PokemonMarkMenu /*0x10B4*/ u8 tileLoadState; }; // 10b8 +struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette); + #endif //POKEEMERALD_MON_MARKINGS_H diff --git a/include/party_menu.h b/include/party_menu.h index cb2c38891..02e481200 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -57,5 +57,8 @@ u8 sub_81B1360(void); void sub_81B8904(u8 arg0, void (*callback)(void)); void OpenPartyMenuInBattle(u8 caseId); u16 ItemIdToBattleMoveId(u16 itemId); +u8 sub_81B205C(struct Pokemon* a); +u8 sub_81B6D14(u16 a); +bool8 hm_add_c3_without_phase_2(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokeball.h b/include/pokeball.h index 84178b5b2..30a1d8b11 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -18,6 +18,8 @@ enum POKEBALL_COUNT }; +extern const struct SpriteTemplate gBallSpriteTemplates[]; + #define POKEBALL_PLAYER_SENDOUT 0xFF #define POKEBALL_OPPONENT_SENDOUT 0xFE diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 03f4e0da6..9b5358f06 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -83,5 +83,6 @@ void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); bool8 CheckFreePokemonStorageSpace(void); u8 StorageGetCurrentBox(void); +u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h index 75caa9a3a..3d3b6f0e3 100755 --- a/include/pokemon_summary_screen.h +++ b/include/pokemon_summary_screen.h @@ -2,6 +2,24 @@ #define GUARD_POKEMON_SUMMARY_SCREEN_H void sub_81C4F98(u8, void(*)(void)); -void ShowSelectMovePokemonSummaryScreen(void *a, u8 b, u8 c, void *d, u16 e); +void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16); + +// The Pokemon Summary Screen can operate in different modes. Certain features, +// such as move re-ordering, are available in the different modes. +enum PokemonSummaryScreenMode +{ + PSS_MODE_NORMAL, + PSS_MODE_UNK1, + PSS_MODE_UNK2, + PSS_MODE_SELECT_MOVE, +}; + +enum PokemonSummaryScreenPage +{ + PSS_PAGE_INFO, + PSS_PAGE_SKILLS, + PSS_PAGE_BATTLE_MOVES, + PSS_PAGE_CONTEST_MOVES, +}; #endif // GUARD_POKEMON_SUMMARY_SCREEN_H diff --git a/include/region_map.h b/include/region_map.h index af331ad81..6339f7a88 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -94,5 +94,6 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); u8 *GetMapName(u8 *, u16, u16); bool32 sub_8124668(u8 mapSecId); u8 *sub_81245DC(u8 *dest, u16 mapSecId); +u8 *sub_8124610(u8 *dest, u16 mapSecId); #endif //GUARD_REGION_MAP_H diff --git a/include/strings.h b/include/strings.h index f8b216a39..f88425b26 100644 --- a/include/strings.h +++ b/include/strings.h @@ -776,4 +776,52 @@ extern const u8 gText_TeachWhichMoveToPkmn[]; extern const u8 gText_GiveUpTeachingNewMove[]; extern const u8 gText_TeachX[]; +extern const u8 gText_LevelSymbol[]; +extern const u8 gText_PkmnInfo[]; +extern const u8 gText_PkmnSkills[]; +extern const u8 gText_BattleMoves[]; +extern const u8 gText_ContestMoves[]; +extern const u8 gText_HMMovesCantBeForgotten2[]; +extern const u8 gText_Info[]; +extern const u8 gText_Switch[]; +extern const u8 gText_RentalPkmn[]; +extern const u8 gText_TypeSlash[]; +extern const u8 gText_HP4[]; +extern const u8 gText_Attack3[]; +extern const u8 gText_Defense3[]; +extern const u8 gText_SpAtk4[]; +extern const u8 gText_SpDef4[]; +extern const u8 gText_Speed2[]; +extern const u8 gText_ExpPoints[]; +extern const u8 gText_NextLv[]; +extern const u8 gText_Status[]; +extern const u8 gText_Power[]; +extern const u8 gText_Accuracy2[]; +extern const u8 gText_Appeal[]; +extern const u8 gText_Jam[]; +extern const u8 gText_OTSlash[]; +extern const u8 gText_UnkCtrlF907F908[]; +extern const u8 gText_XNature[]; +extern const u8 gText_XNatureHatchedAtYZ[]; +extern const u8 gText_XNatureHatchedSomewhereAt[]; +extern const u8 gText_XNatureMetAtYZ[]; +extern const u8 gText_XNatureMetSomewhereAt[]; +extern const u8 gText_XNatureFatefulEncounter[]; +extern const u8 gText_XNatureProbablyMetAt[]; +extern const u8 gText_XNatureObtainedInTrade[]; +extern const u8 gText_EmptyString5[]; +extern const u8 gText_EggWillTakeALongTime[]; +extern const u8 gText_EggAboutToHatch[]; +extern const u8 gText_EggWillHatchSoon[]; +extern const u8 gText_EggWillTakeSomeTime[]; +extern const u8 gText_PeculiarEggNicePlace[]; +extern const u8 gText_PeculiarEggTrade[]; +extern const u8 gText_EggFromTraveler[]; +extern const u8 gText_EggFromHotSprings[]; +extern const u8 gText_OddEggFoundByCouple[]; +extern const u8 gText_None[]; +extern const u8 gText_RibbonsVar1[]; +extern const u8 gText_OneDash[]; +extern const u8 gText_TwoDashes[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 5f9d35617..a4ef0bb17 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -143,7 +143,7 @@ SECTIONS { asm/script_menu.o(.text); src/naming_screen.o(.text); src/money.o(.text); - asm/contest_effect.o(.text); + src/contest_effect.o(.text); src/record_mixing.o(.text); src/secret_base.o(.text); src/tv.o(.text); @@ -203,7 +203,7 @@ SECTIONS { src/save.o(.text); src/mystery_event_script.o(.text); asm/field_effect_helpers.o(.text); - asm/contest_ai.o(.text); + src/contest_ai.o(.text); src/battle_anim_sound_tasks.o(.text); src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); @@ -262,7 +262,9 @@ SECTIONS { asm/fossil_specials.o(.text); src/berry_fix_program.o(.text); src/pokemon_summary_screen.o(.text); - asm/pokemon_summary_screen.o(.text); + src/unk_pokedex_area_screen_helper.o(.text); + src/battle_pyramid.o(.text); + asm/battle_pyramid.o(.text); asm/pokenav.o(.text); src/match_call.o(.text); asm/pokenav.o(.text.after.match.call); @@ -377,6 +379,7 @@ SECTIONS { src/main_menu.o(.rodata); src/rom_8034C54.o(.rodata); data/data2b.o(.rodata); + src/data2b.o(.rodata); src/battle_data.o(.rodata); data/data2c.o(.rodata); src/battle_main.o(.rodata); @@ -443,7 +446,7 @@ SECTIONS { data/script_menu.o(.rodata); src/naming_screen.o(.rodata); src/money.o(.rodata); - data/contest_effect.o(.rodata); + src/contest_effect.o(.rodata); src/record_mixing.o(.rodata); src/secret_base.o(.rodata); src/tv.o(.rodata); @@ -488,7 +491,7 @@ SECTIONS { data/cable_car.o(.rodata); src/save.o(.rodata); data/field_effect_helpers.o(.rodata); - data/contest_ai.o(.rodata); + src/contest_ai.o(.rodata); src/battle_controller_safari.o(.rodata); data/battle_anim_815A0D4.o(.rodata); src/learn_move.o(.rodata); @@ -537,7 +540,8 @@ SECTIONS { src/fldeff_groundshake.o(.rodata); src/berry_fix_program.o(.rodata); src/pokemon_summary_screen.o(.rodata); - data/pokemon_summary_screen.o(.rodata); + src/unk_pokedex_area_screen_helper.o(.rodata); + data/battle_pyramid.o(.rodata); data/pokenav.o(.rodata); src/match_call.o(.rodata); data/pokenav.o(.rodata.after.match.call); diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c new file mode 100644 index 000000000..f9cc48a9a --- /dev/null +++ b/src/battle_pyramid.c @@ -0,0 +1,248 @@ +#include "global.h" +#include "main.h" +#include "battle_controllers.h" +#include "bg.h" +#include "field_effect.h" +#include "field_weather.h" +#include "gpu_regs.h" +#include "malloc.h" +#include "menu.h" +#include "menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "scanline_effect.h" +#include "script.h" +#include "task.h" +#include "constants/rgb.h" + +EWRAM_DATA struct +{ + u32 unk0; + u8 filler4[0x804 - 0x4]; + u8 unk804[11]; + u8 unk80F[5]; + u8 unk814; + u8 filler815; + s8 unk816; + u8 filler817[0x984 - 0x817]; + u16 unk984; + u8 filler986[0x98C - 0x986]; +} *gUnknown_0203CF2C = NULL; +EWRAM_DATA struct +{ + void (*callback)(void); + u8 unk4; + u16 unk6; + u16 unk8; +} gUnknown_0203CF30 = {0}; + +extern const struct BgTemplate gUnknown_0861F2B4[3]; + +void sub_81C4F98(u8 a0, void (*callback)(void)); +void sub_81C4F44(u8 taskId); +void sub_81C504C(void); +bool8 sub_81C5078(void); +void sub_81C51DC(void); +bool8 sub_81C5238(void); +void sub_81C5314(void); +void sub_81C5674(void); +void sub_81C56F8(void); +void sub_81C5924(void); +void sub_81C59BC(void); +void sub_81C5A20(void); +void sub_81C6BD8(void); +void sub_81C6EF4(void); +void sub_81C700C(void); + +void sub_81C4EEC(void) +{ + gUnknown_0203CF30.unk6 = 0; + gUnknown_0203CF30.unk8 = 0; +} + +void sub_81C4EFC(void) +{ + sub_81C4F98(0, CB2_ReturnToFieldWithOpenMenu); +} + +void sub_81C4F10(void) +{ + sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2); +} + +void sub_81C4F24(void) +{ + ScriptContext2_Enable(); + FadeScreen(1, 0); + CreateTask(sub_81C4F44, 10); +} + +void sub_81C4F44(u8 taskId) +{ + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + gFieldCallback2 = hm_add_c3_without_phase_2; + sub_81C4F98(3, CB2_ReturnToField); + DestroyTask(taskId); + } +} + +void sub_81C4F84(void) +{ + sub_81C4F98(4, gUnknown_0203CF30.callback); +} + +void sub_81C4F98(u8 a0, void (*callback)(void)) +{ + gUnknown_0203CF2C = AllocZeroed(sizeof(*gUnknown_0203CF2C)); + + if (a0 != 4) + { + gUnknown_0203CF30.unk4 = a0; + } + + if (callback != NULL) + { + gUnknown_0203CF30.callback = callback; + } + + gUnknown_0203CF2C->unk0 = 0; + gUnknown_0203CF2C->unk814 = -1; + gUnknown_0203CF2C->unk816 = -1; + + memset(gUnknown_0203CF2C->unk804, 0xFF, sizeof(gUnknown_0203CF2C->unk804)); + memset(gUnknown_0203CF2C->unk80F, 0xFF, sizeof(gUnknown_0203CF2C->unk80F)); + + SetMainCallback2(sub_81C504C); +} + +void sub_81C501C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +void sub_81C5038(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_81C504C(void) +{ + while (sub_81221EC() != TRUE && sub_81C5078() != TRUE && sub_81221AC() != TRUE); +} + +bool8 sub_81C5078(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + if (!sub_81221AC()) + { + ResetTasks(); + } + gMain.state++; + break; + case 6: + sub_81C51DC(); + gUnknown_0203CF2C->unk984 = 0; + gMain.state++; + break; + case 7: + if (sub_81C5238()) + { + gMain.state++; + } + break; + case 8: + sub_81C6BD8(); + gMain.state++; + break; + case 9: + sub_81C5924(); + sub_81C59BC(); + sub_81C5A20(); + gMain.state++; + break; + case 10: + sub_81C5314(); + gMain.state++; + break; + case 11: + sub_81C56F8(); + gMain.state++; + break; + case 12: + sub_81C6EF4(); + gMain.state++; + break; + case 13: + sub_81C5674(); + gMain.state++; + break; + case 14: + sub_81C700C(); + gMain.state++; + break; + case 15: + BlendPalettes(0xFFFFFFFF, 0x10, 0); + gMain.state++; + break; + case 16: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); + gPaletteFade.bufferTransferDisabled = FALSE; + gMain.state++; + break; + default: + SetVBlankCallback(sub_81C5038); + SetMainCallback2(sub_81C501C); + return TRUE; + } + return FALSE; +} + +void sub_81C51DC(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0861F2B4, ARRAY_COUNT(gUnknown_0861F2B4)); + SetBgTilemapBuffer(2, gUnknown_0203CF2C->filler4); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(2); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + ShowBg(2); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} diff --git a/src/contest.c b/src/contest.c index 8513fc4a9..910637387 100644 --- a/src/contest.c +++ b/src/contest.c @@ -107,7 +107,7 @@ u16 sub_80DE84C(u16); void sub_80DB89C(void); u16 sub_80DB8B8(u8); void sub_80DB918(void); -bool8 sub_80DBCA8(u8); +bool8 Contest_IsMonsTurnDisabled(u8); void sub_80DBF68(void); void sub_80DBF90(void); void sub_80DC2BC(void); @@ -721,7 +721,7 @@ void sub_80D833C(u8 taskId) sub_80DCD48(); DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18204, 0x400); ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); @@ -745,7 +745,7 @@ void sub_80D8424(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys == B_BUTTON)) { PlaySE(SE_SELECT); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) { sub_80DC490(TRUE); gTasks[taskId].func = sub_80D8490; @@ -819,7 +819,7 @@ void sub_80D8610(u8 taskId) PlaySE(SE_SELECT); sub_80DC490(FALSE); ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); @@ -2636,7 +2636,7 @@ void sub_80DB4E0(u16 move, u8 b) { u8 r7 = gUnknown_02039F26[b] * 5 + 2; - if (!sub_80DBCA8(b) && move != MOVE_NONE) + if (!Contest_IsMonsTurnDisabled(b) && move != MOVE_NONE) { u16 tile = sub_80DB2EC(move, b); diff --git a/src/contest_ai.c b/src/contest_ai.c new file mode 100644 index 000000000..3324ddf87 --- /dev/null +++ b/src/contest_ai.c @@ -0,0 +1,1756 @@ +#include "global.h" +#include "contest.h" +#include "random.h" +#include "contest_ai.h" +#include "contest_effect.h" + +extern u16 gContestMonConditions[]; + +extern const u8 *gAIScriptPtr; +extern const u8 *gContestAIs[]; + +static void ContestAICmd_unk_00(void); +static void ContestAICmd_get_turn(void); +static void ContestAICmd_unk_02(void); +static void ContestAICmd_unk_03(void); +static void ContestAICmd_unk_04(void); +static void ContestAICmd_unk_05(void); +static void ContestAICmd_get_excitement(void); +static void ContestAICmd_unk_07(void); +static void ContestAICmd_unk_08(void); +static void ContestAICmd_unk_09(void); +static void ContestAICmd_unk_0A(void); +static void ContestAICmd_get_user_order(void); +static void ContestAICmd_unk_0C(void); +static void ContestAICmd_unk_0D(void); +static void ContestAICmd_unk_0E(void); +static void ContestAICmd_unk_0F(void); +static void ContestAICmd_get_user_condition_maybe(void); +static void ContestAICmd_unk_11(void); +static void ContestAICmd_unk_12(void); +static void ContestAICmd_unk_13(void); +static void ContestAICmd_unk_14(void); +static void ContestAICmd_unk_15(void); +static void ContestAICmd_unk_16(void); +static void ContestAICmd_unk_17(void); +static void ContestAICmd_unk_18(void); +static void ContestAICmd_unk_19(void); +static void ContestAICmd_unk_1A(void); +static void ContestAICmd_unk_1B(void); +static void ContestAICmd_unk_1C(void); +static void ContestAICmd_unk_1D(void); +static void ContestAICmd_unk_1E(void); +static void ContestAICmd_get_contest_type(void); +static void ContestAICmd_unk_20(void); +static void ContestAICmd_unk_21(void); +static void ContestAICmd_get_move_excitement(void); +static void ContestAICmd_unk_23(void); +static void ContestAICmd_unk_24(void); +static void ContestAICmd_unk_25(void); +static void ContestAICmd_unk_26(void); +static void ContestAICmd_get_move_effect(void); +static void ContestAICmd_unk_28(void); +static void ContestAICmd_unk_29(void); +static void ContestAICmd_get_move_effect_type(void); +static void ContestAICmd_unk_2B(void); +static void ContestAICmd_unk_2C(void); +static void ContestAICmd_check_move_has_highest_appeal(void); +static void ContestAICmd_unk_2E(void); +static void ContestAICmd_unk_2F(void); +static void ContestAICmd_unk_30(void); +static void ContestAICmd_unk_31(void); +static void ContestAICmd_unk_32(void); +static void ContestAICmd_unk_33(void); +static void ContestAICmd_unk_34(void); +static void ContestAICmd_unk_35(void); +static void ContestAICmd_unk_36(void); +static void ContestAICmd_unk_37(void); +static void ContestAICmd_unk_38(void); +static void ContestAICmd_unk_39(void); +static void ContestAICmd_unk_3A(void); +static void ContestAICmd_get_move_used_count(void); +static void ContestAICmd_unk_3C(void); +static void ContestAICmd_unk_3D(void); +static void ContestAICmd_unk_3E(void); +static void ContestAICmd_unk_3F(void); +static void ContestAICmd_check_combo_starter(void); +static void ContestAICmd_unk_41(void); +static void ContestAICmd_unk_42(void); +static void ContestAICmd_check_combo_finisher(void); +static void ContestAICmd_unk_44(void); +static void ContestAICmd_unk_45(void); +static void ContestAICmd_check_would_finish_combo(void); +static void ContestAICmd_unk_47(void); +static void ContestAICmd_unk_48(void); +static void ContestAICmd_get_condition(void); +static void ContestAICmd_unk_4A(void); +static void ContestAICmd_unk_4B(void); +static void ContestAICmd_unk_4C(void); +static void ContestAICmd_unk_4D(void); +static void ContestAICmd_get_used_combo_starter(void); +static void ContestAICmd_unk_4F(void); +static void ContestAICmd_unk_50(void); +static void ContestAICmd_unk_51(void); +static void ContestAICmd_unk_52(void); +static void ContestAICmd_check_can_participate(void); +static void ContestAICmd_unk_54(void); +static void ContestAICmd_unk_55(void); +static void ContestAICmd_get_val_812A188(void); +static void ContestAICmd_unk_57(void); +static void ContestAICmd_unk_58(void); +static void ContestAICmd_unk_59(void); +static void ContestAICmd_unk_5A(void); +static void ContestAICmd_unk_5B(void); +static void ContestAICmd_unk_5C(void); +static void ContestAICmd_unk_5D(void); +static void ContestAICmd_unk_5E(void); +static void ContestAICmd_unk_5F(void); +static void ContestAICmd_unk_60(void); +static void ContestAICmd_unk_61(void); +static void ContestAICmd_unk_62(void); +static void ContestAICmd_unk_63(void); +static void ContestAICmd_unk_64(void); +static void ContestAICmd_unk_65(void); +static void ContestAICmd_unk_66(void); +static void ContestAICmd_unk_67(void); +static void ContestAICmd_unk_68(void); +static void ContestAICmd_unk_69(void); +static void ContestAICmd_unk_6A(void); +static void ContestAICmd_unk_6B(void); +static void ContestAICmd_unk_6C(void); +static void ContestAICmd_unk_6D(void); +static void ContestAICmd_unk_6E(void); +static void ContestAICmd_unk_6F(void); +static void ContestAICmd_unk_70(void); +static void ContestAICmd_unk_71(void); +static void ContestAICmd_unk_72(void); +static void ContestAICmd_unk_73(void); +static void ContestAICmd_unk_74(void); +static void ContestAICmd_unk_75(void); +static void ContestAICmd_unk_76(void); +static void ContestAICmd_unk_77(void); +static void ContestAICmd_unk_78(void); +static void ContestAICmd_unk_79(void); +static void ContestAICmd_unk_7A(void); +static void ContestAICmd_unk_7B(void); +static void ContestAICmd_unk_7C(void); +static void ContestAICmd_unk_7D(void); +static void ContestAICmd_unk_7E(void); +static void ContestAICmd_unk_7F(void); +static void ContestAICmd_unk_80(void); +static void ContestAICmd_unk_81(void); +static void ContestAICmd_check_for_exciting_move(void); +static void ContestAICmd_unk_83(void); +static void ContestAICmd_unk_84(void); +static void ContestAICmd_unk_85(void); +static void ContestAICmd_unk_86(void); +static void ContestAICmd_unk_87(void); + +typedef void (* ContestAICmdFunc)(void); + +static const ContestAICmdFunc sContestAICmdTable[] = +{ + ContestAICmd_unk_00, // 0x00 + ContestAICmd_get_turn, // 0x01 + ContestAICmd_unk_02, // 0x02 + ContestAICmd_unk_03, // 0x03 + ContestAICmd_unk_04, // 0x04 + ContestAICmd_unk_05, // 0x05 + ContestAICmd_get_excitement, // 0x06 + ContestAICmd_unk_07, // 0x07 + ContestAICmd_unk_08, // 0x08 + ContestAICmd_unk_09, // 0x09 + ContestAICmd_unk_0A, // 0x0A + ContestAICmd_get_user_order, // 0x0B + ContestAICmd_unk_0C, // 0x0C + ContestAICmd_unk_0D, // 0x0D + ContestAICmd_unk_0E, // 0x0E + ContestAICmd_unk_0F, // 0x0F + ContestAICmd_get_user_condition_maybe, // 0x10 + ContestAICmd_unk_11, // 0x11 + ContestAICmd_unk_12, // 0x12 + ContestAICmd_unk_13, // 0x13 + ContestAICmd_unk_14, // 0x14 + ContestAICmd_unk_15, // 0x15 + ContestAICmd_unk_16, // 0x16 + ContestAICmd_unk_17, // 0x17 + ContestAICmd_unk_18, // 0x18 + ContestAICmd_unk_19, // 0x19 + ContestAICmd_unk_1A, // 0x1A + ContestAICmd_unk_1B, // 0x1B + ContestAICmd_unk_1C, // 0x1C + ContestAICmd_unk_1D, // 0x1D + ContestAICmd_unk_1E, // 0x1E + ContestAICmd_get_contest_type, // 0x1F + ContestAICmd_unk_20, // 0x20 + ContestAICmd_unk_21, // 0x21 + ContestAICmd_get_move_excitement, // 0x22 + ContestAICmd_unk_23, // 0x23 + ContestAICmd_unk_24, // 0x24 + ContestAICmd_unk_25, // 0x25 + ContestAICmd_unk_26, // 0x26 + ContestAICmd_get_move_effect, // 0x27 + ContestAICmd_unk_28, // 0x28 + ContestAICmd_unk_29, // 0x29 + ContestAICmd_get_move_effect_type, // 0x2A + ContestAICmd_unk_2B, // 0x2B + ContestAICmd_unk_2C, // 0x2C + ContestAICmd_check_move_has_highest_appeal, // 0x2D + ContestAICmd_unk_2E, // 0x2E + ContestAICmd_unk_2F, // 0x2F + ContestAICmd_unk_30, // 0x30 + ContestAICmd_unk_31, // 0x31 + ContestAICmd_unk_32, // 0x32 + ContestAICmd_unk_33, // 0x33 + ContestAICmd_unk_34, // 0x34 + ContestAICmd_unk_35, // 0x35 + ContestAICmd_unk_36, // 0x36 + ContestAICmd_unk_37, // 0x37 + ContestAICmd_unk_38, // 0x38 + ContestAICmd_unk_39, // 0x39 + ContestAICmd_unk_3A, // 0x3A + ContestAICmd_get_move_used_count, // 0x3B + ContestAICmd_unk_3C, // 0x3C + ContestAICmd_unk_3D, // 0x3D + ContestAICmd_unk_3E, // 0x3E + ContestAICmd_unk_3F, // 0x3F + ContestAICmd_check_combo_starter, // 0x40 + ContestAICmd_unk_41, // 0x41 + ContestAICmd_unk_42, // 0x42 + ContestAICmd_check_combo_finisher, // 0x43 + ContestAICmd_unk_44, // 0x44 + ContestAICmd_unk_45, // 0x45 + ContestAICmd_check_would_finish_combo, // 0x46 + ContestAICmd_unk_47, // 0x47 + ContestAICmd_unk_48, // 0x48 + ContestAICmd_get_condition, // 0x49 + ContestAICmd_unk_4A, // 0x4A + ContestAICmd_unk_4B, // 0x4B + ContestAICmd_unk_4C, // 0x4C + ContestAICmd_unk_4D, // 0x4D + ContestAICmd_get_used_combo_starter, // 0x4E + ContestAICmd_unk_4F, // 0x4F + ContestAICmd_unk_50, // 0x50 + ContestAICmd_unk_51, // 0x51 + ContestAICmd_unk_52, // 0x52 + ContestAICmd_check_can_participate, // 0x53 + ContestAICmd_unk_54, // 0x54 + ContestAICmd_unk_55, // 0x55 + ContestAICmd_get_val_812A188, // 0x56 + ContestAICmd_unk_57, // 0x57 + ContestAICmd_unk_58, // 0x58 + ContestAICmd_unk_59, // 0x59 + ContestAICmd_unk_5A, // 0x5A + ContestAICmd_unk_5B, // 0x5B + ContestAICmd_unk_5C, // 0x5C + ContestAICmd_unk_5D, // 0x5D + ContestAICmd_unk_5E, // 0x5E + ContestAICmd_unk_5F, // 0x5F + ContestAICmd_unk_60, // 0x60 + ContestAICmd_unk_61, // 0x61 + ContestAICmd_unk_62, // 0x62 + ContestAICmd_unk_63, // 0x63 + ContestAICmd_unk_64, // 0x64 + ContestAICmd_unk_65, // 0x65 + ContestAICmd_unk_66, // 0x66 + ContestAICmd_unk_67, // 0x67 + ContestAICmd_unk_68, // 0x68 + ContestAICmd_unk_69, // 0x69 + ContestAICmd_unk_6A, // 0x6A + ContestAICmd_unk_6B, // 0x6B + ContestAICmd_unk_6C, // 0x6C + ContestAICmd_unk_6D, // 0x6D + ContestAICmd_unk_6E, // 0x6E + ContestAICmd_unk_6F, // 0x6F + ContestAICmd_unk_70, // 0x70 + ContestAICmd_unk_71, // 0x71 + ContestAICmd_unk_72, // 0x72 + ContestAICmd_unk_73, // 0x73 + ContestAICmd_unk_74, // 0x74 + ContestAICmd_unk_75, // 0x75 + ContestAICmd_unk_76, // 0x76 + ContestAICmd_unk_77, // 0x77 + ContestAICmd_unk_78, // 0x78 + ContestAICmd_unk_79, // 0x79 + ContestAICmd_unk_7A, // 0x7A + ContestAICmd_unk_7B, // 0x7B + ContestAICmd_unk_7C, // 0x7C + ContestAICmd_unk_7D, // 0x7D + ContestAICmd_unk_7E, // 0x7E + ContestAICmd_unk_7F, // 0x7F + ContestAICmd_unk_80, // 0x80 + ContestAICmd_unk_81, // 0x81 + ContestAICmd_check_for_exciting_move, // 0x82 + ContestAICmd_unk_83, // 0x83 + ContestAICmd_unk_84, // 0x84 + ContestAICmd_unk_85, // 0x85 + ContestAICmd_unk_86, // 0x86 + ContestAICmd_unk_87, // 0x87 +}; + +static void ContestAI_DoAIProcessing(void); +static bool8 sub_81563B0(u8); +static void AIStackPushVar(const u8 *); +static u8 AIStackPop(void); + +void ContestAI_ResetAI(u8 contestantAI) +{ + int i; + memset(eContestAI, 0, sizeof(struct ContestAIInfo)); + + for (i = 0; i < 4; i++) + eContestAI->unk5[i] = 100; + + eContestAI->contestantId = contestantAI; + eContestAI->stackSize = 0; + eContestAI->flags = gContestMons[eContestAI->contestantId].flags; +} + +u8 ContestAI_GetActionToUse(void) +{ + while (eContestAI->flags != 0) + { + if (eContestAI->flags & 1) + { + eContestAI->aiState = 0; + ContestAI_DoAIProcessing(); + } + eContestAI->flags >>= 1; + eContestAI->unk10++; + eContestAI->unk4 = 0; + } + + while (1) + { + u8 rval = Random() & 3; + u8 r2 = eContestAI->unk5[rval]; + int i; + for (i = 0; i < 4; i++) + { + if (r2 < eContestAI->unk5[i]) + break; + } + if (i == 4) + return rval; + } +} + +static void ContestAI_DoAIProcessing(void) +{ + while (eContestAI->aiState != CONTESTAI_FINISHED) + { + switch(eContestAI->aiState) + { + case CONTESTAI_DO_NOT_PROCESS: + break; + case CONTESTAI_SETTING_UP: + gAIScriptPtr = gContestAIs[eContestAI->unk10]; + + if (gContestMons[eContestAI->contestantId].moves[eContestAI->unk4] == 0) + eContestAI->unk2 = 0; // don't process a move that doesn't exist. + else + eContestAI->unk2 = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + eContestAI->aiState++; + break; + case CONTESTAI_PROCESSING: + if (eContestAI->unk2 != 0) + sContestAICmdTable[*gAIScriptPtr](); // run the command. + else + { + eContestAI->unk5[eContestAI->unk4] = 0; // don't consider a move that doesn't exist. + eContestAI->aiAction |= 1; + } + if (eContestAI->aiAction & 1) + { + eContestAI->unk4++; + if (eContestAI->unk4 < 4) + eContestAI->aiState = 0; + else + eContestAI->aiState++; + eContestAI->aiAction &= 0xFE; // TODO: Define action flags + } + break; + } + } +} + +static u8 sub_81563B0(u8 var) +{ + int i; + + for (i = 0; i < 4; i++) + if (shared192D0.turnOrder[i] == var) + break; + + return i; +} + +static void ContestAICmd_unk_00(void) +{ + s16 score = eContestAI->unk5[eContestAI->unk4] + (s8)gAIScriptPtr[1]; + + if (score > 255) + score = 255; + else if (score < 0) + score = 0; + + eContestAI->unk5[eContestAI->unk4] = score; + + gAIScriptPtr += 2; +} + +static void ContestAICmd_get_turn(void) +{ + eContestAI->scriptResult = sContest.turnNumber; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_02(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_03(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_04(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_05(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_excitement(void) +{ + eContestAI->scriptResult = sContest.applauseLevel; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_07(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_08(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_09(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0A(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_user_order(void) +{ + eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->contestantId]; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_0C(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0D(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0E(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0F(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_user_condition_maybe(void) +{ + eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].condition / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_11(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_12(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_13(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_14(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_15(void) +{ + eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].unk4; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_16(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_17(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_18(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_19(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1A(void) +{ + eContestAI->scriptResult = gContestMonConditions[eContestAI->contestantId]; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_1B(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1C(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1D(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1E(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_get_contest_type(void) +{ + eContestAI->scriptResult = gSpecialVar_ContestCategory; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_20(void) +{ + ContestAICmd_get_contest_type(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_21(void) +{ + ContestAICmd_get_contest_type(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_excitement(void) +{ + eContestAI->scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]); + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_23(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult < (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_24(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult > (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_25(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult == (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_26(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult != (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_effect(void) +{ + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestMoves[move].effect; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_28(void) +{ + ContestAICmd_get_move_effect(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_29(void) +{ + ContestAICmd_get_move_effect(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_effect_type(void) +{ + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_2B(void) +{ + ContestAICmd_get_move_effect_type(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_2C(void) +{ + ContestAICmd_get_move_effect_type(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_move_has_highest_appeal(void) +{ + int i; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u8 appeal = gContestEffects[gContestMoves[move].effect].appeal; + + for (i = 0; i < 4; i++) + { + u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; + if (newMove != 0 && appeal < gContestEffects[gContestMoves[newMove].effect].appeal) + break; + } + + if (i == 4) + eContestAI->scriptResult = TRUE; + else + eContestAI->scriptResult = FALSE; + + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_2E(void) +{ + ContestAICmd_check_move_has_highest_appeal(); + + if (eContestAI->scriptResult != FALSE) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_2F(void) +{ + int i; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u8 jam = gContestEffects[gContestMoves[move].effect].jam; + + for (i = 0; i < 4; i++) + { + u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; + if (newMove != 0 && jam < gContestEffects[gContestMoves[newMove].effect].jam) + break; + } + + if (i == 4) + eContestAI->scriptResult = TRUE; + else + eContestAI->scriptResult = FALSE; + + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_30(void) +{ + ContestAICmd_unk_2F(); + + if (eContestAI->scriptResult != FALSE) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_31(void) +{ + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_32(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_33(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_34(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_35(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_36(void) +{ + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_37(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_38(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_39(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3A(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_used_count(void) +{ + s16 result; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + if (move != sContestantStatus[eContestAI->contestantId].prevMove) + result = 0; // move is unique and not reused. + else + result = sContestantStatus[eContestAI->contestantId].moveRepeatCount + 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_3C(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3D(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3E(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3F(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_combo_starter(void) +{ + u8 result = 0; + int i; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + for (i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->contestantId].moves[i]) + { + result = AreMovesContestCombo(move, gContestMons[eContestAI->contestantId].moves[i]); + if (result) + { + result = 1; + break; + } + } + } + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_41(void) +{ + ContestAICmd_check_combo_starter(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_42(void) +{ + ContestAICmd_check_combo_starter(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_check_combo_finisher(void) +{ + u8 result = 0; + int i; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + for (i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->contestantId].moves[i]) + { + result = AreMovesContestCombo(gContestMons[eContestAI->contestantId].moves[i], move); + if (result) + { + result = 1; + break; + } + } + } + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_44(void) +{ + ContestAICmd_check_combo_finisher(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_45(void) +{ + ContestAICmd_check_combo_finisher(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_check_would_finish_combo(void) +{ + u8 result = 0; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + if (sContestantStatus[eContestAI->contestantId].prevMove) + result = AreMovesContestCombo(sContestantStatus[eContestAI->contestantId].prevMove, move); + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_47(void) +{ + ContestAICmd_check_would_finish_combo(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_48(void) +{ + ContestAICmd_check_would_finish_combo(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_get_condition(void) +{ + int var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].condition / 10; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_4A(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4B(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4C(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4D(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_used_combo_starter(void) +{ + u16 result = 0; + u8 var = sub_81563B0(gAIScriptPtr[1]); + + if (sub_80DE1E8(var)) + result = gContestMoves[sContestantStatus[var].prevMove].comboStarterId ? 1 : 0; + + eContestAI->scriptResult = result; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_4F(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_50(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_51(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_52(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_can_participate(void) +{ + if (Contest_IsMonsTurnDisabled(sub_81563B0(gAIScriptPtr[1]))) + eContestAI->scriptResult = FALSE; + else + eContestAI->scriptResult = TRUE; + + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_54(void) +{ + ContestAICmd_check_can_participate(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_55(void) +{ + ContestAICmd_check_can_participate(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_get_val_812A188(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].unk15_3; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_57(void) +{ + ContestAICmd_get_val_812A188(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_58(void) +{ + ContestAICmd_get_val_812A188(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_59(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->contestantId].unk4; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_5A(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult < 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5B(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult > 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5C(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5D(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5E(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->contestantId]; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_5F(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult < 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_60(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult > 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_61(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_62(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_63(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + u16 move = sContest.unk19220[var2][var]; + + eContestAI->scriptResult = gContestMoves[move].effect; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_64(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_65(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_66(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_67(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_68(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + s8 result = sContest.unk19248[var2][var]; + + eContestAI->scriptResult = result; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_69(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6A(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6B(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6C(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6D(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + u16 move = sContest.unk19220[var2][var]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_6E(void) +{ + ContestAICmd_unk_6D(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6F(void) +{ + ContestAICmd_unk_6D(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_70(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] = eContestAI->scriptResult; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_71(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2); + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_72(void) +{ + // wtf? shouldn't T1_READ_16 work here? why the signed 8 load by gAIScriptPtr[2]? + eContestAI->scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8); + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_73(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_74(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_75(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_76(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_77(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_78(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_79(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] < (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7A(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] > (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7B(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] == (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7C(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] != (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7D(void) +{ + if ((Random() & 0xFF) < eContestAI->scriptArr[gAIScriptPtr[1]]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_7E(void) +{ + if ((Random() & 0xFF) > eContestAI->scriptArr[gAIScriptPtr[1]]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +// jump +static void ContestAICmd_unk_7F(void) +{ + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); +} + +static void ContestAICmd_unk_80(void) +{ + AIStackPushVar(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); +} + +static void ContestAICmd_unk_81(void) +{ + if (!AIStackPop()) + eContestAI->aiAction |= 1; +} + +static void AIStackPushVar(const u8 *ptr) +{ + eContestAI->stack[eContestAI->stackSize++] = ptr; +} + +static bool8 AIStackPop(void) +{ + if (eContestAI->stackSize != 0) + { + --eContestAI->stackSize; + gAIScriptPtr = eContestAI->stack[eContestAI->stackSize]; + return TRUE; + } + else + { + return FALSE; + } +} + +static void ContestAICmd_check_for_exciting_move(void) +{ + int result = 0; + int i; + + for (i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->contestantId].moves[i]) + { + if (Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[i]) == 1) + { + result = 1; + break; + } + } + } + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_83(void) +{ + ContestAICmd_check_for_exciting_move(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_84(void) +{ + ContestAICmd_check_for_exciting_move(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_85(void) +{ + int result = 0; + int i; + u16 arg = T1_READ_16(gAIScriptPtr + 1); + + for (i = 0; i < 4; i++) + { + u16 move = gContestMons[eContestAI->contestantId].moves[i]; + if (move == arg) + { + result = 1; + break; + } + } + + eContestAI->scriptResult = result; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_86(void) +{ + ContestAICmd_unk_85(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_87(void) +{ + ContestAICmd_unk_85(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} diff --git a/src/contest_effect.c b/src/contest_effect.c new file mode 100644 index 000000000..760d74d69 --- /dev/null +++ b/src/contest_effect.c @@ -0,0 +1,1080 @@ +#include "global.h" +#include "random.h" +#include "constants/moves.h" +#include "contest.h" +#include "contest_effect.h" + +static void ContestEffect_HighlyAppealing(void); +static void ContestEffect_UserMoreEasilyStartled(void); +static void ContestEffect_GreatAppealButNoMoreMoves(void); +static void ContestEffect_RepetitionNotBoring(void); +static void ContestEffect_AvoidStartleOnce(void); +static void ContestEffect_AvoidStartle(void); +static void ContestEffect_AvoidStartleSlightly(void); +static void ContestEffect_UserLessEasilyStartled(void); +static void ContestEffect_StartleFrontMon(void); +static void ContestEffect_StartlePrevMons(void); +static void ContestEffect_StartlePrevMon2(void); +static void ContestEffect_StartlePrevMons2(void); +static void ContestEffect_ShiftJudgeAttention(void); +static void ContestEffect_StartleMonWithJudgesAttention(void); +static void ContestEffect_JamsOthersButMissOneTurn(void); +static void ContestEffect_StartleMonsSameTypeAppeal(void); +static void ContestEffect_StartleMonsCoolAppeal(void); +static void ContestEffect_StartleMonsBeautyAppeal(void); +static void ContestEffect_StartleMonsCuteAppeal(void); +static void ContestEffect_StartleMonsSmartAppeal(void); +static void ContestEffect_StartleMonsToughAppeal(void); +static void ContestEffect_MakeFollowingMonNervous(void); +static void ContestEffect_MakeFollowingMonsNervous(void); +static void ContestEffect_WorsenConditionOfPrevMons(void); +static void ContestEffect_BadlyStartlesMonsInGoodCondition(void); +static void ContestEffect_BetterIfFirst(void); +static void ContestEffect_BetterIfLast(void); +static void ContestEffect_AppealAsGoodAsPrevOnes(void); +static void ContestEffect_AppealAsGoodAsPrevOne(void); +static void ContestEffect_BetterWhenLater(void); +static void ContestEffect_QualityDependsOnTiming(void); +static void ContestEffect_BetterIfSameType(void); +static void ContestEffect_BetterIfDiffType(void); +static void ContestEffect_AffectedByPrevAppeal(void); +static void ContestEffect_ImproveConditionPreventNervousness(void); +static void ContestEffect_BetterWithGoodCondition(void); +static void ContestEffect_NextAppealEarlier(void); +static void ContestEffect_NextAppealLater(void); +static void ContestEffect_MakeScramblingTurnOrderEasier(void); +static void ContestEffect_ScrambleNextTurnOrder(void); +static void ContestEffect_ExciteAudienceInAnyContest(void); +static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void); +static void ContestEffect_BetterWhenAudienceExcited(void); +static void ContestEffect_DontExciteAudience(void); +static void JamByMoveCategory(u8); +static bool8 CanUnnerveContestant(u8); +static u8 WasAtLeastOneOpponentJammed(void); +static void JamContestant(u8, u8); +static s16 RoundTowardsZero(s16); +static s16 RoundUp(s16); + +#include "data/contest_moves.h" + +bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) +{ + u8 nextMoveComboMoves[4]; + u8 lastMoveComboStarterId = gContestMoves[lastMove].comboStarterId; + nextMoveComboMoves[0] = gContestMoves[nextMove].comboMoves[0]; + nextMoveComboMoves[1] = gContestMoves[nextMove].comboMoves[1]; + nextMoveComboMoves[2] = gContestMoves[nextMove].comboMoves[2]; + nextMoveComboMoves[3] = gContestMoves[nextMove].comboMoves[3]; + + if (lastMoveComboStarterId == 0) + return FALSE; + else if (lastMoveComboStarterId == nextMoveComboMoves[0] || lastMoveComboStarterId == nextMoveComboMoves[1] || lastMoveComboStarterId == nextMoveComboMoves[2] || lastMoveComboStarterId == nextMoveComboMoves[3]) + return gComboStarterLookupTable[lastMoveComboStarterId]; + else + return FALSE; +} + +// A highly appealing move. +static void ContestEffect_HighlyAppealing(void) +{ +} + +// After this move, the user is more easily startled. +static void ContestEffect_UserMoreEasilyStartled(void) +{ + sContestantStatus[shared192D0.contestant].moreEasilyStartled = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MORE_CONSCIOUS); +} + +// Makes a great appeal, but allows no more to the end. +static void ContestEffect_GreatAppealButNoMoreMoves(void) +{ + sContestantStatus[shared192D0.contestant].exploded = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_APPEAL); +} + +// Can be used repeatedly without boring the JUDGE. +static void ContestEffect_RepetitionNotBoring(void) +{ + sContestantStatus[shared192D0.contestant].usedRepeatableMove = TRUE; + sContestantStatus[shared192D0.contestant].disappointedRepeat = FALSE; + sContestantStatus[shared192D0.contestant].moveRepeatCount = 0; +} + +// Can avoid being startled by others once. +static void ContestEffect_AvoidStartleOnce(void) +{ + sContestantStatus[shared192D0.contestant].jamSafetyCount = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SETTLE_DOWN); +} + +// Can avoid being startled by others. +static void ContestEffect_AvoidStartle(void) +{ + sContestantStatus[shared192D0.contestant].immune = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); +} + +// Can avoid being startled by others a little. +static void ContestEffect_AvoidStartleSlightly(void) +{ + sContestantStatus[shared192D0.contestant].jamReduction = 20; + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_LESS_AWARE); +} + +// After this move, the user is less likely to be startled. +static void ContestEffect_UserLessEasilyStartled(void) +{ + sContestantStatus[shared192D0.contestant].resistant = TRUE; + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_STOPPED_CARING); +} + +// Slightly startles the POKéMON in front. +static void ContestEffect_StartleFrontMon(void) +{ + u8 idx = 0; + u8 a = shared192D0.contestant; + + if (shared192D0.turnOrder[a] != 0) { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[a] - 1 == shared192D0.turnOrder[i]) + break; + } + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + idx = WasAtLeastOneOpponentJammed(); + } + if (idx == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Slightly startles those that have made appeals. +static void ContestEffect_StartlePrevMons(void) +{ + u8 idx = 0; + u8 a = shared192D0.contestant; + + if (shared192D0.turnOrder[a] != 0) + { + int i, j; + + for (i = 0, j = 0; i < 4; i++) + { + if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i]) + shared192D0.jamQueue[j++] = i; + } + + shared192D0.jamQueue[j] = 0xFF; + idx = WasAtLeastOneOpponentJammed(); + } + if (idx == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Startles the POKéMON that appealed before the user. +static void ContestEffect_StartlePrevMon2(void) +{ + u8 rval = Random() % 10; + int jam; + + if (rval < 2) + jam = 20; + else if (rval < 8) + jam = 40; + else + jam = 60; + + shared192D0.jam = jam; + ContestEffect_StartleFrontMon(); +} + +// Startles all POKéMON that appealed before the user. +static void ContestEffect_StartlePrevMons2(void) +{ + u8 numStartled = 0; + u8 contestant = shared192D0.contestant; + u8 turnOrder = shared192D0.turnOrder[contestant]; + + if (turnOrder != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + { + u8 rval, jam; + + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + rval = Random() % 10; + + if (rval == 0) + jam = 0; + else if (rval <= 2) + jam = 10; + else if (rval <= 4) + jam = 20; + else if (rval <= 6) + jam = 30; + else if (rval <= 8) + jam = 40; + else + jam = 60; + + shared192D0.jam = jam; + + if (WasAtLeastOneOpponentJammed()) + numStartled++; + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + if (numStartled == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Shifts the JUDGE’s attention from others. +static void ContestEffect_ShiftJudgeAttention(void) +{ + bool32 hitAny = FALSE; + u8 contestant = shared192D0.contestant; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i] && + sContestantStatus[i].hasJudgesAttention && + CanUnnerveContestant(i)) + { + sContestantStatus[i].hasJudgesAttention = FALSE; + sContestantStatus[i].judgesAttentionWasRemoved = TRUE; + SetContestantEffectStringID(i, CONTEST_STRING_JUDGE_LOOK_AWAY2); + hitAny = TRUE; + } + } + } + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_DAZZLE_ATTEMPT); + if (!hitAny) + { + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + } +} + +// Startles the POKéMON that has the JUDGE’s attention. +static void ContestEffect_StartleMonWithJudgesAttention(void) +{ + u8 numStartled = 0; + u8 contestant = shared192D0.contestant; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].hasJudgesAttention) + shared192D0.jam = 50; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numStartled++; + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + if (numStartled == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Jams the others, and misses one turn of appeals. +static void ContestEffect_JamsOthersButMissOneTurn(void) +{ + sContestantStatus[shared192D0.contestant].turnSkipped = TRUE; + ContestEffect_StartlePrevMons(); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Startles POKéMON that made a same-type appeal. +static void ContestEffect_StartleMonsSameTypeAppeal(void) +{ + u16 move = sContestantStatus[shared192D0.contestant].currMove; + JamByMoveCategory(gContestMoves[move].contestCategory); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made COOL appeals. +static void ContestEffect_StartleMonsCoolAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_COOL); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made BEAUTY appeals. +static void ContestEffect_StartleMonsBeautyAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_BEAUTY); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made CUTE appeals. +static void ContestEffect_StartleMonsCuteAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_CUTE); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made SMART appeals. +static void ContestEffect_StartleMonsSmartAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_SMART); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKéMON that made TOUGH appeals. +static void ContestEffect_StartleMonsToughAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_TOUGH); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Makes one POKéMON after the user nervous. +static void ContestEffect_MakeFollowingMonNervous(void) +{ + bool32 hitAny = FALSE; + + if (shared192D0.turnOrder[shared192D0.contestant] != 3) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[i]) + { + if (CanUnnerveContestant(i)) + { + MakeContestantNervous(i); + SetContestantEffectStringID(i, CONTEST_STRING_NERVOUS); + hitAny = TRUE; + } + else + { + SetContestantEffectStringID(i, CONTEST_STRING_UNAFFECTED); + hitAny = TRUE; + } + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_ATTEMPT); + if (!hitAny) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Makes all POKéMON after the user nervous. +static void ContestEffect_MakeFollowingMonsNervous(void) +{ + u8 numUnnerved = 0; + bool32 contestantUnnerved = FALSE; + u8 contestantIds[5]; + int i; + int numAfter; + s16 oddsMod[4]; + s16 odds[4]; + + memset(contestantIds, 0xFF, ARRAY_COUNT(contestantIds)); + for (i = 0, numAfter = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] < shared192D0.turnOrder[i] && + !sContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i)) + contestantIds[numAfter++] = i; + } + + if (numAfter == 1) + { + odds[0] = 60; + } + else if (numAfter == 2) + { + odds[0] = 30; + odds[1] = 30; + } + else if (numAfter == 3) + { + odds[0] = 20; + odds[1] = 20; + odds[2] = 20; + } + else + { + for (i = 0; i < 4; i++) + odds[i] = 0; + } + for (i = 0; i < 4; i++) + { + if (sContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i)) + oddsMod[i] = gComboStarterLookupTable[gContestMoves[sContestantStatus[i].prevMove].comboStarterId] * 10; + else + oddsMod[i] = 0; + oddsMod[i] -= (sContestantStatus[i].condition / 10) * 10; + } + if (odds[0] != 0) + { + for (i = 0; contestantIds[i] != 0xFF; i++) + { + if (Random() % 100 < odds[i] + oddsMod[contestantIds[i]]) + { + if (CanUnnerveContestant(contestantIds[i])) + { + MakeContestantNervous(contestantIds[i]); + SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_NERVOUS); + numUnnerved++; + } + else + { + contestantUnnerved = TRUE; + } + } + else + { + contestantUnnerved = TRUE; + } + + if (contestantUnnerved) + { + contestantUnnerved = FALSE; + SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_UNAFFECTED); + numUnnerved++; + } + shared192D0.unnervedPokes[contestantIds[i]] = 1; + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_WAITING); + if (numUnnerved == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Worsens the condition of those that made appeals. +static void ContestEffect_WorsenConditionOfPrevMons(void) +{ + u8 numHit = 0; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i] && + sContestantStatus[i].condition > 0 && + CanUnnerveContestant(i)) + { + sContestantStatus[i].condition = 0; + sContestantStatus[i].conditionMod = 2; + SetContestantEffectStringID(i, CONTEST_STRING_REGAINED_FORM); + numHit++; + } + } + + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_TAUNT_WELL); + if (numHit == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); +} + +// Badly startles POKéMON in good condition. +static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) +{ + u8 numHit = 0; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].condition > 0) + shared192D0.jam = 40; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numHit++; + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_JAM_WELL); + if (numHit == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); +} + +// The appeal works great if performed first. +static void ContestEffect_BetterIfFirst(void) +{ + if (gUnknown_02039F26[shared192D0.contestant] == 0) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HUSTLE_STANDOUT); + } +} + +// The appeal works great if performed last. +static void ContestEffect_BetterIfLast(void) +{ + if (gUnknown_02039F26[shared192D0.contestant] == 3) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); + } +} + +// Makes the appeal as good as those before it. +static void ContestEffect_AppealAsGoodAsPrevOnes(void) +{ + int i; + int appealSum; + + for (i = 0, appealSum = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + appealSum += sContestantStatus[i].appeal2; + } + if (appealSum < 0) + appealSum = 0; + + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0) + { + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL); + } + else + { + sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_BEFORE); + } + sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); +} + +// Makes the appeal as good as the one before it. +static void ContestEffect_AppealAsGoodAsPrevOne(void) +{ + s16 appeal = 0; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) + appeal = sContestantStatus[i].appeal2; + } + } + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0) + { + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); + } + else + { + sContestantStatus[shared192D0.contestant].appeal2 += appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_PRECEDING); + } +} + +// The appeal works better the later it is performed. +static void ContestEffect_BetterWhenLater(void) +{ + u8 whichTurn = shared192D0.turnOrder[shared192D0.contestant]; + if (whichTurn == 0) + sContestantStatus[shared192D0.contestant].appeal2 = 10; + else + sContestantStatus[shared192D0.contestant].appeal2 = 20 * whichTurn; + if (whichTurn == 0) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); + else if (whichTurn == 1) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL); + else if (whichTurn == 2) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL); + else + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); +} + +// The appeal’s quality varies depending on its timing. +static void ContestEffect_QualityDependsOnTiming(void) +{ + u8 rval = Random() % 10; + s16 appeal; + + if (rval < 3) + { + appeal = 10; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + } else if (rval < 6) + { + appeal = 20; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + } else if (rval < 8) + { + appeal = 40; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + } else if (rval < 9) + { + appeal = 60; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + } + else + { + appeal = 80; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + } + sContestantStatus[shared192D0.contestant].appeal2 = appeal; +} + +static void ContestEffect_BetterIfSameType(void) +{ + s8 turnOrder = shared192D0.turnOrder[shared192D0.contestant]; + s8 i = turnOrder - 1, j; + u16 move; + + if (turnOrder == 0) + return; + + while (1) + { + for (j = 0; j < 4; j++) + { + if (shared192D0.turnOrder[j] == i) + break; + } + if (sContestantStatus[j].noMoreTurns || sContestantStatus[j].nervous || sContestantStatus[j].numTurnsSkipped) + { + if (--i < 0) + return; + } + else + { + break; + } + } + + move = sContestantStatus[shared192D0.contestant].currMove; + if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[j].currMove].contestCategory) + { + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD); + } +} + +// Works well if different in type than the one before. +static void ContestEffect_BetterIfDiffType(void) +{ + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i] && + gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory) + { + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); + break; + } + } + } +} + +// Affected by how well the appeal in front goes. +static void ContestEffect_AffectedByPrevAppeal(void) +{ + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) + { + if (sContestantStatus[shared192D0.contestant].appeal2 > sContestantStatus[i].appeal2) + { + sContestantStatus[shared192D0.contestant].appeal2 *= 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH); + } + else if (sContestantStatus[shared192D0.contestant].appeal2 < sContestantStatus[i].appeal2) + { + sContestantStatus[shared192D0.contestant].appeal2 = 0; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NOT_AS_WELL); + } + } + } + } +} + +// Ups the user’s condition. Helps prevent nervousness. +static void ContestEffect_ImproveConditionPreventNervousness(void) +{ + if (sContestantStatus[shared192D0.contestant].condition < 30) + { + sContestantStatus[shared192D0.contestant].condition += 10; + sContestantStatus[shared192D0.contestant].conditionMod = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_CONDITION_ROSE); + } + else + { + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); + } +} + +// The appeal works well if the user’s condition is good. +static void ContestEffect_BetterWithGoodCondition(void) +{ + sContestantStatus[shared192D0.contestant].appealTripleCondition = TRUE; + if (sContestantStatus[shared192D0.contestant].condition != 0) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HOT_STATUS); + else + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); +} + +// The next appeal can be made earlier next turn. +static void ContestEffect_NextAppealEarlier(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + + turnOrder[shared192D0.contestant] = 0xFF; + + for (i = 0; i < 4; i++) + { + for (j = 0; j < 4; j++) + { + if (j != shared192D0.contestant && + i == turnOrder[j] && + turnOrder[j] == sContestantStatus[j].nextTurnOrder) + { + turnOrder[j]++; + break; + } + } + if (j == 4) + break; + } + + turnOrder[shared192D0.contestant] = 0; + sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_UP_LINE); + } +} + +// The next appeal can be made later next turn. +static void ContestEffect_NextAppealLater(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + + turnOrder[shared192D0.contestant] = 0xFF; + + for (i = 3; i > -1; i--) + { + for (j = 0; j < 4; j++) + { + if (j != shared192D0.contestant && + i == turnOrder[j] && + turnOrder[j] == sContestantStatus[j].nextTurnOrder) + { + turnOrder[j]--; + break; + } + } + if (j == 4) + break; + } + + turnOrder[shared192D0.contestant] = 3; + sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_BACK_LINE); + } +} + +// Makes the next turn’s order more easily scrambled. +static void ContestEffect_MakeScramblingTurnOrderEasier(void) +{ + // dummied out? +} + +// Scrambles the order of appeals on the next turn. +static void ContestEffect_ScrambleNextTurnOrder(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + u8 unselectedContestants[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + { + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + unselectedContestants[i] = i; + } + + for (i = 0; i < 4; i++) + { + u8 rval = Random() % (4 - i); + + for (j = 0; j < 4; j++) + { + if (unselectedContestants[j] != 0xFF) + { + if (rval == 0) + { + turnOrder[j] = i; + unselectedContestants[j] = 0xFF; + break; + } + else + rval--; + } + } + } + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + sContestantStatus[i].turnOrderMod = 2; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 3; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SCRAMBLE_ORDER); + } +} + +// An appeal that excites the audience in any CONTEST. +static void ContestEffect_ExciteAudienceInAnyContest(void) +{ + if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) + { + sContestantStatus[shared192D0.contestant].overrideCategoryExcitementMod = TRUE; + } +} + +// Badly startles all POKéMON that made good appeals. +static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) +{ + int i; + u8 numJammed = 0; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].appeal2 > 0) + { + shared192D0.jam = sContestantStatus[i].appeal2 / 2; + shared192D0.jam = RoundUp(shared192D0.jam); + } + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numJammed++; + } + } + if (numJammed == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// The appeal works best the more the crowd is excited. +static void ContestEffect_BetterWhenAudienceExcited(void) +{ + s16 appeal; + + if (sContest.applauseLevel == 0) + { + appeal = 10; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + } + else if (sContest.applauseLevel == 1) + { + appeal = 20; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + } + else if (sContest.applauseLevel == 2) + { + appeal = 30; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + } + else if (sContest.applauseLevel == 3) + { + appeal = 50; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + } + else + { + appeal = 60; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + } + sContestantStatus[shared192D0.contestant].appeal2 = appeal; +} + +// Temporarily stops the crowd from growing excited. +static void ContestEffect_DontExciteAudience(void) +{ + if (!shared19328.excitementFrozen) + { + shared19328.excitementFrozen = TRUE; + shared19328.excitementFreezer = shared192D0.contestant; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTRACTED_ATTENTION); + } +} + +static void JamByMoveCategory(u8 category) +{ + int i; + int numJammed = 0; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (category == gContestMoves[sContestantStatus[i].currMove].contestCategory) + shared192D0.jam = 40; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numJammed++; + } + } + + if (numJammed == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +static bool8 CanUnnerveContestant(u8 i) +{ + shared192D0.unnervedPokes[i] = 1; + if (sContestantStatus[i].immune) + { + SetContestantEffectStringID(i, CONTEST_STRING_AVOID_SEEING); + return FALSE; + } + else if (sContestantStatus[i].jamSafetyCount != 0) + { + sContestantStatus[i].jamSafetyCount--; + SetContestantEffectStringID(i, CONTEST_STRING_AVERT_GAZE); + return FALSE; + } + else if (!sContestantStatus[i].noMoreTurns && sContestantStatus[i].numTurnsSkipped == 0) + { + return TRUE; + } + else + { + return FALSE; + } +} + +static bool8 WasAtLeastOneOpponentJammed(void) +{ + s16 jamBuffer[4] = {0}; + int i; + + for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) + { + u8 contestant = shared192D0.jamQueue[i]; + if (CanUnnerveContestant(contestant)) + { + shared192D0.jam2 = shared192D0.jam; + if (sContestantStatus[contestant].moreEasilyStartled) + shared192D0.jam2 *= 2; + if (sContestantStatus[contestant].resistant) + { + shared192D0.jam2 = 10; + SetContestantEffectStringID(contestant, CONTEST_STRING_LITTLE_DISTRACTED); + } + else + { + shared192D0.jam2 -= sContestantStatus[contestant].jamReduction; + if (shared192D0.jam2 <= 0) + { + shared192D0.jam2 = 0; + SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED); + } + else + { + JamContestant(contestant, shared192D0.jam2); + SetStartledString(contestant, shared192D0.jam2); + jamBuffer[contestant] = shared192D0.jam2; + } + } + } + } + + for (i = 0; i < 4; i++) + { + if (jamBuffer[i] != 0) + return TRUE; + } + return FALSE; +} + +static void JamContestant(u8 i, u8 jam) +{ + sContestantStatus[i].appeal2 -= jam; + sContestantStatus[i].jam += jam; +} + +static s16 RoundTowardsZero(s16 score) +{ + s16 absScore = abs(score) % 10; + if (score < 0) + { + if (absScore != 0) + score -= 10 - absScore; + } + else + score -= absScore; + return score; +} + +static s16 RoundUp(s16 score) +{ + s16 absScore = abs(score) % 10; + if (absScore != 0) + score += 10 - absScore; + return score; +} diff --git a/include/data/bard_music/actions.h b/src/data/bard_music/actions.h index fd8e63061..fd8e63061 100644 --- a/include/data/bard_music/actions.h +++ b/src/data/bard_music/actions.h diff --git a/include/data/bard_music/adjectives.h b/src/data/bard_music/adjectives.h index e56efaa24..e56efaa24 100644 --- a/include/data/bard_music/adjectives.h +++ b/src/data/bard_music/adjectives.h diff --git a/src/data/bard_music/bard_sounds.h b/src/data/bard_music/bard_sounds.h new file mode 100644 index 000000000..4a0911726 --- /dev/null +++ b/src/data/bard_music/bard_sounds.h @@ -0,0 +1,52 @@ +#ifndef GUARD_BARD_SOUNDS_TABLE_H +#define GUARD_BARD_SOUNDS_TABLE_H + +#define NULL_BARD_SOUND { 0xff } + +#include "pokemon.h" +#include "moves.h" +#include "trainer.h" +#include "status.h" +#include "battle.h" +#include "greetings.h" +#include "people.h" +#include "voices.h" +#include "speech.h" +#include "endings.h" +#include "feelings.h" +#include "conditions.h" +#include "actions.h" +#include "lifestyle.h" +#include "hobbies.h" +#include "time.h" +#include "misc.h" +#include "adjectives.h" +#include "events.h" +#include "trendysaying.h" + +const struct BardSound (*const gBardSoundsTable[])[6] = { + NULL, + gBardSounds_Trainer, + gBardSounds_Status, + gBardSounds_Battle, + gBardSounds_Greetings, + gBardSounds_People, + gBardSounds_Voices, + gBardSounds_Speech, + gBardSounds_Endings, + gBardSounds_Feelings, + gBardSounds_Conditions, + gBardSounds_Actions, + gBardSounds_Lifestyle, + gBardSounds_Hobbies, + gBardSounds_Time, + gBardSounds_Misc, + gBardSounds_Adjectives, + gBardSounds_Events, + NULL, + NULL, + gBardSounds_TrendySaying, + NULL +}; + +#endif //GUARD_BARD_SOUNDS_TABLE_H diff --git a/include/data/bard_music/battle.h b/src/data/bard_music/battle.h index 19d032f56..19d032f56 100644 --- a/include/data/bard_music/battle.h +++ b/src/data/bard_music/battle.h diff --git a/include/data/bard_music/conditions.h b/src/data/bard_music/conditions.h index d79cc100b..d79cc100b 100644 --- a/include/data/bard_music/conditions.h +++ b/src/data/bard_music/conditions.h diff --git a/include/data/bard_music/default_sound.h b/src/data/bard_music/default_sound.h index ad4008e16..ad4008e16 100644 --- a/include/data/bard_music/default_sound.h +++ b/src/data/bard_music/default_sound.h diff --git a/include/data/bard_music/endings.h b/src/data/bard_music/endings.h index 7e4304521..7e4304521 100644 --- a/include/data/bard_music/endings.h +++ b/src/data/bard_music/endings.h diff --git a/include/data/bard_music/events.h b/src/data/bard_music/events.h index 70960e15d..70960e15d 100644 --- a/include/data/bard_music/events.h +++ b/src/data/bard_music/events.h diff --git a/include/data/bard_music/feelings.h b/src/data/bard_music/feelings.h index cdab88639..cdab88639 100644 --- a/include/data/bard_music/feelings.h +++ b/src/data/bard_music/feelings.h diff --git a/include/data/bard_music/greetings.h b/src/data/bard_music/greetings.h index 22af4dd5c..22af4dd5c 100644 --- a/include/data/bard_music/greetings.h +++ b/src/data/bard_music/greetings.h diff --git a/include/data/bard_music/hobbies.h b/src/data/bard_music/hobbies.h index 66fdbc0c7..66fdbc0c7 100644 --- a/include/data/bard_music/hobbies.h +++ b/src/data/bard_music/hobbies.h diff --git a/include/data/bard_music/length_table.h b/src/data/bard_music/length_table.h index 144c70dfc..144c70dfc 100644 --- a/include/data/bard_music/length_table.h +++ b/src/data/bard_music/length_table.h diff --git a/include/data/bard_music/lifestyle.h b/src/data/bard_music/lifestyle.h index 7054283f4..7054283f4 100644 --- a/include/data/bard_music/lifestyle.h +++ b/src/data/bard_music/lifestyle.h diff --git a/include/data/bard_music/misc.h b/src/data/bard_music/misc.h index 84e1d5530..84e1d5530 100644 --- a/include/data/bard_music/misc.h +++ b/src/data/bard_music/misc.h diff --git a/include/data/bard_music/moves.h b/src/data/bard_music/moves.h index 6bb350a7c..6bb350a7c 100644 --- a/include/data/bard_music/moves.h +++ b/src/data/bard_music/moves.h diff --git a/include/data/bard_music/people.h b/src/data/bard_music/people.h index 2db017080..2db017080 100644 --- a/include/data/bard_music/people.h +++ b/src/data/bard_music/people.h diff --git a/include/data/bard_music/pokemon.h b/src/data/bard_music/pokemon.h index 693005360..693005360 100644 --- a/include/data/bard_music/pokemon.h +++ b/src/data/bard_music/pokemon.h diff --git a/include/data/bard_music/speech.h b/src/data/bard_music/speech.h index d0d4abb11..d0d4abb11 100644 --- a/include/data/bard_music/speech.h +++ b/src/data/bard_music/speech.h diff --git a/include/data/bard_music/status.h b/src/data/bard_music/status.h index 418fe639a..418fe639a 100644 --- a/include/data/bard_music/status.h +++ b/src/data/bard_music/status.h diff --git a/include/data/bard_music/time.h b/src/data/bard_music/time.h index 5755353a0..5755353a0 100644 --- a/include/data/bard_music/time.h +++ b/src/data/bard_music/time.h diff --git a/include/data/bard_music/trainer.h b/src/data/bard_music/trainer.h index a59689b6c..a59689b6c 100644 --- a/include/data/bard_music/trainer.h +++ b/src/data/bard_music/trainer.h diff --git a/include/data/bard_music/trendysaying.h b/src/data/bard_music/trendysaying.h index 4830725ad..4830725ad 100644 --- a/include/data/bard_music/trendysaying.h +++ b/src/data/bard_music/trendysaying.h diff --git a/include/data/bard_music/voices.h b/src/data/bard_music/voices.h index 868ebaecf..868ebaecf 100644 --- a/include/data/bard_music/voices.h +++ b/src/data/bard_music/voices.h diff --git a/include/data/bard_music/word_pitch.h b/src/data/bard_music/word_pitch.h index 54a87acc9..54a87acc9 100644 --- a/include/data/bard_music/word_pitch.h +++ b/src/data/bard_music/word_pitch.h diff --git a/include/data/battle_moves.h b/src/data/battle_moves.h index 00a6f7fdb..00a6f7fdb 100644 --- a/include/data/battle_moves.h +++ b/src/data/battle_moves.h diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h new file mode 100644 index 000000000..ae560c833 --- /dev/null +++ b/src/data/contest_moves.h @@ -0,0 +1,3008 @@ +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}, + }, +}; + +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 +}; + +// A lookup table with TRUE for each combo starter ID and FALSE for ID 0, +// which means "not a combo starter move". +const bool8 gComboStarterLookupTable[] = +{ + FALSE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE +}; + +void (*const gContestEffectFuncs[])(void) = +{ + ContestEffect_HighlyAppealing, + ContestEffect_UserMoreEasilyStartled, + ContestEffect_GreatAppealButNoMoreMoves, + ContestEffect_RepetitionNotBoring, + ContestEffect_AvoidStartleOnce, + ContestEffect_AvoidStartle, + ContestEffect_AvoidStartleSlightly, + ContestEffect_UserLessEasilyStartled, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartlePrevMon2, + ContestEffect_StartlePrevMons2, + ContestEffect_ShiftJudgeAttention, + ContestEffect_StartleMonWithJudgesAttention, + ContestEffect_JamsOthersButMissOneTurn, + ContestEffect_StartleMonsSameTypeAppeal, + ContestEffect_StartleMonsCoolAppeal, + ContestEffect_StartleMonsBeautyAppeal, + ContestEffect_StartleMonsCuteAppeal, + ContestEffect_StartleMonsSmartAppeal, + ContestEffect_StartleMonsToughAppeal, + ContestEffect_MakeFollowingMonNervous, + ContestEffect_MakeFollowingMonsNervous, + ContestEffect_WorsenConditionOfPrevMons, + ContestEffect_BadlyStartlesMonsInGoodCondition, + ContestEffect_BetterIfFirst, + ContestEffect_BetterIfLast, + ContestEffect_AppealAsGoodAsPrevOnes, + ContestEffect_AppealAsGoodAsPrevOne, + ContestEffect_BetterWhenLater, + ContestEffect_QualityDependsOnTiming, + ContestEffect_BetterIfSameType, + ContestEffect_BetterIfDiffType, + ContestEffect_AffectedByPrevAppeal, + ContestEffect_ImproveConditionPreventNervousness, + ContestEffect_BetterWithGoodCondition, + ContestEffect_NextAppealEarlier, + ContestEffect_NextAppealLater, + ContestEffect_MakeScramblingTurnOrderEasier, + ContestEffect_ScrambleNextTurnOrder, + ContestEffect_ExciteAudienceInAnyContest, + ContestEffect_BadlyStartleMonsWithGoodAppeals, + ContestEffect_BetterWhenAudienceExcited, + ContestEffect_DontExciteAudience, +}; diff --git a/include/data/decoration/description.h b/src/data/decoration/description.h index ba4c3dd54..ba4c3dd54 100644 --- a/include/data/decoration/description.h +++ b/src/data/decoration/description.h diff --git a/include/data/decoration/header.h b/src/data/decoration/header.h index 64bed1c7e..64bed1c7e 100644 --- a/include/data/decoration/header.h +++ b/src/data/decoration/header.h diff --git a/include/data/decoration/icon.h b/src/data/decoration/icon.h index 1f11bc19f..1f11bc19f 100644 --- a/include/data/decoration/icon.h +++ b/src/data/decoration/icon.h diff --git a/include/data/decoration/tilemaps.h b/src/data/decoration/tilemaps.h index 1cca7ae0b..1cca7ae0b 100644 --- a/include/data/decoration/tilemaps.h +++ b/src/data/decoration/tilemaps.h diff --git a/include/data/decoration/tiles.h b/src/data/decoration/tiles.h index 6b3ed699f..6b3ed699f 100644 --- a/include/data/decoration/tiles.h +++ b/src/data/decoration/tiles.h diff --git a/include/data/item_icon_table.h b/src/data/item_icon_table.h index 0a24c0572..0a24c0572 100644 --- a/include/data/item_icon_table.h +++ b/src/data/item_icon_table.h diff --git a/include/data/items.h b/src/data/items.h index 49f981faf..49f981faf 100644 --- a/include/data/items.h +++ b/src/data/items.h diff --git a/include/data/pokedex_orders.h b/src/data/pokedex_orders.h index 61fbd289c..61fbd289c 100644 --- a/include/data/pokedex_orders.h +++ b/src/data/pokedex_orders.h diff --git a/include/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index bc6572b46..bc6572b46 100644 --- a/include/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h diff --git a/include/data/pokemon/cry_ids.h b/src/data/pokemon/cry_ids.h index 1c1c32dde..1c1c32dde 100644 --- a/include/data/pokemon/cry_ids.h +++ b/src/data/pokemon/cry_ids.h diff --git a/include/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h index 3d74868b4..3d74868b4 100644 --- a/include/data/pokemon/egg_moves.h +++ b/src/data/pokemon/egg_moves.h diff --git a/include/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index 8629ac9b1..8629ac9b1 100644 --- a/include/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h diff --git a/include/data/pokemon/experience_tables.h b/src/data/pokemon/experience_tables.h index 58474b6f1..58474b6f1 100644 --- a/include/data/pokemon/experience_tables.h +++ b/src/data/pokemon/experience_tables.h diff --git a/include/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h index 6ba0d694e..6ba0d694e 100644 --- a/include/data/pokemon/item_effects.h +++ b/src/data/pokemon/item_effects.h diff --git a/include/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 0f648526c..0f648526c 100644 --- a/include/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h diff --git a/include/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index 062873aee..062873aee 100644 --- a/include/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h diff --git a/include/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h index f14478863..f14478863 100644 --- a/include/data/pokemon/tmhm_learnsets.h +++ b/src/data/pokemon/tmhm_learnsets.h diff --git a/include/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h index ec4dbf0fb..ec4dbf0fb 100644 --- a/include/data/pokemon/trainer_class_lookups.h +++ b/src/data/pokemon/trainer_class_lookups.h diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h new file mode 100644 index 000000000..7426a8dc4 --- /dev/null +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -0,0 +1,443 @@ +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, +}; diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h new file mode 100644 index 000000000..80e2a415a --- /dev/null +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -0,0 +1,417 @@ +// 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 +}; diff --git a/src/data/pokemon_graphics/front_anims.h b/src/data/pokemon_graphics/front_anims.h new file mode 100644 index 000000000..0e7b75bde --- /dev/null +++ b/src/data/pokemon_graphics/front_anims.h @@ -0,0 +1,7391 @@ + +const union AnimCmd gAnimCmd_NONE_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BULBASAUR_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IVYSAUR_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENUSAUR_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARMANDER_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARMELEON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARIZARD_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SQUIRTLE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WARTORTLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLASTOISE_1[] = +{ + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CATERPIE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METAPOD_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BUTTERFREE_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEDLE_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KAKUNA_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEEDRILL_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEY_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEOT_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + + +const union AnimCmd gAnimCmd_RATTATA_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RATICATE_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPEAROW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FEAROW_1[] = +{ + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EKANS_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARBOK_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIKACHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIKACHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAICHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAICHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSHREW_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSHREW_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSLASH_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSLASH_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORAN_F_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORINA_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDOQUEEN_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORAN_M_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORINO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDOKING_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFAIRY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFABLE_1[] = +{ + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VULPIX_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VULPIX_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINETALES_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINETALES_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZUBAT_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLBAT_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ODDISH_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLOOM_1[] = +{ + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VILEPLUME_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PARAS_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PARASECT_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENONAT_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 35), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENOMOTH_1[] = +{ + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DIGLETT_1[] = +{ + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUGTRIO_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEOWTH_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PERSIAN_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PSYDUCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PSYDUCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDUCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDUCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANKEY_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PRIMEAPE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROWLITHE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARCANINE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_POLIWAG_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLIWHIRL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLIWRATH_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ABRA_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KADABRA_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALAKAZAM_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 54), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHOP_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHOKE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHAMP_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELLSPROUT_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEPINBELL_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VICTREEBEL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TENTACOOL_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TENTACRUEL_1[] = +{ + ANIMCMD_FRAME(0, 19), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 19), + ANIMCMD_FRAME(1, 19), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GEODUDE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRAVELER_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLEM_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 31), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PONYTA_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAPIDASH_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWPOKE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWBRO_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGNEMITE_1[] = +{ + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGNETON_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FARFETCHD_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DODUO_1[] = +{ + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DODRIO_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEEL_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEWGONG_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRIMER_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRIMER_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUK_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHELLDER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLOYSTER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GASTLY_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HAUNTER_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GENGAR_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ONIX_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DROWZEE_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HYPNO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KRABBY_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGLER_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VOLTORB_1[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTRODE_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXEGGUTOR_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END,}; + + +const union AnimCmd gAnimCmd_CUBONE_1[] = +{ + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAROWAK_1[] = +{ + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONLEE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONCHAN_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LICKITUNG_1[] = +{ + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KOFFING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KOFFING_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEZING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEZING_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYHORN_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYHORN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYDON_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYDON_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHANSEY_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TANGELA_1[] = +{ + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KANGASKHAN_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HORSEA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HORSEA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEADRA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEADRA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDEEN_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEAKING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARYU_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARYU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARMIE_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARMIE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MR_MIME_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCYTHER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JYNX_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGMAR_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINSIR_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINSIR_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TAUROS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGIKARP_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GYARADOS_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LAPRAS_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DITTO_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EEVEE_1[] = +{ + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VAPOREON_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JOLTEON_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLAREON_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PORYGON_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OMANYTE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OMASTAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KABUTO_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KABUTOPS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AERODACTYL_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 25), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNORLAX_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARTICUNO_1[] = +{ + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZAPDOS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MOLTRES_1[] = +{ + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRATINI_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRAGONAIR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRAGONITE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEWTWO_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEW_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHIKORITA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END,}; + + +const union AnimCmd gAnimCmd_BAYLEEF_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEGANIUM_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QUILAVA_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYPHLOSION_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOTODILE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CROCONAW_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FERALIGATR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SENTRET_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FURRET_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOOTHOOT_1[] = +{ + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NOCTOWL_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LEDYBA_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LEDIAN_1[] = +{ + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPINARAK_1[] = +{ + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARIADOS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CROBAT_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHINCHOU_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHINCHOU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LANTURN_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LANTURN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PICHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PICHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFFA_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOGEPI_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOGETIC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NATU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NATU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_XATU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_XATU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAREEP_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLAAFFY_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AMPHAROS_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELLOSSOM_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MARILL_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AZUMARILL_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUDOWOODO_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLITOED_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOPPIP_1[] = +{ + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKIPLOOM_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JUMPLUFF_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AIPOM_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUNKERN_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUNFLORA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_YANMA_1[] = +{ + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOOPER_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QUAGSIRE_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ESPEON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UMBREON_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MURKROW_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWKING_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MISDREAVUS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOBBUFFET_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOBBUFFET_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GIRAFARIG_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GIRAFARIG_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINECO_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FORRETRESS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUNSPARCE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLIGAR_1[] = +{ + ANIMCMD_FRAME(1, 17), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STEELIX_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNUBBULL_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRANBULL_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QWILFISH_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCIZOR_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHUCKLE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HERACROSS_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HERACROSS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNEASEL_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TEDDIURSA_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_URSARING_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLUGMA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLUGMA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGCARGO_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGCARGO_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWINUB_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PILOSWINE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORSOLA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORSOLA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REMORAID_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OCTILLERY_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DELIBIRD_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANTINE_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKARMORY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKARMORY_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOUNDOUR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOUNDOOM_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGDRA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGDRA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PHANPY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PHANPY_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DONPHAN_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DONPHAN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PORYGON2_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STANTLER_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SMEARGLE_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYROGUE_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONTOP_1[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SMOOCHUM_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELEKID_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGBY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MILTANK_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLISSEY_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAIKOU_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ENTEI_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUICUNE_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LARVITAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PUPITAR_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYRANITAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUGIA_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HO_OH_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CELEBI_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TREECKO_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_GROVYLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCEPTILE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 26), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TORCHIC_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_COMBUSKEN_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 12), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_BLAZIKEN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_3[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_4[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUDKIP_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MARSHTOMP_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWAMPERT_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POOCHYENA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MIGHTYENA_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LINOONE_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WURMPLE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SILCOON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SILCOON_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEAUTIFLY_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASCOON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASCOON_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSTOX_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSTOX_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOTAD_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 55), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOMBRE_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUDICOLO_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEEDOT_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NUZLEAF_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHIFTRY_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINCADA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINJASK_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHEDINJA_1[] = +{ + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TAILLOW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWELLOW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHROOMISH_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BRELOOM_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WINGULL_1[] = +{ + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 13), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PELIPPER_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SURSKIT_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SURSKIT_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MASQUERAIN_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MASQUERAIN_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WAILMER_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WAILORD_1[] = +{ + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 33), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKITTY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DELCATTY_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KECLEON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BALTOY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLAYDOL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NOSEPASS_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TORKOAL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SABLEYE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BARBOACH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WHISCASH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUVDISC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORPHISH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FEEBAS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MILOTIC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CARVANHA_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHARPEDO_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TRAPINCH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VIBRAVA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLYGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAKUHITA_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HARIYAMA_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTRIKE_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANECTRIC_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NUMEL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CAMERUPT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPHEAL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 43), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEALEO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WALREIN_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CACNEA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CACTURNE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNORUNT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLALIE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUNATONE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUNATONE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SOLROCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SOLROCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AZURILL_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPOINK_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRUMPIG_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PLUSLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MINUN_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAWILE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEDITITE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEDICHAM_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWABLU_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWABLU_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALTARIA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALTARIA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WYNAUT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSKULL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSCLOPS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ROSELIA_1[] = +{ + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLAKOTH_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VIGOROTH_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLAKING_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GULPIN_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWALOT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TROPIUS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WHISMUR_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOUDRED_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 33), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXPLOUD_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLAMPERL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HUNTAIL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOREBYSS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ABSOL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHUPPET_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BANETTE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEVIPER_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZANGOOSE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RELICANTH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARON_1[] = +{ + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LAIRON_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AGGRON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_1[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_2[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_3[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VOLBEAT_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ILLUMISE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LILEEP_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CRADILY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ANORITH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARMALDO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RALTS_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KIRLIA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 39), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GARDEVOIR_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BAGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHELGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SALAMENCE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELDUM_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METANG_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METAGROSS_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGIROCK_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGIROCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGICE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGISTEEL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGISTEEL_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KYOGRE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KYOGRE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROUDON_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROUDON_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAYQUAZA_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAYQUAZA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIAS_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIAS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIOS_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIOS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIRACHI_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIRACHI_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEOXYS_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEOXYS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHIMECHO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EGG_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_B_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_C_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_D_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_E_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_F_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_G_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_H_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_I_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_J_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_K_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_L_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_M_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_N_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_O_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_P_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Q_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_R_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_S_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_T_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_U_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_V_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_W_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_X_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Y_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Z_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_QMARK_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gAnims_NONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NONE_1, +}; + +const union AnimCmd *const gAnims_BULBASAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BULBASAUR_1, +}; + +const union AnimCmd *const gAnims_IVYSAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_IVYSAUR_1, +}; + +const union AnimCmd *const gAnims_VENUSAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENUSAUR_1, +}; + +const union AnimCmd *const gAnims_CHARMANDER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARMANDER_1, +}; + +const union AnimCmd *const gAnims_CHARMELEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARMELEON_1, +}; + +const union AnimCmd *const gAnims_CHARIZARD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARIZARD_1, +}; + +const union AnimCmd *const gAnims_SQUIRTLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SQUIRTLE_1, +}; + +const union AnimCmd *const gAnims_WARTORTLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WARTORTLE_1, +}; + +const union AnimCmd *const gAnims_BLASTOISE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLASTOISE_1, +}; + +const union AnimCmd *const gAnims_CATERPIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CATERPIE_1, +}; + +const union AnimCmd *const gAnims_METAPOD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METAPOD_1, +}; + +const union AnimCmd *const gAnims_BUTTERFREE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BUTTERFREE_1, +}; + +const union AnimCmd *const gAnims_WEEDLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEDLE_1, +}; + +const union AnimCmd *const gAnims_KAKUNA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KAKUNA_1, +}; + +const union AnimCmd *const gAnims_BEEDRILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BEEDRILL_1, +}; + +const union AnimCmd *const gAnims_PIDGEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEY_1, +}; + +const union AnimCmd *const gAnims_PIDGEOTTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEOTTO_1, +}; + +const union AnimCmd *const gAnims_PIDGEOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEOT_1, +}; + +const union AnimCmd *const gAnims_RATTATA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RATTATA_1, +}; + +const union AnimCmd *const gAnims_RATICATE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RATICATE_1, +}; + +const union AnimCmd *const gAnims_SPEAROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPEAROW_1, +}; + +const union AnimCmd *const gAnims_FEAROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FEAROW_1, +}; + +const union AnimCmd *const gAnims_EKANS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EKANS_1, +}; + +const union AnimCmd *const gAnims_ARBOK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARBOK_1, +}; + +const union AnimCmd *const gAnims_PIKACHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIKACHU_1, + gAnimCmd_PIKACHU_2, +}; + +const union AnimCmd *const gAnims_RAICHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAICHU_1, + gAnimCmd_RAICHU_2, +}; + +const union AnimCmd *const gAnims_SANDSHREW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SANDSHREW_1, + gAnimCmd_SANDSHREW_2, +}; + +const union AnimCmd *const gAnims_SANDSLASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SANDSLASH_1, + gAnimCmd_SANDSLASH_2, +}; + +const union AnimCmd *const gAnims_NIDORAN_F[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORAN_F_1, +}; + +const union AnimCmd *const gAnims_NIDORINA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORINA_1, +}; + +const union AnimCmd *const gAnims_NIDOQUEEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDOQUEEN_1, +}; + +const union AnimCmd *const gAnims_NIDORAN_M[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORAN_M_1, +}; + +const union AnimCmd *const gAnims_NIDORINO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORINO_1, +}; + +const union AnimCmd *const gAnims_NIDOKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDOKING_1, +}; + +const union AnimCmd *const gAnims_CLEFAIRY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFAIRY_1, +}; + +const union AnimCmd *const gAnims_CLEFABLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFABLE_1, +}; + +const union AnimCmd *const gAnims_VULPIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VULPIX_1, + gAnimCmd_VULPIX_2, +}; + +const union AnimCmd *const gAnims_NINETALES[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINETALES_1, + gAnimCmd_NINETALES_2, +}; + +const union AnimCmd *const gAnims_JIGGLYPUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JIGGLYPUFF_1, + gAnimCmd_JIGGLYPUFF_2, +}; + +const union AnimCmd *const gAnims_WIGGLYTUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WIGGLYTUFF_1, + gAnimCmd_WIGGLYTUFF_2, +}; + +const union AnimCmd *const gAnims_ZUBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZUBAT_1, +}; + +const union AnimCmd *const gAnims_GOLBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLBAT_1, +}; + +const union AnimCmd *const gAnims_ODDISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ODDISH_1, +}; + +const union AnimCmd *const gAnims_GLOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLOOM_1, +}; + +const union AnimCmd *const gAnims_VILEPLUME[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VILEPLUME_1, +}; + +const union AnimCmd *const gAnims_PARAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PARAS_1, +}; + +const union AnimCmd *const gAnims_PARASECT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PARASECT_1, +}; + +const union AnimCmd *const gAnims_VENONAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENONAT_1, +}; + +const union AnimCmd *const gAnims_VENOMOTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENOMOTH_1, +}; + +const union AnimCmd *const gAnims_DIGLETT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DIGLETT_1, +}; + +const union AnimCmd *const gAnims_DUGTRIO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUGTRIO_1, +}; + +const union AnimCmd *const gAnims_MEOWTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEOWTH_1, +}; + +const union AnimCmd *const gAnims_PERSIAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PERSIAN_1, +}; + +const union AnimCmd *const gAnims_PSYDUCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PSYDUCK_1, + gAnimCmd_PSYDUCK_2, +}; + +const union AnimCmd *const gAnims_GOLDUCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLDUCK_1, + gAnimCmd_GOLDUCK_2, +}; + +const union AnimCmd *const gAnims_MANKEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANKEY_1, +}; + +const union AnimCmd *const gAnims_PRIMEAPE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PRIMEAPE_1, +}; + +const union AnimCmd *const gAnims_GROWLITHE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROWLITHE_1, +}; + +const union AnimCmd *const gAnims_ARCANINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARCANINE_1, +}; + +const union AnimCmd *const gAnims_POLIWAG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWAG_1, +}; + +const union AnimCmd *const gAnims_POLIWHIRL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWHIRL_1, +}; + +const union AnimCmd *const gAnims_POLIWRATH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWRATH_1, +}; + +const union AnimCmd *const gAnims_ABRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ABRA_1, +}; + +const union AnimCmd *const gAnims_KADABRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KADABRA_1, +}; + +const union AnimCmd *const gAnims_ALAKAZAM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ALAKAZAM_1, +}; + +const union AnimCmd *const gAnims_MACHOP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHOP_1, +}; + +const union AnimCmd *const gAnims_MACHOKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHOKE_1, +}; + +const union AnimCmd *const gAnims_MACHAMP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHAMP_1, +}; + +const union AnimCmd *const gAnims_BELLSPROUT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELLSPROUT_1, +}; + +const union AnimCmd *const gAnims_WEEPINBELL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEPINBELL_1, +}; + +const union AnimCmd *const gAnims_VICTREEBEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VICTREEBEL_1, +}; + +const union AnimCmd *const gAnims_TENTACOOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TENTACOOL_1, +}; + +const union AnimCmd *const gAnims_TENTACRUEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TENTACRUEL_1, +}; + +const union AnimCmd *const gAnims_GEODUDE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GEODUDE_1, +}; + +const union AnimCmd *const gAnims_GRAVELER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRAVELER_1, +}; + +const union AnimCmd *const gAnims_GOLEM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLEM_1, +}; + +const union AnimCmd *const gAnims_PONYTA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PONYTA_1, +}; + +const union AnimCmd *const gAnims_RAPIDASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAPIDASH_1, +}; + +const union AnimCmd *const gAnims_SLOWPOKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWPOKE_1, +}; + +const union AnimCmd *const gAnims_SLOWBRO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWBRO_1, +}; + +const union AnimCmd *const gAnims_MAGNEMITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGNEMITE_1, +}; + +const union AnimCmd *const gAnims_MAGNETON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGNETON_1, +}; + +const union AnimCmd *const gAnims_FARFETCHD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FARFETCHD_1, +}; + +const union AnimCmd *const gAnims_DODUO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DODUO_1, +}; + +const union AnimCmd *const gAnims_DODRIO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DODRIO_1, +}; + +const union AnimCmd *const gAnims_SEEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEEL_1, +}; + +const union AnimCmd *const gAnims_DEWGONG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DEWGONG_1, +}; + +const union AnimCmd *const gAnims_GRIMER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRIMER_1, + gAnimCmd_GRIMER_2, +}; + +const union AnimCmd *const gAnims_MUK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MUK_1, + gAnimCmd_MUK_2, +}; + +const union AnimCmd *const gAnims_SHELLDER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHELLDER_1, +}; + +const union AnimCmd *const gAnims_CLOYSTER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLOYSTER_1, +}; + +const union AnimCmd *const gAnims_GASTLY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GASTLY_1, +}; + +const union AnimCmd *const gAnims_HAUNTER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HAUNTER_1, +}; + +const union AnimCmd *const gAnims_GENGAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GENGAR_1, +}; + +const union AnimCmd *const gAnims_ONIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ONIX_1, +}; + +const union AnimCmd *const gAnims_DROWZEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DROWZEE_1, +}; + +const union AnimCmd *const gAnims_HYPNO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HYPNO_1, +}; + +const union AnimCmd *const gAnims_KRABBY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KRABBY_1, +}; + +const union AnimCmd *const gAnims_KINGLER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KINGLER_1, +}; + +const union AnimCmd *const gAnims_VOLTORB[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VOLTORB_1, +}; + +const union AnimCmd *const gAnims_ELECTRODE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTRODE_1, +}; + +const union AnimCmd *const gAnims_EXEGGCUTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXEGGCUTE_1, +}; + +const union AnimCmd *const gAnims_EXEGGUTOR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXEGGUTOR_1, +}; + +const union AnimCmd *const gAnims_CUBONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CUBONE_1, +}; + +const union AnimCmd *const gAnims_MAROWAK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAROWAK_1, +}; + +const union AnimCmd *const gAnims_HITMONLEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONLEE_1, +}; + +const union AnimCmd *const gAnims_HITMONCHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONCHAN_1, +}; + +const union AnimCmd *const gAnims_LICKITUNG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LICKITUNG_1, +}; + +const union AnimCmd *const gAnims_KOFFING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KOFFING_1, + gAnimCmd_KOFFING_2, +}; + +const union AnimCmd *const gAnims_WEEZING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEZING_1, + gAnimCmd_WEEZING_2, +}; + +const union AnimCmd *const gAnims_RHYHORN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RHYHORN_1, + gAnimCmd_RHYHORN_2, +}; + +const union AnimCmd *const gAnims_RHYDON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RHYDON_1, + gAnimCmd_RHYDON_2, +}; + +const union AnimCmd *const gAnims_CHANSEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHANSEY_1, +}; + +const union AnimCmd *const gAnims_TANGELA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TANGELA_1, +}; + +const union AnimCmd *const gAnims_KANGASKHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KANGASKHAN_1, +}; + +const union AnimCmd *const gAnims_HORSEA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HORSEA_1, + gAnimCmd_HORSEA_2, +}; + +const union AnimCmd *const gAnims_SEADRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEADRA_1, + gAnimCmd_SEADRA_2, +}; + +const union AnimCmd *const gAnims_GOLDEEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLDEEN_1, +}; + +const union AnimCmd *const gAnims_SEAKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEAKING_1, +}; + +const union AnimCmd *const gAnims_STARYU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STARYU_1, + gAnimCmd_STARYU_2, +}; + +const union AnimCmd *const gAnims_STARMIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STARMIE_1, + gAnimCmd_STARMIE_2, +}; + +const union AnimCmd *const gAnims_MR_MIME[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MR_MIME_1, +}; + +const union AnimCmd *const gAnims_SCYTHER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCYTHER_1, +}; + +const union AnimCmd *const gAnims_JYNX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JYNX_1, +}; + +const union AnimCmd *const gAnims_ELECTABUZZ[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTABUZZ_1, +}; + +const union AnimCmd *const gAnims_MAGMAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGMAR_1, +}; + +const union AnimCmd *const gAnims_PINSIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PINSIR_1, + gAnimCmd_PINSIR_2, +}; + +const union AnimCmd *const gAnims_TAUROS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TAUROS_1, +}; + +const union AnimCmd *const gAnims_MAGIKARP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGIKARP_1, +}; + +const union AnimCmd *const gAnims_GYARADOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GYARADOS_1, +}; + +const union AnimCmd *const gAnims_LAPRAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LAPRAS_1, +}; + +const union AnimCmd *const gAnims_DITTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DITTO_1, +}; + +const union AnimCmd *const gAnims_EEVEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EEVEE_1, +}; + +const union AnimCmd *const gAnims_VAPOREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VAPOREON_1, +}; + +const union AnimCmd *const gAnims_JOLTEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JOLTEON_1, +}; + +const union AnimCmd *const gAnims_FLAREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLAREON_1, +}; + +const union AnimCmd *const gAnims_PORYGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PORYGON_1, +}; + +const union AnimCmd *const gAnims_OMANYTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OMANYTE_1, +}; + +const union AnimCmd *const gAnims_OMASTAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OMASTAR_1, +}; + +const union AnimCmd *const gAnims_KABUTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KABUTO_1, +}; + +const union AnimCmd *const gAnims_KABUTOPS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KABUTOPS_1, +}; + +const union AnimCmd *const gAnims_AERODACTYL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AERODACTYL_1, +}; + +const union AnimCmd *const gAnims_SNORLAX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNORLAX_1, +}; + +const union AnimCmd *const gAnims_ARTICUNO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARTICUNO_1, +}; + +const union AnimCmd *const gAnims_ZAPDOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZAPDOS_1, +}; + +const union AnimCmd *const gAnims_MOLTRES[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MOLTRES_1, +}; + +const union AnimCmd *const gAnims_DRATINI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRATINI_1, +}; + +const union AnimCmd *const gAnims_DRAGONAIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRAGONAIR_1, +}; + +const union AnimCmd *const gAnims_DRAGONITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRAGONITE_1, +}; + +const union AnimCmd *const gAnims_MEWTWO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEWTWO_1, +}; + +const union AnimCmd *const gAnims_MEW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEW_1, +}; + +const union AnimCmd *const gAnims_CHIKORITA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHIKORITA_1, +}; + +const union AnimCmd *const gAnims_BAYLEEF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BAYLEEF_1, +}; + +const union AnimCmd *const gAnims_MEGANIUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEGANIUM_1, +}; + +const union AnimCmd *const gAnims_CYNDAQUIL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CYNDAQUIL_1, +}; + +const union AnimCmd *const gAnims_QUILAVA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QUILAVA_1, +}; + +const union AnimCmd *const gAnims_TYPHLOSION[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYPHLOSION_1, +}; + +const union AnimCmd *const gAnims_TOTODILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOTODILE_1, +}; + +const union AnimCmd *const gAnims_CROCONAW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CROCONAW_1, +}; + +const union AnimCmd *const gAnims_FERALIGATR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FERALIGATR_1, +}; + +const union AnimCmd *const gAnims_SENTRET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SENTRET_1, +}; + +const union AnimCmd *const gAnims_FURRET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FURRET_1, +}; + +const union AnimCmd *const gAnims_HOOTHOOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOOTHOOT_1, +}; + +const union AnimCmd *const gAnims_NOCTOWL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NOCTOWL_1, +}; + +const union AnimCmd *const gAnims_LEDYBA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LEDYBA_1, +}; + +const union AnimCmd *const gAnims_LEDIAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LEDIAN_1, +}; + +const union AnimCmd *const gAnims_SPINARAK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPINARAK_1, +}; + +const union AnimCmd *const gAnims_ARIADOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARIADOS_1, +}; + +const union AnimCmd *const gAnims_CROBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CROBAT_1, +}; + +const union AnimCmd *const gAnims_CHINCHOU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHINCHOU_1, + gAnimCmd_CHINCHOU_2, +}; + +const union AnimCmd *const gAnims_LANTURN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LANTURN_1, + gAnimCmd_LANTURN_2, +}; + +const union AnimCmd *const gAnims_PICHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PICHU_1, + gAnimCmd_PICHU_2, +}; + +const union AnimCmd *const gAnims_CLEFFA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFFA_1, +}; + +const union AnimCmd *const gAnims_IGGLYBUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_IGGLYBUFF_1, + gAnimCmd_IGGLYBUFF_2, +}; + +const union AnimCmd *const gAnims_TOGEPI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOGEPI_1, +}; + +const union AnimCmd *const gAnims_TOGETIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOGETIC_1, +}; + +const union AnimCmd *const gAnims_NATU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NATU_1, + gAnimCmd_NATU_2, +}; + +const union AnimCmd *const gAnims_XATU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_XATU_1, + gAnimCmd_XATU_2, +}; + +const union AnimCmd *const gAnims_MAREEP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAREEP_1, +}; + +const union AnimCmd *const gAnims_FLAAFFY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLAAFFY_1, +}; + +const union AnimCmd *const gAnims_AMPHAROS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AMPHAROS_1, +}; + +const union AnimCmd *const gAnims_BELLOSSOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELLOSSOM_1, +}; + +const union AnimCmd *const gAnims_MARILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MARILL_1, +}; + +const union AnimCmd *const gAnims_AZUMARILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AZUMARILL_1, +}; + +const union AnimCmd *const gAnims_SUDOWOODO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUDOWOODO_1, +}; + +const union AnimCmd *const gAnims_POLITOED[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLITOED_1, +}; + +const union AnimCmd *const gAnims_HOPPIP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOPPIP_1, +}; + +const union AnimCmd *const gAnims_SKIPLOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKIPLOOM_1, +}; + +const union AnimCmd *const gAnims_JUMPLUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JUMPLUFF_1, +}; + +const union AnimCmd *const gAnims_AIPOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AIPOM_1, +}; + +const union AnimCmd *const gAnims_SUNKERN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUNKERN_1, +}; + +const union AnimCmd *const gAnims_SUNFLORA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUNFLORA_1, +}; + +const union AnimCmd *const gAnims_YANMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_YANMA_1, +}; + +const union AnimCmd *const gAnims_WOOPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WOOPER_1, +}; + +const union AnimCmd *const gAnims_QUAGSIRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QUAGSIRE_1, +}; + +const union AnimCmd *const gAnims_ESPEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ESPEON_1, +}; + +const union AnimCmd *const gAnims_UMBREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UMBREON_1, +}; + +const union AnimCmd *const gAnims_MURKROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MURKROW_1, +}; + +const union AnimCmd *const gAnims_SLOWKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWKING_1, +}; + +const union AnimCmd *const gAnims_MISDREAVUS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MISDREAVUS_1, +}; + +const union AnimCmd *const gAnims_UNOWN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_1, +}; + +const union AnimCmd *const gAnims_WOBBUFFET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WOBBUFFET_1, + gAnimCmd_WOBBUFFET_2, +}; + +const union AnimCmd *const gAnims_GIRAFARIG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GIRAFARIG_1, + gAnimCmd_GIRAFARIG_2, +}; + +const union AnimCmd *const gAnims_PINECO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PINECO_1, +}; + +const union AnimCmd *const gAnims_FORRETRESS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FORRETRESS_1, +}; + +const union AnimCmd *const gAnims_DUNSPARCE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUNSPARCE_1, +}; + +const union AnimCmd *const gAnims_GLIGAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLIGAR_1, +}; + +const union AnimCmd *const gAnims_STEELIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STEELIX_1, +}; + +const union AnimCmd *const gAnims_SNUBBULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNUBBULL_1, +}; + +const union AnimCmd *const gAnims_GRANBULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRANBULL_1, +}; + +const union AnimCmd *const gAnims_QWILFISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QWILFISH_1, +}; + +const union AnimCmd *const gAnims_SCIZOR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCIZOR_1, +}; + +const union AnimCmd *const gAnims_SHUCKLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHUCKLE_1, +}; + +const union AnimCmd *const gAnims_HERACROSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HERACROSS_1, + gAnimCmd_HERACROSS_2, +}; + +const union AnimCmd *const gAnims_SNEASEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNEASEL_1, +}; + +const union AnimCmd *const gAnims_TEDDIURSA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TEDDIURSA_1, +}; + +const union AnimCmd *const gAnims_URSARING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_URSARING_1, +}; + +const union AnimCmd *const gAnims_SLUGMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLUGMA_1, + gAnimCmd_SLUGMA_2, +}; + +const union AnimCmd *const gAnims_MAGCARGO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGCARGO_1, + gAnimCmd_MAGCARGO_2, +}; + +const union AnimCmd *const gAnims_SWINUB[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWINUB_1, +}; + +const union AnimCmd *const gAnims_PILOSWINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PILOSWINE_1, +}; + +const union AnimCmd *const gAnims_CORSOLA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CORSOLA_1, + gAnimCmd_CORSOLA_2, +}; + +const union AnimCmd *const gAnims_REMORAID[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REMORAID_1, +}; + +const union AnimCmd *const gAnims_OCTILLERY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OCTILLERY_1, +}; + +const union AnimCmd *const gAnims_DELIBIRD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DELIBIRD_1, +}; + +const union AnimCmd *const gAnims_MANTINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANTINE_1, +}; + +const union AnimCmd *const gAnims_SKARMORY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKARMORY_1, + gAnimCmd_SKARMORY_2, +}; + +const union AnimCmd *const gAnims_HOUNDOUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOUNDOUR_1, +}; + +const union AnimCmd *const gAnims_HOUNDOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOUNDOOM_1, +}; + +const union AnimCmd *const gAnims_KINGDRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KINGDRA_1, + gAnimCmd_KINGDRA_2, +}; + +const union AnimCmd *const gAnims_PHANPY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PHANPY_1, + gAnimCmd_PHANPY_2, +}; + +const union AnimCmd *const gAnims_DONPHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DONPHAN_1, + gAnimCmd_DONPHAN_2, +}; + +const union AnimCmd *const gAnims_PORYGON2[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PORYGON2_1, +}; + +const union AnimCmd *const gAnims_STANTLER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STANTLER_1, +}; + +const union AnimCmd *const gAnims_SMEARGLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SMEARGLE_1, +}; + +const union AnimCmd *const gAnims_TYROGUE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYROGUE_1, +}; + +const union AnimCmd *const gAnims_HITMONTOP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONTOP_1, +}; + +const union AnimCmd *const gAnims_SMOOCHUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SMOOCHUM_1, +}; + +const union AnimCmd *const gAnims_ELEKID[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELEKID_1, +}; + +const union AnimCmd *const gAnims_MAGBY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGBY_1, +}; + +const union AnimCmd *const gAnims_MILTANK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MILTANK_1, +}; + +const union AnimCmd *const gAnims_BLISSEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLISSEY_1, +}; + +const union AnimCmd *const gAnims_RAIKOU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAIKOU_1, +}; + +const union AnimCmd *const gAnims_ENTEI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ENTEI_1, +}; + +const union AnimCmd *const gAnims_SUICUNE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUICUNE_1, +}; + +const union AnimCmd *const gAnims_LARVITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LARVITAR_1, +}; + +const union AnimCmd *const gAnims_PUPITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PUPITAR_1, +}; + +const union AnimCmd *const gAnims_TYRANITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYRANITAR_1, +}; + +const union AnimCmd *const gAnims_LUGIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUGIA_1, +}; + +const union AnimCmd *const gAnims_HO_OH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HO_OH_1, +}; + +const union AnimCmd *const gAnims_CELEBI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CELEBI_1, +}; + +const union AnimCmd *const gAnims_OLD_UNOWN_B[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OLD_UNOWN_B_1, +}; + +const union AnimCmd *const gAnims_TREECKO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TREECKO_1, +}; + +const union AnimCmd *const gAnims_GROVYLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROVYLE_1, +}; + +const union AnimCmd *const gAnims_SCEPTILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCEPTILE_1, +}; + +const union AnimCmd *const gAnims_TORCHIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TORCHIC_1, +}; + +const union AnimCmd *const gAnims_COMBUSKEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_COMBUSKEN_1, +}; + +const union AnimCmd *const gAnims_BLAZIKEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLAZIKEN_1, + gAnimCmd_BLAZIKEN_2, + gAnimCmd_BLAZIKEN_3, + gAnimCmd_BLAZIKEN_4, +}; + +const union AnimCmd *const gAnims_MUDKIP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MUDKIP_1, +}; + +const union AnimCmd *const gAnims_MARSHTOMP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MARSHTOMP_1, +}; + +const union AnimCmd *const gAnims_SWAMPERT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWAMPERT_1, +}; + +const union AnimCmd *const gAnims_POOCHYENA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POOCHYENA_1, +}; + +const union AnimCmd *const gAnims_MIGHTYENA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MIGHTYENA_1, +}; + +const union AnimCmd *const gAnims_ZIGZAGOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZIGZAGOON_1, +}; + +const union AnimCmd *const gAnims_LINOONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LINOONE_1, +}; + +const union AnimCmd *const gAnims_WURMPLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WURMPLE_1, +}; + +const union AnimCmd *const gAnims_SILCOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SILCOON_1, + gAnimCmd_SILCOON_2, +}; + +const union AnimCmd *const gAnims_BEAUTIFLY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BEAUTIFLY_1, + gAnimCmd_BEAUTIFLY_2, +}; + +const union AnimCmd *const gAnims_CASCOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CASCOON_1, + gAnimCmd_CASCOON_2, +}; + +const union AnimCmd *const gAnims_DUSTOX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSTOX_1, + gAnimCmd_DUSTOX_2, +}; + +const union AnimCmd *const gAnims_LOTAD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOTAD_1, +}; + +const union AnimCmd *const gAnims_LOMBRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOMBRE_1, +}; + +const union AnimCmd *const gAnims_LUDICOLO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUDICOLO_1, +}; + +const union AnimCmd *const gAnims_SEEDOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEEDOT_1, +}; + +const union AnimCmd *const gAnims_NUZLEAF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NUZLEAF_1, +}; + +const union AnimCmd *const gAnims_SHIFTRY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHIFTRY_1, +}; + +const union AnimCmd *const gAnims_NINCADA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINCADA_1, +}; + +const union AnimCmd *const gAnims_NINJASK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINJASK_1, +}; + +const union AnimCmd *const gAnims_SHEDINJA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHEDINJA_1, +}; + +const union AnimCmd *const gAnims_TAILLOW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TAILLOW_1, +}; + +const union AnimCmd *const gAnims_SWELLOW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWELLOW_1, +}; + +const union AnimCmd *const gAnims_SHROOMISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHROOMISH_1, +}; + +const union AnimCmd *const gAnims_BRELOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BRELOOM_1, +}; + +const union AnimCmd *const gAnims_SPINDA[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gAnims_WINGULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WINGULL_1, +}; + +const union AnimCmd *const gAnims_PELIPPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PELIPPER_1, +}; + +const union AnimCmd *const gAnims_SURSKIT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SURSKIT_1, + gAnimCmd_SURSKIT_2, +}; + +const union AnimCmd *const gAnims_MASQUERAIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MASQUERAIN_1, + gAnimCmd_MASQUERAIN_2, +}; + +const union AnimCmd *const gAnims_WAILMER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WAILMER_1, +}; + +const union AnimCmd *const gAnims_WAILORD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WAILORD_1, +}; + +const union AnimCmd *const gAnims_SKITTY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKITTY_1, +}; + +const union AnimCmd *const gAnims_DELCATTY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DELCATTY_1, +}; + +const union AnimCmd *const gAnims_KECLEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KECLEON_1, +}; + +const union AnimCmd *const gAnims_BALTOY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BALTOY_1, +}; + +const union AnimCmd *const gAnims_CLAYDOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLAYDOL_1, +}; + +const union AnimCmd *const gAnims_NOSEPASS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NOSEPASS_1, +}; + +const union AnimCmd *const gAnims_TORKOAL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TORKOAL_1, +}; + +const union AnimCmd *const gAnims_SABLEYE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SABLEYE_1, +}; + +const union AnimCmd *const gAnims_BARBOACH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BARBOACH_1, +}; + +const union AnimCmd *const gAnims_WHISCASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WHISCASH_1, +}; + +const union AnimCmd *const gAnims_LUVDISC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUVDISC_1, +}; + +const union AnimCmd *const gAnims_CORPHISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CORPHISH_1, +}; + +const union AnimCmd *const gAnims_CRAWDAUNT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CRAWDAUNT_1, +}; + +const union AnimCmd *const gAnims_FEEBAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FEEBAS_1, +}; + +const union AnimCmd *const gAnims_MILOTIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MILOTIC_1, +}; + +const union AnimCmd *const gAnims_CARVANHA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CARVANHA_1, +}; + +const union AnimCmd *const gAnims_SHARPEDO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHARPEDO_1, +}; + +const union AnimCmd *const gAnims_TRAPINCH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TRAPINCH_1, +}; + +const union AnimCmd *const gAnims_VIBRAVA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VIBRAVA_1, +}; + +const union AnimCmd *const gAnims_FLYGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLYGON_1, +}; + +const union AnimCmd *const gAnims_MAKUHITA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAKUHITA_1, +}; + +const union AnimCmd *const gAnims_HARIYAMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HARIYAMA_1, +}; + +const union AnimCmd *const gAnims_ELECTRIKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTRIKE_1, +}; + +const union AnimCmd *const gAnims_MANECTRIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANECTRIC_1, +}; + +const union AnimCmd *const gAnims_NUMEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NUMEL_1, +}; + +const union AnimCmd *const gAnims_CAMERUPT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CAMERUPT_1, +}; + +const union AnimCmd *const gAnims_SPHEAL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPHEAL_1, +}; + +const union AnimCmd *const gAnims_SEALEO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEALEO_1, +}; + +const union AnimCmd *const gAnims_WALREIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WALREIN_1, +}; + +const union AnimCmd *const gAnims_CACNEA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CACNEA_1, +}; + +const union AnimCmd *const gAnims_CACTURNE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CACTURNE_1, +}; + +const union AnimCmd *const gAnims_SNORUNT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNORUNT_1, +}; + +const union AnimCmd *const gAnims_GLALIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLALIE_1, +}; + +const union AnimCmd *const gAnims_LUNATONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUNATONE_1, + gAnimCmd_LUNATONE_2, +}; + +const union AnimCmd *const gAnims_SOLROCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SOLROCK_1, + gAnimCmd_SOLROCK_2, +}; + +const union AnimCmd *const gAnims_AZURILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AZURILL_1, +}; + +const union AnimCmd *const gAnims_SPOINK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPOINK_1, +}; + +const union AnimCmd *const gAnims_GRUMPIG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRUMPIG_1, +}; + +const union AnimCmd *const gAnims_PLUSLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PLUSLE_1, +}; + +const union AnimCmd *const gAnims_MINUN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MINUN_1, +}; + +const union AnimCmd *const gAnims_MAWILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAWILE_1, +}; + +const union AnimCmd *const gAnims_MEDITITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEDITITE_1, +}; + +const union AnimCmd *const gAnims_MEDICHAM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEDICHAM_1, +}; + +const union AnimCmd *const gAnims_SWABLU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWABLU_1, + gAnimCmd_SWABLU_2, +}; + +const union AnimCmd *const gAnims_ALTARIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ALTARIA_1, + gAnimCmd_ALTARIA_2, +}; + +const union AnimCmd *const gAnims_WYNAUT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WYNAUT_1, +}; + +const union AnimCmd *const gAnims_DUSKULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSKULL_1, +}; + +const union AnimCmd *const gAnims_DUSCLOPS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSCLOPS_1, +}; + +const union AnimCmd *const gAnims_ROSELIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ROSELIA_1, +}; + +const union AnimCmd *const gAnims_SLAKOTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLAKOTH_1, +}; + +const union AnimCmd *const gAnims_VIGOROTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VIGOROTH_1, +}; + +const union AnimCmd *const gAnims_SLAKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLAKING_1, +}; + +const union AnimCmd *const gAnims_GULPIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GULPIN_1, +}; + +const union AnimCmd *const gAnims_SWALOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWALOT_1, +}; + +const union AnimCmd *const gAnims_TROPIUS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TROPIUS_1, +}; + +const union AnimCmd *const gAnims_WHISMUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WHISMUR_1, +}; + +const union AnimCmd *const gAnims_LOUDRED[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOUDRED_1, +}; + +const union AnimCmd *const gAnims_EXPLOUD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXPLOUD_1, +}; + +const union AnimCmd *const gAnims_CLAMPERL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLAMPERL_1, +}; + +const union AnimCmd *const gAnims_HUNTAIL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HUNTAIL_1, +}; + +const union AnimCmd *const gAnims_GOREBYSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOREBYSS_1, +}; + +const union AnimCmd *const gAnims_ABSOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ABSOL_1, +}; + +const union AnimCmd *const gAnims_SHUPPET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHUPPET_1, +}; + +const union AnimCmd *const gAnims_BANETTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BANETTE_1, +}; + +const union AnimCmd *const gAnims_SEVIPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEVIPER_1, +}; + +const union AnimCmd *const gAnims_ZANGOOSE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZANGOOSE_1, +}; + +const union AnimCmd *const gAnims_RELICANTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RELICANTH_1, +}; + +const union AnimCmd *const gAnims_ARON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARON_1, +}; + +const union AnimCmd *const gAnims_LAIRON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LAIRON_1, +}; + +const union AnimCmd *const gAnims_AGGRON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AGGRON_1, +}; + +const union AnimCmd *const gAnims_CASTFORM[] ={ + gAnimCmd_CASTFORM_0, + gAnimCmd_CASTFORM_1, + gAnimCmd_CASTFORM_2, + gAnimCmd_CASTFORM_3, +}; + +const union AnimCmd *const gAnims_VOLBEAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VOLBEAT_1, +}; + +const union AnimCmd *const gAnims_ILLUMISE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ILLUMISE_1, +}; + +const union AnimCmd *const gAnims_LILEEP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LILEEP_1, +}; + +const union AnimCmd *const gAnims_CRADILY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CRADILY_1, +}; + +const union AnimCmd *const gAnims_ANORITH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ANORITH_1, +}; + +const union AnimCmd *const gAnims_ARMALDO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARMALDO_1, +}; + +const union AnimCmd *const gAnims_RALTS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RALTS_1, +}; + +const union AnimCmd *const gAnims_KIRLIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KIRLIA_1, +}; + +const union AnimCmd *const gAnims_GARDEVOIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GARDEVOIR_1, +}; + +const union AnimCmd *const gAnims_BAGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BAGON_1, +}; + +const union AnimCmd *const gAnims_SHELGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHELGON_1, +}; + +const union AnimCmd *const gAnims_SALAMENCE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SALAMENCE_1, +}; + +const union AnimCmd *const gAnims_BELDUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELDUM_1, +}; + +const union AnimCmd *const gAnims_METANG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METANG_1, +}; + +const union AnimCmd *const gAnims_METAGROSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METAGROSS_1, +}; + +const union AnimCmd *const gAnims_REGIROCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGIROCK_1, + gAnimCmd_REGIROCK_2, +}; + +const union AnimCmd *const gAnims_REGICE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGICE_1, +}; + +const union AnimCmd *const gAnims_REGISTEEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGISTEEL_1, + gAnimCmd_REGISTEEL_2, +}; + +const union AnimCmd *const gAnims_KYOGRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KYOGRE_1, + gAnimCmd_KYOGRE_2, +}; + +const union AnimCmd *const gAnims_GROUDON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROUDON_1, + gAnimCmd_GROUDON_2, +}; + +const union AnimCmd *const gAnims_RAYQUAZA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAYQUAZA_1, + gAnimCmd_RAYQUAZA_2, +}; + +const union AnimCmd *const gAnims_LATIAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LATIAS_1, + gAnimCmd_LATIAS_2, +}; + +const union AnimCmd *const gAnims_LATIOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LATIOS_1, + gAnimCmd_LATIOS_2, +}; + +const union AnimCmd *const gAnims_JIRACHI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JIRACHI_1, + gAnimCmd_JIRACHI_2, +}; + +const union AnimCmd *const gAnims_DEOXYS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DEOXYS_1, + gAnimCmd_DEOXYS_2, +}; + +const union AnimCmd *const gAnims_CHIMECHO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHIMECHO_1, +}; + +const union AnimCmd *const gAnims_EGG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EGG_1, +}; + +const union AnimCmd *const gAnims_UNOWN_B[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_B_1, +}; + +const union AnimCmd *const gAnims_UNOWN_C[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_C_1, +}; + +const union AnimCmd *const gAnims_UNOWN_D[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_D_1, +}; + +const union AnimCmd *const gAnims_UNOWN_E[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_E_1, +}; + +const union AnimCmd *const gAnims_UNOWN_F[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_F_1, +}; + +const union AnimCmd *const gAnims_UNOWN_G[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_G_1, +}; + +const union AnimCmd *const gAnims_UNOWN_H[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_H_1, +}; + +const union AnimCmd *const gAnims_UNOWN_I[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_I_1, +}; + +const union AnimCmd *const gAnims_UNOWN_J[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_J_1, +}; + +const union AnimCmd *const gAnims_UNOWN_K[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_K_1, +}; + +const union AnimCmd *const gAnims_UNOWN_L[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_L_1, +}; + +const union AnimCmd *const gAnims_UNOWN_M[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_M_1, +}; + +const union AnimCmd *const gAnims_UNOWN_N[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_N_1, +}; + +const union AnimCmd *const gAnims_UNOWN_O[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_O_1, +}; + +const union AnimCmd *const gAnims_UNOWN_P[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_P_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Q[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Q_1, +}; + +const union AnimCmd *const gAnims_UNOWN_R[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_R_1, +}; + +const union AnimCmd *const gAnims_UNOWN_S[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_S_1, +}; + +const union AnimCmd *const gAnims_UNOWN_T[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_T_1, +}; + +const union AnimCmd *const gAnims_UNOWN_U[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_U_1, +}; + +const union AnimCmd *const gAnims_UNOWN_V[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_V_1, +}; + +const union AnimCmd *const gAnims_UNOWN_W[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_W_1, +}; + +const union AnimCmd *const gAnims_UNOWN_X[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_X_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Y[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Y_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Z[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Z_1, +}; + +const union AnimCmd *const gAnims_UNOWN_EMARK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_EMARK_1, +}; + +const union AnimCmd *const gAnims_UNOWN_QMARK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_QMARK_1, +}; + +const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = +{ + gAnims_NONE, + gAnims_BULBASAUR, + gAnims_IVYSAUR, + gAnims_VENUSAUR, + gAnims_CHARMANDER, + gAnims_CHARMELEON, + gAnims_CHARIZARD, + gAnims_SQUIRTLE, + gAnims_WARTORTLE, + gAnims_BLASTOISE, + gAnims_CATERPIE, + gAnims_METAPOD, + gAnims_BUTTERFREE, + gAnims_WEEDLE, + gAnims_KAKUNA, + gAnims_BEEDRILL, + gAnims_PIDGEY, + gAnims_PIDGEOTTO, + gAnims_PIDGEOT, + gAnims_RATTATA, + gAnims_RATICATE, + gAnims_SPEAROW, + gAnims_FEAROW, + gAnims_EKANS, + gAnims_ARBOK, + gAnims_PIKACHU, + gAnims_RAICHU, + gAnims_SANDSHREW, + gAnims_SANDSLASH, + gAnims_NIDORAN_F, + gAnims_NIDORINA, + gAnims_NIDOQUEEN, + gAnims_NIDORAN_M, + gAnims_NIDORINO, + gAnims_NIDOKING, + gAnims_CLEFAIRY, + gAnims_CLEFABLE, + gAnims_VULPIX, + gAnims_NINETALES, + gAnims_JIGGLYPUFF, + gAnims_WIGGLYTUFF, + gAnims_ZUBAT, + gAnims_GOLBAT, + gAnims_ODDISH, + gAnims_GLOOM, + gAnims_VILEPLUME, + gAnims_PARAS, + gAnims_PARASECT, + gAnims_VENONAT, + gAnims_VENOMOTH, + gAnims_DIGLETT, + gAnims_DUGTRIO, + gAnims_MEOWTH, + gAnims_PERSIAN, + gAnims_PSYDUCK, + gAnims_GOLDUCK, + gAnims_MANKEY, + gAnims_PRIMEAPE, + gAnims_GROWLITHE, + gAnims_ARCANINE, + gAnims_POLIWAG, + gAnims_POLIWHIRL, + gAnims_POLIWRATH, + gAnims_ABRA, + gAnims_KADABRA, + gAnims_ALAKAZAM, + gAnims_MACHOP, + gAnims_MACHOKE, + gAnims_MACHAMP, + gAnims_BELLSPROUT, + gAnims_WEEPINBELL, + gAnims_VICTREEBEL, + gAnims_TENTACOOL, + gAnims_TENTACRUEL, + gAnims_GEODUDE, + gAnims_GRAVELER, + gAnims_GOLEM, + gAnims_PONYTA, + gAnims_RAPIDASH, + gAnims_SLOWPOKE, + gAnims_SLOWBRO, + gAnims_MAGNEMITE, + gAnims_MAGNETON, + gAnims_FARFETCHD, + gAnims_DODUO, + gAnims_DODRIO, + gAnims_SEEL, + gAnims_DEWGONG, + gAnims_GRIMER, + gAnims_MUK, + gAnims_SHELLDER, + gAnims_CLOYSTER, + gAnims_GASTLY, + gAnims_HAUNTER, + gAnims_GENGAR, + gAnims_ONIX, + gAnims_DROWZEE, + gAnims_HYPNO, + gAnims_KRABBY, + gAnims_KINGLER, + gAnims_VOLTORB, + gAnims_ELECTRODE, + gAnims_EXEGGCUTE, + gAnims_EXEGGUTOR, + gAnims_CUBONE, + gAnims_MAROWAK, + gAnims_HITMONLEE, + gAnims_HITMONCHAN, + gAnims_LICKITUNG, + gAnims_KOFFING, + gAnims_WEEZING, + gAnims_RHYHORN, + gAnims_RHYDON, + gAnims_CHANSEY, + gAnims_TANGELA, + gAnims_KANGASKHAN, + gAnims_HORSEA, + gAnims_SEADRA, + gAnims_GOLDEEN, + gAnims_SEAKING, + gAnims_STARYU, + gAnims_STARMIE, + gAnims_MR_MIME, + gAnims_SCYTHER, + gAnims_JYNX, + gAnims_ELECTABUZZ, + gAnims_MAGMAR, + gAnims_PINSIR, + gAnims_TAUROS, + gAnims_MAGIKARP, + gAnims_GYARADOS, + gAnims_LAPRAS, + gAnims_DITTO, + gAnims_EEVEE, + gAnims_VAPOREON, + gAnims_JOLTEON, + gAnims_FLAREON, + gAnims_PORYGON, + gAnims_OMANYTE, + gAnims_OMASTAR, + gAnims_KABUTO, + gAnims_KABUTOPS, + gAnims_AERODACTYL, + gAnims_SNORLAX, + gAnims_ARTICUNO, + gAnims_ZAPDOS, + gAnims_MOLTRES, + gAnims_DRATINI, + gAnims_DRAGONAIR, + gAnims_DRAGONITE, + gAnims_MEWTWO, + gAnims_MEW, + gAnims_CHIKORITA, + gAnims_BAYLEEF, + gAnims_MEGANIUM, + gAnims_CYNDAQUIL, + gAnims_QUILAVA, + gAnims_TYPHLOSION, + gAnims_TOTODILE, + gAnims_CROCONAW, + gAnims_FERALIGATR, + gAnims_SENTRET, + gAnims_FURRET, + gAnims_HOOTHOOT, + gAnims_NOCTOWL, + gAnims_LEDYBA, + gAnims_LEDIAN, + gAnims_SPINARAK, + gAnims_ARIADOS, + gAnims_CROBAT, + gAnims_CHINCHOU, + gAnims_LANTURN, + gAnims_PICHU, + gAnims_CLEFFA, + gAnims_IGGLYBUFF, + gAnims_TOGEPI, + gAnims_TOGETIC, + gAnims_NATU, + gAnims_XATU, + gAnims_MAREEP, + gAnims_FLAAFFY, + gAnims_AMPHAROS, + gAnims_BELLOSSOM, + gAnims_MARILL, + gAnims_AZUMARILL, + gAnims_SUDOWOODO, + gAnims_POLITOED, + gAnims_HOPPIP, + gAnims_SKIPLOOM, + gAnims_JUMPLUFF, + gAnims_AIPOM, + gAnims_SUNKERN, + gAnims_SUNFLORA, + gAnims_YANMA, + gAnims_WOOPER, + gAnims_QUAGSIRE, + gAnims_ESPEON, + gAnims_UMBREON, + gAnims_MURKROW, + gAnims_SLOWKING, + gAnims_MISDREAVUS, + gAnims_UNOWN, + gAnims_WOBBUFFET, + gAnims_GIRAFARIG, + gAnims_PINECO, + gAnims_FORRETRESS, + gAnims_DUNSPARCE, + gAnims_GLIGAR, + gAnims_STEELIX, + gAnims_SNUBBULL, + gAnims_GRANBULL, + gAnims_QWILFISH, + gAnims_SCIZOR, + gAnims_SHUCKLE, + gAnims_HERACROSS, + gAnims_SNEASEL, + gAnims_TEDDIURSA, + gAnims_URSARING, + gAnims_SLUGMA, + gAnims_MAGCARGO, + gAnims_SWINUB, + gAnims_PILOSWINE, + gAnims_CORSOLA, + gAnims_REMORAID, + gAnims_OCTILLERY, + gAnims_DELIBIRD, + gAnims_MANTINE, + gAnims_SKARMORY, + gAnims_HOUNDOUR, + gAnims_HOUNDOOM, + gAnims_KINGDRA, + gAnims_PHANPY, + gAnims_DONPHAN, + gAnims_PORYGON2, + gAnims_STANTLER, + gAnims_SMEARGLE, + gAnims_TYROGUE, + gAnims_HITMONTOP, + gAnims_SMOOCHUM, + gAnims_ELEKID, + gAnims_MAGBY, + gAnims_MILTANK, + gAnims_BLISSEY, + gAnims_RAIKOU, + gAnims_ENTEI, + gAnims_SUICUNE, + gAnims_LARVITAR, + gAnims_PUPITAR, + gAnims_TYRANITAR, + gAnims_LUGIA, + gAnims_HO_OH, + gAnims_CELEBI, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_TREECKO, + gAnims_GROVYLE, + gAnims_SCEPTILE, + gAnims_TORCHIC, + gAnims_COMBUSKEN, + gAnims_BLAZIKEN, + gAnims_MUDKIP, + gAnims_MARSHTOMP, + gAnims_SWAMPERT, + gAnims_POOCHYENA, + gAnims_MIGHTYENA, + gAnims_ZIGZAGOON, + gAnims_LINOONE, + gAnims_WURMPLE, + gAnims_SILCOON, + gAnims_BEAUTIFLY, + gAnims_CASCOON, + gAnims_DUSTOX, + gAnims_LOTAD, + gAnims_LOMBRE, + gAnims_LUDICOLO, + gAnims_SEEDOT, + gAnims_NUZLEAF, + gAnims_SHIFTRY, + gAnims_NINCADA, + gAnims_NINJASK, + gAnims_SHEDINJA, + gAnims_TAILLOW, + gAnims_SWELLOW, + gAnims_SHROOMISH, + gAnims_BRELOOM, + gAnims_SPINDA, + gAnims_WINGULL, + gAnims_PELIPPER, + gAnims_SURSKIT, + gAnims_MASQUERAIN, + gAnims_WAILMER, + gAnims_WAILORD, + gAnims_SKITTY, + gAnims_DELCATTY, + gAnims_KECLEON, + gAnims_BALTOY, + gAnims_CLAYDOL, + gAnims_NOSEPASS, + gAnims_TORKOAL, + gAnims_SABLEYE, + gAnims_BARBOACH, + gAnims_WHISCASH, + gAnims_LUVDISC, + gAnims_CORPHISH, + gAnims_CRAWDAUNT, + gAnims_FEEBAS, + gAnims_MILOTIC, + gAnims_CARVANHA, + gAnims_SHARPEDO, + gAnims_TRAPINCH, + gAnims_VIBRAVA, + gAnims_FLYGON, + gAnims_MAKUHITA, + gAnims_HARIYAMA, + gAnims_ELECTRIKE, + gAnims_MANECTRIC, + gAnims_NUMEL, + gAnims_CAMERUPT, + gAnims_SPHEAL, + gAnims_SEALEO, + gAnims_WALREIN, + gAnims_CACNEA, + gAnims_CACTURNE, + gAnims_SNORUNT, + gAnims_GLALIE, + gAnims_LUNATONE, + gAnims_SOLROCK, + gAnims_AZURILL, + gAnims_SPOINK, + gAnims_GRUMPIG, + gAnims_PLUSLE, + gAnims_MINUN, + gAnims_MAWILE, + gAnims_MEDITITE, + gAnims_MEDICHAM, + gAnims_SWABLU, + gAnims_ALTARIA, + gAnims_WYNAUT, + gAnims_DUSKULL, + gAnims_DUSCLOPS, + gAnims_ROSELIA, + gAnims_SLAKOTH, + gAnims_VIGOROTH, + gAnims_SLAKING, + gAnims_GULPIN, + gAnims_SWALOT, + gAnims_TROPIUS, + gAnims_WHISMUR, + gAnims_LOUDRED, + gAnims_EXPLOUD, + gAnims_CLAMPERL, + gAnims_HUNTAIL, + gAnims_GOREBYSS, + gAnims_ABSOL, + gAnims_SHUPPET, + gAnims_BANETTE, + gAnims_SEVIPER, + gAnims_ZANGOOSE, + gAnims_RELICANTH, + gAnims_ARON, + gAnims_LAIRON, + gAnims_AGGRON, + gAnims_CASTFORM, + gAnims_VOLBEAT, + gAnims_ILLUMISE, + gAnims_LILEEP, + gAnims_CRADILY, + gAnims_ANORITH, + gAnims_ARMALDO, + gAnims_RALTS, + gAnims_KIRLIA, + gAnims_GARDEVOIR, + gAnims_BAGON, + gAnims_SHELGON, + gAnims_SALAMENCE, + gAnims_BELDUM, + gAnims_METANG, + gAnims_METAGROSS, + gAnims_REGIROCK, + gAnims_REGICE, + gAnims_REGISTEEL, + gAnims_KYOGRE, + gAnims_GROUDON, + gAnims_RAYQUAZA, + gAnims_LATIAS, + gAnims_LATIOS, + gAnims_JIRACHI, + gAnims_DEOXYS, + gAnims_CHIMECHO, + gAnims_EGG, + gAnims_UNOWN_B, + gAnims_UNOWN_C, + gAnims_UNOWN_D, + gAnims_UNOWN_E, + gAnims_UNOWN_F, + gAnims_UNOWN_G, + gAnims_UNOWN_H, + gAnims_UNOWN_I, + gAnims_UNOWN_J, + gAnims_UNOWN_K, + gAnims_UNOWN_L, + gAnims_UNOWN_M, + gAnims_UNOWN_N, + gAnims_UNOWN_O, + gAnims_UNOWN_P, + gAnims_UNOWN_Q, + gAnims_UNOWN_R, + gAnims_UNOWN_S, + gAnims_UNOWN_T, + gAnims_UNOWN_U, + gAnims_UNOWN_V, + gAnims_UNOWN_W, + gAnims_UNOWN_X, + gAnims_UNOWN_Y, + gAnims_UNOWN_Z, + gAnims_UNOWN_EMARK, + gAnims_UNOWN_QMARK, +}; diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h new file mode 100644 index 000000000..5aa22f4f8 --- /dev/null +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -0,0 +1,446 @@ +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, +}; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h new file mode 100644 index 000000000..99412daa5 --- /dev/null +++ b/src/data/pokemon_graphics/palette_table.h @@ -0,0 +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, +}; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h new file mode 100644 index 000000000..91708fafa --- /dev/null +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -0,0 +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, +}; diff --git a/include/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h index 9c7e3f2fc..9c7e3f2fc 100644 --- a/include/data/region_map/region_map_entries.h +++ b/src/data/region_map/region_map_entries.h diff --git a/include/data/text/abilities.h b/src/data/text/abilities.h index 3a1e989d2..3a1e989d2 100644 --- a/include/data/text/abilities.h +++ b/src/data/text/abilities.h diff --git a/include/data/text/item_descriptions.h b/src/data/text/item_descriptions.h index 8683978d7..8683978d7 100644 --- a/include/data/text/item_descriptions.h +++ b/src/data/text/item_descriptions.h diff --git a/src/data/text/nature_names.h b/src/data/text/nature_names.h new file mode 100644 index 000000000..d0d217d9b --- /dev/null +++ b/src/data/text/nature_names.h @@ -0,0 +1,54 @@ +static const u8 sHardyNatureName[] = _("HARDY"); +static const u8 sLonelyNatureName[] = _("LONELY"); +static const u8 sBraveNatureName[] = _("BRAVE"); +static const u8 sAdamantNatureName[] = _("ADAMANT"); +static const u8 sNaughtyNatureName[] = _("NAUGHTY"); +static const u8 sBoldNatureName[] = _("BOLD"); +static const u8 sDocileNatureName[] = _("DOCILE"); +static const u8 sRelaxedNatureName[] = _("RELAXED"); +static const u8 sImpishNatureName[] = _("IMPISH"); +static const u8 sLaxNatureName[] = _("LAX"); +static const u8 sTimidNatureName[] = _("TIMID"); +static const u8 sHastyNatureName[] = _("HASTY"); +static const u8 sSeriousNatureName[] = _("SERIOUS"); +static const u8 sJollyNatureName[] = _("JOLLY"); +static const u8 sNaiveNatureName[] = _("NAIVE"); +static const u8 sModestNatureName[] = _("MODEST"); +static const u8 sMildNatureName[] = _("MILD"); +static const u8 sQuietNatureName[] = _("QUIET"); +static const u8 sBashfulNatureName[] = _("BASHFUL"); +static const u8 sRashNatureName[] = _("RASH"); +static const u8 sCalmNatureName[] = _("CALM"); +static const u8 sGentleNatureName[] = _("GENTLE"); +static const u8 sSassyNatureName[] = _("SASSY"); +static const u8 sCarefulNatureName[] = _("CAREFUL"); +static const u8 sQuirkyNatureName[] = _("QUIRKY"); + +const u8 *const gNatureNamePointers[] = +{ + [NATURE_HARDY] = sHardyNatureName, + [NATURE_LONELY] = sLonelyNatureName, + [NATURE_BRAVE] = sBraveNatureName, + [NATURE_ADAMANT] = sAdamantNatureName, + [NATURE_NAUGHTY] = sNaughtyNatureName, + [NATURE_BOLD] = sBoldNatureName, + [NATURE_DOCILE] = sDocileNatureName, + [NATURE_RELAXED] = sRelaxedNatureName, + [NATURE_IMPISH] = sImpishNatureName, + [NATURE_LAX] = sLaxNatureName, + [NATURE_TIMID] = sTimidNatureName, + [NATURE_HASTY] = sHastyNatureName, + [NATURE_SERIOUS] = sSeriousNatureName, + [NATURE_JOLLY] = sJollyNatureName, + [NATURE_NAIVE] = sNaiveNatureName, + [NATURE_MODEST] = sModestNatureName, + [NATURE_MILD] = sMildNatureName, + [NATURE_QUIET] = sQuietNatureName, + [NATURE_BASHFUL] = sBashfulNatureName, + [NATURE_RASH] = sRashNatureName, + [NATURE_CALM] = sCalmNatureName, + [NATURE_GENTLE] = sGentleNatureName, + [NATURE_SASSY] = sSassyNatureName, + [NATURE_CAREFUL] = sCarefulNatureName, + [NATURE_QUIRKY] = sQuirkyNatureName, +}; diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h new file mode 100644 index 000000000..e2419b6f6 --- /dev/null +++ b/src/data/trainer_graphics/back_pic_anims.h @@ -0,0 +1,129 @@ +const union AnimCmd gUnknown_08305C24[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C3C[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C54[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C6C[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C84[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C9C[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305CB4[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08305CCC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C24, +}; + +const union AnimCmd *const gUnknown_08305CD4[] = +{ + AnimCmd_82FF540, + gUnknown_08305C3C, +}; + +const union AnimCmd *const gUnknown_08305CDC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_08305C6C, +}; + +const union AnimCmd *const gUnknown_08305CE4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_08305C84, +}; + +const union AnimCmd *const gUnknown_08305CEC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C9C, +}; + +const union AnimCmd *const gUnknown_08305CF4[] = +{ + AnimCmd_82FF540, + gUnknown_08305CB4, +}; + +const union AnimCmd *const gUnknown_08305CFC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C54, +}; + +const union AnimCmd *const gUnknown_08305D04[] = +{ + AnimCmd_82FF540, + gUnknown_08305C3C, +}; + +const union AnimCmd *const *const gUnknown_08305D0C[] = +{ + gUnknown_08305CCC, + gUnknown_08305CD4, + gUnknown_08305CDC, + gUnknown_08305CE4, + gUnknown_08305CEC, + gUnknown_08305CF4, + gUnknown_08305CFC, + gUnknown_08305D04, +}; diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h new file mode 100644 index 000000000..ba7f73ebb --- /dev/null +++ b/src/data/trainer_graphics/back_pic_tables.h @@ -0,0 +1,35 @@ +const u8 gTrainerBackPicCoords[] = +{ + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 5, 0, 0, + 8, 5, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, +}; + +const struct CompressedSpriteSheet gTrainerBackPicTable[] = +{ + gTrainerBackPic_Brendan, 0x2000, 0, + gTrainerBackPic_May, 0x2000, 1, + gTrainerBackPic_Red, 0x2800, 2, + gTrainerBackPic_Leaf, 0x2800, 3, + gTrainerBackPic_RubySapphireBrendan, 0x2000, 4, + gTrainerBackPic_RubySapphireMay, 0x2000, 5, + gTrainerBackPic_Wally, 0x2000, 6, + gTrainerBackPic_Steven, 0x2000, 7, +}; + +const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = +{ + gTrainerPalette_Brendan, 0, + gTrainerPalette_May, 1, + gTrainerBackPicPalette_Red, 2, + gTrainerBackPicPalette_Leaf, 3, + gTrainerPalette_RubySapphireBrendan, 4, + gTrainerPalette_RubySapphireMay, 5, + gTrainerPalette_Wally, 6, + gTrainerPalette_Steven, 7, +}; diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h new file mode 100644 index 000000000..423ce33b9 --- /dev/null +++ b/src/data/trainer_graphics/front_pic_anims.h @@ -0,0 +1,190 @@ +const union AnimCmd *const gUnknown_083051F8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083051FC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305200[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305204[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305208[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830520C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305210[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305214[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305218[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830521C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305220[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305224[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305228[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830522C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305230[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305234[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305238[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830523C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305240[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305244[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305248[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830524C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305250[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305254[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305258[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830525C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305260[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305264[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305268[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830526C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305270[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305274[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305278[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830527C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305280[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305284[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305288[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830528C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305290[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305294[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305298[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830529C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052AC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052BC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052CC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052DC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052EC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052FC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305300[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305304[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305308[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830530C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305310[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305314[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305318[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830531C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305320[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305324[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305328[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830532C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305330[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305334[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305338[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830533C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305340[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305344[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305348[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830534C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305350[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305354[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305358[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830535C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305360[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305364[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305368[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const *const gUnknown_0830536C[] = +{ + gUnknown_083051F8, + gUnknown_083051FC, + gUnknown_08305200, + gUnknown_08305204, + gUnknown_08305208, + gUnknown_0830520C, + gUnknown_08305210, + gUnknown_08305214, + gUnknown_08305218, + gUnknown_0830521C, + gUnknown_08305220, + gUnknown_08305224, + gUnknown_08305228, + gUnknown_0830522C, + gUnknown_08305230, + gUnknown_08305234, + gUnknown_08305238, + gUnknown_0830523C, + gUnknown_08305240, + gUnknown_08305244, + gUnknown_08305248, + gUnknown_0830524C, + gUnknown_08305250, + gUnknown_08305254, + gUnknown_08305258, + gUnknown_0830525C, + gUnknown_08305260, + gUnknown_08305264, + gUnknown_08305268, + gUnknown_0830526C, + gUnknown_08305270, + gUnknown_08305274, + gUnknown_08305278, + gUnknown_0830527C, + gUnknown_08305280, + gUnknown_08305284, + gUnknown_08305288, + gUnknown_0830528C, + gUnknown_08305290, + gUnknown_08305294, + gUnknown_08305298, + gUnknown_0830529C, + gUnknown_083052A0, + gUnknown_083052A4, + gUnknown_083052A8, + gUnknown_083052AC, + gUnknown_083052B0, + gUnknown_083052B4, + gUnknown_083052B8, + gUnknown_083052BC, + gUnknown_083052C0, + gUnknown_083052C4, + gUnknown_083052C8, + gUnknown_083052CC, + gUnknown_083052D0, + gUnknown_083052D4, + gUnknown_083052D8, + gUnknown_083052DC, + gUnknown_083052E0, + gUnknown_083052E4, + gUnknown_083052E8, + gUnknown_083052EC, + gUnknown_083052F0, + gUnknown_083052F4, + gUnknown_083052F8, + gUnknown_083052FC, + gUnknown_08305300, + gUnknown_08305304, + gUnknown_08305308, + gUnknown_0830530C, + gUnknown_08305310, + gUnknown_08305314, + gUnknown_08305318, + gUnknown_0830531C, + gUnknown_08305320, + gUnknown_08305324, + gUnknown_08305328, + gUnknown_0830532C, + gUnknown_08305330, + gUnknown_08305334, + gUnknown_08305338, + gUnknown_0830533C, + gUnknown_08305340, + gUnknown_08305344, + gUnknown_08305348, + gUnknown_0830534C, + gUnknown_08305350, + gUnknown_08305354, + gUnknown_08305358, + gUnknown_0830535C, + gUnknown_08305360, + gUnknown_08305364, + gUnknown_08305368, +}; diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h new file mode 100644 index 000000000..7c1e10683 --- /dev/null +++ b/src/data/trainer_graphics/front_pic_tables.h @@ -0,0 +1,290 @@ +const u8 gTrainerFrontPicCoords[] = +{ + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, +}; + +const struct CompressedSpriteSheet gTrainerFrontPicTable[] = +{ + gTrainerFrontPic_Hiker, 0x800, 0, + gTrainerFrontPic_AquaGruntM, 0x800, 1, + gTrainerFrontPic_PokemonBreederF, 0x800, 2, + gTrainerFrontPic_CoolTrainerM, 0x800, 3, + gTrainerFrontPic_BirdKeeper, 0x800, 4, + gTrainerFrontPic_Collector, 0x800, 5, + gTrainerFrontPic_AquaGruntF, 0x800, 6, + gTrainerFrontPic_SwimmerM, 0x800, 7, + gTrainerFrontPic_MagmaGruntM, 0x800, 8, + gTrainerFrontPic_ExpertM, 0x800, 9, + gTrainerFrontPic_AquaAdminM, 0x800, 10, + gTrainerFrontPic_BlackBelt, 0x800, 11, + gTrainerFrontPic_AquaAdminF, 0x800, 12, + gTrainerFrontPic_AquaLeaderArchie, 0x800, 13, + gTrainerFrontPic_HexManiac, 0x800, 14, + gTrainerFrontPic_AromaLady, 0x800, 15, + gTrainerFrontPic_RuinManiac, 0x800, 16, + gTrainerFrontPic_Interviewer, 0x800, 17, + gTrainerFrontPic_TuberF, 0x800, 18, + gTrainerFrontPic_TuberM, 0x800, 19, + gTrainerFrontPic_CoolTrainerF, 0x800, 20, + gTrainerFrontPic_Lady, 0x800, 21, + gTrainerFrontPic_Beauty, 0x800, 22, + gTrainerFrontPic_RichBoy, 0x800, 23, + gTrainerFrontPic_ExpertF, 0x800, 24, + gTrainerFrontPic_Pokemaniac, 0x800, 25, + gTrainerFrontPic_MagmaGruntF, 0x800, 26, + gTrainerFrontPic_Guitarist, 0x800, 27, + gTrainerFrontPic_Kindler, 0x800, 28, + gTrainerFrontPic_Camper, 0x800, 29, + gTrainerFrontPic_Picnicker, 0x800, 30, + gTrainerFrontPic_BugManiac, 0x800, 31, + gTrainerFrontPic_PokemonBreederM, 0x800, 32, + gTrainerFrontPic_PsychicM, 0x800, 33, + gTrainerFrontPic_PsychicF, 0x800, 34, + gTrainerFrontPic_Gentleman, 0x800, 35, + gTrainerFrontPic_EliteFourSidney, 0x800, 36, + gTrainerFrontPic_EliteFourPhoebe, 0x800, 37, + gTrainerFrontPic_EliteFourGlacia, 0x800, 38, + gTrainerFrontPic_EliteFourDrake, 0x800, 39, + gTrainerFrontPic_LeaderRoxanne, 0x800, 40, + gTrainerFrontPic_LeaderBrawly, 0x800, 41, + gTrainerFrontPic_LeaderWattson, 0x800, 42, + gTrainerFrontPic_LeaderFlannery, 0x800, 43, + gTrainerFrontPic_LeaderNorman, 0x800, 44, + gTrainerFrontPic_LeaderWinona, 0x800, 45, + gTrainerFrontPic_LeaderTateAndLiza, 0x800, 46, + gTrainerFrontPic_LeaderJuan, 0x800, 47, + gTrainerFrontPic_SchoolKidM, 0x800, 48, + gTrainerFrontPic_SchoolKidF, 0x800, 49, + gTrainerFrontPic_SrAndJr, 0x1000, 50, + gTrainerFrontPic_WinstrateM, 0x1000, 51, + gTrainerFrontPic_WinstrateF, 0x800, 52, + gTrainerFrontPic_Youngster, 0x800, 53, + gTrainerFrontPic_ChampionWallace, 0x1000, 54, + gTrainerFrontPic_Fisherman, 0x800, 55, + gTrainerFrontPic_CyclingTriathleteM, 0x1000, 56, + gTrainerFrontPic_CyclingTriathleteF, 0x800, 57, + gTrainerFrontPic_RunningTriathleteM, 0x800, 58, + gTrainerFrontPic_RunningTriathleteF, 0x800, 59, + gTrainerFrontPic_SwimmingTriathleteM, 0x800, 60, + gTrainerFrontPic_SwimmingTriathleteF, 0x800, 61, + gTrainerFrontPic_DragonTamer, 0x800, 62, + gTrainerFrontPic_NinjaBoy, 0x800, 63, + gTrainerFrontPic_BattleGirl, 0x1000, 64, + gTrainerFrontPic_ParasolLady, 0x800, 65, + gTrainerFrontPic_SwimmerF, 0x800, 66, + gTrainerFrontPic_Twins, 0x800, 67, + gTrainerFrontPic_Sailor, 0x800, 68, + gTrainerFrontPic_MagmaAdmin, 0x800, 69, + gTrainerFrontPic_Wally, 0x800, 70, + gTrainerFrontPic_Brendan, 0x800, 71, + gTrainerFrontPic_May, 0x800, 72, + gTrainerFrontPic_BugCatcher, 0x800, 73, + gTrainerFrontPic_PokemonRangerM, 0x800, 74, + gTrainerFrontPic_PokemonRangerF, 0x800, 75, + gTrainerFrontPic_MagmaLeaderMaxie, 0x800, 76, + gTrainerFrontPic_Lass, 0x800, 77, + gTrainerFrontPic_YoungCouple, 0x800, 78, + gTrainerFrontPic_OldCouple, 0x800, 79, + gTrainerFrontPic_SisAndBro, 0x800, 80, + gTrainerFrontPic_Steven, 0x800, 81, + gTrainerFrontPic_SalonMaidenAnabel, 0x800, 82, + gTrainerFrontPic_DomeAceTucker, 0x800, 83, + gTrainerFrontPic_PalaceMavenSpenser, 0x800, 84, + gTrainerFrontPic_ArenaTycoonGreta, 0x1000, 85, + gTrainerFrontPic_FactoryHeadNoland, 0x800, 86, + gTrainerFrontPic_PikeQueenLucy, 0x800, 87, + gTrainerFrontPic_PyramidKingBrandon, 0x800, 88, + gTrainerFrontPic_Red, 0x800, 89, + gTrainerFrontPic_Leaf, 0x800, 90, + gTrainerFrontPic_RubySapphireBrendan, 0x800, 91, + gTrainerFrontPic_RubySapphireMay, 0x800, 92, +}; + +const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] = +{ + gTrainerPalette_Hiker, 0, + gTrainerPalette_AquaGruntM, 1, + gTrainerPalette_PokemonBreederF, 2, + gTrainerPalette_CoolTrainerM, 3, + gTrainerPalette_BirdKeeper, 4, + gTrainerPalette_Collector, 5, + gTrainerPalette_AquaGruntF, 6, + gTrainerPalette_SwimmerM, 7, + gTrainerPalette_MagmaGruntM, 8, + gTrainerPalette_ExpertM, 9, + gTrainerPalette_AquaAdminM, 10, + gTrainerPalette_BlackBelt, 11, + gTrainerPalette_AquaAdminF, 12, + gTrainerPalette_AquaLeaderArchie, 13, + gTrainerPalette_HexManiac, 14, + gTrainerPalette_AromaLady, 15, + gTrainerPalette_RuinManiac, 16, + gTrainerPalette_Interviewer, 17, + gTrainerPalette_TuberF, 18, + gTrainerPalette_TuberM, 19, + gTrainerPalette_CoolTrainerF, 20, + gTrainerPalette_Lady, 21, + gTrainerPalette_Beauty, 22, + gTrainerPalette_RichBoy, 23, + gTrainerPalette_ExpertF, 24, + gTrainerPalette_Pokemaniac, 25, + gTrainerPalette_MagmaGruntF, 26, + gTrainerPalette_Guitarist, 27, + gTrainerPalette_Kindler, 28, + gTrainerPalette_Camper, 29, + gTrainerPalette_Picnicker, 30, + gTrainerPalette_BugManiac, 31, + gTrainerPalette_PokemonBreederM, 32, + gTrainerPalette_PsychicM, 33, + gTrainerPalette_PsychicF, 34, + gTrainerPalette_Gentleman, 35, + gTrainerPalette_EliteFourSidney, 36, + gTrainerPalette_EliteFourPhoebe, 37, + gTrainerPalette_EliteFourGlacia, 38, + gTrainerPalette_EliteFourDrake, 39, + gTrainerPalette_LeaderRoxanne, 40, + gTrainerPalette_LeaderBrawly, 41, + gTrainerPalette_LeaderWattson, 42, + gTrainerPalette_LeaderFlannery, 43, + gTrainerPalette_LeaderNorman, 44, + gTrainerPalette_LeaderWinona, 45, + gTrainerPalette_LeaderTateAndLiza, 46, + gTrainerPalette_LeaderJuan, 47, + gTrainerPalette_SchoolKidM, 48, + gTrainerPalette_SchoolKidF, 49, + gTrainerPalette_SrAndJr, 50, + gTrainerPalette_WinstrateM, 51, + gTrainerPalette_WinstrateF, 52, + gTrainerPalette_Youngster, 53, + gTrainerPalette_ChampionWallace, 54, + gTrainerPalette_Fisherman, 55, + gTrainerPalette_CyclingTriathleteM, 56, + gTrainerPalette_CyclingTriathleteF, 57, + gTrainerPalette_RunningTriathleteM, 58, + gTrainerPalette_RunningTriathleteF, 59, + gTrainerPalette_SwimmingTriathleteM, 60, + gTrainerPalette_SwimmingTriathleteF, 61, + gTrainerPalette_DragonTamer, 62, + gTrainerPalette_NinjaBoy, 63, + gTrainerPalette_BattleGirl, 64, + gTrainerPalette_ParasolLady, 65, + gTrainerPalette_SwimmerF, 66, + gTrainerPalette_Twins, 67, + gTrainerPalette_Sailor, 68, + gTrainerPalette_MagmaAdmin, 69, + gTrainerPalette_Wally, 70, + gTrainerPalette_Brendan, 71, + gTrainerPalette_May, 72, + gTrainerPalette_BugCatcher, 73, + gTrainerPalette_PokemonRangerM, 74, + gTrainerPalette_PokemonRangerF, 75, + gTrainerPalette_MagmaLeaderMaxie, 76, + gTrainerPalette_Lass, 77, + gTrainerPalette_YoungCouple, 78, + gTrainerPalette_OldCouple, 79, + gTrainerPalette_SisAndBro, 80, + gTrainerPalette_Steven, 81, + gTrainerPalette_SalonMaidenAnabel, 82, + gTrainerPalette_DomeAceTucker, 83, + gTrainerPalette_PalaceMavenSpenser, 84, + gTrainerPalette_ArenaTycoonGreta, 85, + gTrainerPalette_FactoryHeadNoland, 86, + gTrainerPalette_PikeQueenLucy, 87, + gTrainerPalette_PyramidKingBrandon, 88, + gTrainerPalette_Red, 89, + gTrainerPalette_Leaf, 90, + gTrainerPalette_RubySapphireBrendan, 91, + gTrainerPalette_RubySapphireMay, 92, +}; diff --git a/src/data2b.c b/src/data2b.c new file mode 100644 index 000000000..e7ca473a9 --- /dev/null +++ b/src/data2b.c @@ -0,0 +1,132 @@ +#include "global.h" +#include "graphics.h" + +extern const union AnimCmd gAnimCmd_General_Frame0[]; +extern const union AnimCmd AnimCmd_82FF540[]; + +#include "data/pokemon_graphics/back_pic_table.h" +#include "data/pokemon_graphics/palette_table.h" +#include "data/pokemon_graphics/shiny_palette_table.h" + +#include "data/trainer_graphics/front_pic_anims.h" +#include "data/trainer_graphics/front_pic_tables.h" +#include "data/trainer_graphics/back_pic_anims.h" +#include "data/trainer_graphics/back_pic_tables.h" + +#include "data/pokemon_graphics/enemy_mon_elevation.h" +#include "data/pokemon_graphics/front_anims.h" +#include "data/pokemon_graphics/front_pic_table.h" + +const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c +{ + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000886, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000886, 0x00000888, + 0x00000888, 0x00000888, 0x00000886, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000088, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000888, 0x00000088, 0x00000088, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000886, 0x00000888, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000088, 0x00000088, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000886, 0x00000888, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000888, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000088, + 0x00000888, 0x00000886, 0x00000886, 0x00000888, + 0x00000886, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000088, 0x00000088, 0x00000888, + 0x00000886, 0x00000888, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000088, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000886, 0x00000888, 0x00000088, 0x00000088, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000088, + 0x00000888, 0x00000888, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00001882, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000886, 0x00000088, 0x00000886, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000886, 0x00000886, 0x00000088, + 0x00000886, 0x00000088, 0x00000886, 0x00000886, + 0x00000886, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000886, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, +}; diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 6f33b2c9b..c6cb0741d 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -63,32 +63,24 @@ s16 GetTruckBoxMovement(int a1) // for the box movement? return 0; } -// smh STILL BROKEN IN EMERALD void Task_Truck1(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 cameraYpan; - s16 box1 = 0; - s16 box2 = 0; - s16 box3 = 0; - u8 mapNum, mapGroup; - register s16 zero asm("r4"); + s16 cameraXpan = 0, cameraYpan = 0; + s16 box1, box2, box3; box1 = GetTruckBoxMovement(data[0] + 30) * 4; // top box. - sub_808E82C(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 3, box1 + 3); + sub_808E82C(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 3 - cameraXpan, box1 + 3); box2 = GetTruckBoxMovement(data[0]) * 2; // bottom left box. - sub_808E82C(2, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 0, box2 - 3); + sub_808E82C(2, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, -cameraXpan, box2 - 3); box3 = GetTruckBoxMovement(data[0]) * 4; // bottom right box. - mapNum = gSaveBlock1Ptr->location.mapNum; - mapGroup = gSaveBlock1Ptr->location.mapGroup; - zero = 0; - sub_808E82C(3, mapNum, mapGroup, -3, box3); + sub_808E82C(3, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, -3 - cameraXpan, box3); if (++data[0] == SECONDS(500)) // this will never run - data[0] = zero; // reset the timer if it gets stuck. + data[0] = 0; // reset the timer if it gets stuck. cameraYpan = GetTruckCameraBobbingY(data[0]); - SetCameraPanning(0, cameraYpan); + SetCameraPanning(cameraXpan, cameraYpan); } void Task_Truck2(u8 taskId) diff --git a/src/pokemon.c b/src/pokemon.c index 585071254..3aa88e991 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -89,7 +89,7 @@ extern u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerOpponentId); extern u8 sub_81D63C8(u16 trainerOpponentId); extern u8 GetFrontierOpponentClass(u16 trainerId); extern void GetFrontierTrainerName(u8* dest, u16 trainerId); -extern void sub_81C488C(u8); +extern void SummaryScreen_SetUnknownTaskId(u8); // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); @@ -6967,7 +6967,7 @@ static void Task_PokemonSummaryAnimateAfterDelay(u8 taskId) if (--gTasks[taskId].data[3] == 0) { StartMonSummaryAnimation(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]); - sub_81C488C(0xFF); + SummaryScreen_SetUnknownTaskId(0xFF); DestroyTask(taskId); } } @@ -7034,7 +7034,7 @@ void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneF STORE_PTR_IN_TASK(sprite, taskId, 0); gTasks[taskId].data[2] = sMonFrontAnimIdsTable[species - 1]; gTasks[taskId].data[3] = sMonAnimationDelayTable[species - 1]; - sub_81C488C(taskId); + SummaryScreen_SetUnknownTaskId(taskId); SetSpriteCB_MonAnimDummy(sprite); } else diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7e20a2a92..1afbaab7a 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1,402 +1,769 @@ #include "global.h" +#include "main.h" #include "battle.h" +#include "battle_anim.h" +#include "battle_frontier_2.h" +#include "battle_message.h" +#include "battle_tent.h" #include "bg.h" +#include "contest.h" +#include "contest_effect.h" +#include "data2.h" +#include "daycare.h" #include "decompress.h" +#include "dynamic_placeholder_text_util.h" +#include "event_data.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "international_string_util.h" #include "item.h" -#include "constants/items.h" #include "link.h" #include "m4a.h" -#include "main.h" #include "malloc.h" -#include "constants/moves.h" +#include "menu.h" +#include "menu_helpers.h" +#include "mon_markings.h" +#include "party_menu.h" #include "palette.h" +#include "pokeball.h" #include "pokemon.h" -#include "constants/songs.h" +#include "pokemon_storage_system.h" +#include "pokemon_summary_screen.h" +#include "region_map.h" +#include "scanline_effect.h" #include "sound.h" -#include "constants/species.h" #include "sprite.h" -#include "dynamic_placeholder_text_util.h" #include "string_util.h" +#include "strings.h" #include "task.h" #include "text.h" +#include "tv.h" #include "window.h" -#include "event_data.h" -#include "gpu_regs.h" -#include "menu.h" -#include "international_string_util.h" -#include "scanline_effect.h" -#include "menu_helpers.h" -#include "daycare.h" -#include "data2.h" -#include "contest.h" -#include "contest_effect.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/region_map_sections.h" +#include "constants/songs.h" +#include "constants/species.h" -extern struct UnkSummaryStruct* gUnknown_0203CF1C; -extern struct BgTemplate gUnknown_0861CBB4; -extern u8 gUnknown_0203CF20; -extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern s8 gUnknown_0861CC1C[]; -extern u8 gUnknown_0203CF21; -extern struct UnkStruct_61CC04 gUnknown_0861CC04; -extern struct UnkStruct_61CC04 gUnknown_0861CC10; -extern struct UnkStruct_61CC04 gUnknown_0861CBEC; -extern struct UnkStruct_61CC04 gUnknown_0861CBF8; -extern u16 gSummaryScreenWindow_Tilemap[]; -extern struct ContestEffect gContestEffects[]; -extern struct WindowTemplate gUnknown_0861CC24; -extern u8 gUnknown_0861CD2C[][3]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern u8 gText_MaleSymbol[]; -extern u8 gText_FemaleSymbol[]; -extern u8 gUnknown_0861CDD3[]; -extern void (*const gUnknown_0861CE54[])(); -extern void (*const gUnknown_0861CE64[])(u8 taskId); -extern struct WindowTemplate gUnknown_0861CCCC; -extern u8 gUnknown_0861CE74[]; -extern u8 gUnknown_0861CE7B[]; -extern struct WindowTemplate gUnknown_0861CCEC; -extern struct WindowTemplate gUnknown_0861CD14; -extern const u8 *const gContestEffectDescriptionPointers[]; - -void sub_81C488C(u8 a); -extern u8 sub_81221EC(); -extern u8 sub_81221AC(); -extern u8 gUnknown_08D9862C; -extern u8 gUnknown_08D98CC8; -extern u8 gUnknown_08D987FC; -extern u8 gUnknown_08D9898C; -extern u8 gUnknown_08D98B28; -extern u8 gUnknown_08D9853C; -extern u8 gUnknown_08D85620; -extern struct CompressedSpriteSheet gUnknown_0861CFBC; -extern struct CompressedSpriteSheet gUnknown_0861D074; -extern struct CompressedSpriteSheet gUnknown_0861D0F8; -extern struct CompressedSpritePalette gUnknown_0861D100; -extern struct CompressedSpritePalette gUnknown_0861D07C; -extern u8 gMoveTypes_Pal; -extern u8 gUnknown_08D97D0C; -extern void sub_81C1E20(u8 taskId); -extern u8 *GetMonNickname(struct Pokemon *mon, u8 *dest); -extern u16 SpeciesToPokedexNum(u16 species); -extern u8 gText_UnkCtrlF908Clear01[]; -extern u8 gText_LevelSymbol[]; -extern u8 gText_PkmnInfo[]; -extern u8 gText_PkmnSkills[]; -extern u8 gText_BattleMoves[]; -extern u8 gText_ContestMoves[]; -extern u8 gText_HMMovesCantBeForgotten2[]; -extern u8 gText_Cancel2[]; -extern u8 gText_Info[]; -extern u8 gText_Switch[]; -extern u8 gText_RentalPkmn[]; -extern u8 gText_TypeSlash[]; -extern u8 gText_HP4[]; -extern u8 gText_Attack3[]; -extern u8 gText_Defense3[]; -extern u8 gText_SpAtk4[]; -extern u8 gText_SpDef4[]; -extern u8 gText_Speed2[]; -extern u8 gText_ExpPoints[]; -extern u8 gText_NextLv[]; -extern u8 gText_Status[]; -extern u8 gText_Power[]; -extern u8 gText_Accuracy2[]; -extern u8 gText_Appeal[]; -extern u8 gText_Jam[]; -extern u8 gText_OTSlash[]; -extern u8 gText_UnkCtrlF907F908[]; -extern u8 gText_XNature[]; -extern u8 gText_XNatureHatchedAtYZ[]; -extern u8 gText_XNatureHatchedSomewhereAt[]; -extern u8 gText_XNatureMetAtYZ[]; -extern u8 gText_XNatureMetSomewhereAt[]; -extern u8 gText_XNatureFatefulEncounter[]; -extern u8 gText_XNatureProbablyMetAt[]; -extern u8 gText_XNatureObtainedInTrade[]; -extern u8 *gNatureNamePointers[]; -extern u8 gText_EmptyString5[]; -extern u32 gBattleTypeFlags; -extern u8 gText_FiveMarks[]; -extern u8 gText_EggWillTakeALongTime[]; -extern u8 gText_EggAboutToHatch[]; -extern u8 gText_EggWillHatchSoon[]; -extern u8 gText_EggWillTakeSomeTime[]; -extern u8 gText_PeculiarEggNicePlace[]; -extern u8 gText_PeculiarEggTrade[]; -extern u8 gText_EggFromTraveler[]; -extern u8 gText_EggFromHotSprings[]; -extern u8 gText_OddEggFoundByCouple[]; -extern u8 gText_None[]; -extern u8 gText_RibbonsVar1[]; -extern u8 gUnknown_0861CE82[]; -extern u8 gUnknown_0861CE8E[]; -extern u8 gText_OneDash[]; -extern u8 gText_TwoDashes[]; -extern u8 gText_ThreeDashes[]; -extern u8 gText_Cancel[]; -extern u8 gUnknown_0861CE97[]; -extern const struct SpriteTemplate gUnknown_0861CFC4; - -extern void sub_8199C30(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f); -extern bool8 sub_81A6BF4(); -extern bool8 sub_81B9E94(); -extern void DynamicPlaceholderTextUtil_Reset(); -extern void sub_8124610(u8 *a, u8 b); -extern int GetPlayerIDAsU32(); -extern u8 GetCurrentPpToMaxPpState(u8 a, u8 b); - -void sub_81BFAE4(void); -void sub_81BFE24(); -u8 sub_81BFEB0(); -void sub_81C2554(); -void sub_81C1BA0(); -void sub_81C0098(struct Pokemon* a); -bool8 sub_81C00F0(struct Pokemon* a); -void sub_81C25E8(); -void sub_81C286C(); -void sub_81C2D9C(u8 a); -void sub_81C0348(); -void sub_81C2AFC(u8 a); -void sub_81C4190(); -void sub_81C42C8(); -u8 sub_81C45F4(void* a, u16* b); -void sub_81C4984(); -void sub_81C4A08(); -void sub_81C4A88(); -void sub_81C4280(); -void sub_81C43A0(); -void sub_81C4484(); -void sub_81C4420(); -void sub_81C0510(u8 taskId); -void sub_81C171C(u8 taskId); -void ResetAllBgsCoordinates(); -u8 sub_81B205C(struct Pokemon* a); -void sub_81C1DA4(u16 a, s16 b); -void sub_81C1EFC(u16 a, s16 b, u16 c); -void sub_81C240C(u16 a); -void sub_81C2194(u16 *a, u16 b, u8 c); -void sub_81C2074(u16 a, s16 b); -void sub_81C2524(); -void sub_81C2228(struct Pokemon* mon); -void sub_81C0484(u8 taskId); -void sub_81C4898(); -void sub_806F47C(u8 a); -u8 GetLRKeysState(); -void sub_81C0604(u8 taskId, s8 a); -void sub_81C0A8C(u8 taskId, s8 a); -void sub_81C48F0(); -void sub_81C0E48(u8 taskId); -void sub_81C0704(u8 taskId); -s8 sub_81C09B4(s8 a); -s8 sub_81C08F8(s8 a); -void sub_81C4204(u8 a, u8 b); -void sub_81C20F0(u8 taskId); -bool8 sub_81C0A50(struct Pokemon* mon); -void sub_81C49E0(); -void sub_81C0E24(); -void sub_81C2C38(u8 a); -void sub_81C0B8C(u8 taskId); -void sub_81C0CC4(u8 taskId); -void sub_81C2DE4(u8 a); -void sub_81C424C(); -void sub_81C0C68(u8 taskId); -void sub_81C0D44(u8 taskId); -void sub_81C22CC(struct Pokemon* mon); -void sub_81C0F44(u8 taskId); -void sub_81C3E9C(u16 a); -void sub_81C3F44(); -void sub_81C44F0(); -void sub_81C4AF8(u8 a); -void sub_81C1070(s16* a, s8 b, u8* c); -void sub_81C11F4(u8 a); -void sub_81C129C(u8 a); -bool8 sub_81C1040(); -void sub_81C4064(); -void sub_81C4C60(u8 a); -void sub_81C12E4(u8 taskId); -void sub_81C4C84(u8 a); -void sub_81C13B0(u8 a, u8 b); -void sub_81C14BC(struct Pokemon *mon, u8 a, u8 b); -void sub_81C15EC(struct BoxPokemon *mon, u8 a, u8 b); -void sub_81C40A0(u8 a, u8 b); -void sub_81C4568(u8 a, u8 b); -void sub_81C174C(u8 taskId); -bool8 sub_81C18A8(); -void sub_81C18F4(u8 a); -u8 sub_81B6D14(u16 a); -void sub_81C1940(u8 taskId); -void sub_81C4154(); -void sub_81C1F80(u8 taskId); -void sub_81C2628(); -void sub_81C2794(); -void sub_81C27DC(struct Pokemon *mon, u16 a); -void sub_81C2D68(u8 a); -void sub_81C335C(); -void sub_81C33CC(); -void sub_81C3428(); -void sub_81C349C(); -void sub_81C2EC4(); -void sub_81C2F5C(); -void sub_81C2FD8(); -void sub_81C302C(); -void sub_81C307C(); -void sub_81C3194(); -void sub_81C31C0(); -bool8 sub_81C3304(); -void sub_81C31F0(u8 *a); -u8 sub_81C3220(); -bool8 sub_81C32BC(); -void sub_81C35E4(); -void sub_81C3690(); -void sub_81C3710(); -void sub_81C37D8(); -void sub_81C3808(); -void sub_81C3890(); -void sub_81C38C0(); -void sub_81C3B08(u8 a); -void sub_81C3E2C(u8 a); -void sub_81C4D18(); - -void SetBgAttribute(u8 bg, u8 attributeId, u8 value); - -bool8 sub_81BFB10(); -u8 sub_81B1250(); - -union UnkUnion -{ - struct Pokemon mon[6]; - struct BoxPokemon boxMon[6]; -}; - - -u8 sub_80D214C(union UnkUnion* a, u8 b, u8 c, u8 d); - -struct PokeSummary -{ - u16 species; // 0x0 - u16 species2; // 0x2 - u8 isEgg; // 0x4 - u8 level; // 0x5 - u8 ribbons; // 0x6 - u8 unk7; // 0x7 - u8 altAbility; // 0x8 - u8 metLocation; // 0x9 - u8 metLevel; // 0xA - u8 metGame; // 0xB - u32 pid; // 0xC - u32 exp; // 0x10 - u16 moves[4]; // 0x14 - u8 pp[4]; // 0x1C - u16 currentHP; // 0x20 - u16 maxHP; // 0x22 - u16 atk; // 0x24 - u16 def; // 0x26 - u16 spatk; // 0x28 - u16 spdef; // 0x2A - u16 speed; // 0x2C - u16 item; // 0x2E - u16 friendship; // 0x30 - u8 OTGender; // 0x32 - u8 nature; // 0x33 - u8 ppBonuses; // 0x34 - u8 sanity; // 0x35 - u8 OTName[8]; // 0x36 - u8 unk3E[9]; // 0x3E - u32 OTID; // 0x48 -}; - -struct UnkSummaryStruct -{ - /*0x00*/ union UnkUnion *unk0; - /*0x04*/ void *unk4; - /*0x08*/ void *unk8; +static EWRAM_DATA struct UnkSummaryStruct +{ + /*0x00*/ union { + struct Pokemon *mons; + struct BoxPokemon *boxMons; + } monList; + /*0x04*/ MainCallback callback; + /*0x08*/ struct Sprite *markingsSprite; /*0x0C*/ struct Pokemon currentMon; - /*0x70*/ struct PokeSummary summary; - u16 unkTilemap0[0x400]; - u16 unkTilemap0_1[0x400]; - u16 unkTilemap1[0x400]; - u16 unkTilemap1_1[0x400]; - u16 unkTilemap2[0x400]; - u16 unkTilemap2_1[0x400]; - u16 unkTilemap3[0x400]; - u16 unkTilemap3_1[0x400]; - u8 unk40BC; - u8 unk40BD; - u8 unk40BE; - u8 unk40BF; - u8 unk40C0; - u8 unk40C1; - u8 unk40C2; - u8 unk40C3; - u16 unk40C4; - u8 unk40C6; - u8 unk40C7; - u8 unk40C8; + /*0x70*/ struct PokeSummary + { + u16 species; // 0x0 + u16 species2; // 0x2 + u8 isEgg; // 0x4 + u8 level; // 0x5 + u8 ribbonCount; // 0x6 + u8 unk7; // 0x7 + u8 altAbility; // 0x8 + u8 metLocation; // 0x9 + u8 metLevel; // 0xA + u8 metGame; // 0xB + u32 pid; // 0xC + u32 exp; // 0x10 + u16 moves[4]; // 0x14 + u8 pp[4]; // 0x1C + u16 currentHP; // 0x20 + u16 maxHP; // 0x22 + u16 atk; // 0x24 + u16 def; // 0x26 + u16 spatk; // 0x28 + u16 spdef; // 0x2A + u16 speed; // 0x2C + u16 item; // 0x2E + u16 friendship; // 0x30 + u8 OTGender; // 0x32 + u8 nature; // 0x33 + u8 ppBonuses; // 0x34 + u8 sanity; // 0x35 + u8 OTName[8]; // 0x36 + u8 unk3E[9]; // 0x3E + u32 OTID; // 0x48 + } summary; + u16 bgTilemapBuffers[4][2][0x400]; + u8 mode; + bool8 isBoxMon; + u8 curMonIndex; + u8 maxMonIndex; + u8 currPageIndex; + u8 minPageIndex; + u8 maxPageIndex; + bool8 unk40C3; + u16 newMove; + u8 firstMoveIndex; + u8 secondMoveIndex; + bool8 unk40C8; u8 unk40C9; - u8 unk40CA; - u8 unk40CB[8]; - u8 unk40D3[0x1C]; - u8 unk40EF; + u8 filler40CA; + u8 windowIds[8]; + u8 spriteIds[28]; + bool8 unk40EF; s16 unk40F0; u8 unk_filler4[6]; +} *pssData = NULL; +EWRAM_DATA u8 gUnknown_0203CF20 = 0; +static EWRAM_DATA u8 gUnknown_0203CF21 = 0; +static EWRAM_DATA u8 gFiller_0203CF22[2] = {0}; +static EWRAM_DATA u8 sUnknownTaskId = 0; +static EWRAM_DATA u8 gFiller_0203CF25[3] = {0}; + +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; + +struct UnkStruct_61CC04 +{ + const u16 *ptr; + u16 field_4; + u8 field_6; + u8 field_7; + u8 field_8; + u8 field_9; }; +// forward declarations +bool8 sub_81B1250(void); +static bool8 SummaryScreen_LoadGraphics(void); +static void SummaryScreen_LoadingCB2(void); +static void InitBGs(void); +static bool8 SummaryScreen_DecompressGraphics(void); +static void CopyMonToSummaryStruct(struct Pokemon* a); +static bool8 ExtractMonDataToSummaryStruct(struct Pokemon* a); +static void sub_81C0348(void); +static void sub_81C0484(u8 taskId); +static void sub_81C0510(u8 taskId); +static void sub_81C0604(u8 taskId, s8 a); +static void sub_81C0704(u8 taskId); +static s8 sub_81C08F8(s8 a); +static s8 sub_81C09B4(s8 a); +static bool8 sub_81C0A50(struct Pokemon* mon); +static void sub_81C0A8C(u8 taskId, s8 a); +static void sub_81C0B8C(u8 taskId); +static void sub_81C0C68(u8 taskId); +static void sub_81C0CC4(u8 taskId); +static void sub_81C0D44(u8 taskId); +static void sub_81C0E24(void); +static void sub_81C0E48(u8 taskId); +static void sub_81C0F44(u8 taskId); +static bool8 sub_81C1040(void); +static void sub_81C1070(s16* a, s8 b, u8* c); +static void sub_81C11F4(u8 a); +static void sub_81C129C(u8 a); +static void sub_81C12E4(u8 taskId); +static void sub_81C13B0(u8 taskId, bool8 b); +static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2); +static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2); +static void sub_81C171C(u8 taskId); +static void sub_81C174C(u8 taskId); +static bool8 sub_81C18A8(void); +static void sub_81C18F4(u8 a); +static void sub_81C1940(u8 taskId); +static void sub_81C1BA0(void); +static void sub_81C1DA4(u16 a, s16 b); +static void sub_81C1E20(u8 taskId); +static void sub_81C1EFC(u16 a, s16 b, u16 c); +static void sub_81C1F80(u8 taskId); +static void sub_81C2074(u16 a, s16 b); +static void sub_81C20F0(u8 taskId); +static void sub_81C2194(u16 *a, u16 b, u8 c); +static void sub_81C2228(struct Pokemon* mon); +static void sub_81C22CC(struct Pokemon* mon); +static void sub_81C240C(u16 a); +static void sub_81C2524(void); +static void sub_81C2554(void); +static void sub_81C25E8(void); +static void sub_81C2628(void); +static void sub_81C2794(void); +static void sub_81C27DC(struct Pokemon *mon, u16 a); +static void PrintPageNamesAndStatsPageToWindows(void); +static void sub_81C2AFC(u8 a); +static void sub_81C2C38(u8 a); +static void SummaryScreen_RemoveWindowByIndex(u8 a); +static void sub_81C2D9C(u8 a); +static void sub_81C2DE4(u8 a); +static void sub_81C2E00(void); +static void sub_81C2E40(u8 taskId); +static void PrintMonOTName(void); +static void PrintMonOTID(void); +static void PrintMonAbilityName(void); +static void PrintMonAbilityDescription(void); +static void BufferMonTrainerMemo(void); +static void PrintMonTrainerMemo(void); +static void BufferNatureString(void); +static void GetMetLevelString(u8 *a); +static bool8 DoesMonOTMatchOwner(void); +static bool8 DidMonComeFromGBAGames(void); +static bool8 IsInGamePartnerMon(void); +static void PrintEggOTName(void); +static void PrintEggOTID(void); +static void PrintEggState(void); +static void PrintEggMemo(void); +static void sub_81C3554(u8 taskId); +static void PrintHeldItemName(void); +static void sub_81C3530(void); +static void PrintRibbonCount(void); +static void BufferLeftColumnStats(void); +static void PrintLeftColumnStats(void); +static void BufferRightColumnStats(void); +static void PrintRightColumnStats(void); +static void PrintExpPointsNextLevel(void); +static void sub_81C3984(void); +static void sub_81C39F0(u8 taskId); +static void PrintMoveNameAndPP(u8 a); +static void sub_81C3D08(void); +static void sub_81C3D54(u8 taskId); +static void PrintContestMoveDescription(u8 a); +static void PrintMoveDetails(u16 a); +static void PrintNewMoveDetailsOrCancelText(void); +static void sub_81C4064(void); +static void sub_81C40A0(u8 a, u8 b); +static void PrintHMMovesCantBeForgotten(void); +static void sub_81C4190(void); +static void sub_81C4204(u8 a, u8 b); +static void sub_81C424C(void); +static void sub_81C4280(void); +static void sub_81C42C8(void); +static void sub_81C43A0(void); +static void sub_81C4420(void); +static void sub_81C4484(void); +static void sub_81C44F0(void); +static void sub_81C4568(u8 a, u8 b); +static u8 sub_81C45F4(struct Pokemon *a, s16 *b); +static u8 sub_81C47B4(struct Pokemon *unused); +static void sub_81C4844(struct Sprite *); +void SummaryScreen_SetUnknownTaskId(u8 a); +void SummaryScreen_DestroyUnknownTask(void); +static void sub_81C48F0(void); +static void CreateMonMarkingsSprite(struct Pokemon *mon); +static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon); +static void CreateCaughtBallSprite(struct Pokemon *mon); +static void CreateSetStatusSprite(void); +static void sub_81C4AF8(u8 a); +static void sub_81C4BE4(struct Sprite *sprite); +static void sub_81C4C60(u8 a); +static void sub_81C4C84(u8 a); +static void sub_81C4D18(u8 a); + // const rom data #include "data/text/move_descriptions.h" +#include "data/text/nature_names.h" + +static const struct BgTemplate gUnknown_0861CBB4[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 27, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 25, + .screenSize = 1, + .paletteMode = 0, + .priority = 2, + .baseTile = 0, + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .screenSize = 1, + .paletteMode = 0, + .priority = 3, + .baseTile = 0, + }, +}; + +static const u16 gUnknown_0861CBC4[] = INCBIN_U16("graphics/interface/unk_tilemap2.bin"); +static const struct UnkStruct_61CC04 gUnknown_0861CBEC = +{ + gUnknown_0861CBC4, 1, 10, 2, 0, 18 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CBF8 = +{ + gUnknown_0861CBC4, 1, 10, 2, 0, 50 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CC04 = +{ + gSummaryScreenPowAcc_Tilemap, 0, 10, 7, 0, 45 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CC10 = +{ + gUnknown_08DC3C34, 0, 10, 7, 0, 45 +}; +static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5}; +static const struct WindowTemplate gUnknown_0861CC24[] = +{ + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0001 }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0017 }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x002d }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0043 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0059 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0069 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0079 }, + { 0x00, 0x0b, 0x04, 0x00, 0x02, 0x06, 0x0089 }, + { 0x00, 0x0b, 0x04, 0x12, 0x02, 0x06, 0x0089 }, + { 0x00, 0x0b, 0x06, 0x12, 0x02, 0x06, 0x00ad }, + { 0x00, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x00d1 }, + { 0x00, 0x16, 0x07, 0x05, 0x06, 0x06, 0x00f5 }, + { 0x00, 0x0a, 0x0e, 0x0b, 0x04, 0x06, 0x0113 }, + { 0x00, 0x00, 0x12, 0x06, 0x02, 0x06, 0x013f }, + { 0x00, 0x01, 0x0f, 0x09, 0x04, 0x06, 0x014b }, + { 0x00, 0x01, 0x0f, 0x05, 0x04, 0x06, 0x016f }, + { 0x00, 0x16, 0x04, 0x00, 0x02, 0x06, 0x0183 }, + { 0x00, 0x01, 0x02, 0x04, 0x02, 0x07, 0x0183 }, + { 0x00, 0x01, 0x0c, 0x09, 0x02, 0x06, 0x018b }, + { 0x00, 0x01, 0x0e, 0x09, 0x04, 0x06, 0x019d }, + DUMMY_WIN_TEMPLATE +}; +static const struct WindowTemplate gUnknown_0861CCCC[] = +{ + { 0x00, 0x0b, 0x04, 0x0b, 0x02, 0x06, 0x01c1 }, + { 0x00, 0x16, 0x04, 0x07, 0x02, 0x06, 0x01d7 }, + { 0x00, 0x0b, 0x09, 0x12, 0x04, 0x06, 0x01e5 }, + { 0x00, 0x0b, 0x0e, 0x12, 0x06, 0x06, 0x022d }, +}; +static const struct WindowTemplate gUnknown_0861CCEC[] = +{ + { 0x00, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x01c1 }, + { 0x00, 0x14, 0x04, 0x0a, 0x02, 0x06, 0x01d5 }, + { 0x00, 0x10, 0x07, 0x06, 0x06, 0x06, 0x01e9 }, + { 0x00, 0x1b, 0x07, 0x03, 0x06, 0x06, 0x020d }, + { 0x00, 0x18, 0x0e, 0x06, 0x04, 0x06, 0x021f }, +}; +static const struct WindowTemplate gUnknown_0861CD14[] = +{ + { 0x00, 0x0f, 0x04, 0x09, 0x0a, 0x06, 0x01c1 }, + { 0x00, 0x18, 0x04, 0x06, 0x0a, 0x08, 0x021b }, + { 0x00, 0x0a, 0x0f, 0x14, 0x04, 0x06, 0x0257 }, +}; +static const u8 sTextColors_861CD2C[][3] = +{ + {0, 1, 2}, + {0, 3, 4}, + {0, 5, 6}, + {0, 7, 8}, + {0, 9, 10}, + {0, 11, 12}, + {0, 13, 14}, + {0, 7, 8}, + {13, 15, 14}, + {0, 1, 2}, + {0, 3, 4}, + {0, 5, 6}, + {0, 7, 8} +}; +static const u8 gUnknown_0861CD53[] = INCBIN_U8("graphics/interface/summary_a_button.4bpp"); +static const u8 gUnknown_0861CDD3[] = INCBIN_U8("graphics/interface/summary_b_button.4bpp"); +static void (*const gUnknown_0861CE54[])(void) = +{ + sub_81C2E00, + sub_81C3530, + sub_81C3984, + sub_81C3D08 +}; +static void (*const gUnknown_0861CE64[])(u8 taskId) = +{ + sub_81C2E40, + sub_81C3554, + sub_81C39F0, + sub_81C3D54 +}; +static const u8 gUnknown_0861CE74[] = _("{COLOR LIGHT_RED}{SHADOW GREEN}"); +static const u8 gUnknown_0861CE7B[] = _("{COLOR WHITE}{SHADOW DARK_GREY}"); +static const u8 gUnknown_0861CE82[] = _("{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}\n{SPECIAL_F7 0x03}"); +static const u8 gUnknown_0861CE8E[] = _("{SPECIAL_F7 0x00}\n{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}"); +static const u8 gUnknown_0861CE97[] = _("{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}"); +static const struct OamData gOamData_861CEA0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; +static const union AnimCmd gSpriteAnim_861CEA8[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEB0[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEB8[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEC0[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEC8[] = { + ANIMCMD_FRAME(32, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CED0[] = { + ANIMCMD_FRAME(40, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CED8[] = { + ANIMCMD_FRAME(48, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEE0[] = { + ANIMCMD_FRAME(56, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEE8[] = { + ANIMCMD_FRAME(64, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEF0[] = { + ANIMCMD_FRAME(72, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEF8[] = { + ANIMCMD_FRAME(80, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF00[] = { + ANIMCMD_FRAME(88, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF08[] = { + ANIMCMD_FRAME(96, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF10[] = { + ANIMCMD_FRAME(104, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF18[] = { + ANIMCMD_FRAME(112, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF20[] = { + ANIMCMD_FRAME(120, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF28[] = { + ANIMCMD_FRAME(128, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF30[] = { + ANIMCMD_FRAME(136, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF38[] = { + ANIMCMD_FRAME(144, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF40[] = { + ANIMCMD_FRAME(152, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF48[] = { + ANIMCMD_FRAME(160, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF50[] = { + ANIMCMD_FRAME(168, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF58[] = { + ANIMCMD_FRAME(176, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd *const gSpriteAnimTable_861CF60[] = { + gSpriteAnim_861CEA8, + gSpriteAnim_861CEB0, + gSpriteAnim_861CEB8, + gSpriteAnim_861CEC0, + gSpriteAnim_861CEC8, + gSpriteAnim_861CED0, + gSpriteAnim_861CED8, + gSpriteAnim_861CEE0, + gSpriteAnim_861CEE8, + gSpriteAnim_861CEF0, + gSpriteAnim_861CEF8, + gSpriteAnim_861CF00, + gSpriteAnim_861CF08, + gSpriteAnim_861CF10, + gSpriteAnim_861CF18, + gSpriteAnim_861CF20, + gSpriteAnim_861CF28, + gSpriteAnim_861CF30, + gSpriteAnim_861CF38, + gSpriteAnim_861CF40, + gSpriteAnim_861CF48, + gSpriteAnim_861CF50, + gSpriteAnim_861CF58, +}; +static const struct CompressedSpriteSheet gUnknown_0861CFBC = +{ + .data = gMoveTypes_Gfx, + .size = 0x1700, + .tag = 30002 +}; +static const struct SpriteTemplate gUnknown_0861CFC4 = +{ + .tileTag = 30002, + .paletteTag = 30002, + .oam = &gOamData_861CEA0, + .anims = gSpriteAnimTable_861CF60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +static const u8 gUnknown_0861CFDC[] = {13, 13, 14, 14, 13, 13, 15, 14, 13, 15, 13, 14, 15, 13, 14, 14, 15, 13, 13, 14, 14, 15, 13}; +static const struct OamData gOamData_861CFF4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; +static const union AnimCmd gSpriteAnim_861CFFC[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D004[] = { + ANIMCMD_FRAME(4, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D00C[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D014[] = { + ANIMCMD_FRAME(12, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D01C[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D024[] = { + ANIMCMD_FRAME(16, 0, TRUE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D02C[] = { + ANIMCMD_FRAME(20, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D034[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D03C[] = { + ANIMCMD_FRAME(24, 0, TRUE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D044[] = { + ANIMCMD_FRAME(28, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd *const gSpriteAnimTable_861D04C[] = { + gSpriteAnim_861CFFC, + gSpriteAnim_861D004, + gSpriteAnim_861D00C, + gSpriteAnim_861D014, + gSpriteAnim_861D01C, + gSpriteAnim_861D024, + gSpriteAnim_861D02C, + gSpriteAnim_861D034, + gSpriteAnim_861D03C, + gSpriteAnim_861D044, +}; +static const struct CompressedSpriteSheet gUnknown_0861D074 = +{ + .data = gUnknown_08D97BEC, + .size = 0x400, + .tag = 30000 +}; +static const struct CompressedSpritePalette gUnknown_0861D07C = +{ + .data = gUnknown_08D97CF4, + .tag = 30000 +}; +static const struct SpriteTemplate gUnknown_0861D084 = +{ + .tileTag = 30000, + .paletteTag = 30000, + .oam = &gOamData_861CFF4, + .anims = gSpriteAnimTable_861D04C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +static const struct OamData gOamData_861D09C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0, +}; +static const union AnimCmd gSpriteAnim_861D0A4[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0AC[] = { + ANIMCMD_FRAME(4, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0B4[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0BC[] = { + ANIMCMD_FRAME(12, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0C4[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0CC[] = { + ANIMCMD_FRAME(20, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0D4[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd *const gSpriteAnimTable_861D0DC[] = { + gSpriteAnim_861D0A4, + gSpriteAnim_861D0AC, + gSpriteAnim_861D0B4, + gSpriteAnim_861D0BC, + gSpriteAnim_861D0C4, + gSpriteAnim_861D0CC, + gSpriteAnim_861D0D4, +}; +static const struct CompressedSpriteSheet gUnknown_0861D0F8 = +{ + .data = gStatusGfx_Icons, + .size = 0x380, + .tag = 30001 +}; +static const struct CompressedSpritePalette gUnknown_0861D100 = +{ + .data = gStatusPal_Icons, + .tag = 30001 +}; +static const struct SpriteTemplate gUnknown_0861D108 = +{ + .tileTag = 30001, + .paletteTag = 30001, + .oam = &gOamData_861D09C, + .anims = gSpriteAnimTable_861D0DC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +static const u16 gUnknown_0861D120[] = INCBIN_U16("graphics/interface/summary_markings.gbapal"); // code -void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) -{ - u8 byte; - gUnknown_0203CF1C = AllocZeroed(sizeof(struct UnkSummaryStruct)); - gUnknown_0203CF1C->unk40BC = a; - gUnknown_0203CF1C->unk0 = b; - gUnknown_0203CF1C->unk40BE = c; - gUnknown_0203CF1C->unk40BF = d; - gUnknown_0203CF1C->unk4 = e; - if (a == 2) - gUnknown_0203CF1C->unk40BD = 1; +void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) +{ + pssData = AllocZeroed(sizeof(*pssData)); + pssData->mode = mode; + pssData->monList.mons = mons; + pssData->curMonIndex = monIndex; + pssData->maxMonIndex = maxMonIndex; + pssData->callback = callback; + + if (mode == PSS_MODE_UNK2) + pssData->isBoxMon = TRUE; else - gUnknown_0203CF1C->unk40BD = 0; - switch (a) + pssData->isBoxMon = FALSE; + + switch (mode) { - case 0: - case 2: - gUnknown_0203CF1C->unk40C1 = 0; - gUnknown_0203CF1C->unk40C2 = 3; + case PSS_MODE_NORMAL: + case PSS_MODE_UNK2: + pssData->minPageIndex = 0; + pssData->maxPageIndex = 3; break; - case 1: - gUnknown_0203CF1C->unk40C1 = 0; - gUnknown_0203CF1C->unk40C2 = 3; - gUnknown_0203CF1C->unk40C8 = 1; + case PSS_MODE_UNK1: + pssData->minPageIndex = 0; + pssData->maxPageIndex = 3; + pssData->unk40C8 = TRUE; break; - case 3: - gUnknown_0203CF1C->unk40C1 = 2; - gUnknown_0203CF1C->unk40C2 = 3; - gUnknown_0203CF1C->unk40C3 = 1; + case PSS_MODE_SELECT_MOVE: + pssData->minPageIndex = 2; + pssData->maxPageIndex = 3; + pssData->unk40C3 = TRUE; break; } - byte = gUnknown_0203CF1C->unk40C1; - gUnknown_0203CF1C->unk40C0 = byte; - sub_81C488C(0xFF); + + pssData->currPageIndex = pssData->minPageIndex; + SummaryScreen_SetUnknownTaskId(-1); + if (gMonSpritesGfxPtr == 0) sub_806F2AC(0, 0); - SetMainCallback2(sub_81BFAE4); + + SetMainCallback2(SummaryScreen_LoadingCB2); } -void ShowSelectMovePokemonSummaryScreen(void *a, u8 b, u8 c, void *d, u16 e) +void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove) { - sub_81BF8EC(3, a, b, c, d); - gUnknown_0203CF1C->unk40C4 = e; + ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, mons, monIndex, maxMonIndex, callback); + pssData->newMove = newMove; } -void sub_81BFA80(u8 a, void *b, u8 c, u8 d, void *e) +void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { - sub_81BF8EC(a, b, c, d, e); - gUnknown_0203CF1C->unk40EF = 1; + ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback); + pssData->unk40EF = TRUE; } -void sub_81BFAB4(void) +static void SummaryScreen_MainCB2(void) { RunTasks(); AnimateSprites(); @@ -405,23 +772,19 @@ void sub_81BFAB4(void) UpdatePaletteFade(); } -void sub_81BFAD0(void) +static void SummaryScreen_VBlank(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_81BFAE4() +static void SummaryScreen_LoadingCB2(void) { - while (1) - { - if (sub_81221EC() == 1 || sub_81BFB10() == TRUE || sub_81221AC() == 1) - break; - } + while (sub_81221EC() != TRUE && SummaryScreen_LoadGraphics() != TRUE && sub_81221AC() != TRUE); } -bool8 sub_81BFB10(void) +static bool8 SummaryScreen_LoadGraphics(void) { switch (gMain.state) { @@ -449,12 +812,12 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 5: - sub_81BFE24(); - gUnknown_0203CF1C->unk40F0 = 0; + InitBGs(); + pssData->unk40F0 = 0; gMain.state++; break; case 6: - if (sub_81BFEB0() != 0) + if (SummaryScreen_DecompressGraphics() != FALSE) gMain.state++; break; case 7: @@ -466,12 +829,12 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 9: - sub_81C0098(&gUnknown_0203CF1C->currentMon); - gUnknown_0203CF1C->unk40F0 = 0; + CopyMonToSummaryStruct(&pssData->currentMon); + pssData->unk40F0 = 0; gMain.state++; break; case 10: - if (sub_81C00F0(&gUnknown_0203CF1C->currentMon) != 0) + if (ExtractMonDataToSummaryStruct(&pssData->currentMon) != 0) gMain.state++; break; case 11: @@ -479,11 +842,11 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 12: - sub_81C286C(); + PrintPageNamesAndStatsPageToWindows(); gMain.state++; break; case 13: - sub_81C2D9C(gUnknown_0203CF1C->unk40C0); + sub_81C2D9C(pssData->currPageIndex); gMain.state++; break; case 14: @@ -491,33 +854,33 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 15: - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(pssData->currPageIndex); gMain.state++; break; case 16: sub_81C4190(); sub_81C42C8(); - gUnknown_0203CF1C->unk40F0 = 0; + pssData->unk40F0 = 0; gMain.state++; break; case 17: - gUnknown_0203CF1C->unk40D3[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &gUnknown_0203CF1C->unk40F0); - if (gUnknown_0203CF1C->unk40D3[0] != 0xFF) + pssData->spriteIds[0] = sub_81C45F4(&pssData->currentMon, &pssData->unk40F0); + if (pssData->spriteIds[0] != 0xFF) { - gUnknown_0203CF1C->unk40F0 = 0; + pssData->unk40F0 = 0; gMain.state++; } break; case 18: - sub_81C4984(&gUnknown_0203CF1C->currentMon); + CreateMonMarkingsSprite(&pssData->currentMon); gMain.state++; break; case 19: - sub_81C4A08(&gUnknown_0203CF1C->currentMon); + CreateCaughtBallSprite(&pssData->currentMon); gMain.state++; break; case 20: - sub_81C4A88(); + CreateSetStatusSprite(); gMain.state++; break; case 21: @@ -525,7 +888,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 22: - if (gUnknown_0203CF1C->unk40BC != 3) + if (pssData->mode != PSS_MODE_SELECT_MOVE) CreateTask(sub_81C0510, 0); else CreateTask(sub_81C171C, 0); @@ -541,20 +904,20 @@ bool8 sub_81BFB10(void) gMain.state++; break; default: - SetVBlankCallback(sub_81BFAD0); - SetMainCallback2(sub_81BFAB4); + SetVBlankCallback(SummaryScreen_VBlank); + SetMainCallback2(SummaryScreen_MainCB2); return TRUE; } return FALSE; } -void sub_81BFE24() +static void InitBGs(void) { ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, &gUnknown_0861CBB4, 4); - SetBgTilemapBuffer(1, &gUnknown_0203CF1C->unkTilemap2); - SetBgTilemapBuffer(2, &gUnknown_0203CF1C->unkTilemap1); - SetBgTilemapBuffer(3, &gUnknown_0203CF1C->unkTilemap0); + InitBgsFromTemplates(0, gUnknown_0861CBB4, ARRAY_COUNT(gUnknown_0861CBB4)); + SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); + SetBgTilemapBuffer(3, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -567,90 +930,90 @@ void sub_81BFE24() ShowBg(3); } -u8 sub_81BFEB0() +static bool8 SummaryScreen_DecompressGraphics(void) { - switch (gUnknown_0203CF1C->unk40F0) + switch (pssData->unk40F0) { case 0: reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, &gUnknown_08D97D0C, 0, 0, 0); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 1: if (free_temp_tile_data_buffers_if_possible() != 1) { - LZDecompressWram(&gUnknown_08D9862C, gUnknown_0203CF1C->unkTilemap0); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D9862C, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]); + pssData->unk40F0++; } break; case 2: - LZDecompressWram(&gUnknown_08D98CC8, gUnknown_0203CF1C->unkTilemap0_1); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D98CC8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][1]); + pssData->unk40F0++; break; case 3: - LZDecompressWram(&gUnknown_08D987FC, gUnknown_0203CF1C->unkTilemap1_1); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D987FC, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); + pssData->unk40F0++; break; case 4: - LZDecompressWram(&gUnknown_08D9898C, gUnknown_0203CF1C->unkTilemap2_1); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D9898C, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); + pssData->unk40F0++; break; case 5: - LZDecompressWram(&gUnknown_08D98B28, gUnknown_0203CF1C->unkTilemap3_1); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D98B28, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); + pssData->unk40F0++; break; case 6: LoadCompressedPalette(&gUnknown_08D9853C, 0, 0x100); LoadPalette(&gUnknown_08D85620, 0x81, 0x1E); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 7: LoadCompressedObjectPic(&gUnknown_0861CFBC); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 8: LoadCompressedObjectPic(&gUnknown_0861D074); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 9: LoadCompressedObjectPic(&gUnknown_0861D0F8); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 10: LoadCompressedObjectPalette(&gUnknown_0861D100); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 11: LoadCompressedObjectPalette(&gUnknown_0861D07C); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 12: LoadCompressedPalette(&gMoveTypes_Pal, 0x1D0, 0x60); - gUnknown_0203CF1C->unk40F0 = 0; - return 1; + pssData->unk40F0 = 0; + return TRUE; } - return 0; + return FALSE; } -void sub_81C0098(struct Pokemon *mon) +static void CopyMonToSummaryStruct(struct Pokemon *mon) { - if (gUnknown_0203CF1C->unk40BD == 0) + if (!pssData->isBoxMon) { - struct Pokemon *partyMon = gUnknown_0203CF1C->unk0->mon; - *mon = partyMon[gUnknown_0203CF1C->unk40BE]; + struct Pokemon *partyMon = pssData->monList.mons; + *mon = partyMon[pssData->curMonIndex]; } else { - struct BoxPokemon *boxMon = gUnknown_0203CF1C->unk0->boxMon; - BoxMonToMon(&boxMon[gUnknown_0203CF1C->unk40BE], mon); + struct BoxPokemon *boxMon = pssData->monList.boxMons; + BoxMonToMon(&boxMon[pssData->curMonIndex], mon); } } -bool8 sub_81C00F0(struct Pokemon *a) +static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) { u32 i; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - switch (gUnknown_0203CF1C->unk40F0) + struct PokeSummary *sum = &pssData->summary; + switch (pssData->unk40F0) { case 0: sum->species = GetMonData(a, MON_DATA_SPECIES); @@ -661,10 +1024,12 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->item = GetMonData(a, MON_DATA_HELD_ITEM); sum->pid = GetMonData(a, MON_DATA_PERSONALITY); sum->sanity = GetMonData(a, MON_DATA_SANITY_BIT1); - if (sum->sanity != 0) - sum->isEgg = 1; + + if (sum->sanity) + sum->isEgg = TRUE; else sum->isEgg = GetMonData(a, MON_DATA_IS_EGG); + break; case 1: for (i = 0; i < 4; i++) @@ -675,7 +1040,7 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->ppBonuses = GetMonData(a, MON_DATA_PP_BONUSES); break; case 2: - if ((struct Pokemon*)gUnknown_0203CF1C->unk0 == gPlayerParty || gUnknown_0203CF1C->unk40BC == 2 || gUnknown_0203CF1C->unk40EF == 1) + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) { sum->nature = GetNature(a); sum->currentHP = GetMonData(a, MON_DATA_HP); @@ -710,63 +1075,63 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->friendship = GetMonData(a, MON_DATA_FRIENDSHIP); break; default: - sum->ribbons = GetMonData(a, MON_DATA_RIBBON_COUNT); + sum->ribbonCount = GetMonData(a, MON_DATA_RIBBON_COUNT); return TRUE; } - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; return FALSE; } -void sub_81C0348(void) +static void sub_81C0348(void) { - if (gUnknown_0203CF1C->unk40C0 != 2 && gUnknown_0203CF1C->unk40C0 != 3) + if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES) { sub_81C1DA4(0, 255); sub_81C1EFC(0, 255, 0); } else { - sub_81C240C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 0); - SetBgTilemapBuffer(1, &gUnknown_0203CF1C->unkTilemap3); - SetBgTilemapBuffer(2, &gUnknown_0203CF1C->unkTilemap2); + sub_81C240C(pssData->summary.moves[pssData->firstMoveIndex]); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); + SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); ChangeBgX(2, 0x10000, 1); - ClearWindowTilemap(0x13); - ClearWindowTilemap(0xD); + ClearWindowTilemap(19); + ClearWindowTilemap(13); } - if (gUnknown_0203CF1C->summary.unk7 == 0) + if (pssData->summary.unk7 == 0) { sub_81C2074(0, 0xFF); } else { - if (gUnknown_0203CF1C->unk40C0 != 2 && gUnknown_0203CF1C->unk40C0 != 3) - PutWindowTilemap(0xD); + if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES) + PutWindowTilemap(13); } sub_81C2524(); - sub_81C2228(&gUnknown_0203CF1C->currentMon); + sub_81C2228(&pssData->currentMon); } -void sub_81C0434() +static void sub_81C0434(void) { FreeAllWindowBuffers(); - Free(gUnknown_0203CF1C); + Free(pssData); } -void sub_81C044C(u8 taskId) +static void sub_81C044C(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = sub_81C0484; } -void sub_81C0484(u8 taskId) +static void sub_81C0484(u8 taskId) { - if (sub_81221EC() != 1 && !gPaletteFade.active) + if (sub_81221EC() != TRUE && !gPaletteFade.active) { - SetMainCallback2(gUnknown_0203CF1C->unk4); - gUnknown_0203CF20 = gUnknown_0203CF1C->unk40BE; - sub_81C4898(); + SetMainCallback2(pssData->callback); + gUnknown_0203CF20 = pssData->curMonIndex; + SummaryScreen_DestroyUnknownTask(); ResetSpriteData(); FreeAllSpritePalettes(); StopCryAndClearCrySongs(); @@ -778,9 +1143,9 @@ void sub_81C0484(u8 taskId) } } -void sub_81C0510(u8 taskId) +static void sub_81C0510(u8 taskId) { - if (sub_81221EC() != 1 && !gPaletteFade.active) + if (sub_81221EC() != TRUE && !gPaletteFade.active) { if (gMain.newKeys & DPAD_UP) { @@ -800,9 +1165,9 @@ void sub_81C0510(u8 taskId) } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C0 != 1) + if (pssData->currPageIndex != PSS_PAGE_SKILLS) { - if (gUnknown_0203CF1C->unk40C0 == 0) + if (pssData->currPageIndex == PSS_PAGE_INFO) { sub_81C48F0(); PlaySE(SE_SELECT); @@ -824,15 +1189,15 @@ void sub_81C0510(u8 taskId) } } -void sub_81C0604(u8 taskId, s8 a) +static void sub_81C0604(u8 taskId, s8 a) { s8 r4_2; - if (gUnknown_0203CF1C->unk40C3 == 0) + if (!pssData->unk40C3) { - if (gUnknown_0203CF1C->unk40BD == 1) + if (pssData->isBoxMon == TRUE) { - if (gUnknown_0203CF1C->unk40C0 != 0) + if (pssData->currPageIndex != PSS_PAGE_INFO) { if (a == 1) a = 0; @@ -846,7 +1211,7 @@ void sub_81C0604(u8 taskId, s8 a) else a = 3; } - r4_2 = sub_80D214C(gUnknown_0203CF1C->unk0, gUnknown_0203CF1C->unk40BE, gUnknown_0203CF1C->unk40BF, a); + r4_2 = sub_80D214C(pssData->monList.boxMons, pssData->curMonIndex, pssData->maxMonIndex, a); } else if (sub_81B1250() == 1) { @@ -860,21 +1225,21 @@ void sub_81C0604(u8 taskId, s8 a) if (r4_2 != -1) { PlaySE(SE_SELECT); - if (gUnknown_0203CF1C->summary.unk7 != 0) + if (pssData->summary.unk7 != 0) { sub_81C4204(2, 1); - ClearWindowTilemap(0xD); + ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C2074(0, 2); } - gUnknown_0203CF1C->unk40BE = r4_2; + pssData->curMonIndex = r4_2; gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_81C0704; } } } -void sub_81C0704(u8 taskId) +static void sub_81C0704(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -884,37 +1249,37 @@ void sub_81C0704(u8 taskId) StopCryAndClearCrySongs(); break; case 1: - sub_81C4898(); - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3[0]]); + SummaryScreen_DestroyUnknownTask(); + DestroySpriteAndFreeResources(&gSprites[pssData->spriteIds[0]]); break; case 2: - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3[1]]); + DestroySpriteAndFreeResources(&gSprites[pssData->spriteIds[1]]); break; case 3: - sub_81C0098(&gUnknown_0203CF1C->currentMon); - gUnknown_0203CF1C->unk40F0 = 0; + CopyMonToSummaryStruct(&pssData->currentMon); + pssData->unk40F0 = 0; break; case 4: - if (sub_81C00F0(&gUnknown_0203CF1C->currentMon) == FALSE) + if (ExtractMonDataToSummaryStruct(&pssData->currentMon) == FALSE) return; break; case 5: - sub_81C49E0(&gUnknown_0203CF1C->currentMon); + RemoveAndCreateMonMarkingsSprite(&pssData->currentMon); break; case 6: - sub_81C4A08(&gUnknown_0203CF1C->currentMon); + CreateCaughtBallSprite(&pssData->currentMon); break; case 7: - if (gUnknown_0203CF1C->summary.unk7) + if (pssData->summary.unk7) sub_81C2074(10, -2); - sub_81C2228(&gUnknown_0203CF1C->currentMon); + sub_81C2228(&pssData->currentMon); data[1] = 0; break; case 8: - gUnknown_0203CF1C->unk40D3[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]); - if (gUnknown_0203CF1C->unk40D3[0] == 0xFF) + pssData->spriteIds[0] = sub_81C45F4(&pssData->currentMon, &data[1]); + if (pssData->spriteIds[0] == 0xFF) return; - gSprites[gUnknown_0203CF1C->unk40D3[0]].data[2] = 1; + gSprites[pssData->spriteIds[0]].data[2] = 1; sub_81C0E24(); data[1] = 0; break; @@ -925,11 +1290,11 @@ void sub_81C0704(u8 taskId) sub_81C25E8(); break; case 11: - sub_81C2D9C(gUnknown_0203CF1C->unk40C0); + sub_81C2D9C(pssData->currPageIndex); sub_81C2524(); break; case 12: - gSprites[gUnknown_0203CF1C->unk40D3[0]].data[2] = 0; + gSprites[pssData->spriteIds[0]].data[2] = 0; break; default: if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0) @@ -942,51 +1307,52 @@ void sub_81C0704(u8 taskId) data[0]++; } -s8 sub_81C08F8(s8 a) +static s8 sub_81C08F8(s8 a) { - struct Pokemon *mon = gUnknown_0203CF1C->unk0->mon; + struct Pokemon *mon = pssData->monList.mons; - if (gUnknown_0203CF1C->unk40C0 == 0) + if (pssData->currPageIndex == PSS_PAGE_INFO) { - if (a == -1 && gUnknown_0203CF1C->unk40BE == 0) + if (a == -1 && pssData->curMonIndex == 0) return -1; - if (a == 1 && gUnknown_0203CF1C->unk40BE >= gUnknown_0203CF1C->unk40BF) + else if (a == 1 && pssData->curMonIndex >= pssData->maxMonIndex) return -1; - return gUnknown_0203CF1C->unk40BE + a; + else + return pssData->curMonIndex + a; } else { - s8 index = gUnknown_0203CF1C->unk40BE; + s8 index = pssData->curMonIndex; do { index += a; - if (index < 0 || index > gUnknown_0203CF1C->unk40BF) + if (index < 0 || index > pssData->maxMonIndex) return -1; } while (GetMonData(&mon[index], MON_DATA_IS_EGG) != 0); return index; } } -s8 sub_81C09B4(s8 a) +static s8 sub_81C09B4(s8 a) { - struct Pokemon *mon = gUnknown_0203CF1C->unk0->mon; + struct Pokemon *mon = pssData->monList.mons; s8 r5 = 0; u8 i; for (i = 0; i < 6; i++) { - if (gUnknown_0861CC1C[i] == gUnknown_0203CF1C->unk40BE) + if (gUnknown_0861CC1C[i] == pssData->curMonIndex) { r5 = i; break; } } - while (1) + while (TRUE) { int b; - s8* c = &gUnknown_0861CC1C[0]; + const s8* c = gUnknown_0861CC1C; r5 += a; if (r5 < 0 || r5 >= 6) @@ -997,45 +1363,46 @@ s8 sub_81C09B4(s8 a) } } -bool8 sub_81C0A50(struct Pokemon* mon) +static bool8 sub_81C0A50(struct Pokemon* mon) { - if (GetMonData(mon, MON_DATA_SPECIES) == 0) + if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) return FALSE; - else if (gUnknown_0203CF1C->unk40BE != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) + else if (pssData->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) return TRUE; else return FALSE; } -void sub_81C0A8C(u8 taskId, s8 b) +static void sub_81C0A8C(u8 taskId, s8 b) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; s16 *data = gTasks[taskId].data; if (summary->isEgg) return; - if (b == -1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C1) + else if (b == -1 && pssData->currPageIndex == pssData->minPageIndex) return; - if (b == 1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C2) + else if (b == 1 && pssData->currPageIndex == pssData->maxPageIndex) return; + PlaySE(SE_SELECT); - sub_81C2C38(gUnknown_0203CF1C->unk40C0); - gUnknown_0203CF1C->unk40C0 += b; + sub_81C2C38(pssData->currPageIndex); + pssData->currPageIndex += b; data[0] = 0; if (b == 1) SetTaskFuncWithFollowupFunc(taskId, sub_81C0B8C, gTasks[taskId].func); else SetTaskFuncWithFollowupFunc(taskId, sub_81C0CC4, gTasks[taskId].func); - sub_81C2DE4(gUnknown_0203CF1C->unk40C0); + sub_81C2DE4(pssData->currPageIndex); sub_81C424C(); } -void sub_81C0B8C(u8 taskId) +static void sub_81C0B8C(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) { data[1] = 1; SetBgAttribute(1, 7, 1); @@ -1050,7 +1417,7 @@ void sub_81C0B8C(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } ChangeBgX(data[1], 0, 0); - SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->unk40C0 << 12) + 0xBC)); + SetBgTilemapBuffer(data[1], pssData->bgTilemapBuffers[pssData->currPageIndex][0]); ShowBg(1); ShowBg(2); } @@ -1060,25 +1427,25 @@ void sub_81C0B8C(u8 taskId) gTasks[taskId].func = sub_81C0C68; } -void sub_81C0C68(u8 taskId) +static void sub_81C0C68(u8 taskId) { s16 *data = gTasks[taskId].data; - gUnknown_0203CF1C->unk40C9 ^= 1; + pssData->unk40C9 ^= 1; data[1] = 0; data[0] = 0; sub_81C1BA0(); - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(pssData->currPageIndex); sub_81C4280(); sub_81C0E24(); SwitchTaskToFollowupFunc(taskId); } -void sub_81C0CC4(u8 taskId) +static void sub_81C0CC4(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) data[1] = 2; else data[1] = 1; @@ -1090,10 +1457,10 @@ void sub_81C0CC4(u8 taskId) gTasks[taskId].func = sub_81C0D44; } -void sub_81C0D44(u8 taskId) +static void sub_81C0D44(u8 taskId) { s16 *data = gTasks[taskId].data; - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) { SetBgAttribute(1, 7, 1); SetBgAttribute(2, 7, 2); @@ -1105,48 +1472,48 @@ void sub_81C0D44(u8 taskId) SetBgAttribute(1, 7, 2); schedule_bg_copy_tilemap_to_vram(1); } - if (gUnknown_0203CF1C->unk40C0 > 1) + if (pssData->currPageIndex > 1) { - SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->unk40C0 << 12) + 0xFFFFF0BC)); + SetBgTilemapBuffer(data[1], (u8*)pssData + ((pssData->currPageIndex << 12) + 0xFFFFF0BC)); ChangeBgX(data[1], 0x10000, 0); } ShowBg(1); ShowBg(2); - gUnknown_0203CF1C->unk40C9 ^= 1; + pssData->unk40C9 ^= 1; data[1] = 0; data[0] = 0; sub_81C1BA0(); - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(pssData->currPageIndex); sub_81C4280(); sub_81C0E24(); SwitchTaskToFollowupFunc(taskId); } -void sub_81C0E24() +static void sub_81C0E24(void) { - if (gUnknown_0203CF1C->unk40C0 == 1) - sub_81C22CC(&gUnknown_0203CF1C->currentMon); + if (pssData->currPageIndex == 1) + sub_81C22CC(&pssData->currentMon); } -void sub_81C0E48(u8 taskId) +static void sub_81C0E48(u8 taskId) { u16 move; - gUnknown_0203CF1C->unk40C6 = 0; - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + pssData->firstMoveIndex = 0; + move = pssData->summary.moves[pssData->firstMoveIndex]; ClearWindowTilemap(0x13); - if (gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible == 0) + if (gSprites[pssData->spriteIds[2]].invisible == 0) ClearWindowTilemap(0xD); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); - if (gUnknown_0203CF1C->unk40C8 == 0) + if (!pssData->unk40C8) { ClearWindowTilemap(5); PutWindowTilemap(6); } - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 0); - sub_81C3E9C(move); - sub_81C3F44(); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + PrintMoveDetails(move); + PrintNewMoveDetailsOrCancelText(); sub_81C44F0(); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); @@ -1155,7 +1522,7 @@ void sub_81C0E48(u8 taskId) gTasks[taskId].func = sub_81C0F44; } -void sub_81C0F44(u8 taskId) +static void sub_81C0F44(u8 taskId) { u8 id = taskId; s16 *data = gTasks[taskId].data; @@ -1165,17 +1532,17 @@ void sub_81C0F44(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, -1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, 1, &pssData->firstMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C8 == 1 - || (gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->unk40C8 == TRUE + || (pssData->newMove == MOVE_NONE && pssData->firstMoveIndex == MAX_MON_MOVES)) { PlaySE(SE_SELECT); sub_81C11F4(taskId); @@ -1198,18 +1565,18 @@ void sub_81C0F44(u8 taskId) } } -bool8 sub_81C1040(void) +static bool8 sub_81C1040(void) { u8 i; for (i = 1; i < 4; i++) { - if (gUnknown_0203CF1C->summary.moves[i] != 0) + if (pssData->summary.moves[i] != 0) return TRUE; } return FALSE; } -void sub_81C1070(s16 *a, s8 b, u8 *c) +static void sub_81C1070(s16 *a, s8 b, u8 *c) { s8 i; s8 moveIndex; @@ -1226,27 +1593,27 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) moveIndex = a[0]; if (moveIndex == 4) { - move = gUnknown_0203CF1C->unk40C4; + move = pssData->newMove; break; } - move = gUnknown_0203CF1C->summary.moves[moveIndex]; + move = pssData->summary.moves[moveIndex]; if (move != 0) break; } sub_81C240C(move); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); - sub_81C3E9C(move); - if ((*c == 4 && gUnknown_0203CF1C->unk40C4 == 0) || a[1] == 1) + PrintMoveDetails(move); + if ((*c == 4 && pssData->newMove == MOVE_NONE) || a[1] == 1) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); } - if (*c != 4 && moveIndex == 4 && gUnknown_0203CF1C->unk40C4 == 0) + if (*c != 4 && moveIndex == 4 && pssData->newMove == MOVE_NONE) { ClearWindowTilemap(14); ClearWindowTilemap(15); @@ -1255,22 +1622,22 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) sub_81C1EFC(0, 3, 0); } *c = moveIndex; - if (c == &gUnknown_0203CF1C->unk40C6) + if (c == &pssData->firstMoveIndex) sub_81C4D18(8); else sub_81C4D18(18); } -void sub_81C11F4(u8 taskId) +static void sub_81C11F4(u8 taskId) { sub_81C4C60(8); ClearWindowTilemap(6); PutWindowTilemap(5); - sub_81C3E9C(0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 1); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 1); + PrintMoveDetails(0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); sub_81C4064(); - if (gUnknown_0203CF1C->unk40C6 != 4) + if (pssData->firstMoveIndex != MAX_MON_MOVES) { ClearWindowTilemap(14); ClearWindowTilemap(15); @@ -1283,506 +1650,160 @@ void sub_81C11F4(u8 taskId) gTasks[taskId].func = sub_81C0510; } -void sub_81C129C(u8 taskId) +static void sub_81C129C(u8 taskId) { - gUnknown_0203CF1C->unk40C7 = gUnknown_0203CF1C->unk40C6; + pssData->secondMoveIndex = pssData->firstMoveIndex; sub_81C4C84(1); sub_81C4AF8(18); gTasks[taskId].func = sub_81C12E4; } -void sub_81C12E4(u8 taskId) +static void sub_81C12E4(u8 taskId) { - u8 a = taskId; s16* data = gTasks[taskId].data; - if (sub_81221EC() != 1) + + if (sub_81221EC() != TRUE) { if (gMain.newKeys & DPAD_UP) { data[0] = 3; - sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->unk40C7); + sub_81C1070(&data[0], -1, &pssData->secondMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 3; - sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->unk40C7); + sub_81C1070(&data[0], 1, &pssData->secondMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C6 == gUnknown_0203CF1C->unk40C7) + if (pssData->firstMoveIndex == pssData->secondMoveIndex) { sub_81C13B0(taskId, 0); } else + { sub_81C13B0(taskId, 1); + } } else if (gMain.newKeys & B_BUTTON) - sub_81C13B0(a, 0); + { + sub_81C13B0(taskId, 0); + } } } -void sub_81C13B0(u8 taskId, u8 b) +static void sub_81C13B0(u8 taskId, bool8 b) { u16 move; + PlaySE(SE_SELECT); sub_81C4C84(0); sub_81C4C60(18); - if (b == 1) + + if (b == TRUE) { - if (gUnknown_0203CF1C->unk40BD == 0) + if (!pssData->isBoxMon) { - struct Pokemon *why = gUnknown_0203CF1C->unk0->mon; - sub_81C14BC(&why[gUnknown_0203CF1C->unk40BE], gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); + struct Pokemon *why = pssData->monList.mons; + SwapMonMoves(&why[pssData->curMonIndex], pssData->firstMoveIndex, pssData->secondMoveIndex); } else { - struct BoxPokemon *why = gUnknown_0203CF1C->unk0->boxMon; - sub_81C15EC(&why[gUnknown_0203CF1C->unk40BE], gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); + struct BoxPokemon *why = pssData->monList.boxMons; + SwapBoxMonMoves(&why[pssData->curMonIndex], pssData->firstMoveIndex, pssData->secondMoveIndex); } - sub_81C0098(&gUnknown_0203CF1C->currentMon); - sub_81C40A0(gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); - sub_81C4568(gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); - gUnknown_0203CF1C->unk40C6 = gUnknown_0203CF1C->unk40C7; + CopyMonToSummaryStruct(&pssData->currentMon); + sub_81C40A0(pssData->firstMoveIndex, pssData->secondMoveIndex); + sub_81C4568(pssData->firstMoveIndex, pssData->secondMoveIndex); + pssData->firstMoveIndex = pssData->secondMoveIndex; } - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; - sub_81C3E9C(move); + + move = pssData->summary.moves[pssData->firstMoveIndex]; + PrintMoveDetails(move); sub_81C240C(move); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81C0F44; } +static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) +{ + struct PokeSummary* summary = &pssData->summary; + + u16 move1 = summary->moves[moveIndex1]; + u16 move2 = summary->moves[moveIndex2]; + u8 move1pp = summary->pp[moveIndex1]; + u8 move2pp = summary->pp[moveIndex2]; + u8 ppBonuses = summary->ppBonuses; + + // Calculate PP bonuses + u8 ppUpMask1 = gUnknown_08329D22[moveIndex1]; + u8 ppBonusMove1 = (ppBonuses & ppUpMask1) >> (moveIndex1 * 2); + u8 ppUpMask2 = gUnknown_08329D22[moveIndex2]; + u8 ppBonusMove2 = (ppBonuses & ppUpMask2) >> (moveIndex2 * 2); + ppBonuses &= ~ppUpMask1; + ppBonuses &= ~ppUpMask2; + ppBonuses |= (ppBonusMove1 << (moveIndex2 * 2)) + (ppBonusMove2 << (moveIndex1 * 2)); + + // Swap the moves + SetMonData(mon, MON_DATA_MOVE1 + moveIndex1, &move2); + SetMonData(mon, MON_DATA_MOVE1 + moveIndex2, &move1); + SetMonData(mon, MON_DATA_PP1 + moveIndex1, &move2pp); + SetMonData(mon, MON_DATA_PP1 + moveIndex2, &move1pp); + SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); + + summary->moves[moveIndex1] = move2; + summary->moves[moveIndex2] = move1; + + summary->pp[moveIndex1] = move2pp; + summary->pp[moveIndex2] = move1pp; + + summary->ppBonuses = ppBonuses; +} + +static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2) +{ + struct PokeSummary* summary = &pssData->summary; + + u16 move1 = summary->moves[moveIndex1]; + u16 move2 = summary->moves[moveIndex2]; + u8 move1pp = summary->pp[moveIndex1]; + u8 move2pp = summary->pp[moveIndex2]; + u8 ppBonuses = summary->ppBonuses; + + // Calculate PP bonuses + u8 ppUpMask1 = gUnknown_08329D22[moveIndex1]; + u8 ppBonusMove1 = (ppBonuses & ppUpMask1) >> (moveIndex1 * 2); + u8 ppUpMask2 = gUnknown_08329D22[moveIndex2]; + u8 ppBonusMove2 = (ppBonuses & ppUpMask2) >> (moveIndex2 * 2); + ppBonuses &= ~ppUpMask1; + ppBonuses &= ~ppUpMask2; + ppBonuses |= (ppBonusMove1 << (moveIndex2 * 2)) + (ppBonusMove2 << (moveIndex1 * 2)); -#ifdef NONMATCHING -void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - u16 localMoveTo; - u16 localMoveFrom; - u8 localPpTo; - u8 localPpFrom; - u8 localPpBonuses; - u16* moveFromPtr; - u16* moveToPtr; - u8* ppFromPtr; - u8* ppToPtr; - u8* ppBonusesPtr; - - moveFromPtr = &gUnknown_0203CF1C->summary.moves[swappingFromId]; - localMoveFrom = *moveFromPtr; - - moveToPtr = &gUnknown_0203CF1C->summary.moves[swappingToId]; - localMoveTo = *moveToPtr; - - ppFromPtr = &gUnknown_0203CF1C->summary.pp[swappingFromId]; - localPpFrom = *ppFromPtr; - - ppToPtr = &gUnknown_0203CF1C->summary.pp[swappingToId]; - localPpTo = *ppToPtr; - - ppBonusesPtr = &gUnknown_0203CF1C->summary.ppBonuses; - localPpBonuses = *ppBonusesPtr; - -{ - u8 bitsFrom, bitsTo; - - bitsFrom = (localPpBonuses & gUnknown_08329D22[swappingFromId]) >> (swappingFromId << 1); - bitsTo = (localPpBonuses & gUnknown_08329D22[swappingToId]) >> (swappingToId << 1); - - - localPpBonuses &= ~(gUnknown_08329D22[swappingFromId]); - localPpBonuses &= ~(gUnknown_08329D22[swappingToId]); - - localPpBonuses |= ((bitsFrom << (swappingToId << 1)) + (bitsTo << (swappingToId << 1))); -} - - SetMonData(mon, swappingFromId + MON_DATA_MOVE1, &localMoveTo); - SetMonData(mon, swappingToId + MON_DATA_MOVE1, &localMoveFrom); - - SetMonData(mon, swappingFromId + MON_DATA_PP1, &localPpTo); - SetMonData(mon, swappingToId + MON_DATA_PP1, &localPpFrom); - - SetMonData(mon, MON_DATA_PP_BONUSES, &localPpBonuses); - - *moveFromPtr = localMoveTo; - *moveToPtr = localMoveFrom; - - *ppFromPtr = localPpTo; - *ppToPtr = localPpFrom; - - *ppBonusesPtr = localPpBonuses; -} -#else -NAKED -void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - 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, 0x28\n\ - adds r7, r0, 0\n\ - adds r4, r1, 0\n\ - adds r6, r2, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r2, [r0]\n\ - lsls r0, r4, 1\n\ - mov r10, r0\n\ - adds r1, r2, 0\n\ - adds r1, 0x84\n\ - adds r0, r1, r0\n\ - str r0, [sp, 0x8]\n\ - ldrh r0, [r0]\n\ - mov r3, sp\n\ - adds r3, 0x2\n\ - str r3, [sp, 0x1C]\n\ - strh r0, [r3]\n\ - lsls r0, r6, 1\n\ - mov r9, r0\n\ - add r1, r9\n\ - str r1, [sp, 0xC]\n\ - ldrh r1, [r1]\n\ - mov r0, sp\n\ - strh r1, [r0]\n\ - adds r1, r2, 0\n\ - adds r1, 0x8C\n\ - adds r3, r1, r4\n\ - str r3, [sp, 0x10]\n\ - ldrb r0, [r3]\n\ - mov r3, sp\n\ - adds r3, 0x5\n\ - str r3, [sp, 0x24]\n\ - strb r0, [r3]\n\ - adds r1, r6\n\ - str r1, [sp, 0x14]\n\ - ldrb r0, [r1]\n\ - mov r1, sp\n\ - adds r1, 0x4\n\ - str r1, [sp, 0x20]\n\ - strb r0, [r1]\n\ - adds r2, 0xA4\n\ - str r2, [sp, 0x18]\n\ - ldrb r0, [r2]\n\ - mov r5, sp\n\ - adds r5, 0x6\n\ - strb r0, [r5]\n\ - ldr r1, =gUnknown_08329D22\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - mov r8, r0\n\ - ldrb r0, [r5]\n\ - adds r2, r0, 0\n\ - mov r3, r8\n\ - ands r2, r3\n\ - mov r3, r10\n\ - asrs r2, r3\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r1, r6, r1\n\ - ldrb r1, [r1]\n\ - mov r12, r1\n\ - adds r1, r0, 0\n\ - mov r3, r12\n\ - ands r1, r3\n\ - mov r3, r9\n\ - asrs r1, r3\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r3, r8\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - ldrb r0, [r5]\n\ - mov r3, r12\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - mov r0, r9\n\ - lsls r2, r0\n\ - mov r3, r10\n\ - lsls r1, r3\n\ - adds r2, r1\n\ - ldrb r0, [r5]\n\ - orrs r0, r2\n\ - strb r0, [r5]\n\ - adds r1, r4, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - mov r2, sp\n\ - bl SetMonData\n\ - adds r1, r6, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - ldr r2, [sp, 0x1C]\n\ - bl SetMonData\n\ - adds r4, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r4, 0\n\ - ldr r2, [sp, 0x20]\n\ - bl SetMonData\n\ - adds r6, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r6, 0\n\ - ldr r2, [sp, 0x24]\n\ - bl SetMonData\n\ - adds r0, r7, 0\n\ - movs r1, 0x15\n\ - adds r2, r5, 0\n\ - bl SetMonData\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - ldr r1, [sp, 0x8]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x1C]\n\ - ldrh r0, [r3]\n\ - ldr r1, [sp, 0xC]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x20]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x10]\n\ - strb r0, [r1]\n\ - ldr r3, [sp, 0x24]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x14]\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - ldr r3, [sp, 0x18]\n\ - strb r0, [r3]\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\ - .pool\n\ - .syntax divided\n"); -} -#endif - -#ifdef NONMATCHING -void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - u16 localMoveTo; - u16 localMoveFrom; - u8 localPpTo; - u8 localPpFrom; - u8 localPpBonuses; - u16* moveFromPtr; - u16* moveToPtr; - u8* ppFromPtr; - u8* ppToPtr; - u8* ppBonusesPtr; - - moveFromPtr = &gUnknown_0203CF1C->summary.moves[swappingFromId]; - localMoveFrom = *moveFromPtr; - - moveToPtr = &gUnknown_0203CF1C->summary.moves[swappingToId]; - localMoveTo = *moveToPtr; - - ppFromPtr = &gUnknown_0203CF1C->summary.pp[swappingFromId]; - localPpFrom = *ppFromPtr; - - ppToPtr = &gUnknown_0203CF1C->summary.pp[swappingToId]; - localPpTo = *ppToPtr; - - ppBonusesPtr = &gUnknown_0203CF1C->summary.ppBonuses; - localPpBonuses = *ppBonusesPtr; - -{ - u8 bitsFrom, bitsTo; - - bitsFrom = (localPpBonuses & gUnknown_08329D22[swappingFromId]) >> (swappingFromId << 1); - bitsTo = (localPpBonuses & gUnknown_08329D22[swappingToId]) >> (swappingToId << 1); - - - localPpBonuses &= ~(gUnknown_08329D22[swappingFromId]); - localPpBonuses &= ~(gUnknown_08329D22[swappingToId]); - - localPpBonuses |= ((bitsFrom << (swappingToId << 1)) + (bitsTo << (swappingToId << 1))); -} - - SetBoxMonData(mon, swappingFromId + MON_DATA_MOVE1, &localMoveTo); - SetBoxMonData(mon, swappingToId + MON_DATA_MOVE1, &localMoveFrom); - - SetBoxMonData(mon, swappingFromId + MON_DATA_PP1, &localPpTo); - SetBoxMonData(mon, swappingToId + MON_DATA_PP1, &localPpFrom); - - SetBoxMonData(mon, MON_DATA_PP_BONUSES, &localPpBonuses); - - *moveFromPtr = localMoveTo; - *moveToPtr = localMoveFrom; - - *ppFromPtr = localPpTo; - *ppToPtr = localPpFrom; - - *ppBonusesPtr = localPpBonuses; -} -#else -NAKED -void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - 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, 0x28\n\ - adds r7, r0, 0\n\ - adds r4, r1, 0\n\ - adds r6, r2, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r2, [r0]\n\ - lsls r0, r4, 1\n\ - mov r10, r0\n\ - adds r1, r2, 0\n\ - adds r1, 0x84\n\ - adds r0, r1, r0\n\ - str r0, [sp, 0x8]\n\ - ldrh r0, [r0]\n\ - mov r3, sp\n\ - adds r3, 0x2\n\ - str r3, [sp, 0x1C]\n\ - strh r0, [r3]\n\ - lsls r0, r6, 1\n\ - mov r9, r0\n\ - add r1, r9\n\ - str r1, [sp, 0xC]\n\ - ldrh r1, [r1]\n\ - mov r0, sp\n\ - strh r1, [r0]\n\ - adds r1, r2, 0\n\ - adds r1, 0x8C\n\ - adds r3, r1, r4\n\ - str r3, [sp, 0x10]\n\ - ldrb r0, [r3]\n\ - mov r3, sp\n\ - adds r3, 0x5\n\ - str r3, [sp, 0x24]\n\ - strb r0, [r3]\n\ - adds r1, r6\n\ - str r1, [sp, 0x14]\n\ - ldrb r0, [r1]\n\ - mov r1, sp\n\ - adds r1, 0x4\n\ - str r1, [sp, 0x20]\n\ - strb r0, [r1]\n\ - adds r2, 0xA4\n\ - str r2, [sp, 0x18]\n\ - ldrb r0, [r2]\n\ - mov r5, sp\n\ - adds r5, 0x6\n\ - strb r0, [r5]\n\ - ldr r1, =gUnknown_08329D22\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - mov r8, r0\n\ - ldrb r0, [r5]\n\ - adds r2, r0, 0\n\ - mov r3, r8\n\ - ands r2, r3\n\ - mov r3, r10\n\ - asrs r2, r3\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r1, r6, r1\n\ - ldrb r1, [r1]\n\ - mov r12, r1\n\ - adds r1, r0, 0\n\ - mov r3, r12\n\ - ands r1, r3\n\ - mov r3, r9\n\ - asrs r1, r3\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r3, r8\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - ldrb r0, [r5]\n\ - mov r3, r12\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - mov r0, r9\n\ - lsls r2, r0\n\ - mov r3, r10\n\ - lsls r1, r3\n\ - adds r2, r1\n\ - ldrb r0, [r5]\n\ - orrs r0, r2\n\ - strb r0, [r5]\n\ - adds r1, r4, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - mov r2, sp\n\ - bl SetBoxMonData\n\ - adds r1, r6, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - ldr r2, [sp, 0x1C]\n\ - bl SetBoxMonData\n\ - adds r4, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r4, 0\n\ - ldr r2, [sp, 0x20]\n\ - bl SetBoxMonData\n\ - adds r6, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r6, 0\n\ - ldr r2, [sp, 0x24]\n\ - bl SetBoxMonData\n\ - adds r0, r7, 0\n\ - movs r1, 0x15\n\ - adds r2, r5, 0\n\ - bl SetBoxMonData\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - ldr r1, [sp, 0x8]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x1C]\n\ - ldrh r0, [r3]\n\ - ldr r1, [sp, 0xC]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x20]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x10]\n\ - strb r0, [r1]\n\ - ldr r3, [sp, 0x24]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x14]\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - ldr r3, [sp, 0x18]\n\ - strb r0, [r3]\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\ - .pool\n\ - .syntax divided\n"); -} -#endif - -void sub_81C171C(u8 taskId) + // Swap the moves + SetBoxMonData(mon, MON_DATA_MOVE1 + moveIndex1, &move2); + SetBoxMonData(mon, MON_DATA_MOVE1 + moveIndex2, &move1); + SetBoxMonData(mon, MON_DATA_PP1 + moveIndex1, &move2pp); + SetBoxMonData(mon, MON_DATA_PP1 + moveIndex2, &move1pp); + SetBoxMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); + + summary->moves[moveIndex1] = move2; + summary->moves[moveIndex2] = move1; + + summary->pp[moveIndex1] = move2pp; + summary->pp[moveIndex2] = move1pp; + + summary->ppBonuses = ppBonuses; +} + +static void sub_81C171C(u8 taskId) { sub_81C44F0(); sub_81C4AF8(8); gTasks[taskId].func = sub_81C174C; } -void sub_81C174C(u8 taskId) +static void sub_81C174C(u8 taskId) { s16* data = gTasks[taskId].data; @@ -1793,12 +1814,12 @@ void sub_81C174C(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, -1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, 1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { @@ -1814,7 +1835,7 @@ void sub_81C174C(u8 taskId) { sub_81C48F0(); PlaySE(SE_SELECT); - gUnknown_0203CF21 = gUnknown_0203CF1C->unk40C6; + gUnknown_0203CF21 = pssData->firstMoveIndex; gSpecialVar_0x8005 = gUnknown_0203CF21; sub_81C044C(taskId); } @@ -1837,26 +1858,26 @@ void sub_81C174C(u8 taskId) } } -bool8 sub_81C18A8() +static bool8 sub_81C18A8(void) { - if (gUnknown_0203CF1C->unk40C6 == 4 || gUnknown_0203CF1C->unk40C4 == 0 || sub_81B6D14(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]) != 1) + if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || sub_81B6D14(pssData->summary.moves[pssData->firstMoveIndex]) != 1) return TRUE; else return FALSE; } -void sub_81C18F4(u8 taskId) +static void sub_81C18F4(u8 taskId) { ClearWindowTilemap(14); ClearWindowTilemap(15); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(0, 3); sub_81C1EFC(0, 3, 0); - sub_81C4154(); + PrintHMMovesCantBeForgotten(); gTasks[taskId].func = sub_81C1940; } -void sub_81C1940(u8 taskId) +static void sub_81C1940(u8 taskId) { s16* data = gTasks[taskId].data; u16 move; @@ -1866,7 +1887,7 @@ void sub_81C1940(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(&data[0], -1, &pssData->firstMoveIndex); data[1] = 0; gTasks[taskId].func = sub_81C174C; } @@ -1874,19 +1895,18 @@ void sub_81C1940(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(&data[0], 1, &pssData->firstMoveIndex); data[1] = 0; gTasks[taskId].func = sub_81C174C; } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - if (gUnknown_0203CF1C->unk40C0 != 2) + if (pssData->currPageIndex != 2) { - ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + move = pssData->summary.moves[pssData->firstMoveIndex]; gTasks[taskId].func = sub_81C174C; sub_81C0A8C(taskId, -1); sub_81C1DA4(9, -2); @@ -1895,12 +1915,12 @@ void sub_81C1940(u8 taskId) } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - if (gUnknown_0203CF1C->unk40C0 != 3) + if (pssData->currPageIndex != 3) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + move = pssData->summary.moves[pssData->firstMoveIndex]; gTasks[taskId].func = sub_81C174C; sub_81C0A8C(taskId, 1); sub_81C1DA4(9, -2); @@ -1910,10 +1930,10 @@ void sub_81C1940(u8 taskId) else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; - sub_81C3E9C(move); + move = pssData->summary.moves[pssData->firstMoveIndex]; + PrintMoveDetails(move); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); @@ -1922,69 +1942,71 @@ void sub_81C1940(u8 taskId) } } -u8 sub_81C1B94() +u8 sub_81C1B94(void) { return gUnknown_0203CF21; } -void sub_81C1BA0() +static void sub_81C1BA0(void) { u16 *alloced = Alloc(32); u8 i; + for (i = 0; i < 4; i++) { - u8 j = i << 1; - if (i < gUnknown_0203CF1C->unk40C1) + u8 j = i * 2; + + if (i < pssData->minPageIndex) { - alloced[j+0] = 0x40; - alloced[j+1] = 0x40; - alloced[j+8] = 0x50; - alloced[j+9] = 0x50; + alloced[j + 0] = 0x40; + alloced[j + 1] = 0x40; + alloced[j + 8] = 0x50; + alloced[j + 9] = 0x50; } - else if (i > gUnknown_0203CF1C->unk40C2) + else if (i > pssData->maxPageIndex) { - alloced[j+0] = 0x4A; - alloced[j+1] = 0x4A; - alloced[j+8] = 0x5A; - alloced[j+9] = 0x5A; + alloced[j + 0] = 0x4A; + alloced[j + 1] = 0x4A; + alloced[j + 8] = 0x5A; + alloced[j + 9] = 0x5A; } - else if (i < gUnknown_0203CF1C->unk40C0) + else if (i < pssData->currPageIndex) { - alloced[j+0] = 0x46; - alloced[j+1] = 0x47; - alloced[j+8] = 0x56; - alloced[j+9] = 0x57; + alloced[j + 0] = 0x46; + alloced[j + 1] = 0x47; + alloced[j + 8] = 0x56; + alloced[j + 9] = 0x57; } - else if (i == gUnknown_0203CF1C->unk40C0) + else if (i == pssData->currPageIndex) { - if (i != gUnknown_0203CF1C->unk40C2) + if (i != pssData->maxPageIndex) { - alloced[j+0] = 0x41; - alloced[j+1] = 0x42; - alloced[j+8] = 0x51; - alloced[j+9] = 0x52; + alloced[j + 0] = 0x41; + alloced[j + 1] = 0x42; + alloced[j + 8] = 0x51; + alloced[j + 9] = 0x52; } else { - alloced[j+0] = 0x4B; - alloced[j+1] = 0x4C; - alloced[j+8] = 0x5B; - alloced[j+9] = 0x5C; + alloced[j + 0] = 0x4B; + alloced[j + 1] = 0x4C; + alloced[j + 8] = 0x5B; + alloced[j + 9] = 0x5C; } } - else if (i != gUnknown_0203CF1C->unk40C2) + else if (i != pssData->maxPageIndex) { - alloced[j+0] = 0x43; - alloced[j+1] = 0x44; - alloced[j+8] = 0x53; - alloced[j+9] = 0x54; + alloced[j + 0] = 0x43; + alloced[j + 1] = 0x44; + alloced[j + 8] = 0x53; + alloced[j + 9] = 0x54; } else { - alloced[j+0] = 0x48; - alloced[j+1] = 0x49; - alloced[j+8] = 0x58; - alloced[j+9] = 0x59; + alloced[j + 0] = 0x48; + alloced[j + 1] = 0x49; + alloced[j + 8] = 0x58; + alloced[j + 9] = 0x59; } } CopyToBgTilemapBufferRect_ChangePalette(3, alloced, 11, 0, 8, 2, 16); @@ -1992,181 +2014,42 @@ void sub_81C1BA0() Free(alloced); } -struct UnkStruct_61CC04 -{ - u8 *ptr; - u8 field_4; - u8 field_5; - u8 field_6; - u8 field_7; - u8 field_8; - u8 field_9; -}; - -#ifdef NONMATCHING -void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) +static void sub_81C1CB0(const struct UnkStruct_61CC04 *unkStruct, u16 *dest, u8 c, bool8 d) { - u8 *alloced = Alloc(a->field_6 * (a->field_7 << 1)); - CpuFill16(a->field_4, alloced, a->field_7*a->field_6); - if (a->field_6 != c) + u16 i; + u16 *alloced = Alloc(unkStruct->field_6 * 2 * unkStruct->field_7); + CpuFill16(unkStruct->field_4, alloced, unkStruct->field_6 * 2 * unkStruct->field_7); + if (unkStruct->field_6 != c) { if (!d) { - for (d;d < a->field_7; d++) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(&a->ptr + ((c + a->field_6*d)), alloced + ((a->field_6*d) << 1), (a->field_6 - c) * 2); + CpuCopy16(&unkStruct->ptr[c + unkStruct->field_6 * i], &alloced[unkStruct->field_6 * i], (unkStruct->field_6 - c) * 2); } } else { - for (d = 0;d < a->field_7; d++) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(&a->ptr + (a->field_6*d), alloced + ((c + a->field_6*d) << 1), (a->field_6 - c) * 2); + CpuCopy16(&unkStruct->ptr[unkStruct->field_6 * i], &alloced[c + unkStruct->field_6 * i], (unkStruct->field_6 - c) * 2); } } } - d = 0; - while (d < a->field_7) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(alloced + ((a->field_6*d) << 1), b + ((((a->field_9 + d) << 5) + a->field_8) << 1), a->field_6 * 2); - d++; + CpuCopy16(&alloced[unkStruct->field_6 * i], &dest[(unkStruct->field_9 + i) * 32 + unkStruct->field_8], unkStruct->field_6 * 2); } Free(alloced); } -#else -NAKED -void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - sub sp, 0x4\n\ - adds r4, r0, 0\n\ - mov r8, r1\n\ - lsls r2, 24\n\ - lsrs r6, r2, 24\n\ - lsls r3, 24\n\ - lsrs r5, r3, 24\n\ - ldrb r1, [r4, 0x6]\n\ - ldrb r0, [r4, 0x7]\n\ - lsls r0, 1\n\ - muls r0, r1\n\ - bl Alloc\n\ - adds r7, r0, 0\n\ - mov r1, sp\n\ - ldrh r0, [r4, 0x4]\n\ - strh r0, [r1]\n\ - ldrb r1, [r4, 0x7]\n\ - ldrb r0, [r4, 0x6]\n\ - adds r2, r1, 0\n\ - muls r2, r0\n\ - movs r0, 0x80\n\ - lsls r0, 17\n\ - orrs r2, r0\n\ - mov r0, sp\n\ - adds r1, r7, 0\n\ - bl CpuSet\n\ - ldrb r0, [r4, 0x6]\n\ - cmp r0, r6\n\ - beq _081C1D60\n\ - cmp r5, 0\n\ - bne _081C1D30\n\ - movs r5, 0\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcs _081C1D60\n\ -_081C1D00:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r1, r2, 0\n\ - muls r1, r5\n\ - adds r3, r6, r1\n\ - lsls r3, 1\n\ - ldr r0, [r4]\n\ - adds r0, r3\n\ - lsls r1, 1\n\ - adds r1, r7, r1\n\ - subs r2, r6\n\ - ldr r3, =0x001fffff\n\ - ands r2, r3\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - ldrb r3, [r4, 0x7]\n\ - cmp r5, r3\n\ - bcc _081C1D00\n\ - b _081C1D60\n\ - .pool\n\ -_081C1D30:\n\ - movs r5, 0\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcs _081C1D60\n\ -_081C1D38:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r1, r2, 0\n\ - muls r1, r5\n\ - lsls r3, r1, 1\n\ - ldr r0, [r4]\n\ - adds r0, r3\n\ - adds r1, r6, r1\n\ - lsls r1, 1\n\ - adds r1, r7, r1\n\ - subs r2, r6\n\ - ldr r3, =0x001fffff\n\ - ands r2, r3\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - ldrb r3, [r4, 0x7]\n\ - cmp r5, r3\n\ - bcc _081C1D38\n\ -_081C1D60:\n\ - movs r5, 0\n\ - b _081C1D8A\n\ - .pool\n\ -_081C1D68:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r0, r2, 0\n\ - muls r0, r5\n\ - lsls r0, 1\n\ - adds r0, r7, r0\n\ - ldrb r1, [r4, 0x9]\n\ - adds r1, r5\n\ - lsls r1, 5\n\ - ldrb r3, [r4, 0x8]\n\ - adds r1, r3\n\ - lsls r1, 1\n\ - add r1, r8\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ -_081C1D8A:\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcc _081C1D68\n\ - adds r0, r7, 0\n\ - bl Free\n\ - add sp, 0x4\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); -} -#endif - -void sub_81C1DA4(u16 a, s16 b) + +static void sub_81C1DA4(u16 a, s16 b) { if (b > gUnknown_0861CC04.field_6) b = gUnknown_0861CC04.field_6; if (b == 0 || b == gUnknown_0861CC04.field_6) { - sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->unkTilemap2[0], b, 1); + sub_81C1CB0(&gUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); } else { @@ -2180,7 +2063,7 @@ void sub_81C1DA4(u16 a, s16 b) } } -void sub_81C1E20(u8 taskId) +static void sub_81C1E20(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2192,18 +2075,17 @@ void sub_81C1E20(u8 taskId) { data[1] = gUnknown_0861CC04.field_6; } - sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->unkTilemap2[0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC04.field_6) { if (data[0] < 0) { - if (gUnknown_0203CF1C->unk40C0 == 2) + if (pssData->currPageIndex == 2) PutWindowTilemap(14); - } else { - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) PutWindowTilemap(13); PutWindowTilemap(19); } @@ -2214,12 +2096,12 @@ void sub_81C1E20(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C1EFC(u16 a, s16 b, u16 move) +static void sub_81C1EFC(u16 a, s16 b, u16 move) { if (b > gUnknown_0861CC10.field_6) b = gUnknown_0861CC10.field_6; if (b == 0 || b == gUnknown_0861CC10.field_6) - sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->unkTilemap3[0], b, 1); + sub_81C1CB0(&gUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); else { u8 taskId = FindTaskIdByFunc(sub_81C1F80); @@ -2231,7 +2113,7 @@ void sub_81C1EFC(u16 a, s16 b, u16 move) } } -void sub_81C1F80(u8 taskId) +static void sub_81C1F80(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2243,18 +2125,18 @@ void sub_81C1F80(u8 taskId) { data[1] = gUnknown_0861CC10.field_6; } - sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->unkTilemap3[0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC10.field_6) { if (data[0] < 0) { - if (gUnknown_0203CF1C->unk40C0 == 3 && FuncIsActiveTask(sub_81C0B8C) == 0) + if (pssData->currPageIndex == 3 && FuncIsActiveTask(sub_81C0B8C) == 0) PutWindowTilemap(15); sub_81C240C(data[2]); } else { - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) { PutWindowTilemap(13); } @@ -2267,14 +2149,14 @@ void sub_81C1F80(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C2074(u16 a, s16 b) +static void sub_81C2074(u16 a, s16 b) { if (b > gUnknown_0861CBEC.field_6) b = gUnknown_0861CBEC.field_6; if (b == 0 || b == gUnknown_0861CBEC.field_6) { - sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->unkTilemap0[0], b, 0); - sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->unkTilemap0[0], b, 0); + sub_81C1CB0(&gUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&gUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); } else { @@ -2284,7 +2166,7 @@ void sub_81C2074(u16 a, s16 b) } } -void sub_81C20F0(u8 taskId) +static void sub_81C20F0(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2292,14 +2174,14 @@ void sub_81C20F0(u8 taskId) data[1] = 0; else if (data[1] > gUnknown_0861CBEC.field_6) data[1] = gUnknown_0861CBEC.field_6; - sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->unkTilemap0[0], data[1], 0); - sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->unkTilemap0[0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); schedule_bg_copy_tilemap_to_vram(3); if (data[1] <= 0 || data[1] >= gUnknown_0861CBEC.field_6) { if (data[0] < 0) { - sub_81C4A88(); + CreateSetStatusSprite(); PutWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); } @@ -2307,143 +2189,62 @@ void sub_81C20F0(u8 taskId) } } -// somebody send help this is a complete fucking mess -#ifdef NONMATCHING -void sub_81C2194(u16 *a, u16 b, u8 c) +static void sub_81C2194(u16 *output, u16 palette, bool8 c) { u16 i; - int var; - b *= 0x1000; + u32 var; + + palette *= 0x1000; var = 0x56A; if (c == 0) { for (i = 0; i < 20; i++) { - a[(i + var) << 1] = gSummaryScreenWindow_Tilemap[i] + b; - a[((i + var) << 1) + 0x40] = gSummaryScreenWindow_Tilemap[i] + b; - a[((i + var) << 1) + 0x80] = gSummaryScreenWindow_Tilemap[i + 20] + b; + output[var + i] = gSummaryScreenWindow_Tilemap[i] + palette; + output[var + i + 0x20] = gSummaryScreenWindow_Tilemap[i] + palette; + output[var + i + 0x40] = gSummaryScreenWindow_Tilemap[i + 20] + palette; } } else { for (i = 0; i < 20; i++) { - a[(i + var)] = gSummaryScreenWindow_Tilemap[i + 20] + b; - a[((i + var)) + 0x40] = gSummaryScreenWindow_Tilemap[i + 40] + b; - a[((i + var)) + 0x80] = gSummaryScreenWindow_Tilemap[i + 40] + b; - } - } -} -#else -NAKED -void sub_81C2194(u16 *a, u16 b, u8 c) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - adds r6, r0, 0\n\ - lsls r2, 24\n\ - lsls r1, 28\n\ - lsrs r4, r1, 16\n\ - ldr r7, =0x0000056a\n\ - cmp r2, 0\n\ - bne _081C21E4\n\ - movs r3, 0\n\ - ldr r5, =gSummaryScreenWindow_Tilemap\n\ -_081C21A8:\n\ - adds r2, r7, r3\n\ - lsls r2, 1\n\ - adds r2, r6\n\ - lsls r0, r3, 1\n\ - adds r0, r5\n\ - ldrh r1, [r0]\n\ - adds r1, r4, r1\n\ - strh r1, [r2]\n\ - adds r0, r2, 0\n\ - adds r0, 0x40\n\ - strh r1, [r0]\n\ - adds r2, 0x80\n\ - adds r0, r3, 0\n\ - adds r0, 0x14\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r2]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - cmp r3, 0x13\n\ - bls _081C21A8\n\ - b _081C221C\n\ - .pool\n\ -_081C21E4:\n\ - movs r3, 0\n\ - ldr r5, =gSummaryScreenWindow_Tilemap\n\ -_081C21E8:\n\ - adds r1, r7, r3\n\ - lsls r1, 1\n\ - adds r1, r6\n\ - adds r0, r3, 0\n\ - adds r0, 0x14\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r1]\n\ - adds r2, r1, 0\n\ - adds r2, 0x40\n\ - adds r0, r3, 0\n\ - adds r0, 0x28\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r2]\n\ - adds r1, 0x80\n\ - strh r0, [r1]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - cmp r3, 0x13\n\ - bls _081C21E8\n\ -_081C221C:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif - -void sub_81C2228(struct Pokemon *mon) + output[var + i] = gSummaryScreenWindow_Tilemap[i + 20] + palette; + output[var + i + 0x20] = gSummaryScreenWindow_Tilemap[i + 40] + palette; + output[var + i + 0x40] = gSummaryScreenWindow_Tilemap[i + 40] + palette; + } + } +} + +static void sub_81C2228(struct Pokemon *mon) { if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0)) { - gUnknown_0203CF1C->unkTilemap0[0x223] = 0x2C; - gUnknown_0203CF1C->unkTilemap0_1[0x223] = 0x2C; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; } else { - gUnknown_0203CF1C->unkTilemap0[0x223] = 0x81A; - gUnknown_0203CF1C->unkTilemap0_1[0x223] = 0x81A; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; } schedule_bg_copy_tilemap_to_vram(3); } -void sub_81C228C(u8 a) +static void sub_81C228C(bool8 isMonShiny) { - if (a == 0) + if (!isMonShiny) sub_8199C30(3, 1, 4, 8, 8, 0); else sub_8199C30(3, 1, 4, 8, 8, 5); schedule_bg_copy_tilemap_to_vram(3); } -void sub_81C22CC(struct Pokemon *unused) +static void sub_81C22CC(struct Pokemon *unused) { s64 r6r7; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; u16 *r9; u8 i; @@ -2461,7 +2262,7 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - r9 = &gUnknown_0203CF1C->unkTilemap1_1[0x255]; + r9 = &pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; for (i = 0; i < 8; i++) { if (r6r7 > 7) @@ -2473,221 +2274,237 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - if (GetBgTilemapBuffer(1) == gUnknown_0203CF1C->unkTilemap1) + if (GetBgTilemapBuffer(1) == pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) schedule_bg_copy_tilemap_to_vram(1); else schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C240C(u16 move) +static void sub_81C240C(u16 move) { - u16* r5 = &gUnknown_0203CF1C->unkTilemap3_1[0]; + u16 *tilemap = pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; u8 i; - u8 r4; + u8 effectValue; + if (move != MOVE_NONE) { - r4 = gContestEffects[gContestMoves[move].effect].appeal; - if (r4 != 0xFF) - r4 /= 10; - for (i = 0;i < 8; i++) + effectValue = gContestEffects[gContestMoves[move].effect].appeal; + + if (effectValue != 0xFF) + effectValue /= 10; + + for (i = 0; i < 8; i++) { - if (r4 != 0xFF && i < r4) + if (effectValue != 0xFF && i < effectValue) { - r5[((i>>2)*32)+(i&3)+0x1E6] = 0x103A; + tilemap[(i / 4 * 32) + (i & 3) + 0x1E6] = 0x103A; } else - r5[((i>>2)*32)+(i&3)+0x1E6] = 0x1039; + { + tilemap[(i / 4 * 32) + (i & 3) + 0x1E6] = 0x1039; + } } - r4 = gContestEffects[gContestMoves[move].effect].jam; - if (r4 != 0xFF) - r4 /= 10; - for (i = 0;i < 8; i++) + + effectValue = gContestEffects[gContestMoves[move].effect].jam; + + if (effectValue != 0xFF) + effectValue /= 10; + + for (i = 0; i < 8; i++) { - if (r4 != 0xFF && i < r4) + if (effectValue != 0xFF && i < effectValue) { - r5[((i>>2)*32)+(i&3)+0x226] = 0x103C; + tilemap[(i / 4 * 32) + (i & 3) + 0x226] = 0x103C; } else - r5[((i>>2)*32)+(i&3)+0x226] = 0x103D; + { + tilemap[(i / 4 * 32) + (i & 3) + 0x226] = 0x103D; + } } } } -void sub_81C2524() +static void sub_81C2524(void) { - if (gUnknown_0203CF1C->summary.isEgg != 0) + if (pssData->summary.isEgg) ChangeBgX(3, 0x10000, 0); else ChangeBgX(3, 0, 0); } -void sub_81C2554() +static void sub_81C2554(void) { u8 i; - InitWindows(&gUnknown_0861CC24); + InitWindows(gUnknown_0861CC24); DeactivateAllTextPrinters(); + for (i = 0; i < 20; i++) + { FillWindowPixelBuffer(i, 0); + } for (i = 0; i < 8; i++) - gUnknown_0203CF1C->unk40CB[i] |= 0xFF; + { + pssData->windowIds[i] = 0xFF; + } } -void sub_81C25A4(u8 a, const u8 *b, u8 c, u8 d, u8 e, u8 f) +static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId) { - AddTextPrinterParameterized2(a, 1, c, d, 0, e, gUnknown_0861CD2C[f], 0, b); + AddTextPrinterParameterized2(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); } -void sub_81C25E8() +static void sub_81C25E8(void) { FillWindowPixelBuffer(17, 0); FillWindowPixelBuffer(18, 0); FillWindowPixelBuffer(19, 0); - if (gUnknown_0203CF1C->summary.isEgg == 0) + if (!pssData->summary.isEgg) sub_81C2628(); else sub_81C2794(); schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C2628() +static void sub_81C2628(void) { u8 strArray[16]; - struct Pokemon *mon = &gUnknown_0203CF1C->currentMon; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; - u16 r5 = SpeciesToPokedexNum(summary->species); - if (r5 != 0xFFFF) + struct Pokemon *mon = &pssData->currentMon; + struct PokeSummary *summary = &pssData->summary; + u16 dexNum = SpeciesToPokedexNum(summary->species); + if (dexNum != 0xFFFF) { StringCopy(gStringVar1, &gText_UnkCtrlF908Clear01[0]); - ConvertIntToDecimalStringN(gStringVar2, r5, 2, 3); + ConvertIntToDecimalStringN(gStringVar2, dexNum, 2, 3); StringAppend(gStringVar1, gStringVar2); - if (IsMonShiny(mon) == 0) + if (!IsMonShiny(mon)) { - sub_81C25A4(17, gStringVar1, 0, 1, 0, 1); - sub_81C228C(0); + SummaryScreen_PrintTextOnWindow(17, gStringVar1, 0, 1, 0, 1); + sub_81C228C(FALSE); } else { - sub_81C25A4(17, gStringVar1, 0, 1, 0, 7); - sub_81C228C(1); + SummaryScreen_PrintTextOnWindow(17, gStringVar1, 0, 1, 0, 7); + sub_81C228C(TRUE); } PutWindowTilemap(17); } else { ClearWindowTilemap(17); - if (IsMonShiny(mon) == 0) - sub_81C228C(0); + if (!IsMonShiny(mon)) + sub_81C228C(FALSE); else - sub_81C228C(1); + sub_81C228C(TRUE); } StringCopy(gStringVar1, &gText_LevelSymbol[0]); ConvertIntToDecimalStringN(gStringVar2, summary->level, 0, 3); StringAppend(gStringVar1, gStringVar2); - sub_81C25A4(19, gStringVar1, 0x18, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(19, gStringVar1, 0x18, 17, 0, 1); GetMonNickname(mon, gStringVar1); - sub_81C25A4(18, gStringVar1, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); strArray[0] = CHAR_SLASH; StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); - sub_81C25A4(19, &strArray[0], 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(19, &strArray[0], 0, 1, 0, 1); sub_81C27DC(mon, summary->species2); PutWindowTilemap(18); PutWindowTilemap(19); } -void sub_81C2794() +static void sub_81C2794(void) { - GetMonNickname(&gUnknown_0203CF1C->currentMon, gStringVar1); - sub_81C25A4(18, gStringVar1, 0, 1, 0, 1); + GetMonNickname(&pssData->currentMon, gStringVar1); + SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); PutWindowTilemap(18); ClearWindowTilemap(17); ClearWindowTilemap(19); } -void sub_81C27DC(struct Pokemon *mon, u16 a) +static void sub_81C27DC(struct Pokemon *mon, u16 species) { - if (a != SPECIES_NIDORAN_M && a != SPECIES_NIDORAN_F) + if (species != SPECIES_NIDORAN_M && species != SPECIES_NIDORAN_F) { u8 gender = GetMonGender(mon); switch (gender) { - case 0: - sub_81C25A4(0x13, &gText_MaleSymbol[0], 0x39, 17, 0, 3); + case MON_MALE: + SummaryScreen_PrintTextOnWindow(19, gText_MaleSymbol, 57, 17, 0, 3); break; - case 0xFE: - sub_81C25A4(0x13, &gText_FemaleSymbol[0], 0x39, 17, 0, 4); + case MON_FEMALE: + SummaryScreen_PrintTextOnWindow(19, gText_FemaleSymbol, 57, 17, 0, 4); break; } } } -void sub_81C2838(u8 a, bool8 b, u32 c) -{ - BlitBitmapToWindow(a, (b) ? &gUnknown_0861CDD3[0] : &gUnknown_0861CDD3[0] - 0x80, c, 0, 16, 16); -} - -void sub_81C286C() -{ - int r4; - int r2; - int temp; - sub_81C25A4(0, gText_PkmnInfo, 2, 1, 0, 1); - sub_81C25A4(1, gText_PkmnSkills, 2, 1, 0, 1); - sub_81C25A4(2, gText_BattleMoves, 2, 1, 0, 1); - sub_81C25A4(3, gText_ContestMoves, 2, 1, 0, 1); - r4 = GetStringRightAlignXOffset(1, gText_Cancel2, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(4, 0, r2); - sub_81C25A4(4, gText_Cancel2, r4, 1, 0, 0); - r4 = GetStringRightAlignXOffset(1, gText_Info, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(5, 0, r2); - sub_81C25A4(5, gText_Info, r4, 1, 0, 0); - r4 = GetStringRightAlignXOffset(1, gText_Switch, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(6, 0, r2); - sub_81C25A4(6, gText_Switch, r4, 1, 0, 0); - sub_81C25A4(8, gText_RentalPkmn, 0, 1, 0, 1); - sub_81C25A4(9, gText_TypeSlash, 0, 1, 0, 0); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_HP4, 42); - sub_81C25A4(10, gText_HP4, temp, 1, 0, 1); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_Attack3, 42); - sub_81C25A4(10, gText_Attack3, temp, 17, 0, 1); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_Defense3, 42); - sub_81C25A4(10, gText_Defense3, temp, 33, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_SpAtk4, 36); - sub_81C25A4(11, gText_SpAtk4, temp, 1, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_SpDef4, 36); - sub_81C25A4(11, gText_SpDef4, temp, 17, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_Speed2, 36); - sub_81C25A4(11, gText_Speed2, temp, 33, 0, 1); - sub_81C25A4(12, gText_ExpPoints, 6, 1, 0, 1); - sub_81C25A4(12, gText_NextLv, 6, 17, 0, 1); - sub_81C25A4(13, gText_Status, 2, 1, 0, 1); - sub_81C25A4(14, gText_Power, 0, 1, 0, 1); - sub_81C25A4(14, gText_Accuracy2, 0, 17, 0, 1); - sub_81C25A4(15, gText_Appeal, 0, 1, 0, 1); - sub_81C25A4(15, gText_Jam, 0, 17, 0, 1); -} - -void sub_81C2AFC(u8 a) +static void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x) +{ + BlitBitmapToWindow(windowId, (bButton) ? gUnknown_0861CDD3 : gUnknown_0861CDD3 - 0x80, x, 0, 16, 16); +} + +static void PrintPageNamesAndStatsPageToWindows(void) +{ + int stringXPos; + int iconXPos; + int statsXPos; + + SummaryScreen_PrintTextOnWindow(0, gText_PkmnInfo, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(1, gText_PkmnSkills, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(2, gText_BattleMoves, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(3, gText_ContestMoves, 2, 1, 0, 1); + + stringXPos = GetStringRightAlignXOffset(1, gText_Cancel2, 62); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(4, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(4, gText_Cancel2, stringXPos, 1, 0, 0); + + stringXPos = GetStringRightAlignXOffset(1, gText_Info, 0x3E); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(5, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(5, gText_Info, stringXPos, 1, 0, 0); + + stringXPos = GetStringRightAlignXOffset(1, gText_Switch, 0x3E); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(6, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(6, gText_Switch, stringXPos, 1, 0, 0); + + SummaryScreen_PrintTextOnWindow(8, gText_RentalPkmn, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(9, gText_TypeSlash, 0, 1, 0, 0); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_HP4, 42); + SummaryScreen_PrintTextOnWindow(10, gText_HP4, statsXPos, 1, 0, 1); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_Attack3, 42); + SummaryScreen_PrintTextOnWindow(10, gText_Attack3, statsXPos, 17, 0, 1); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_Defense3, 42); + SummaryScreen_PrintTextOnWindow(10, gText_Defense3, statsXPos, 33, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_SpAtk4, 36); + SummaryScreen_PrintTextOnWindow(11, gText_SpAtk4, statsXPos, 1, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_SpDef4, 36); + SummaryScreen_PrintTextOnWindow(11, gText_SpDef4, statsXPos, 17, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_Speed2, 36); + SummaryScreen_PrintTextOnWindow(11, gText_Speed2, statsXPos, 33, 0, 1); + SummaryScreen_PrintTextOnWindow(12, gText_ExpPoints, 6, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(12, gText_NextLv, 6, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(13, gText_Status, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(14, gText_Power, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(14, gText_Accuracy2, 0, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(15, gText_Appeal, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(15, gText_Jam, 0, 17, 0, 1); +} + +static void sub_81C2AFC(u8 a) { u8 i; + ClearWindowTilemap(0); ClearWindowTilemap(1); ClearWindowTilemap(2); ClearWindowTilemap(3); + switch (a) { case 0: @@ -2705,33 +2522,39 @@ void sub_81C2AFC(u8 a) break; case 2: PutWindowTilemap(2); - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(14); } else + { PutWindowTilemap(5); + } break; case 3: PutWindowTilemap(3); - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(15); } else + { PutWindowTilemap(5); + } break; } + for (i = 0; i < 8; i++) { - PutWindowTilemap(gUnknown_0203CF1C->unk40CB[i]); + PutWindowTilemap(pssData->windowIds[i]); } + schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C2C38(u8 a) +static void sub_81C2C38(u8 a) { u8 i; switch (a) @@ -2748,43 +2571,51 @@ void sub_81C2C38(u8 a) ClearWindowTilemap(12); break; case 2: - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(14); } else + { ClearWindowTilemap(5); + } break; case 3: - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(15); } else + { ClearWindowTilemap(5); + } break; } + for (i = 0; i < 8; i++) - sub_81C2D68(i); + { + SummaryScreen_RemoveWindowByIndex(i); + } + schedule_bg_copy_tilemap_to_vram(0); } -u8 sub_81C2D2C(struct WindowTemplate *template, u8 a) +static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->unk40CB[a]); + u8 *windowIdPtr = &(pssData->windowIds[templateId]); if (*windowIdPtr == 0xFF) { - *windowIdPtr = AddWindow(&template[a]); + *windowIdPtr = AddWindow(&template[templateId]); FillWindowPixelBuffer(*windowIdPtr, 0); } return *windowIdPtr; } -void sub_81C2D68(u8 a) +static void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->unk40CB[a]); + u8 *windowIdPtr = &(pssData->windowIds[windowIndex]); if (*windowIdPtr != 0xFF) { ClearWindowTilemap(*windowIdPtr); @@ -2793,302 +2624,259 @@ void sub_81C2D68(u8 a) } } -void sub_81C2D9C(u8 a) +static void sub_81C2D9C(u8 pageIndex) { u16 i; for (i = 0; i < 8; i++) { - if (gUnknown_0203CF1C->unk40CB[i] != 0xFF) - FillWindowPixelBuffer(gUnknown_0203CF1C->unk40CB[i], 0); + if (pssData->windowIds[i] != 0xFF) + FillWindowPixelBuffer(pssData->windowIds[i], 0); } - gUnknown_0861CE54[a](); + gUnknown_0861CE54[pageIndex](); } -void sub_81C2DE4(u8 a) +static void sub_81C2DE4(u8 pageIndex) { - CreateTask(gUnknown_0861CE64[a], 16); + CreateTask(gUnknown_0861CE64[pageIndex], 16); } -void sub_81C2E00() +static void sub_81C2E00(void) { - if (gUnknown_0203CF1C->summary.isEgg) + if (pssData->summary.isEgg) { - sub_81C335C(); - sub_81C33CC(); - sub_81C3428(); - sub_81C349C(); + PrintEggOTName(); + PrintEggOTID(); + PrintEggState(); + PrintEggMemo(); } else { - sub_81C2EC4(); - sub_81C2F5C(); - sub_81C2FD8(); - sub_81C302C(); - sub_81C307C(); - sub_81C3194(); + PrintMonOTName(); + PrintMonOTID(); + PrintMonAbilityName(); + PrintMonAbilityDescription(); + BufferMonTrainerMemo(); + PrintMonTrainerMemo(); } } -void sub_81C2E40(u8 taskId) +static void sub_81C2E40(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + switch (data[0]) { - case 0: - sub_81C2EC4(); - break; case 1: - sub_81C2F5C(); + PrintMonOTName(); break; case 2: - sub_81C2FD8(); + PrintMonOTID(); break; case 3: - sub_81C302C(); + PrintMonAbilityName(); break; case 4: - sub_81C307C(); + PrintMonAbilityDescription(); break; case 5: - sub_81C3194(); + BufferMonTrainerMemo(); break; case 6: + PrintMonTrainerMemo(); + break; + case 7: DestroyTask(taskId); return; } data[0]++; } -void sub_81C2EC4() +static void PrintMonOTName(void) { - u8 r5; - int r2; - if (sub_81A6BF4() != 1 && sub_81B9E94() != 1) + u8 windowId; + int x; + if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE) { - r5 = sub_81C2D2C(&gUnknown_0861CCCC, 0); - sub_81C25A4(r5, gText_OTSlash, 0, 1, 0, 1); - r2 = GetStringWidth(1, gText_OTSlash, 0); - if (gUnknown_0203CF1C->summary.OTGender == 0) - sub_81C25A4(r5, gUnknown_0203CF1C->summary.OTName, r2, 1, 0, 5); + windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0); + SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); + x = GetStringWidth(1, gText_OTSlash, 0); + if (pssData->summary.OTGender == 0) + SummaryScreen_PrintTextOnWindow(windowId, pssData->summary.OTName, x, 1, 0, 5); else - sub_81C25A4(r5, gUnknown_0203CF1C->summary.OTName, r2, 1, 0, 6); + SummaryScreen_PrintTextOnWindow(windowId, pssData->summary.OTName, x, 1, 0, 6); } } -void sub_81C2F5C() +static void PrintMonOTID(void) { - int r4; + int xPos; if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE) { - ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)gUnknown_0203CF1C->summary.OTID, 2, 5); - r4 = GetStringRightAlignXOffset(1, gStringVar1, 0x38); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); + ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)pssData->summary.OTID, 2, 5); + xPos = GetStringRightAlignXOffset(1, gStringVar1, 56); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, xPos, 1, 0, 1); } } -void sub_81C2FD8() +static void PrintMonAbilityName(void) { - u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); + u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); } -void sub_81C302C() +static void PrintMonAbilityDescription(void) { - u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); + u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); } -void sub_81C307C() +static void BufferMonTrainerMemo(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 *text; + struct PokeSummary *sum = &pssData->summary; + const u8 *text; + DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_0861CE74); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_0861CE7B); - sub_81C31C0(); - if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || sub_81C3304() == TRUE) + BufferNatureString(); + + if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || IsInGamePartnerMon() == TRUE) + { DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_XNature); + } else { - u8 *alloced1 = Alloc(32); - u8 *alloced2 = Alloc(32); - sub_81C31F0(alloced1); - if (sum->metLocation <= 0xD4) + u8 *metLevelString = Alloc(32); + u8 *metLocationString = Alloc(32); + GetMetLevelString(metLevelString); + + if (sum->metLocation < MAPSEC_NONE) { - sub_8124610(alloced2, sum->metLocation); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, alloced2); + sub_8124610(metLocationString, sum->metLocation); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, metLocationString); } - if (sub_81C3220() == 1) + + if (DoesMonOTMatchOwner() == TRUE) { if (sum->metLevel == 0) - text = (sum->metLocation > 0xD4) ? gText_XNatureHatchedSomewhereAt : gText_XNatureHatchedAtYZ; + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureHatchedSomewhereAt : gText_XNatureHatchedAtYZ; else - text = (sum->metLocation > 0xD4) ? gText_XNatureMetSomewhereAt : gText_XNatureMetAtYZ; + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureMetSomewhereAt : gText_XNatureMetAtYZ; } - else if (sum->metLocation == 0xFF) + else if (sum->metLocation == MAPSEC_FATEFUL_ENCOUNTER) + { text = gText_XNatureFatefulEncounter; - else if (sum->metLocation != 0xFE && sub_81C32BC()) - text = (sum->metLocation > 0xD4) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; + } + else if (sum->metLocation != MAPSEC_IN_GAME_TRADE && DidMonComeFromGBAGames()) + { + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; + } else + { text = gText_XNatureObtainedInTrade; + } + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, text); - Free(alloced1); - Free(alloced2); + Free(metLevelString); + Free(metLocationString); } } -void sub_81C3194() +static void PrintMonTrainerMemo(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); } -void sub_81C31C0() +static void BufferNatureString(void) { - struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C; + struct UnkSummaryStruct *sumStruct = pssData; DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gText_EmptyString5); } -void sub_81C31F0(u8 *a) +static void GetMetLevelString(u8 *output) { - u8 level = gUnknown_0203CF1C->summary.metLevel; + u8 level = pssData->summary.metLevel; if (level == 0) level = EGG_HATCH_LEVEL; - ConvertIntToDecimalStringN(a, level, 0, 3); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, a); + ConvertIntToDecimalStringN(output, level, 0, 3); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, output); } -u8 sub_81C3220() +static bool8 DoesMonOTMatchOwner(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u32 r4; - u8 r5; - if (gUnknown_0203CF1C->unk0 == (union UnkUnion *)&gEnemyParty) + struct PokeSummary *sum = &pssData->summary; + u32 trainerId; + u8 gender; + + if (pssData->monList.mons == gEnemyParty) { - u8 multiID = GetMultiplayerId()^1; - r4 = (u16)gLinkPlayers[multiID].trainerId; - r5 = gLinkPlayers[multiID].gender; + u8 multiID = GetMultiplayerId() ^ 1; + trainerId = (u16)gLinkPlayers[multiID].trainerId; + gender = gLinkPlayers[multiID].gender; StringCopy(gStringVar1, gLinkPlayers[multiID].name); } else { - r4 = GetPlayerIDAsU32() & 0xFFFF; - r5 = gSaveBlock2Ptr->playerGender; + trainerId = GetPlayerIDAsU32() & 0xFFFF; + gender = gSaveBlock2Ptr->playerGender; StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); } - if (r5 != sum->OTGender || r4 != (sum->OTID & 0xFFFF) || StringCompareWithoutExtCtrlCodes(gStringVar1, sum->OTName)) + if (gender != sum->OTGender || trainerId != (sum->OTID & 0xFFFF) || StringCompareWithoutExtCtrlCodes(gStringVar1, sum->OTName)) { - return 0; + return FALSE; } - return 1; + return TRUE; } -bool8 sub_81C32BC() +static bool8 DidMonComeFromGBAGames(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r0 = sum->metGame - 1; - if (r0 <= 4) + struct PokeSummary *sum = &pssData->summary; + if (sum->metGame > 0 && sum->metGame <= VERSION_LEAF_GREEN) return TRUE; return FALSE; } -bool8 sub_81C32E0() +bool8 DidMonComeFromRSE(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r0 = sum->metGame - 1; - if (r0 <= 2) + struct PokeSummary *sum = &pssData->summary; + if (sum->metGame > 0 && sum->metGame <= VERSION_EMERALD) return TRUE; return FALSE; } -bool8 sub_81C3304() +static bool8 IsInGamePartnerMon(void) { if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) && gMain.inBattle) { - if (gUnknown_0203CF1C->unk40BE == 1 || gUnknown_0203CF1C->unk40BE == 4 || gUnknown_0203CF1C->unk40BE == 5) + if (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5) return TRUE; } return FALSE; } -#ifdef NONMATCHING -void sub_81C335C() -{ - u8 r4 = sub_81C2D2C(&gUnknown_0861CCCC, 0); - u32 r5 = GetStringWidth(1, gText_OTSlash, 0); - sub_81C25A4(r4, gText_OTSlash, 0, 1, 0, 1); - sub_81C25A4(r4, gText_FiveMarks, r5, 1, 0, 1); -} -#else -NAKED -void sub_81C335C() -{ - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5,r6}\n\ - sub sp, 0x8\n\ - ldr r0, =gUnknown_0861CCCC\n\ - movs r1, 0\n\ - bl sub_81C2D2C\n\ - adds r4, r0, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - ldr r0, =gText_OTSlash\n\ - mov r8, r0\n\ - movs r0, 0x1\n\ - mov r1, r8\n\ - movs r2, 0\n\ - bl GetStringWidth\n\ - adds r5, r0, 0\n\ - movs r0, 0\n\ - mov r9, r0\n\ - str r0, [sp]\n\ - movs r6, 0x1\n\ - str r6, [sp, 0x4]\n\ - adds r0, r4, 0\n\ - mov r1, r8\n\ - movs r2, 0\n\ - movs r3, 0x1\n\ - bl sub_81C25A4\n\ - ldr r1, =gText_FiveMarks\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - mov r0, r9\n\ - str r0, [sp]\n\ - str r6, [sp, 0x4]\n\ - adds r0, r4, 0\n\ - adds r2, r5, 0\n\ - movs r3, 0x1\n\ - bl sub_81C25A4\n\ - add sp, 0x8\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif - -void sub_81C33CC() -{ - int r4; +static void PrintEggOTName(void) +{ + u32 windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0); + u32 width = GetStringWidth(1, gText_OTSlash, 0); + SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(windowId, gText_FiveMarks, width, 1, 0, 1); +} + +static void PrintEggOTID(void) +{ + int x; StringCopy(gStringVar1, gText_UnkCtrlF907F908); StringAppend(gStringVar1, gText_FiveMarks); - r4 = GetStringRightAlignXOffset(1, gStringVar1, 0x38); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); + x = GetStringRightAlignXOffset(1, gStringVar1, 56); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, x, 1, 0, 1); } -void sub_81C3428() +static void PrintEggState(void) { - u8 *text; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - if (gUnknown_0203CF1C->summary.sanity == 1) + const u8 *text; + struct PokeSummary *sum = &pssData->summary; + + if (pssData->summary.sanity == TRUE) text = gText_EggWillTakeALongTime; else if (sum->friendship <= 5) text = gText_EggAboutToHatch; @@ -3098,141 +2886,158 @@ void sub_81C3428() text = gText_EggWillTakeSomeTime; else text = gText_EggWillTakeALongTime; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); + + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); } -void sub_81C349C() +static void PrintEggMemo(void) { - u8 *text; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - if (gUnknown_0203CF1C->summary.sanity != 1) + const u8 *text; + struct PokeSummary *sum = &pssData->summary; + + if (pssData->summary.sanity != 1) { - if (sum->metLocation == 0xFF) + if (sum->metLocation == MAPSEC_FATEFUL_ENCOUNTER) text = gText_PeculiarEggNicePlace; - else if (sub_81C32BC() == 0 || sub_81C3220() == 0) + else if (DidMonComeFromGBAGames() == FALSE || DoesMonOTMatchOwner() == FALSE) text = gText_PeculiarEggTrade; - else if (sum->metLocation == 0xFD) - text = (sub_81C32E0() == TRUE) ? gText_EggFromHotSprings : gText_EggFromTraveler; + else if (sum->metLocation == MAPSEC_SPECIAL_EGG) + text = (DidMonComeFromRSE() == TRUE) ? gText_EggFromHotSprings : gText_EggFromTraveler; else text = gText_OddEggFoundByCouple; } else + { text = gText_OddEggFoundByCouple; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); + } + + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); } -void sub_81C3530() +static void sub_81C3530(void) { - sub_81C35E4(); - sub_81C3690(); - sub_81C3710(); - sub_81C37D8(); - sub_81C3808(); - sub_81C3890(); - sub_81C38C0(); + PrintHeldItemName(); + PrintRibbonCount(); + BufferLeftColumnStats(); + PrintLeftColumnStats(); + BufferRightColumnStats(); + PrintRightColumnStats(); + PrintExpPointsNextLevel(); } -void sub_81C3554(u8 taskId) +static void sub_81C3554(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + + switch (data[0]) { - case 0: - sub_81C35E4(); - break; case 1: - sub_81C3690(); + PrintHeldItemName(); break; case 2: - sub_81C3710(); + PrintRibbonCount(); break; case 3: - sub_81C37D8(); + BufferLeftColumnStats(); break; case 4: - sub_81C3808(); + PrintLeftColumnStats(); break; case 5: - sub_81C3890(); + BufferRightColumnStats(); break; case 6: - sub_81C38C0(); + PrintRightColumnStats(); break; case 7: + PrintExpPointsNextLevel(); + break; + case 8: DestroyTask(taskId); return; } data[0]++; } -void sub_81C35E4() +static void PrintHeldItemName(void) { const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == 1 && (gUnknown_0203CF1C->unk40BE == 1 || gUnknown_0203CF1C->unk40BE == 4 || gUnknown_0203CF1C->unk40BE == 5)) + + if (pssData->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == TRUE && (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5)) { text = ItemId_GetName(ITEM_ENIGMA_BERRY); } - else if (gUnknown_0203CF1C->summary.item == ITEM_NONE) + else if (pssData->summary.item == ITEM_NONE) + { text = gText_None; + } else { - CopyItemName(gUnknown_0203CF1C->summary.item, gStringVar1); + CopyItemName(pssData->summary.item, gStringVar1); text = gStringVar1; } - offset = GetStringCenterAlignXOffset(1, text, 0x48) + 6; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); + + offset = GetStringCenterAlignXOffset(1, text, 72) + 6; + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); } -void sub_81C3690() +static void PrintRibbonCount(void) { - u8 *text; + const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.ribbons == 0) + + if (pssData->summary.ribbonCount == 0) + { text = gText_None; + } else { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.ribbons, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, pssData->summary.ribbonCount, 1, 2); StringExpandPlaceholders(gStringVar4, gText_RibbonsVar1); text = gStringVar4; } - offset = GetStringCenterAlignXOffset(1, text, 0x46) + 6; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); + + offset = GetStringCenterAlignXOffset(1, text, 70) + 6; + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); } -void sub_81C3710() +static void BufferLeftColumnStats(void) { - u8 *alloced1 = Alloc(8); - u8 *alloced2 = Alloc(8); - u8 *alloced3 = Alloc(8); - u8 *alloced4 = Alloc(8); - ConvertIntToDecimalStringN(alloced1, gUnknown_0203CF1C->summary.currentHP, 1, 3); - ConvertIntToDecimalStringN(alloced2, gUnknown_0203CF1C->summary.maxHP, 1, 3); - ConvertIntToDecimalStringN(alloced3, gUnknown_0203CF1C->summary.atk, 1, 7); - ConvertIntToDecimalStringN(alloced4, gUnknown_0203CF1C->summary.def, 1, 7); + u8 *currentHPString = Alloc(8); + u8 *maxHPString = Alloc(8); + u8 *attackString = Alloc(8); + u8 *defenseString = Alloc(8); + + ConvertIntToDecimalStringN(currentHPString, pssData->summary.currentHP, 1, 3); + ConvertIntToDecimalStringN(maxHPString, pssData->summary.maxHP, 1, 3); + ConvertIntToDecimalStringN(attackString, pssData->summary.atk, 1, 7); + ConvertIntToDecimalStringN(defenseString, pssData->summary.def, 1, 7); + DynamicPlaceholderTextUtil_Reset(); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, alloced1); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, alloced2); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, alloced3); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, alloced4); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, currentHPString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, maxHPString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, attackString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, defenseString); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE82); - Free(alloced1); - Free(alloced2); - Free(alloced3); - Free(alloced4); + + Free(currentHPString); + Free(maxHPString); + Free(attackString); + Free(defenseString); } -void sub_81C37D8() +static void PrintLeftColumnStats(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); } -void sub_81C3808() +static void BufferRightColumnStats(void) { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3); - ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3); - ConvertIntToDecimalStringN(gStringVar3, gUnknown_0203CF1C->summary.speed, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, pssData->summary.spatk, 1, 3); + ConvertIntToDecimalStringN(gStringVar2, pssData->summary.spdef, 1, 3); + ConvertIntToDecimalStringN(gStringVar3, pssData->summary.speed, 1, 3); + DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); @@ -3240,317 +3045,183 @@ void sub_81C3808() DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE8E); } -void sub_81C3890() +static void PrintRightColumnStats(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); } -void sub_81C38C0() +static void PrintExpPointsNextLevel(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r6 = sub_81C2D2C(&gUnknown_0861CCEC, 4); + struct PokeSummary *sum = &pssData->summary; + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CCEC, 4); int offset; u32 expToNextLevel; + ConvertIntToDecimalStringN(gStringVar1, sum->exp, 1, 7); - offset = GetStringRightAlignXOffset(1, gStringVar1, 0x2A) + 2; - sub_81C25A4(r6, gStringVar1, offset, 1, 0, 0); + offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; + SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 1, 0, 0); + if (sum->level < MAX_MON_LEVEL) expToNextLevel = gExperienceTables[gBaseStats[sum->species].growthRate][sum->level + 1] - sum->exp; else expToNextLevel = 0; + ConvertIntToDecimalStringN(gStringVar1, expToNextLevel, 1, 6); - offset = GetStringRightAlignXOffset(1, gStringVar1, 0x2A) + 2; - sub_81C25A4(r6, gStringVar1, offset, 17, 0, 0); + offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; + SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 17, 0, 0); } -void sub_81C3984() +static void sub_81C3984(void) { - sub_81C3B08(0); - sub_81C3B08(1); - sub_81C3B08(2); - sub_81C3B08(3); - if (gUnknown_0203CF1C->unk40BC == 3) + PrintMoveNameAndPP(0); + PrintMoveNameAndPP(1); + PrintMoveNameAndPP(2); + PrintMoveNameAndPP(3); + + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - sub_81C3F44(); - if (gUnknown_0203CF1C->unk40C6 == 4) + PrintNewMoveDetailsOrCancelText(); + if (pssData->firstMoveIndex == MAX_MON_MOVES) { - if (gUnknown_0203CF1C->unk40C4 != 0) - sub_81C3E9C(gUnknown_0203CF1C->unk40C4); + if (pssData->newMove != MOVE_NONE) + PrintMoveDetails(pssData->newMove); } else - sub_81C3E9C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]); + { + PrintMoveDetails(pssData->summary.moves[pssData->firstMoveIndex]); + } } } -void sub_81C39F0(u8 taskId) +static void sub_81C39F0(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + switch (data[0]) { - case 0: - sub_81C3B08(0); - break; case 1: - sub_81C3B08(1); + PrintMoveNameAndPP(0); break; case 2: - sub_81C3B08(2); + PrintMoveNameAndPP(1); break; case 3: - sub_81C3B08(3); + PrintMoveNameAndPP(2); break; case 4: - if (gUnknown_0203CF1C->unk40BC == 3) - sub_81C3F44(); + PrintMoveNameAndPP(3); break; case 5: - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) + PrintNewMoveDetailsOrCancelText(); + break; + case 6: + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->unk40C6 == 4) - data[1] = gUnknown_0203CF1C->unk40C4; + if (pssData->firstMoveIndex == MAX_MON_MOVES) + data[1] = pssData->newMove; else - data[1] = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + data[1] = pssData->summary.moves[pssData->firstMoveIndex]; } break; - case 6: - if (gUnknown_0203CF1C->unk40BC == 3) + case 7: + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) - sub_81C3E9C(data[1]); + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) + PrintMoveDetails(data[1]); } break; - case 7: + case 8: DestroyTask(taskId); return; } data[0]++; } -#ifdef NONMATCHING -void sub_81C3B08(u8 a) +static void PrintMoveNameAndPP(u8 moveIndex) { - struct UnkSummaryStruct *r10 = gUnknown_0203CF1C; - u8 r8 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 sp = sub_81C2D2C(&gUnknown_0861CD14, 1); - u8 r6; - u8 r5; - u8 *text; - int offset; - u16 move; - if (r10->summary.moves[a] != 0) + u8 pp; + u32 ppState; + const u8 *text; + u32 offset; + struct UnkSummaryStruct *summaryStruct = pssData; + u8 moveNameWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 ppValueWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 1); + u16 move = summaryStruct->summary.moves[moveIndex]; + + if (move != 0) { - move = r10->summary.moves[a]; - r6 = CalculatePPWithBonus(move, r10->summary.ppBonuses, a); - sub_81C25A4(r8, gMoveNames[move], 0, (a<<4) + 1, 0, 1); - ConvertIntToDecimalStringN(gStringVar1, r10->summary.pp[a], 1, 2); - ConvertIntToDecimalStringN(gStringVar2, r6, 1, 2); + pp = CalculatePPWithBonus(move, summaryStruct->summary.ppBonuses, moveIndex); + SummaryScreen_PrintTextOnWindow(moveNameWindowId, gMoveNames[move], 0, moveIndex * 16 + 1, 0, 1); + ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[moveIndex], 1, 2); + ConvertIntToDecimalStringN(gStringVar2, pp, 1, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); text = gStringVar4; - r5 = GetCurrentPpToMaxPpState(r10->summary.pp[a], r6) + 9; - offset = GetStringRightAlignXOffset(1, text, 0x2C); + ppState = GetCurrentPpToMaxPpState(summaryStruct->summary.pp[moveIndex], pp) + 9; + offset = GetStringRightAlignXOffset(1, text, 44); } else { - sub_81C25A4(r8, gText_OneDash, 0, (a<<4) + 1, 0, 1); + SummaryScreen_PrintTextOnWindow(moveNameWindowId, gText_OneDash, 0, moveIndex * 16 + 1, 0, 1); text = gText_TwoDashes; - r5 = 12; - offset = GetStringCenterAlignXOffset(1, text, 0x2C); - } - sub_81C25A4(sp, text, offset, (a<<4), 0, r5); -} -#else -NAKED -void sub_81C3B08(u8 a) -{ - 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 r7, r0, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r0, [r0]\n\ - mov r10, r0\n\ - ldr r4, =gUnknown_0861CD14\n\ - adds r0, r4, 0\n\ - movs r1, 0\n\ - bl sub_81C2D2C\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0x1\n\ - bl sub_81C2D2C\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x8]\n\ - lsls r1, r7, 1\n\ - mov r0, r10\n\ - adds r0, 0x84\n\ - adds r0, r1\n\ - ldrh r5, [r0]\n\ - cmp r5, 0\n\ - beq _081C3C00\n\ - mov r0, r10\n\ - adds r0, 0xA4\n\ - ldrb r1, [r0]\n\ - adds r0, r5, 0\n\ - adds r2, r7, 0\n\ - bl CalculatePPWithBonus\n\ - adds r6, r0, 0\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - movs r0, 0xD\n\ - adds r1, r5, 0\n\ - muls r1, r0\n\ - ldr r0, =gMoveNames\n\ - adds r1, r0\n\ - lsls r0, r7, 4\n\ - mov r9, r0\n\ - mov r3, r9\n\ - adds r3, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - movs r0, 0x1\n\ - str r0, [sp, 0x4]\n\ - mov r0, r8\n\ - movs r2, 0\n\ - bl sub_81C25A4\n\ - ldr r0, =gStringVar1\n\ - mov r8, r0\n\ - mov r5, r10\n\ - adds r5, 0x8C\n\ - adds r5, r7\n\ - ldrb r1, [r5]\n\ - movs r2, 0x1\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - ldr r4, =gStringVar2\n\ - adds r0, r4, 0\n\ - adds r1, r6, 0\n\ - movs r2, 0x1\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - bl DynamicPlaceholderTextUtil_Reset\n\ - movs r0, 0\n\ - mov r1, r8\n\ - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ - movs r0, 0x1\n\ - adds r1, r4, 0\n\ - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ - ldr r4, =gStringVar4\n\ - ldr r1, =gUnknown_0861CE97\n\ - adds r0, r4, 0\n\ - bl DynamicPlaceholderTextUtil_ExpandPlaceholders\n\ - adds r7, r4, 0\n\ - ldrb r0, [r5]\n\ - adds r1, r6, 0\n\ - bl GetCurrentPpToMaxPpState\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r5, r0, 0\n\ - adds r5, 0x9\n\ - movs r0, 0x1\n\ - adds r1, r7, 0\n\ - movs r2, 0x2C\n\ - bl GetStringRightAlignXOffset\n\ - mov r4, r9\n\ - b _081C3C26\n\ - .pool\n\ -_081C3C00:\n\ - ldr r1, =gText_OneDash\n\ - lsls r4, r7, 4\n\ - adds r3, r4, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - str r5, [sp]\n\ - movs r0, 0x1\n\ - str r0, [sp, 0x4]\n\ - mov r0, r8\n\ - movs r2, 0\n\ - bl sub_81C25A4\n\ - ldr r7, =gText_TwoDashes\n\ - movs r5, 0xC\n\ - movs r0, 0x1\n\ - adds r1, r7, 0\n\ - movs r2, 0x2C\n\ - bl GetStringCenterAlignXOffset\n\ -_081C3C26:\n\ - lsls r2, r0, 24\n\ - lsrs r2, 24\n\ - adds r3, r4, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - lsls r0, r5, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x4]\n\ - ldr r0, [sp, 0x8]\n\ - adds r1, r7, 0\n\ - bl sub_81C25A4\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\n\ - .pool\n\ - .syntax divided\n"); -} -#endif - -void sub_81C3C5C(u16 move) -{ - u8 *text; - if (move != 0) + ppState = 12; + offset = GetStringCenterAlignXOffset(1, text, 44); + } + + SummaryScreen_PrintTextOnWindow(ppValueWindowId, text, offset, moveIndex * 16 + 1, 0, ppState); +} + +static void PrintMovePowerAndAccuracy(u16 moveIndex) +{ + const u8 *text; + if (moveIndex != 0) { - FillWindowPixelRect(14, 0, 0x35, 0, 0x13, 0x20); - if (gBattleMoves[move].power <= 1) + FillWindowPixelRect(14, 0, 53, 0, 19, 32); + + if (gBattleMoves[moveIndex].power < 2) + { text = gText_ThreeDashes; + } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].power, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].power, 1, 3); text = gStringVar1; } - sub_81C25A4(14, text, 0x35, 1, 0, 0); - if (gBattleMoves[move].accuracy == 0) + + SummaryScreen_PrintTextOnWindow(14, text, 53, 1, 0, 0); + + if (gBattleMoves[moveIndex].accuracy == 0) + { text = gText_ThreeDashes; + } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].accuracy, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].accuracy, 1, 3); text = gStringVar1; } - sub_81C25A4(14, text, 0x35, 17, 0, 0); + + SummaryScreen_PrintTextOnWindow(14, text, 53, 17, 0, 0); } } -void sub_81C3D08() +static void sub_81C3D08(void) { - sub_81C3B08(0); - sub_81C3B08(1); - sub_81C3B08(2); - sub_81C3B08(3); - if (gUnknown_0203CF1C->unk40BC == 3) + PrintMoveNameAndPP(0); + PrintMoveNameAndPP(1); + PrintMoveNameAndPP(2); + PrintMoveNameAndPP(3); + + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - sub_81C3F44(); - sub_81C3E2C(gUnknown_0203CF1C->unk40C6); + PrintNewMoveDetailsOrCancelText(); + PrintContestMoveDescription(pssData->firstMoveIndex); } } -void sub_81C3D54(u8 taskId) +static void sub_81C3D54(u8 taskId) { s16 *data = gTasks[taskId].data; s16 dataa = data[0] - 1; @@ -3558,26 +3229,26 @@ void sub_81C3D54(u8 taskId) switch (dataa) { case 0: - sub_81C3B08(0); + PrintMoveNameAndPP(0); break; case 1: - sub_81C3B08(1); + PrintMoveNameAndPP(1); break; case 2: - sub_81C3B08(2); + PrintMoveNameAndPP(2); break; case 3: - sub_81C3B08(3); + PrintMoveNameAndPP(3); break; case 4: - if (gUnknown_0203CF1C->unk40BC == 3) - sub_81C3F44(); + if (pssData->mode == PSS_MODE_SELECT_MOVE) + PrintNewMoveDetailsOrCancelText(); break; case 5: - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) - sub_81C3E2C(gUnknown_0203CF1C->unk40C6); + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) + PrintContestMoveDescription(pssData->firstMoveIndex); } break; case 6: @@ -3587,36 +3258,36 @@ void sub_81C3D54(u8 taskId) data[0]++; } -void sub_81C3E2C(u8 moveSlot) +static void PrintContestMoveDescription(u8 moveSlot) { u16 move; if (moveSlot == 4) - move = gUnknown_0203CF1C->unk40C4; + move = pssData->newMove; else - move = gUnknown_0203CF1C->summary.moves[moveSlot]; + move = pssData->summary.moves[moveSlot]; if (move != MOVE_NONE) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); - sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); + SummaryScreen_PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); } } -void sub_81C3E9C(u16 move) +static void PrintMoveDetails(u16 move) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); if (move != MOVE_NONE) { - if (gUnknown_0203CF1C->unk40C0 == 2) + if (pssData->currPageIndex == 2) { - sub_81C3C5C(move); - sub_81C25A4(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); + PrintMovePowerAndAccuracy(move); + SummaryScreen_PrintTextOnWindow(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); } else { - sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); } PutWindowTilemap(windowId); } @@ -3628,96 +3299,100 @@ void sub_81C3E9C(u16 move) schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C3F44(void) +static void PrintNewMoveDetailsOrCancelText(void) { - u8 windowId1 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 windowId2 = sub_81C2D2C(&gUnknown_0861CD14, 1); - if (gUnknown_0203CF1C->unk40C4 == MOVE_NONE) + u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1); + + if (pssData->newMove == MOVE_NONE) { - sub_81C25A4(windowId1, gText_Cancel, 0, 0x41, 0, 1); + SummaryScreen_PrintTextOnWindow(windowId1, gText_Cancel, 0, 65, 0, 1); } else { - u16 move = gUnknown_0203CF1C->unk40C4; - if (gUnknown_0203CF1C->unk40C0 == 2) - sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 6); + u16 move = pssData->newMove; + + if (pssData->currPageIndex == 2) + SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 6); else - sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 5); + SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 5); ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, 1, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); - sub_81C25A4(windowId2, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x2C), 0x41, 0, 12); + SummaryScreen_PrintTextOnWindow(windowId2, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x2C), 0x41, 0, 12); } } -void sub_81C4064(void) +static void sub_81C4064(void) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 0); - FillWindowPixelRect(windowId, 0, 0, 0x42, 0x48, 0x10); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + FillWindowPixelRect(windowId, 0, 0, 66, 72, 16); CopyWindowToVram(windowId, 2); } -void sub_81C40A0(u8 a, u8 b) +static void sub_81C40A0(u8 moveIndex1, u8 moveIndex2) { - u8 windowId1 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 windowId2 = sub_81C2D2C(&gUnknown_0861CD14, 1); + u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1); - FillWindowPixelRect(windowId1, 0, 0, a * 16, 0x48, 0x10); - FillWindowPixelRect(windowId1, 0, 0, b * 16, 0x48, 0x10); + FillWindowPixelRect(windowId1, 0, 0, moveIndex1 * 16, 0x48, 0x10); + FillWindowPixelRect(windowId1, 0, 0, moveIndex2 * 16, 0x48, 0x10); - FillWindowPixelRect(windowId2, 0, 0, a * 16, 0x30, 0x10); - FillWindowPixelRect(windowId2, 0, 0, b * 16, 0x30, 0x10); + FillWindowPixelRect(windowId2, 0, 0, moveIndex1 * 16, 0x30, 0x10); + FillWindowPixelRect(windowId2, 0, 0, moveIndex2 * 16, 0x30, 0x10); - sub_81C3B08(a); - sub_81C3B08(b); + PrintMoveNameAndPP(moveIndex1); + PrintMoveNameAndPP(moveIndex2); } -void sub_81C4154(void) +static void PrintHMMovesCantBeForgotten(void) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); - sub_81C25A4(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); } -void sub_81C4190(void) +static void sub_81C4190(void) { u8 i; for (i = 0; i < 28; i++) - gUnknown_0203CF1C->unk40D3[i] |= 0xFF; + { + pssData->spriteIds[i] = 0xFF; + } } -void sub_81C41C0(u8 spriteArrayId) +static void DestroySpriteInArray(u8 spriteArrayId) { - if (gUnknown_0203CF1C->unk40D3[spriteArrayId] != 0xFF) + if (pssData->spriteIds[spriteArrayId] != 0xFF) { - DestroySprite(&gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]]); - gUnknown_0203CF1C->unk40D3[spriteArrayId] = 0xFF; + DestroySprite(&gSprites[pssData->spriteIds[spriteArrayId]]); + pssData->spriteIds[spriteArrayId] = 0xFF; } } -void sub_81C4204(u8 spriteArrayId, bool8 invisible) +static void sub_81C4204(u8 spriteArrayId, bool8 invisible) { - gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]].invisible = invisible; + gSprites[pssData->spriteIds[spriteArrayId]].invisible = invisible; } -void sub_81C424C(void) +static void sub_81C424C(void) { u8 i; for (i = 3; i < 28; i++) { - if (gUnknown_0203CF1C->unk40D3[i] != 0xFF) + if (pssData->spriteIds[i] != 0xFF) sub_81C4204(i, TRUE); } } -void sub_81C4280(void) +static void sub_81C4280(void) { - switch (gUnknown_0203CF1C->unk40C0) + switch (pssData->currPageIndex) { case 0: sub_81C43A0(); @@ -3733,24 +3408,22 @@ void sub_81C4280(void) } } -void sub_81C42C8(void) +static void sub_81C42C8(void) { u8 i; for (i = 3; i < 8; i++) { - if (gUnknown_0203CF1C->unk40D3[i] == 0xFF) - gUnknown_0203CF1C->unk40D3[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); + if (pssData->spriteIds[i] == 0xFF) + pssData->spriteIds[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); sub_81C4204(i, TRUE); } } -extern const u8 gUnknown_0861CFDC[]; - -void sub_81C4318(u8 typeId, u8 x, u8 y, u8 spriteArrayId) +static void SetMoveTypeSpritePosAndType(u8 typeId, u8 x, u8 y, u8 spriteArrayId) { - struct Sprite *sprite = &gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]]; + struct Sprite *sprite = &gSprites[pssData->spriteIds[spriteArrayId]]; StartSpriteAnim(sprite, typeId); sprite->oam.paletteNum = gUnknown_0861CFDC[typeId]; sprite->pos1.x = x + 16; @@ -3758,20 +3431,20 @@ void sub_81C4318(u8 typeId, u8 x, u8 y, u8 spriteArrayId) sub_81C4204(spriteArrayId, FALSE); } -void sub_81C43A0(void) +static void sub_81C43A0(void) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; if (summary->isEgg) { - sub_81C4318(TYPE_MYSTERY, 0x78, 0x30, 3); + SetMoveTypeSpritePosAndType(TYPE_MYSTERY, 120, 48, 3); sub_81C4204(4, TRUE); } else { - sub_81C4318(gBaseStats[summary->species].type1, 0x78, 0x30, 3); + SetMoveTypeSpritePosAndType(gBaseStats[summary->species].type1, 0x78, 0x30, 3); if (gBaseStats[summary->species].type1 != gBaseStats[summary->species].type2) { - sub_81C4318(gBaseStats[summary->species].type2, 0xA0, 0x30, 4); + SetMoveTypeSpritePosAndType(gBaseStats[summary->species].type2, 0xA0, 0x30, 4); sub_81C4204(4, FALSE); } else @@ -3781,43 +3454,379 @@ void sub_81C43A0(void) } } -void sub_81C4420(void) +static void sub_81C4420(void) { u8 i; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; for (i = 0; i < 4; i++) { if (summary->moves[i] != MOVE_NONE) - sub_81C4318(gBattleMoves[summary->moves[i]].type, 0x55, 0x20 + (i * 0x10), i + 3); + SetMoveTypeSpritePosAndType(gBattleMoves[summary->moves[i]].type, 0x55, 0x20 + (i * 0x10), i + 3); else sub_81C4204(i + 3, TRUE); } } -void sub_81C4484(void) +static void sub_81C4484(void) { u8 i; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; for (i = 0; i < 4; i++) { if (summary->moves[i] != MOVE_NONE) - sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[summary->moves[i]].contestCategory, 0x55, 0x20 + (i * 0x10), i + 3); + SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[summary->moves[i]].contestCategory, 0x55, 0x20 + (i * 0x10), i + 3); else sub_81C4204(i + 3, TRUE); } } -void sub_81C44F0(void) +static void sub_81C44F0(void) { - if (gUnknown_0203CF1C->unk40C4 == MOVE_NONE) + if (pssData->newMove == MOVE_NONE) { sub_81C4204(7, TRUE); } else { - if (gUnknown_0203CF1C->unk40C0 == 2) - sub_81C4318(gBattleMoves[gUnknown_0203CF1C->unk40C4].type, 0x55, 0x60, 7); + if (pssData->currPageIndex == 2) + SetMoveTypeSpritePosAndType(gBattleMoves[pssData->newMove].type, 85, 96, 7); + else + SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[pssData->newMove].contestCategory, 85, 96, 7); + } +} + +static void sub_81C4568(u8 a0, u8 a1) +{ + struct Sprite *sprite1 = &gSprites[pssData->spriteIds[a0 + 3]]; + struct Sprite *sprite2 = &gSprites[pssData->spriteIds[a1 + 3]]; + + u8 temp = sprite1->animNum; + sprite1->animNum = sprite2->animNum; + sprite2->animNum = temp; + + temp = sprite1->oam.paletteNum; + sprite1->oam.paletteNum = sprite2->oam.paletteNum; + sprite2->oam.paletteNum = temp; + + sprite1->animBeginning = TRUE; + sprite1->animEnded = FALSE; + sprite2->animBeginning = TRUE; + sprite2->animEnded = FALSE; +} + +static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) +{ + const struct CompressedSpritePalette *pal; + struct PokeSummary *summary = &pssData->summary; + + switch (*a1) + { + default: + return sub_81C47B4(mon); + case 0: + if (gMain.inBattle) + { + if (sub_80688F8(3, pssData->curMonIndex)) + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + } + else + { + if (gMonSpritesGfxPtr != NULL) + { + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + } + else + { + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); + } + } + } + (*a1)++; + return -1; + case 1: + pal = GetMonSpritePalStructFromOtIdPersonality(summary->species2, summary->OTID, summary->pid); + LoadCompressedObjectPalette(pal); + SetMultiuseSpriteTemplateToPokemon(pal->tag, 1); + (*a1)++; + return -1; + } +} + +static void sub_81C4778(void) +{ + struct PokeSummary *summary = &pssData->summary; + if (!summary->isEgg) + { + if (ShouldPlayNormalMonCry(&pssData->currentMon) == TRUE) + { + PlayCry3(summary->species2, 0, 0); + } else - sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[gUnknown_0203CF1C->unk40C4].contestCategory, 0x55, 0x60, 7); + { + PlayCry3(summary->species2, 0, 11); + } + } +} + +static u8 sub_81C47B4(struct Pokemon *unused) +{ + struct PokeSummary *summary = &pssData->summary; + u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, 40, 64, 5); + struct Sprite *sprite = &gSprites[spriteId]; + + FreeSpriteOamMatrix(sprite); + + sprite->data[0] = summary->species2; + sprite->data[2] = 0; + gSprites[spriteId].callback = sub_81C4844; + sprite->oam.priority = 0; + + if (!IsMonSpriteNotFlipped(summary->species2)) + { + sprite->hFlip = TRUE; + } + else + { + sprite->hFlip = FALSE; + } + + return spriteId; +} + +static void sub_81C4844(struct Sprite *sprite) +{ + struct PokeSummary *summary = &pssData->summary; + + if (!gPaletteFade.active && sprite->data[2] != 1) + { + sprite->data[1] = IsMonSpriteNotFlipped(sprite->data[0]); + sub_81C4778(); + PokemonSummaryDoMonAnimation(sprite, sprite->data[0], summary->isEgg); + } +} + +void SummaryScreen_SetUnknownTaskId(u8 a0) +{ + sUnknownTaskId = a0; +} + +void SummaryScreen_DestroyUnknownTask(void) +{ + if (sUnknownTaskId != 0xFF) + { + DestroyTask(sUnknownTaskId); + sUnknownTaskId = 0xFF; + } +} + +static bool32 SummaryScreen_DoesSpriteHaveCallback(void) +{ + if (gSprites[pssData->spriteIds[0]].callback == SpriteCallbackDummy) + { + return FALSE; + } + else + { + return TRUE; + } +} + +static void sub_81C48F0(void) +{ + u16 i; + u16 paletteIndex; + + gSprites[pssData->spriteIds[0]].animPaused = TRUE; + gSprites[pssData->spriteIds[0]].callback = SpriteCallbackDummy; + sub_806EE98(); + + paletteIndex = (gSprites[pssData->spriteIds[0]].oam.paletteNum * 16) | 0x100; + + for (i = 0; i < 16; i++) + { + gPlttBufferUnfaded[(u16)(i + paletteIndex)] = gPlttBufferFaded[(u16)(i + paletteIndex)]; + } +} + +static void CreateMonMarkingsSprite(struct Pokemon *mon) +{ + struct Sprite *sprite = sub_811FF94(30003, 30003, gUnknown_0861D120); + + pssData->markingsSprite = sprite; + + if (sprite != NULL) + { + StartSpriteAnim(sprite, GetMonData(mon, MON_DATA_MARKINGS)); + pssData->markingsSprite->pos1.x = 60; + pssData->markingsSprite->pos1.y = 26; + pssData->markingsSprite->oam.priority = 1; + } +} + +static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon) +{ + DestroySprite(pssData->markingsSprite); + FreeSpriteTilesByTag(30003); + CreateMonMarkingsSprite(mon); +} + +static void CreateCaughtBallSprite(struct Pokemon *mon) +{ + u8 ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); + + LoadBallGfx(ball); + pssData->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); + gSprites[pssData->spriteIds[1]].callback = SpriteCallbackDummy; + gSprites[pssData->spriteIds[1]].oam.priority = 3; +} + +static void CreateSetStatusSprite(void) +{ + u8 *spriteId = &pssData->spriteIds[2]; + u8 anim; + + if (*spriteId == 0xFF) + { + *spriteId = CreateSprite(&gUnknown_0861D108, 64, 152, 0); + } + + anim = sub_81B205C(&pssData->currentMon); + + if (anim != 0) + { + StartSpriteAnim(&gSprites[*spriteId], anim - 1); + sub_81C4204(2, FALSE); + } + else + { + sub_81C4204(2, TRUE); + } +} + +static void sub_81C4AF8(u8 a0) +{ + u8 i; + u8 *spriteIds = &pssData->spriteIds[a0]; + + if (pssData->currPageIndex > 1) + { + u8 subsprite = 0; + if (a0 == 8) + { + subsprite = 1; + } + + for (i = 0; i < 10; i++) + { + spriteIds[i] = CreateSprite(&gUnknown_0861D084, i * 16 + 89, 40, subsprite); + if (i == 0) + { + StartSpriteAnim(&gSprites[spriteIds[0]], 4); + } + else if (i == 9) + { + StartSpriteAnim(&gSprites[spriteIds[9]], 5); + } + else + { + StartSpriteAnim(&gSprites[spriteIds[i]], 6); + } + gSprites[spriteIds[i]].callback = sub_81C4BE4; + gSprites[spriteIds[i]].data[0] = a0; + gSprites[spriteIds[i]].data[1] = 0; + } + } +} + +static void sub_81C4BE4(struct Sprite *sprite) +{ + if (sprite->animNum > 3 && sprite->animNum < 7) + { + sprite->data[1] = (sprite->data[1] + 1) & 0x1F; + if (sprite->data[1] > 24) + { + sprite->invisible = TRUE; + } + else + { + sprite->invisible = FALSE; + } + } + else + { + sprite->data[1] = 0; + sprite->invisible = FALSE; + } + + if (sprite->data[0] == 8) + { + sprite->pos2.y = pssData->firstMoveIndex * 16; + } + else + { + sprite->pos2.y = pssData->secondMoveIndex * 16; + } +} + +static void sub_81C4C60(u8 a0) +{ + u8 i; + for (i = 0; i < 10; i++) + { + DestroySpriteInArray(a0 + i); + } +} + +static void sub_81C4C84(u8 a0) +{ + u8 i; + u8 *spriteIds = &pssData->spriteIds[8]; + a0 *= 3; + + for (i = 0; i < 10; i++) + { + if (i == 0) + { + StartSpriteAnim(&gSprites[spriteIds[0]], a0 + 4); + } + else if (i == 9) + { + StartSpriteAnim(&gSprites[spriteIds[9]], a0 + 5); + } + else + { + StartSpriteAnim(&gSprites[spriteIds[i]], a0 + 6); + } + } +} + +static void sub_81C4D18(u8 firstSpriteId) +{ + u8 i; + u8 *spriteIds = &pssData->spriteIds[firstSpriteId]; + + for (i = 0; i < 10; i++) + { + gSprites[spriteIds[i]].data[1] = 0; + gSprites[spriteIds[i]].invisible = FALSE; } } diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c new file mode 100644 index 000000000..521af6dd9 --- /dev/null +++ b/src/unk_pokedex_area_screen_helper.c @@ -0,0 +1,75 @@ +#include "global.h" +#include "main.h" +#include "menu.h" +#include "bg.h" +#include "malloc.h" +#include "palette.h" + +EWRAM_DATA u8 *gUnknown_0203CF28 = NULL; + +static const u16 gUnknown_0861D140[] = INCBIN_U16("graphics/interface/region_map.gbapal"); +static const u8 gUnknown_0861D1A0[] = INCBIN_U8("graphics/interface/region_map.8bpp.lz"); +static const u8 gUnknown_0861DEF4[] = INCBIN_U8("graphics/interface/region_map.bin.lz"); +static const u8 gUnknown_0861E208[] = INCBIN_U8("graphics/interface/region_map_affine.8bpp.lz"); +static const u8 gUnknown_0861EF64[] = INCBIN_U8("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) +{ + u8 unk; + gUnknown_0203CF28 = Alloc(4); + unk = template->unk10; + + if (unk == 0) + { + SetBgAttribute(template->bg, BG_CTRL_ATTR_WRAPAROUND, 0); + decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861D1A0, 0, template->unk2, unk); + sub_8199D3C(decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861DEF4, 0, 0, 1), template->unk2, 32, 32, unk); + } + else + { + SetBgAttribute(template->bg, BG_CTRL_ATTR_WRAPAROUND, 2); + SetBgAttribute(template->bg, 9, 1); + decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861E208, 0, template->unk2, 0); + sub_8199D3C(decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861EF64, 0, 0, 1), template->unk2, 64, 64, 1); + } + + ChangeBgX(template->bg, 0, 0); + ChangeBgY(template->bg, 0, 0); + SetBgAttribute(template->bg, BG_CTRL_ATTR_SCREENSIZE, 1); + CpuCopy32(gUnknown_0861D140, &gPlttBufferUnfaded[0x70], 0x60); + *gUnknown_0203CF28 = template->bg; +} + +bool32 sub_81C4E90(void) +{ + if (!free_temp_tile_data_buffers_if_possible()) + { + ShowBg(*gUnknown_0203CF28); + return FALSE; + } + else + { + return TRUE; + } +} + +void sub_81C4EB4(void) +{ + if (gUnknown_0203CF28 != NULL) + { + FREE_AND_SET_NULL(gUnknown_0203CF28); + } +} + +void sub_81C4ED0(u32 a0) +{ + ChangeBgY(*gUnknown_0203CF28, a0 * 0x100, 0); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index cf1c8b8d7..b54d52f90 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -739,30 +739,9 @@ gUnknown_0203CF00: @ 203CF00 .include "src/fossil_specials.o" .include "src/fldeff_groundshake.o" - -gUnknown_0203CF1C: @ 203CF1C - .space 0x4 - -gUnknown_0203CF20: @ 203CF20 - .space 0x1 - -gUnknown_0203CF21: @ 203CF21 - .space 0x3 - -gUnknown_0203CF24: @ 203CF24 - .space 0x4 - -gUnknown_0203CF28: @ 203CF28 - .space 0x4 - -gUnknown_0203CF2C: @ 203CF2C - .space 0x4 - -gUnknown_0203CF30: @ 203CF30 - .space 0x8 - -gUnknown_0203CF38: @ 203CF38 - .space 0x4 + .include "src/pokemon_summary_screen.o" + .include "src/unk_pokedex_area_screen_helper.o" + .include "src/battle_pyramid.o" gUnknown_0203CF3C: @ 203CF3C .space 0x4 |