diff --git a/data/contest.s b/data/contest.s deleted file mode 100644 index 48bfa10803..0000000000 --- a/data/contest.s +++ /dev/null @@ -1,412 +0,0 @@ -#include "constants/species.h" -#include "constants/moves.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2, 0 - -gUnknown_08587A6C:: @ 8587A6C - .byte 0x24, 0x4c, 0x74, 0x9c - -gUnknown_08587A70:: @ 8587A70 - .byte 0x24, 0x4c, 0x74, 0x9c - - .align 2 -gUnknown_08587A74:: @ 8587A74 - obj_tiles gTiles_8C19450, 0x0020, 0x4e20 - - .align 2 -gOamData_8587A7C:: @ 8587A7C - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteAffineAnim_8587A84:: @ 8587A84 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8587A94:: @ 8587A94 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8587AAC:: @ 8587AAC - obj_rot_scal_anim_frame 0x38, 0x38, 0, 0 - obj_rot_scal_anim_frame 0xA, 0xA, 20, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8587AC4:: @ 8587AC4 - .4byte gSpriteAffineAnim_8587A84 - .4byte gSpriteAffineAnim_8587A94 - .4byte gSpriteAffineAnim_8587AAC - - .align 2 -gSpriteTemplate_8587AD0:: @ 8587AD0 - spr_template 0x4e20, 0xabe0, gOamData_8587A7C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8587AC4, SpriteCallbackDummy - - .align 2 -gUnknown_08587AE8:: @ 8587AE8 - obj_tiles gContestNextTurnGfx, 0x0100, 0x4e22 - obj_tiles gContestNextTurnGfx, 0x0100, 0x4e23 - obj_tiles gContestNextTurnGfx, 0x0100, 0x4e24 - obj_tiles gContestNextTurnGfx, 0x0100, 0x4e25 - - .align 2 -gUnknown_08587B08:: @ 8587B08 - obj_pal gContestPal, 0x4e22 - - .align 2 -gOamData_8587B10:: @ 8587B10 - .2byte 0x4000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_8587B18:: @ 8587B18 - spr_template 0x4e22, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - spr_template 0x4e23, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - spr_template 0x4e24, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - spr_template 0x4e25, 0x4e22, gOamData_8587B10, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSubspriteTable_8587B78:: @ 8587B78 - subsprite -28, -4, 0, 0, 32x8 - subsprite 4, -4, 0, 4, 32x8 - - .align 2 -gSubspriteTables_8587B80:: @ 8587B80 - .4byte 2, gSubspriteTable_8587B78 - - .align 2 -gUnknown_08587B88:: @ 8587B88 - obj_tiles gUnknown_08C19168, 0x0180, 0xabe1 - - .align 2 -gOamData_8587B90:: @ 8587B90 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_8587B98:: @ 8587B98 - spr_template 0xabe1, 0xabe0, gOamData_8587B90, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08587BB0:: @ 8587BB0 - obj_tiles gContestApplauseGfx, 0x0400, 0xabe2 - - .align 2 -gUnknown_08587BB8:: @ 8587BB8 - obj_pal gContestPal, 0xabe2 - - .align 2 -gOamData_8587BC0:: @ 8587BC0 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_8587BC8:: @ 8587BC8 - spr_template 0xabe2, 0xabe2, gOamData_8587BC0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_8587BE0:: @ 8587BE0 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x2C00 - - .align 2 -gSpriteTemplate_8587BE8:: @ 8587BE8 - spr_template 0x4e21, 0x4e21, gOamData_8587BE0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08587C00:: @ 8587C00 - obj_tiles gContestJudgeGfx, 0x0800, 0x4e21 - - .align 2 -gUnknown_08587C08:: @ 8587C08 - obj_tiles gContestJudgeSymbolsGfx, 0x0380, 0xabe0 - - .align 2 -gUnknown_08587C10:: @ 8587C10 - obj_pal gContest3Pal, 0xabe0 - - .align 2 -gSpriteTemplate_8587C18:: @ 8587C18 - spr_template 0xabe0, 0xabe0, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_08587C30:: @ 8587C30 - .incbin "graphics/unknown/unknown_587C30.gbapal" - -@ 8587C50 - .include "data/text/contest_text_pointers.inc" - - .align 2 -gUnknown_08587D5C:: @ 8587D5C - .4byte gText_0827D5C1 - .4byte gText_0827D5DC - .4byte gText_0827D600 - .4byte gText_0827D612 - .4byte gText_0827D612 - .4byte gText_0827D62D - .4byte gText_0827D654 - .4byte gText_0827D67E - .4byte gText_0827D69C - .4byte gText_0827D6BA - .4byte gText_0827D6E5 - .4byte gText_0827D706 - .4byte gText_0827D71D - - .align 2 -gUnknown_08587D90:: @ 8587D90 - .4byte gText_0827D743 - .4byte gText_0827D764 - .4byte gText_0827D785 - .4byte gText_0827D7A5 - .4byte gText_0827D7C8 - .4byte gText_0827D7E8 - .4byte gText_0827D831 - .4byte gText_0827D855 - .4byte gText_0827D830 - .4byte gText_0827D872 - .4byte gText_0827D88F - .4byte gText_0827D8B5 - .4byte gText_0827D8E4 - .4byte gText_0827D8FE - .4byte gText_0827D926 - .4byte gText_0827D947 - .4byte gText_0827D961 - .4byte gText_0827D986 - .4byte gText_0827D9B1 - .4byte gText_0827D9D9 - .4byte gText_0827DA03 - .4byte gText_0827DA31 - .4byte gText_0827DA5B - .4byte gText_0827DA85 - .4byte gText_0827DAB2 - .4byte gText_0827DADA - .4byte gText_0827DB03 - .4byte gText_0827D830 - .4byte gText_0827D830 - .4byte gText_0827D830 - .4byte gText_0827DB1F - .4byte gText_0827DB4E - - .align 2 -gUnknown_08587E10:: @ 8587E10 - .4byte gText_827DB75 - .4byte gText_827DBB0 - .4byte gText_827DBE0 - .4byte gText_827DC0F - .4byte gText_827DC45 - .4byte gText_827DC7C - .4byte gText_827DCB4 - .4byte gText_827DCE7 - .4byte gText_827DD12 - .4byte gText_827DD3D - .4byte gText_827DD6F - .4byte gText_827DD8E - .4byte gText_827DDC7 - .4byte gText_827DDF2 - .4byte gText_827DE14 - .4byte gText_827DE44 - .4byte gText_827DE73 - .4byte gText_827DEA5 - .4byte gText_827DED9 - .4byte gText_827DF02 - .4byte gText_827DF3A - .4byte gText_827DF63 - .4byte gText_827DF8C - .4byte gText_827DFB8 - .4byte gText_827DFE2 - .4byte gText_827E00C - .4byte gText_827E02F - .4byte gText_827E05F - .4byte gText_827E08B - .4byte gText_827E0B5 - .4byte gText_827E0DD - .4byte gText_827E107 - .4byte gText_827E143 - .4byte gText_827E17F - .4byte gText_827E1BB - .4byte gText_827E1F3 - .4byte gText_827E220 - .4byte gText_827E254 - .4byte gText_827E289 - .4byte gText_827E2C5 - .4byte gText_0827E2FE - .4byte gText_0827E32E - .4byte gText_0827E35B - .4byte gText_0827E38D - .4byte gText_0827E3C1 - .4byte gText_0827E3EB - .4byte gText_0827E416 - .4byte gText_0827E448 - .4byte gText_0827E473 - .4byte gText_0827E4A6 - .4byte gText_0827E4D5 - .4byte gText_0827E504 - .4byte gText_0827E531 - .4byte gText_0827E55A - .4byte gText_0827E5B2 - .4byte gText_0827E5D0 - .4byte gText_0827E606 - .4byte gText_0827E638 - .4byte gText_0827E658 - .4byte gText_0827E68B - .4byte gText_0827E6C4 - .4byte gText_0827E7BA - - .align 2 -gUnknown_08587F08:: @ 8587F08 - .4byte gText_0827E85F - .4byte gText_0827E868 - .4byte gText_0827E86F - .4byte gText_0827E878 - .4byte gText_0827E882 - - .align 2 -gUnknown_08587F1C:: @ 8587F1C - .4byte gText_0827E894 - .4byte gText_0827E89E - .4byte gText_0827E8AA - .4byte gText_0827E8B4 - .4byte gText_0827E8BF - .4byte gText_0827E8CA - - .align 2 -gUnknown_08587F34:: @ 8587F34 - .4byte 0x00000580, 0x000015e9, 0x000005c2, 0x000031a3 - - .align 2 -gUnknown_08587F44:: @ 8587F44 - window_template 0x00, 0x12, 0x00, 0x0c, 0x02, 0x0f, 0x0200 - window_template 0x00, 0x12, 0x05, 0x0c, 0x02, 0x0f, 0x0218 - window_template 0x00, 0x12, 0x0a, 0x0c, 0x02, 0x0f, 0x0230 - window_template 0x00, 0x12, 0x0f, 0x0c, 0x02, 0x0f, 0x0248 - window_template 0x00, 0x01, 0x0f, 0x11, 0x04, 0x0f, 0x0260 - window_template 0x00, 0x01, 0x1f, 0x09, 0x02, 0x0f, 0x02a4 - window_template 0x00, 0x01, 0x21, 0x09, 0x02, 0x0f, 0x02b6 - window_template 0x00, 0x01, 0x23, 0x09, 0x02, 0x0f, 0x02c8 - window_template 0x00, 0x01, 0x25, 0x09, 0x02, 0x0f, 0x02da - window_template 0x00, 0x10, 0x1f, 0x01, 0x02, 0x0f, 0x02ec - window_template 0x00, 0x0b, 0x23, 0x12, 0x04, 0x0f, 0x02ee - null_window_template - - .align 2 -gUnknown_08587FA4:: @ 8587FA4 - .4byte NULL, 0xFFFF - .2byte SPECIES_ELECTRIKE - .byte 2 - .string "ELECTER$", 11 - .string "EZRA$", 8 - .2byte 0 - .4byte NULL, 0xFFFF - .2byte SPECIES_TROPIUS - .byte 0 - .string "TROPO$", 11 - .string "ALLAN$", 8 - .2byte 2 - .4byte NULL, 0xFFFF - .2byte SPECIES_XATU - .byte 1 - .string "TUXA$", 11 - .string "JULIET$", 8 - .2byte 0 - .4byte NULL, 0xFFFF - .2byte SPECIES_PLUSLE - .byte 4 - .string "PULSE$", 11 - .string "BAILY$", 8 - .2byte 3 - .4byte NULL, 0xFFFF - .2byte SPECIES_SHUPPET - .byte 3 - .string "SHUPUP$", 11 - .string "MELANY$", 8 - .2byte 1 - .4byte NULL, 0xFFFF - .2byte SPECIES_ZANGOOSE - .byte 0 - .string "GOOZAN$", 11 - .string "HANA$", 8 - .2byte 2 - .4byte NULL, 0xFFFF - .2byte SPECIES_LOUDRED - .byte 1 - .string "LOUDED$", 11 - .string "BRYANT$", 8 - .2byte 2 - .4byte NULL, 0xFFFF - .2byte SPECIES_DELCATTY - .byte 2 - .string "KITSY$", 11 - .string "OMAR$", 8 - .2byte 3 - - - .align 2 -gContestOpponents:: @ 85880A4 - .include "data/contest_opponents.inc" - -gUnknown_085898A4:: @ 85898A4 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02 - .byte 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 - - .align 2 -gUnknown_08589904:: @ 8589904 - obj_tiles gBlankGfxCompressed, 0x1000, 0x80e8 - obj_tiles gBlankGfxCompressed, 0x1000, 0x80e9 - obj_tiles gBlankGfxCompressed, 0x1000, 0x80ea - obj_tiles gBlankGfxCompressed, 0x1000, 0x80eb - - .align 2 -gUnknown_08589924:: @ 8589924 Yup this is super dangerous but that's how it is here - obj_pal gHeap + 0x1A0A4, 0x80e8 - obj_pal gHeap + 0x1A0C4, 0x80e9 - obj_pal gHeap + 0x1A0E4, 0x80ea - obj_pal gHeap + 0x1A104, 0x80eb - - .align 2 -gOamData_8589944:: @ 8589944 - .2byte 0x0700 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteAffineAnim_858994C:: @ 858994C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_858995C:: @ 858995C - obj_rot_scal_anim_frame 0x3, 0x3, 0, 15 - obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15 - obj_rot_scal_anim_frame 0x3, 0x3, 0, 15 - obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8589984:: @ 8589984 - .4byte gSpriteAffineAnim_858994C - .4byte gSpriteAffineAnim_858995C - - .align 2 -gSpriteTemplate_858998C:: @ 858998C - spr_template 0x80e8, 0x80e8, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy - spr_template 0x80e9, 0x80e9, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy - spr_template 0x80ea, 0x80ea, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy - spr_template 0x80eb, 0x80eb, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy - - .align 2 -gContestExcitementTable:: @ 85899EC - .2byte 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x00ff, 0x0001, 0xffff, 0x00ff, 0x0001, 0xff00, 0x00ff, 0x0001, 0x0000 - - diff --git a/data/contest_opponents.inc b/data/contest_opponents.inc deleted file mode 100644 index 9246bac211..0000000000 --- a/data/contest_opponents.inc +++ /dev/null @@ -1,2114 +0,0 @@ -@todo: cleanup - .2byte SPECIES_POOCHYENA - .string "POOCHY$ " - .string "JIMMY$ " - .byte 7 - .2byte 0 - .4byte 0xc000fff - .2byte 68 - .2byte 46 - .2byte 44 - .2byte 36 - .2byte 336 - .byte 10 - .byte 4 - .byte 10 - .byte 3 - .byte 4 - .byte 50 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_ILLUMISE - .string "MUSILLE$ " - .string "EDITH$ " - .byte 8 - .2byte 0 - .4byte 0x82000fff - .2byte 16 - .2byte 156 - .2byte 263 - .2byte 33 - .2byte 343 - .byte 10 - .byte 10 - .byte 6 - .byte 1 - .byte 2 - .byte 60 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_DUSTOX - .string "DUSTER$ " - .string "EVAN$ " - .byte 11 - .2byte 0 - .4byte 0x21000fff - .2byte 8 - .2byte 318 - .2byte 236 - .2byte 113 - .2byte 16 - .byte 2 - .byte 10 - .byte 10 - .byte 12 - .byte 4 - .byte 70 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SEEDOT - .string "DOTS$ " - .string "KELSEY$ " - .byte 16 - .2byte 0 - .4byte 0x20800fff - .2byte 96 - .2byte 117 - .2byte 235 - .2byte 331 - .2byte 74 - .byte 3 - .byte 3 - .byte 5 - .byte 2 - .byte 7 - .byte 80 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_TAILLOW - .string "TATAY$ " - .string "MADISON$" - .byte 18 - .2byte 0 - .4byte 0x80400fff - .2byte 4 - .2byte 17 - .2byte 97 - .2byte 332 - .2byte 45 - .byte 1 - .byte 3 - .byte 3 - .byte 5 - .byte 4 - .byte 90 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_NINCADA - .string "NINDA$ " - .string "RAYMOND$" - .byte 44 - .2byte 0 - .4byte 0x10200fff - .2byte 32 - .2byte 141 - .2byte 206 - .2byte 154 - .2byte 170 - .byte 5 - .byte 2 - .byte 10 - .byte 7 - .byte 8 - .byte 100 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SHROOMISH - .string "SMISH$ " - .string "GRANT$ " - .byte 35 - .2byte 0 - .4byte 0x20100fff - .2byte 32 - .2byte 78 - .2byte 73 - .2byte 72 - .2byte 213 - .byte 3 - .byte 3 - .byte 10 - .byte 2 - .byte 2 - .byte 50 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SPHEAL - .string "SLEAL$ " - .string "PAIGE$ " - .byte 26 - .2byte 0 - .4byte 0x8080fff - .2byte 24 - .2byte 62 - .2byte 55 - .2byte 45 - .2byte 317 - .byte 3 - .byte 5 - .byte 1 - .byte 10 - .byte 10 - .byte 60 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SLAKOTH - .string "SLOKTH$ " - .string "ALEC$ " - .byte 31 - .2byte 0 - .4byte 0x40040fff - .2byte 88 - .2byte 70 - .2byte 68 - .2byte 281 - .2byte 227 - .byte 10 - .byte 4 - .byte 4 - .byte 5 - .byte 18 - .byte 70 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_WHISMUR - .string "WHIRIS$ " - .string "SYDNEY$ " - .byte 47 - .2byte 0 - .4byte 0x80020fff - .2byte 36 - .2byte 310 - .2byte 103 - .2byte 253 - .2byte 304 - .byte 2 - .byte 2 - .byte 7 - .byte 2 - .byte 7 - .byte 80 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MAKUHITA - .string "MAHITA$ " - .string "MORRIS$ " - .byte 38 - .2byte 0 - .4byte 0x8010fff - .2byte 68 - .2byte 69 - .2byte 233 - .2byte 33 - .2byte 179 - .byte 9 - .byte 1 - .byte 1 - .byte 8 - .byte 1 - .byte 90 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_ARON - .string "RONAR$ " - .string "MARIAH$ " - .byte 10 - .2byte 0 - .4byte 0x8008fff - .2byte 68 - .2byte 232 - .2byte 334 - .2byte 29 - .2byte 36 - .byte 5 - .byte 10 - .byte 2 - .byte 10 - .byte 2 - .byte 100 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_CROBAT - .string "BATRO$ " - .string "RUSSELL$" - .byte 33 - .2byte 0 - .4byte 0x90004fff - .2byte 56 - .2byte 114 - .2byte 212 - .2byte 109 - .2byte 141 - .byte 4 - .byte 2 - .byte 2 - .byte 2 - .byte 10 - .byte 50 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_GULPIN - .string "GULIN$ " - .string "MELANIE$" - .byte 6 - .2byte 0 - .4byte 0x40002fff - .2byte 16 - .2byte 124 - .2byte 133 - .2byte 92 - .2byte 281 - .byte 1 - .byte 10 - .byte 1 - .byte 10 - .byte 5 - .byte 60 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MANECTRIC - .string "RIKELEC$ " - .string "CHANCE$ " - .byte 15 - .2byte 0 - .4byte 0x80001fff - .2byte 12 - .2byte 209 - .2byte 86 - .2byte 87 - .2byte 46 - .byte 20 - .byte 10 - .byte 1 - .byte 1 - .byte 1 - .byte 70 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_BULBASAUR - .string "BULBY$ " - .string "AGATHA$ " - .byte 20 - .2byte 0 - .4byte 0xc000fff - .2byte 48 - .2byte 45 - .2byte 73 - .2byte 33 - .2byte 230 - .byte 5 - .byte 3 - .byte 10 - .byte 10 - .byte 4 - .byte 50 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_BUTTERFREE - .string "FUTTERBE$ " - .string "BEAU$ " - .byte 40 - .2byte 0 - .4byte 0x82000fff - .2byte 40 - .2byte 48 - .2byte 18 - .2byte 318 - .2byte 219 - .byte 3 - .byte 10 - .byte 2 - .byte 10 - .byte 4 - .byte 60 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_PIDGEOTTO - .string "PIDEOT$ " - .string "KAY$ " - .byte 34 - .2byte 0 - .4byte 0x21000fff - .2byte 12 - .2byte 119 - .2byte 98 - .2byte 332 - .2byte 297 - .byte 10 - .byte 8 - .byte 4 - .byte 2 - .byte 3 - .byte 70 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_DIGLETT - .string "DIGLE$ " - .string "CALE$ " - .byte 55 - .2byte 0 - .4byte 0x20800fff - .2byte 96 - .2byte 91 - .2byte 89 - .2byte 90 - .2byte 222 - .byte 4 - .byte 2 - .byte 3 - .byte 5 - .byte 10 - .byte 80 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_POLIWAG - .string "WAGIL$ " - .string "CAITLIN$" - .byte 53 - .2byte 0 - .4byte 0x80400fff - .2byte 72 - .2byte 56 - .2byte 240 - .2byte 34 - .2byte 58 - .byte 2 - .byte 10 - .byte 5 - .byte 3 - .byte 10 - .byte 90 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_TOTODILE - .string "TOTDIL$ " - .string "COLBY$ " - .byte 5 - .2byte 0 - .4byte 0x10200fff - .2byte 12 - .2byte 99 - .2byte 103 - .2byte 57 - .2byte 59 - .byte 6 - .byte 10 - .byte 2 - .byte 1 - .byte 5 - .byte 100 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_LEDYBA - .string "BALEDY$ " - .string "KYLIE$ " - .byte 45 - .2byte 0 - .4byte 0x20100fff - .2byte 20 - .2byte 226 - .2byte 97 - .2byte 129 - .2byte 213 - .byte 8 - .byte 6 - .byte 8 - .byte 6 - .byte 2 - .byte 90 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_DELIBIRD - .string "BIRDLY$ " - .string "LIAM$ " - .byte 66 - .2byte 0 - .4byte 0x8080fff - .2byte 112 - .2byte 217 - .2byte 263 - .2byte 264 - .2byte 216 - .byte 4 - .byte 3 - .byte 10 - .byte 5 - .byte 3 - .byte 80 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_LARVITAR - .string "TARVITAR$ " - .string "MILO$ " - .byte 39 - .2byte 0 - .4byte 0x40040fff - .2byte 64 - .2byte 37 - .2byte 259 - .2byte 242 - .2byte 91 - .byte 8 - .byte 5 - .byte 5 - .byte 8 - .byte 10 - .byte 70 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_ROSELIA - .string "RELIA$ " - .string "KARINA$ " - .byte 32 - .2byte 0 - .4byte 0x24000fff - .2byte 41 - .2byte 80 - .2byte 345 - .2byte 320 - .2byte 275 - .byte 50 - .byte 15 - .byte 75 - .byte 10 - .byte 20 - .byte 100 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_DODRIO - .string "DUODO$ " - .string "BOBBY$ " - .byte 51 - .2byte 0 - .4byte 0x82000fff - .2byte 125 - .2byte 64 - .2byte 31 - .2byte 216 - .2byte 45 - .byte 15 - .byte 21 - .byte 15 - .byte 85 - .byte 35 - .byte 110 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_TRAPINCH - .string "PINCHIN$ " - .string "CLAIRE$ " - .byte 8 - .2byte 0 - .4byte 0x81000fff - .2byte 113 - .2byte 44 - .2byte 28 - .2byte 91 - .2byte 185 - .byte 75 - .byte 25 - .byte 25 - .byte 10 - .byte 25 - .byte 120 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_CACNEA - .string "NACAC$ " - .string "WILLIE$ " - .byte 11 - .2byte 0 - .4byte 0x80800fff - .2byte 37 - .2byte 191 - .2byte 43 - .2byte 40 - .2byte 28 - .byte 10 - .byte 30 - .byte 25 - .byte 65 - .byte 25 - .byte 130 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SANDSLASH - .string "SHRAND$ " - .string "CASSIDY$" - .byte 18 - .2byte 0 - .4byte 0x10400fff - .2byte 69 - .2byte 163 - .2byte 111 - .2byte 129 - .2byte 154 - .byte 30 - .byte 90 - .byte 30 - .byte 10 - .byte 100 - .byte 140 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_BALTOY - .string "TOYBAL$ " - .string "MORGAN$ " - .byte 44 - .2byte 0 - .4byte 0x8200fff - .2byte 41 - .2byte 120 - .2byte 317 - .2byte 60 - .2byte 93 - .byte 50 - .byte 40 - .byte 10 - .byte 35 - .byte 35 - .byte 150 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MEDICHAM - .string "CHAMCHAM$ " - .string "SUMMER$ " - .byte 26 - .2byte 0 - .4byte 0x10100fff - .2byte 77 - .2byte 179 - .2byte 9 - .2byte 7 - .2byte 8 - .byte 40 - .byte 20 - .byte 40 - .byte 40 - .byte 40 - .byte 100 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SPINDA - .string "SPININ$ " - .string "MILES$ " - .byte 31 - .2byte 0 - .4byte 0x80080fff - .2byte 49 - .2byte 298 - .2byte 244 - .2byte 95 - .2byte 253 - .byte 25 - .byte 75 - .byte 25 - .byte 10 - .byte 25 - .byte 110 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SWABLU - .string "SWABY$ " - .string "AUDREY$ " - .byte 47 - .2byte 0 - .4byte 0xa0040fff - .2byte 41 - .2byte 119 - .2byte 195 - .2byte 219 - .2byte 54 - .byte 30 - .byte 30 - .byte 40 - .byte 30 - .byte 25 - .byte 120 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SPOINK - .string "POINKER$ " - .string "AVERY$ " - .byte 38 - .2byte 0 - .4byte 0x80020fff - .2byte 49 - .2byte 150 - .2byte 109 - .2byte 173 - .2byte 156 - .byte 40 - .byte 10 - .byte 30 - .byte 40 - .byte 30 - .byte 130 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_KECLEON - .string "KECON$ " - .string "ARIANA$ " - .byte 10 - .2byte 0 - .4byte 0x80010fff - .2byte 97 - .2byte 168 - .2byte 103 - .2byte 246 - .2byte 20 - .byte 10 - .byte 10 - .byte 40 - .byte 75 - .byte 35 - .byte 140 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_GOLDEEN - .string "GOLDEN$ " - .string "ASHTON$ " - .byte 33 - .2byte 0 - .4byte 0x80008fff - .2byte 13 - .2byte 30 - .2byte 31 - .2byte 32 - .2byte 39 - .byte 70 - .byte 30 - .byte 5 - .byte 30 - .byte 25 - .byte 150 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_BARBOACH - .string "BOBOACH$ " - .string "SANDRA$ " - .byte 6 - .2byte 0 - .4byte 0x80004fff - .2byte 113 - .2byte 300 - .2byte 346 - .2byte 89 - .2byte 248 - .byte 45 - .byte 45 - .byte 60 - .byte 25 - .byte 15 - .byte 100 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SKARMORY - .string "CORPY$ " - .string "CARSON$ " - .byte 35 - .2byte 0 - .4byte 0x8002fff - .2byte 77 - .2byte 129 - .2byte 104 - .2byte 97 - .2byte 15 - .byte 40 - .byte 30 - .byte 25 - .byte 60 - .byte 20 - .byte 110 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_LOTAD - .string "TADO$ " - .string "KATRINA$" - .byte 16 - .2byte 0 - .4byte 0x8001fff - .2byte 57 - .2byte 310 - .2byte 45 - .2byte 240 - .2byte 352 - .byte 15 - .byte 15 - .byte 30 - .byte 15 - .byte 75 - .byte 120 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SLOWBRO - .string "BROWLO$ " - .string "LUKE$ " - .byte 17 - .2byte 0 - .4byte 0xc000fff - .2byte 49 - .2byte 281 - .2byte 50 - .2byte 45 - .2byte 93 - .byte 20 - .byte 40 - .byte 40 - .byte 30 - .byte 20 - .byte 100 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_FARFETCHD - .string "FETCHIN$ " - .string "RAUL$ " - .byte 66 - .2byte 0 - .4byte 0x82000fff - .2byte 21 - .2byte 263 - .2byte 210 - .2byte 19 - .2byte 216 - .byte 40 - .byte 10 - .byte 40 - .byte 20 - .byte 20 - .byte 110 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SEEL - .string "SEELEY$ " - .string "JADA$ " - .byte 20 - .2byte 0 - .4byte 0x21000fff - .2byte 25 - .2byte 213 - .2byte 58 - .2byte 219 - .2byte 45 - .byte 10 - .byte 30 - .byte 40 - .byte 20 - .byte 20 - .byte 120 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_DROWZEE - .string "DROWZIN$ " - .string "ZEEK$ " - .byte 37 - .2byte 0 - .4byte 0x20800fff - .2byte 121 - .2byte 50 - .2byte 248 - .2byte 237 - .2byte 216 - .byte 10 - .byte 40 - .byte 50 - .byte 30 - .byte 45 - .byte 130 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_HITMONCHAN - .string "HITEMON$ " - .string "DIEGO$ " - .byte 21 - .2byte 0 - .4byte 0x80400fff - .2byte 69 - .2byte 327 - .2byte 197 - .2byte 279 - .2byte 5 - .byte 45 - .byte 20 - .byte 10 - .byte 20 - .byte 45 - .byte 140 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_BLISSEY - .string "BLISS$ " - .string "ALIYAH$ " - .byte 85 - .2byte 0 - .4byte 0x10200fff - .2byte 89 - .2byte 47 - .2byte 135 - .2byte 121 - .2byte 38 - .byte 20 - .byte 35 - .byte 40 - .byte 20 - .byte 20 - .byte 150 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_ELEKID - .string "KIDLEK$ " - .string "NATALIA$" - .byte 18 - .2byte 0 - .4byte 0x20100fff - .2byte 21 - .2byte 351 - .2byte 98 - .2byte 103 - .2byte 213 - .byte 40 - .byte 10 - .byte 40 - .byte 25 - .byte 25 - .byte 140 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SNUBBULL - .string "SNUBBINS$ " - .string "DEVIN$ " - .byte 48 - .2byte 0 - .4byte 0x8080fff - .2byte 81 - .2byte 184 - .2byte 269 - .2byte 39 - .2byte 44 - .byte 20 - .byte 20 - .byte 20 - .byte 20 - .byte 20 - .byte 130 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MISDREAVUS - .string "DREAVIS$ " - .string "TYLOR$ " - .byte 40 - .2byte 0 - .4byte 0x40040fff - .2byte 41 - .2byte 195 - .2byte 212 - .2byte 109 - .2byte 220 - .byte 10 - .byte 35 - .byte 10 - .byte 45 - .byte 20 - .byte 120 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_LAIRON - .string "LAIRN$ " - .string "RONNIE$ " - .byte 55 - .2byte 0 - .4byte 0x84000fff - .2byte 98 - .2byte 319 - .2byte 232 - .2byte 106 - .2byte 36 - .byte 30 - .byte 50 - .byte 35 - .byte 100 - .byte 90 - .byte 200 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SHIFTRY - .string "SHIFTY$ " - .string "CLAUDIA$" - .byte 8 - .2byte 0 - .4byte 0x82000fff - .2byte 14 - .2byte 74 - .2byte 13 - .2byte 153 - .2byte 326 - .byte 75 - .byte 75 - .byte 65 - .byte 35 - .byte 70 - .byte 210 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_NINJASK - .string "NINAS$ " - .string "ELIAS$ " - .byte 11 - .2byte 0 - .4byte 0x81000fff - .2byte 114 - .2byte 103 - .2byte 154 - .2byte 28 - .2byte 226 - .byte 30 - .byte 50 - .byte 95 - .byte 70 - .byte 70 - .byte 220 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SWELLOW - .string "WELOW$ " - .string "JADE$ " - .byte 18 - .2byte 0 - .4byte 0x80800fff - .2byte 14 - .2byte 97 - .2byte 332 - .2byte 17 - .2byte 19 - .byte 65 - .byte 85 - .byte 35 - .byte 75 - .byte 40 - .byte 230 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MIGHTYENA - .string "YENA$ " - .string "FRANCIS$" - .byte 44 - .2byte 0 - .4byte 0x80400fff - .2byte 98 - .2byte 269 - .2byte 168 - .2byte 316 - .2byte 36 - .byte 40 - .byte 80 - .byte 35 - .byte 70 - .byte 70 - .byte 240 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_BEAUTIFLY - .string "TIFLY$ " - .string "ALISHA$ " - .byte 26 - .2byte 0 - .4byte 0x80200fff - .2byte 42 - .2byte 234 - .2byte 318 - .2byte 78 - .2byte 290 - .byte 40 - .byte 70 - .byte 25 - .byte 80 - .byte 100 - .byte 250 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SEAKING - .string "KINGSEA$ " - .string "SAUL$ " - .byte 31 - .2byte 0 - .4byte 0x80100fff - .2byte 118 - .2byte 175 - .2byte 48 - .2byte 30 - .2byte 31 - .byte 80 - .byte 60 - .byte 30 - .byte 70 - .byte 90 - .byte 200 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_CASTFORM - .string "CASTER$ " - .string "FELICIA$" - .byte 47 - .2byte 0 - .4byte 0x80080fff - .2byte 126 - .2byte 241 - .2byte 311 - .2byte 201 - .2byte 216 - .byte 70 - .byte 80 - .byte 80 - .byte 50 - .byte 65 - .byte 210 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MACHOKE - .string "CHOKEM$ " - .string "EMILIO$ " - .byte 38 - .2byte 0 - .4byte 0x80040fff - .2byte 70 - .2byte 69 - .2byte 116 - .2byte 2 - .2byte 184 - .byte 70 - .byte 85 - .byte 25 - .byte 60 - .byte 50 - .byte 220 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_LOMBRE - .string "LOMBE$ " - .string "KARLA$ " - .byte 10 - .2byte 0 - .4byte 0x80020fff - .2byte 58 - .2byte 213 - .2byte 148 - .2byte 253 - .2byte 45 - .byte 40 - .byte 60 - .byte 90 - .byte 45 - .byte 70 - .byte 230 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SEVIPER - .string "VIPES$ " - .string "DARRYL$ " - .byte 33 - .2byte 0 - .4byte 0x80010fff - .2byte 98 - .2byte 305 - .2byte 137 - .2byte 35 - .2byte 103 - .byte 35 - .byte 50 - .byte 90 - .byte 40 - .byte 100 - .byte 240 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_WAILMER - .string "MERAIL$ " - .string "SELENA$ " - .byte 22 - .2byte 0 - .4byte 0x80008fff - .2byte 26 - .2byte 352 - .2byte 156 - .2byte 323 - .2byte 150 - .byte 30 - .byte 100 - .byte 100 - .byte 50 - .byte 30 - .byte 250 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MAGIKARP - .string "KARPAG$ " - .string "NOEL$ " - .byte 35 - .2byte 0 - .4byte 0x80004fff - .2byte 82 - .2byte 33 - .2byte 150 - .2byte 175 - .2byte 33 - .byte 30 - .byte 30 - .byte 160 - .byte 50 - .byte 160 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_LUNATONE - .string "LUNONE$ " - .string "LACEY$ " - .byte 16 - .2byte 0 - .4byte 0x80002fff - .2byte 42 - .2byte 153 - .2byte 248 - .2byte 94 - .2byte 93 - .byte 50 - .byte 70 - .byte 60 - .byte 70 - .byte 50 - .byte 210 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_ABSOL - .string "ABSO$ " - .string "CORBIN$ " - .byte 39 - .2byte 0 - .4byte 0x80001fff - .2byte 14 - .2byte 195 - .2byte 258 - .2byte 63 - .2byte 163 - .byte 95 - .byte 80 - .byte 85 - .byte 35 - .byte 35 - .byte 220 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_EXEGGUTOR - .string "EGGSOR$ " - .string "GRACIE$ " - .byte 32 - .2byte 0 - .4byte 0xc000fff - .2byte 98 - .2byte 23 - .2byte 95 - .2byte 121 - .2byte 285 - .byte 40 - .byte 50 - .byte 60 - .byte 100 - .byte 80 - .byte 200 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_CUBONE - .string "CUBIN$ " - .string "COLTIN$ " - .byte 65 - .2byte 0 - .4byte 0x82000fff - .2byte 82 - .2byte 125 - .2byte 155 - .2byte 198 - .2byte 45 - .byte 40 - .byte 35 - .byte 85 - .byte 35 - .byte 100 - .byte 210 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_HITMONLEE - .string "HITMON$ " - .string "ELLIE$ " - .byte 22 - .2byte 0 - .4byte 0x21000fff - .2byte 70 - .2byte 179 - .2byte 279 - .2byte 116 - .2byte 25 - .byte 85 - .byte 30 - .byte 25 - .byte 50 - .byte 100 - .byte 220 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SQUIRTLE - .string "SURTLE$ " - .string "MARCUS$ " - .byte 49 - .2byte 0 - .4byte 0x20800fff - .2byte 82 - .2byte 39 - .2byte 145 - .2byte 264 - .2byte 110 - .byte 30 - .byte 35 - .byte 100 - .byte 40 - .byte 95 - .byte 230 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_KANGASKHAN - .string "KHANKAN$ " - .string "KIARA$ " - .byte 14 - .2byte 0 - .4byte 0x80400fff - .2byte 70 - .2byte 5 - .2byte 99 - .2byte 264 - .2byte 39 - .byte 100 - .byte 50 - .byte 30 - .byte 50 - .byte 100 - .byte 240 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_PINECO - .string "PINOC$ " - .string "BRYCE$ " - .byte 36 - .2byte 0 - .4byte 0x10200fff - .2byte 42 - .2byte 153 - .2byte 191 - .2byte 113 - .2byte 202 - .byte 80 - .byte 80 - .byte 80 - .byte 80 - .byte 80 - .byte 250 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_DUNSPARCE - .string "DILTOT$ " - .string "JAMIE$ " - .byte 34 - .2byte 0 - .4byte 0x20100fff - .2byte 82 - .2byte 180 - .2byte 281 - .2byte 111 - .2byte 36 - .byte 40 - .byte 35 - .byte 100 - .byte 40 - .byte 110 - .byte 240 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_HOUNDOOM - .string "DOOMOND$ " - .string "JORGE$ " - .byte 48 - .2byte 0 - .4byte 0x8080fff - .2byte 14 - .2byte 46 - .2byte 53 - .2byte 185 - .2byte 241 - .byte 100 - .byte 100 - .byte 30 - .byte 25 - .byte 80 - .byte 230 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MILTANK - .string "MILKAN$ " - .string "DEVON$ " - .byte 25 - .2byte 0 - .4byte 0x40040fff - .2byte 26 - .2byte 208 - .2byte 215 - .2byte 111 - .2byte 59 - .byte 50 - .byte 110 - .byte 100 - .byte 35 - .byte 40 - .byte 220 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_GYARADOS - .string "RADOS$ " - .string "JUSTINA$" - .byte 32 - .2byte 0 - .4byte 0x84000fff - .2byte 79 - .2byte 63 - .2byte 56 - .2byte 240 - .2byte 44 - .byte 160 - .byte 200 - .byte 20 - .byte 40 - .byte 160 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_LOUDRED - .string "LOUDERD$ " - .string "RALPH$ " - .byte 21 - .2byte 0 - .4byte 0x82000fff - .2byte 71 - .2byte 304 - .2byte 23 - .2byte 46 - .2byte 336 - .byte 170 - .byte 50 - .byte 55 - .byte 150 - .byte 160 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SKITTY - .string "SITTY$ " - .string "ROSA$ " - .byte 8 - .2byte 0 - .4byte 0x81000fff - .2byte 59 - .2byte 213 - .2byte 274 - .2byte 185 - .2byte 39 - .byte 40 - .byte 200 - .byte 150 - .byte 185 - .byte 60 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SLAKING - .string "SLING$ " - .string "KEATON$ " - .byte 11 - .2byte 0 - .4byte 0x80800fff - .2byte 115 - .2byte 343 - .2byte 68 - .2byte 227 - .2byte 303 - .byte 85 - .byte 85 - .byte 170 - .byte 110 - .byte 150 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_ALTARIA - .string "TARIA$ " - .string "MAYRA$ " - .byte 18 - .2byte 0 - .4byte 0x80400fff - .2byte 15 - .2byte 349 - .2byte 63 - .2byte 195 - .2byte 219 - .byte 170 - .byte 150 - .byte 30 - .byte 30 - .byte 90 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_KIRLIA - .string "LIRKI$ " - .string "LAMAR$ " - .byte 15 - .2byte 0 - .4byte 0x80200fff - .2byte 39 - .2byte 351 - .2byte 247 - .2byte 285 - .2byte 216 - .byte 230 - .byte 60 - .byte 60 - .byte 230 - .byte 80 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_BELLOSSOM - .string "BLOSSOM$ " - .string "AUBREY$ " - .byte 26 - .2byte 0 - .4byte 0x80100fff - .2byte 59 - .2byte 80 - .2byte 230 - .2byte 78 - .2byte 148 - .byte 35 - .byte 200 - .byte 150 - .byte 130 - .byte 40 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SABLEYE - .string "EYESAB$ " - .string "NIGEL$ " - .byte 31 - .2byte 0 - .4byte 0x80080fff - .2byte 115 - .2byte 212 - .2byte 185 - .2byte 282 - .2byte 109 - .byte 25 - .byte 35 - .byte 230 - .byte 150 - .byte 160 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_NATU - .string "UTAN$ " - .string "CAMILLE$" - .byte 47 - .2byte 0 - .4byte 0x80040fff - .2byte 115 - .2byte 101 - .2byte 248 - .2byte 109 - .2byte 94 - .byte 35 - .byte 35 - .byte 150 - .byte 130 - .byte 170 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SHARPEDO - .string "PEDOS$ " - .string "DEON$ " - .byte 38 - .2byte 0 - .4byte 0x80020fff - .2byte 87 - .2byte 97 - .2byte 207 - .2byte 269 - .2byte 36 - .byte 140 - .byte 70 - .byte 140 - .byte 75 - .byte 100 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_LUVDISC - .string "LUVIS$ " - .string "JANELLE$" - .byte 10 - .2byte 0 - .4byte 0x80010fff - .2byte 83 - .2byte 186 - .2byte 213 - .2byte 36 - .2byte 204 - .byte 50 - .byte 100 - .byte 220 - .byte 40 - .byte 190 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_HERACROSS - .string "HEROSS$ " - .string "HEATH$ " - .byte 33 - .2byte 0 - .4byte 0x80008fff - .2byte 71 - .2byte 70 - .2byte 203 - .2byte 179 - .2byte 317 - .byte 170 - .byte 70 - .byte 110 - .byte 240 - .byte 140 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_ELECTRODE - .string "RODLECT$ " - .string "SASHA$ " - .byte 6 - .2byte 0 - .4byte 0x80004fff - .2byte 15 - .2byte 153 - .2byte 113 - .2byte 129 - .2byte 148 - .byte 200 - .byte 200 - .byte 30 - .byte 35 - .byte 50 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_PICHU - .string "CHUPY$ " - .string "FRANKIE$" - .byte 35 - .2byte 0 - .4byte 0x80002fff - .2byte 59 - .2byte 186 - .2byte 213 - .2byte 156 - .2byte 39 - .byte 25 - .byte 150 - .byte 180 - .byte 115 - .byte 120 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_WOBBUFFET - .string "WOBET$ " - .string "HELEN$ " - .byte 16 - .2byte 0 - .4byte 0x80001fff - .2byte 111 - .2byte 68 - .2byte 243 - .2byte 219 - .2byte 194 - .byte 60 - .byte 230 - .byte 50 - .byte 220 - .byte 210 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_GENGAR - .string "GAREN$ " - .string "CAMILE$ " - .byte 40 - .2byte 0 - .4byte 0xc000fff - .2byte 71 - .2byte 194 - .2byte 109 - .2byte 122 - .2byte 188 - .byte 200 - .byte 100 - .byte 50 - .byte 80 - .byte 180 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_PORYGON - .string "GONPOR$ " - .string "MARTIN$ " - .byte 46 - .2byte 0 - .4byte 0x82000fff - .2byte 127 - .2byte 176 - .2byte 160 - .2byte 216 - .2byte 278 - .byte 130 - .byte 130 - .byte 130 - .byte 130 - .byte 130 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_DRAGONITE - .string "DRITE$ " - .string "SERGIO$ " - .byte 7 - .2byte 0 - .4byte 0x21000fff - .2byte 71 - .2byte 200 - .2byte 21 - .2byte 239 - .2byte 89 - .byte 150 - .byte 140 - .byte 50 - .byte 120 - .byte 150 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_MEOWTH - .string "MEOWY$ " - .string "KAILEY$ " - .byte 6 - .2byte 0 - .4byte 0x20800fff - .2byte 51 - .2byte 45 - .2byte 269 - .2byte 6 - .2byte 44 - .byte 125 - .byte 110 - .byte 180 - .byte 170 - .byte 80 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_JYNX - .string "NYX$ " - .string "PERLA$ " - .byte 45 - .2byte 0 - .4byte 0x80400fff - .2byte 43 - .2byte 195 - .2byte 212 - .2byte 142 - .2byte 313 - .byte 100 - .byte 150 - .byte 100 - .byte 150 - .byte 120 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_TOGEPI - .string "GEPITO$ " - .string "CLARA$ " - .byte 20 - .2byte 0 - .4byte 0x10200fff - .2byte 19 - .2byte 45 - .2byte 281 - .2byte 227 - .2byte 266 - .byte 80 - .byte 120 - .byte 200 - .byte 120 - .byte 80 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_ESPEON - .string "SPEON$ " - .string "JAKOB$ " - .byte 37 - .2byte 0 - .4byte 0x20100fff - .2byte 15 - .2byte 129 - .2byte 98 - .2byte 234 - .2byte 39 - .byte 180 - .byte 150 - .byte 100 - .byte 80 - .byte 150 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_SLOWKING - .string "SLOWGO$ " - .string "TREY$ " - .byte 49 - .2byte 0 - .4byte 0x8080fff - .2byte 83 - .2byte 263 - .2byte 174 - .2byte 281 - .2byte 264 - .byte 100 - .byte 80 - .byte 200 - .byte 110 - .byte 170 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - .2byte SPECIES_URSARING - .string "URSING$ " - .string "LANE$ " - .byte 44 - .2byte 0 - .4byte 0x40040fff - .2byte 71 - .2byte 37 - .2byte 332 - .2byte 313 - .2byte 43 - .byte 180 - .byte 140 - .byte 30 - .byte 80 - .byte 190 - .byte 255 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0x0 - .4byte 0xffff - diff --git a/data/maps/AbandonedShip_CaptainsOffice/map.json b/data/maps/AbandonedShip_CaptainsOffice/map.json index c88afc8068..a78d433b6d 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/map.json +++ b/data/maps/AbandonedShip_CaptainsOffice/map.json @@ -59,4 +59,4 @@ ], "coord_events": [], "bg_events": [] -} \ No newline at end of file +} diff --git a/data/text/contest_text_pointers.inc b/data/text/contest_text_pointers.inc deleted file mode 100644 index f9cf4b70ee..0000000000 --- a/data/text/contest_text_pointers.inc +++ /dev/null @@ -1,78 +0,0 @@ - .align 2 -gContestEffectDescriptionPointers:: @ 8587C50 - .4byte gContestEffect00hDescription - .4byte gContestEffect01hDescription - .4byte gContestEffect02hDescription - .4byte gContestEffect03hDescription - .4byte gContestEffect04hDescription - .4byte gContestEffect05hDescription - .4byte gContestEffect06hDescription - .4byte gContestEffect07hDescription - .4byte gContestEffect08hDescription - .4byte gContestEffect09hDescription - .4byte gContestEffect0AhDescription - .4byte gContestEffect0BhDescription - .4byte gContestEffect0ChDescription - .4byte gContestEffect0DhDescription - .4byte gContestEffect0EhDescription - .4byte gContestEffect0FhDescription - .4byte gContestEffect10hDescription - .4byte gContestEffect11hDescription - .4byte gContestEffect12hDescription - .4byte gContestEffect13hDescription - .4byte gContestEffect14hDescription - .4byte gContestEffect15hDescription - .4byte gContestEffect16hDescription - .4byte gContestEffect17hDescription - .4byte gContestEffect18hDescription - .4byte gContestEffect19hDescription - .4byte gContestEffect1AhDescription - .4byte gContestEffect1BhDescription - .4byte gContestEffect1ChDescription - .4byte gContestEffect1DhDescription - .4byte gContestEffect1EhDescription - .4byte gContestEffect1FhDescription - .4byte gContestEffect20hDescription - .4byte gContestEffect21hDescription - .4byte gContestEffect22hDescription - .4byte gContestEffect23hDescription - .4byte gContestEffect24hDescription - .4byte gContestEffect25hDescription - .4byte gContestEffect26hDescription - .4byte gContestEffect27hDescription - .4byte gContestEffect28hDescription - .4byte gContestEffect29hDescription - .4byte gContestEffect2AhDescription - .4byte gContestEffect2BhDescription - .4byte gContestEffect2ChDescription - .4byte gContestEffect2DhDescription - .4byte gContestEffect2EhDescription - .4byte gContestEffect2FhDescription - -@ 8587D10 -@ Unreferenced array of pointers to move names. -@ All of the moves except Conversion are combo starters, so this may have -@ been an early list of combo starters. - .align 2 - .4byte gUnusedContestMoveName0 - .4byte gUnusedContestMoveName0 - .4byte gUnusedContestMoveName1 - .4byte gUnusedContestMoveName2 - .4byte gUnusedContestMoveName3 - .4byte gUnusedContestMoveName4 - .4byte gUnusedContestMoveName5 - .4byte gUnusedContestMoveName6 - .4byte gUnusedContestMoveName7 - .4byte gUnusedContestMoveName8 - .4byte gUnusedContestMoveName9 - .4byte gUnusedContestMoveName10 - .4byte gUnusedContestMoveName11 - .4byte gUnusedContestMoveName12 - - .align 2 -gContestMoveTypeTextPointers:: @ 8587D48 - .4byte gContestMoveTypeCoolText - .4byte gContestMoveTypeBeautyText - .4byte gContestMoveTypeCuteText - .4byte gContestMoveTypeSmartText - .4byte gContestMoveTypeToughText diff --git a/include/contest.h b/include/contest.h index 8146486cbf..a0b1a6b34b 100644 --- a/include/contest.h +++ b/include/contest.h @@ -196,19 +196,33 @@ enum CONTEST_STRING_NONE = 255 }; +enum { + CONTEST_RANK_NORMAL, + CONTEST_RANK_SUPER, + CONTEST_RANK_HYPER, + CONTEST_RANK_MASTER, + CONTEST_RANK_LINK +}; + +enum { + CONTEST_FILTER_NONE, + CONTEST_FILTER_NO_POSTGAME, + CONTEST_FILTER_ONLY_POSTGAME +}; + struct ContestPokemon { /*0x00*/ u16 species; /*0x02*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; - /*0x0D*/ u8 trainerName[8]; + /*0x0D*/ u8 trainerName[PLAYER_NAME_LENGTH + 1]; /*0x15*/ u8 trainerGfxId; /*0x18*/ u32 flags; - /*0x1C*/ u8 whichRank:2; - u8 aiPool_Cool:1; - u8 aiPool_Beauty:1; - u8 aiPool_Cute:1; - u8 aiPool_Smart:1; - u8 aiPool_Tough:1; + /*0x1C*/ u8 whichRank:2; // 0x1 0x2 + u8 aiPool_Cool:1; // 0x4 + u8 aiPool_Beauty:1; // 0x8 + u8 aiPool_Cute:1; // 0x10 + u8 aiPool_Smart:1; // 0x20 + u8 aiPool_Tough:1; // 0x40 /*0x1E*/ u16 moves[4]; // moves /*0x26*/ u8 cool; // cool /*0x27*/ u8 beauty; // beauty @@ -219,7 +233,7 @@ struct ContestPokemon /*0x2C*/ u8 unk2C[12]; /*0x38*/ u32 personality; // personality /*0x3C*/ u32 otId; // otId -}; // wow +}; struct Shared18000 { diff --git a/include/graphics.h b/include/graphics.h index e6d6ae350b..2584e713ec 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4765,6 +4765,14 @@ extern const u32 gUnknown_08C16FA8[]; extern const u32 gUnknown_08C16E90[]; extern const u32 gUnknown_08C17170[]; extern const u32 gUnknown_08C17980[]; +extern const u32 gTiles_8C19450[]; +extern const u32 gContestNextTurnGfx[]; +extern const u16 gContestPal[]; +extern const u32 gUnknown_08C19168[]; +extern const u32 gContestApplauseGfx[]; +extern const u32 gContestJudgeGfx[]; +extern const u32 gContestJudgeSymbolsGfx[]; +extern const u32 gContest3Pal[]; extern const u32 gUnknown_08D95E00[]; extern const u32 gUnknown_08D960D0[]; diff --git a/ld_script.txt b/ld_script.txt index fd9d028484..5230fee786 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -486,7 +486,7 @@ SECTIONS { src/item_menu_icons.o(.rodata); src/battle_anim_mon_movement.o(.rodata); src/item.o(.rodata); - data/contest.o(.rodata); + src/contest.o(.rodata); src/shop.o(.rodata); src/fldeff_escalator.o(.rodata); src/berry.o(.rodata); diff --git a/src/contest.c b/src/contest.c index 114a1fb695..0591668ff2 100644 --- a/src/contest.c +++ b/src/contest.c @@ -218,12 +218,6 @@ EWRAM_DATA u8 gUnknown_02039F5D = 0; // IWRAM common vars. u32 gContestRngValue; -extern const u16 gUnknown_08587C30[]; -extern const struct BgTemplate gUnknown_08587F34[4]; -extern const struct WindowTemplate gUnknown_08587F44[]; -extern const u8 *const gUnknown_08587D90[]; -extern const u8 *const gUnknown_08587F08[]; -extern const u8 *const gUnknown_08587F1C[]; extern const u8 *const gUnknown_0827E8DA[]; extern const u8 gText_0827D55A[]; extern const u8 gText_0827E793[]; @@ -248,33 +242,615 @@ extern const u8 gText_Contest_Fear[]; extern const u8 gText_BDot[]; extern const u8 gText_CDot[]; extern const u8 *const gUnknown_08587E10[]; -extern const struct ContestPokemon gContestOpponents[96]; -extern const u8 gUnknown_085898A4[96]; -extern const struct CompressedSpriteSheet gUnknown_08587C00; -extern const struct SpriteTemplate gSpriteTemplate_8587BE8; -extern const struct CompressedSpriteSheet gUnknown_08587C08; -extern const struct CompressedSpritePalette gUnknown_08587C10; -extern const struct SpriteTemplate gSpriteTemplate_8587C18; extern const union AffineAnimCmd *const gUnknown_082FF6C0[]; extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const u8 *const gContestEffectDescriptionPointers[]; -extern const struct SpriteSheet gUnknown_08587A74; -extern const u8 gUnknown_08587A6C[]; extern const struct SpriteTemplate gSpriteTemplate_8587AD0; -extern const struct SpritePalette gUnknown_08587B08; -extern const struct CompressedSpriteSheet gUnknown_08587AE8[]; extern const struct SpriteTemplate gSpriteTemplate_8587B18[]; -extern const u8 gUnknown_08587A70[]; -extern const struct SubspriteTable gSubspriteTables_8587B80[]; -extern const struct CompressedSpriteSheet gUnknown_08587BB0; -extern const struct SpritePalette gUnknown_08587BB8; -extern const struct SpriteTemplate gSpriteTemplate_8587BC8; extern void (*const gContestEffectFuncs[])(void); -extern const s8 gContestExcitementTable[][5]; -extern const struct ContestWinner gUnknown_08587FA4[]; -extern const struct CompressedSpriteSheet gUnknown_08589904[]; -extern const struct SpritePalette gUnknown_08589924[]; -extern const struct SpriteTemplate gSpriteTemplate_858998C[]; + +static const u8 gUnknown_08587A6C[] = +{ + 0x24, 0x4C, 0x74, 0x9C +}; + +static const u8 gUnknown_08587A70[] = +{ + 0x24, 0x4C, 0x74, 0x9C +}; + +static const struct SpriteSheet gUnknown_08587A74 = +{ + .data = gTiles_8C19450, + .size = 0x20, + .tag = 0x4E20 +}; + +static const struct OamData gOamData_8587A7C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8587A84[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8587A94[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, -20, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8587AAC[] = +{ + AFFINEANIMCMD_FRAME(0x38, 0x38, 0, 0), + AFFINEANIMCMD_FRAME(10, 10, 20, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd* const gSpriteAffineAnimTable_8587AC4[] = +{ + gSpriteAffineAnim_8587A84, + gSpriteAffineAnim_8587A94, + gSpriteAffineAnim_8587AAC +}; + +static const struct SpriteTemplate gSpriteTemplate_8587AD0 = +{ + .tileTag = 0x4E20, + .paletteTag = 0xABE0, + .oam = &gOamData_8587A7C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8587AC4, + .callback = SpriteCallbackDummy +}; + +static const struct CompressedSpriteSheet gUnknown_08587AE8[] = +{ + { + .data = gContestNextTurnGfx, + .size = 0x100, + .tag = 0x4E22 + }, + { + .data = gContestNextTurnGfx, + .size = 0x100, + .tag = 0x4E23 + }, + { + .data = gContestNextTurnGfx, + .size = 0x100, + .tag = 0x4E24 + }, + { + .data = gContestNextTurnGfx, + .size = 0x100, + .tag = 0x4E25 + } +}; + +static const struct SpritePalette gUnknown_08587B08 = +{ + .data = gContestPal, + .tag = 0x4E22 +}; + +static const struct OamData gOamData_8587B10 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +static const struct SpriteTemplate gSpriteTemplate_8587B18[] = +{ + { + .tileTag = 0x4E22, + .paletteTag = 0x4E22, + .oam = &gOamData_8587B10, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + { + .tileTag = 0x4E23, + .paletteTag = 0x4E22, + .oam = &gOamData_8587B10, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + { + .tileTag = 0x4E24, + .paletteTag = 0x4E22, + .oam = &gOamData_8587B10, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + }, + { + .tileTag = 0x4E25, + .paletteTag = 0x4E22, + .oam = &gOamData_8587B10, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, + } +}; + +const struct Subsprite gSubspriteTable_8587B78[] = +{ + { + .x = -28, + .y = -4, + .shape = ST_OAM_H_RECTANGLE, + .size = 1, + .tileOffset = 0, + .priority = 0 + }, + { + .x = 4, + .y = -4, + .shape = ST_OAM_H_RECTANGLE, + .size = 1, + .tileOffset = 4, + .priority = 0 + } +}; + +const struct SubspriteTable gSubspriteTables_8587B80[] = +{ + { + .subspriteCount = 2, + .subsprites = gSubspriteTable_8587B78 + } +}; + +const struct CompressedSpriteSheet gUnknown_08587B88 = +{ + .data = gUnknown_08C19168, + .size = 0x180, + .tag = 0xABE1 +}; + +const struct OamData gOamData_8587B90 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct SpriteTemplate gSpriteTemplate_8587B98 = +{ + .tileTag = 0xABE1, + .paletteTag = 0xABE0, + .oam = &gOamData_8587B90, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const struct CompressedSpriteSheet gUnknown_08587BB0 = +{ + .data = gContestApplauseGfx, + .size = 0x400, + .tag = 0xABE2 +}; + +const struct SpritePalette gUnknown_08587BB8 = +{ + .data = gContestPal, + .tag = 0xABE2 +}; + +const struct OamData gOamData_8587BC0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct SpriteTemplate gSpriteTemplate_8587BC8 = +{ + .tileTag = 0xABE2, + .paletteTag = 0xABE2, + .oam = &gOamData_8587BC0, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const struct OamData gOamData_8587BE0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 3, + .paletteNum = 2, + .affineParam = 0 +}; + +const struct SpriteTemplate gSpriteTemplate_8587BE8 = +{ + .tileTag = 0x4E21, + .paletteTag = 0x4E21, + .oam = &gOamData_8587BE0, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const struct CompressedSpriteSheet gUnknown_08587C00 = +{ + .data = gContestJudgeGfx, + .size = 0x800, + .tag = 0x4E21 +}; + +const struct CompressedSpriteSheet gUnknown_08587C08 = +{ + .data = gContestJudgeSymbolsGfx, + .size = 0x380, + .tag = 0xABE0 +}; + +const struct CompressedSpritePalette gUnknown_08587C10 = +{ + .data = gContest3Pal, + .tag = 0xABE0 +}; + +const struct SpriteTemplate gSpriteTemplate_8587C18 = +{ + .tileTag = 0xABE0, + .paletteTag = 0xABE0, + .oam = &gUnknown_0852490C, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; + +const u16 gUnknown_08587C30[] = INCBIN_U16("graphics/unknown/unknown_587C30.gbapal"); + +#include "data/contest_text_tables.h" + +const struct BgTemplate gUnknown_08587F34[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 0x18, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 0x1E, + .screenSize = 2, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 0x1C, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 0x1A, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +const struct WindowTemplate gUnknown_08587F44[] = +{ + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 0, + .width = 12, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x200 + }, + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 5, + .width = 12, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x218 + }, + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 10, + .width = 12, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x230 + }, + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 15, + .width = 12, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x248 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 15, + .width = 17, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x260 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 0x1F, + .width = 9, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x2A4 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 0x21, + .width = 9, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x2B6 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 0x23, + .width = 9, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x2C8 + }, + { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 0x25, + .width = 9, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x2DA + }, + { + .bg = 0, + .tilemapLeft = 16, + .tilemapTop = 0x1F, + .width = 1, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x2EC + }, + { + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 0x23, + .width = 18, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x2EE + }, + DUMMY_WIN_TEMPLATE +}; + +#include "data/contest_opponents.h" + +static const struct CompressedSpriteSheet sUnknown_08589904[] = +{ + { + .data = gBlankGfxCompressed, + .size = 0x1000, + .tag = 0x80E8 + }, + { + .data = gBlankGfxCompressed, + .size = 0x1000, + .tag = 0x80E9 + }, + { + .data = gBlankGfxCompressed, + .size = 0x1000, + .tag = 0x80EA + }, + { + .data = gBlankGfxCompressed, + .size = 0x1000, + .tag = 0x80EB + } +}; + +// Yup this is super dangerous but that's how it is here +static const struct SpritePalette sUnknown_08589924[] = +{ + { + .data = (u16*)(gHeap + 0x1A0A4), + .tag = 0x80E8 + }, + { + .data = (u16*)(gHeap + 0x1A0C4), + .tag = 0x80E9 + }, + { + .data = (u16*)(gHeap + 0x1A0E4), + .tag = 0x80EA + }, + { + .data = (u16*)(gHeap + 0x1A104), + .tag = 0x80EB + } +}; + +const struct OamData gOamData_8589944 = +{ + .y = 0, + .affineMode = 3, + .objMode = 1, + .mosaic = 0, + .bpp = 0, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 0, + .paletteNum = 0, + .affineParam = 0 +}; + +const union AffineAnimCmd gSpriteAffineAnim_858994C[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gSpriteAffineAnim_858995C[] = +{ + AFFINEANIMCMD_FRAME(3, 3, 0, 15), + AFFINEANIMCMD_FRAME(-3, -3, 0, 15), + AFFINEANIMCMD_FRAME(3, 3, 0, 15), + AFFINEANIMCMD_FRAME(-3, -3, 0, 15), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_8589984[] = +{ + gSpriteAffineAnim_858994C, + gSpriteAffineAnim_858995C +}; + +const struct SpriteTemplate gSpriteTemplate_858998C[] = +{ + { + .tileTag = 0x80E8, + .paletteTag = 0x80E8, + .oam = &gOamData_8589944, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8589984, + .callback = SpriteCallbackDummy + }, + { + .tileTag = 0x80E9, + .paletteTag = 0x80E9, + .oam = &gOamData_8589944, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8589984, + .callback = SpriteCallbackDummy + }, + { + .tileTag = 0x80EA, + .paletteTag = 0x80EA, + .oam = &gOamData_8589944, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8589984, + .callback = SpriteCallbackDummy + }, + { + .tileTag = 0x80EB, + .paletteTag = 0x80EB, + .oam = &gOamData_8589944, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSpriteAffineAnimTable_8589984, + .callback = SpriteCallbackDummy + } +}; + +const s8 gContestExcitementTable[][5] = +{ + { 1, 0, -1, -1, 0}, + { 0, 1, 0, -1, -1}, + {-1, 0, 1, 0, -1}, + {-1, -1, 0, 1, 0}, + { 0, -1, -1, 0, 1} +}; static void TaskDummy1(u8 taskId) { @@ -2118,7 +2694,7 @@ void sub_80DAB8C(u8 contestType, u8 rank) r7 = TRUE; // Find all suitable opponents - r3 = gUnknown_085898A4; + r3 = gPostgameContestOpponentFilter; for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++) { if (rank == gContestOpponents[i].whichRank) @@ -2178,12 +2754,12 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame) if (isPostgame == TRUE) { - if (gUnknown_085898A4[i] == 1) + if (gPostgameContestOpponentFilter[i] == CONTEST_FILTER_NO_POSTGAME) continue; } else { - if (gUnknown_085898A4[i] == 2) + if (gPostgameContestOpponentFilter[i] == CONTEST_FILTER_ONLY_POSTGAME) continue; } if ((contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool) @@ -3317,8 +3893,8 @@ static u8 sub_80DC9EC(u8 a) u8 spriteId1, spriteId2; u8 x = gUnknown_02039F26[a] * 40 + 32; - LoadCompressedSpriteSheet(&gUnknown_08589904[a]); - LoadSpritePalette(&gUnknown_08589924[a]); + LoadCompressedSpriteSheet(&sUnknown_08589904[a]); + LoadSpritePalette(&sUnknown_08589924[a]); spriteId1 = CreateSprite(&gSpriteTemplate_858998C[a], 184, x, 29); spriteId2 = CreateSprite(&gSpriteTemplate_858998C[a], 248, x, 29); gSprites[spriteId2].oam.tileNum += 64; diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h new file mode 100644 index 0000000000..ef1fdba9f0 --- /dev/null +++ b/src/data/contest_opponents.h @@ -0,0 +1,3066 @@ + +#include "global.h" +#include "contest.h" +#include "constants/species.h" + +#define CONTEST_OPPONENT_JIMMY 0 +#define CONTEST_OPPONENT_EDITH 1 +#define CONTEST_OPPONENT_EVAN 2 +#define CONTEST_OPPONENT_KELSEY 3 +#define CONTEST_OPPONENT_MADISON 4 +#define CONTEST_OPPONENT_RAYMOND 5 +#define CONTEST_OPPONENT_GRANT 6 +#define CONTEST_OPPONENT_PAIGE 7 +#define CONTEST_OPPONENT_ALEC 8 +#define CONTEST_OPPONENT_SYDNEY 9 +#define CONTEST_OPPONENT_MORRIS 10 +#define CONTEST_OPPONENT_MARIAH 11 +#define CONTEST_OPPONENT_RUSSELL 12 +#define CONTEST_OPPONENT_MELANIE 13 +#define CONTEST_OPPONENT_CHANCE 14 +#define CONTEST_OPPONENT_AGATHA 15 +#define CONTEST_OPPONENT_BEAU 16 +#define CONTEST_OPPONENT_KAY 17 +#define CONTEST_OPPONENT_CALE 18 +#define CONTEST_OPPONENT_CAITLIN 19 +#define CONTEST_OPPONENT_COLBY 20 +#define CONTEST_OPPONENT_KYLIE 21 +#define CONTEST_OPPONENT_LIAM 22 +#define CONTEST_OPPONENT_MILO 23 +#define CONTEST_OPPONENT_KARINA 24 +#define CONTEST_OPPONENT_BOBBY 25 +#define CONTEST_OPPONENT_CLAIRE 26 +#define CONTEST_OPPONENT_WILLIE 27 +#define CONTEST_OPPONENT_CASSIDY 28 +#define CONTEST_OPPONENT_MORGAN 29 +#define CONTEST_OPPONENT_SUMMER 30 +#define CONTEST_OPPONENT_MILES 31 +#define CONTEST_OPPONENT_AUDREY 32 +#define CONTEST_OPPONENT_AVERY 33 +#define CONTEST_OPPONENT_ARIANA 34 +#define CONTEST_OPPONENT_ASHTON 35 +#define CONTEST_OPPONENT_SANDRA 36 +#define CONTEST_OPPONENT_CARSON 37 +#define CONTEST_OPPONENT_KATRINA 38 +#define CONTEST_OPPONENT_LUKE 39 +#define CONTEST_OPPONENT_RAUL 40 +#define CONTEST_OPPONENT_JADA 41 +#define CONTEST_OPPONENT_ZEEK 42 +#define CONTEST_OPPONENT_DIEGO 43 +#define CONTEST_OPPONENT_ALIYAH 44 +#define CONTEST_OPPONENT_NATALIA 45 +#define CONTEST_OPPONENT_DEVIN 46 +#define CONTEST_OPPONENT_TYLOR 47 +#define CONTEST_OPPONENT_RONNIE 48 +#define CONTEST_OPPONENT_CLAUDIA 49 +#define CONTEST_OPPONENT_ELIAS 50 +#define CONTEST_OPPONENT_JADE 51 +#define CONTEST_OPPONENT_FRANCIS 52 +#define CONTEST_OPPONENT_ALISHA 53 +#define CONTEST_OPPONENT_SAUL 54 +#define CONTEST_OPPONENT_FELICIA 55 +#define CONTEST_OPPONENT_EMILIO 56 +#define CONTEST_OPPONENT_KARLA 57 +#define CONTEST_OPPONENT_DARRYL 58 +#define CONTEST_OPPONENT_SELENA 59 +#define CONTEST_OPPONENT_NOEL 60 +#define CONTEST_OPPONENT_LACEY 61 +#define CONTEST_OPPONENT_CORBIN 62 +#define CONTEST_OPPONENT_GRACIE 63 +#define CONTEST_OPPONENT_COLTIN 64 +#define CONTEST_OPPONENT_ELLIE 65 +#define CONTEST_OPPONENT_MARCUS 66 +#define CONTEST_OPPONENT_KIARA 67 +#define CONTEST_OPPONENT_BRYCE 68 +#define CONTEST_OPPONENT_JAMIE 69 +#define CONTEST_OPPONENT_JORGE 70 +#define CONTEST_OPPONENT_DEVON 71 +#define CONTEST_OPPONENT_JUSTINA 72 +#define CONTEST_OPPONENT_RALPH 73 +#define CONTEST_OPPONENT_ROSA 74 +#define CONTEST_OPPONENT_KEATON 75 +#define CONTEST_OPPONENT_MAYRA 76 +#define CONTEST_OPPONENT_LAMAR 77 +#define CONTEST_OPPONENT_AUBREY 78 +#define CONTEST_OPPONENT_NIGEL 79 +#define CONTEST_OPPONENT_CAMILLE 80 +#define CONTEST_OPPONENT_DEON 81 +#define CONTEST_OPPONENT_JANELLE 82 +#define CONTEST_OPPONENT_HEATH 83 +#define CONTEST_OPPONENT_SASHA 84 +#define CONTEST_OPPONENT_FRANKIE 85 +#define CONTEST_OPPONENT_HELEN 86 +#define CONTEST_OPPONENT_CAMILE 87 +#define CONTEST_OPPONENT_MARTIN 88 +#define CONTEST_OPPONENT_SERGIO 89 +#define CONTEST_OPPONENT_KAILEY 90 +#define CONTEST_OPPONENT_PERLA 91 +#define CONTEST_OPPONENT_CLARA 92 +#define CONTEST_OPPONENT_JAKOB 93 +#define CONTEST_OPPONENT_TREY 94 +#define CONTEST_OPPONENT_LANE 95 + +const struct ContestWinner gUnknown_08587FA4[] = +{ + { + .personality = 0, + .trainerId = 0xFFFF, + .species = SPECIES_ELECTRIKE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .monName = _("ELECTER"), + .trainerName = _("EZRA"), + .contestRank = CONTEST_RANK_NORMAL + }, + { + .personality = 0, + .trainerId = 0xFFFF, + .species = SPECIES_TROPIUS, + .contestCategory = CONTEST_CATEGORY_COOL, + .monName = _("TROPO"), + .trainerName = _("ALLAN"), + .contestRank = CONTEST_RANK_HYPER + }, + { + .personality = 0, + .trainerId = 0xFFFF, + .species = SPECIES_XATU, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .monName = _("TUXA"), + .trainerName = _("JULIET"), + .contestRank = CONTEST_RANK_NORMAL + }, + { + .personality = 0, + .trainerId = 0xFFFF, + .species = SPECIES_PLUSLE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .monName = _("PULSE"), + .trainerName = _("BAILY"), + .contestRank = CONTEST_RANK_MASTER + }, + { + .personality = 0, + .trainerId = 0xFFFF, + .species = SPECIES_SHUPPET, + .contestCategory = CONTEST_CATEGORY_SMART, + .monName = _("SHUPUP"), + .trainerName = _("MELANY"), + .contestRank = CONTEST_RANK_SUPER + }, + { + .personality = 0, + .trainerId = 0xFFFF, + .species = SPECIES_ZANGOOSE, + .contestCategory = CONTEST_CATEGORY_COOL, + .monName = _("GOOZAN"), + .trainerName = _("HANA"), + .contestRank = CONTEST_RANK_HYPER + }, + { + .personality = 0, + .trainerId = 0xFFFF, + .species = SPECIES_LOUDRED, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .monName = _("LOUDED"), + .trainerName = _("BRYANT"), + .contestRank = CONTEST_RANK_HYPER + }, + { + .personality = 0, + .trainerId = 0xFFFF, + .species = SPECIES_DELCATTY, + .contestCategory = CONTEST_CATEGORY_CUTE, + .monName = _("KITSY"), + .trainerName = _("OMAR"), + .contestRank = CONTEST_RANK_MASTER + } +}; + +const struct ContestPokemon gContestOpponents[] = +{ + [CONTEST_OPPONENT_JIMMY] = { + .species = SPECIES_POOCHYENA, + .nickname = _("POOCHY"), + .trainerName = _("JIMMY"), + .trainerGfxId = EVENT_OBJ_GFX_BOY_1, + .flags = 0xC000FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_ROAR, + MOVE_BITE, + MOVE_TAKE_DOWN, + MOVE_HOWL + }, + .cool = 10, + .beauty = 4, + .cute = 10, + .smart = 3, + .tough = 4, + .sheen = 50, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_EDITH] = { + .species = SPECIES_ILLUMISE, + .nickname = _("MUSILLE"), + .trainerName = _("EDITH"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, + .flags = 0x82000FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_REST, + MOVE_FACADE, + MOVE_TACKLE, + MOVE_COVET + }, + .cool = 10, + .beauty = 10, + .cute = 6, + .smart = 1, + .tough = 2, + .sheen = 60, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_EVAN] = { + .species = SPECIES_DUSTOX, + .nickname = _("DUSTER"), + .trainerName = _("EVAN"), + .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, + .flags = 0x21000FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SILVER_WIND, + MOVE_MOONLIGHT, + MOVE_LIGHT_SCREEN, + MOVE_GUST + }, + .cool = 2, + .beauty = 10, + .cute = 10, + .smart = 12, + .tough = 4, + .sheen = 70, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KELSEY] = { + .species = SPECIES_SEEDOT, + .nickname = _("DOTS"), + .trainerName = _("KELSEY"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, + .flags = 0x20800FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_BIDE, + MOVE_SYNTHESIS, + MOVE_BULLET_SEED, + MOVE_GROWTH + }, + .cool = 3, + .beauty = 3, + .cute = 5, + .smart = 2, + .tough = 7, + .sheen = 80, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MADISON] = { + .species = SPECIES_TAILLOW, + .nickname = _("TATAY"), + .trainerName = _("MADISON"), + .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .flags = 0x80400FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_WING_ATTACK, + MOVE_AGILITY, + MOVE_AERIAL_ACE, + MOVE_GROWL + }, + .cool = 1, + .beauty = 3, + .cute = 3, + .smart = 5, + .tough = 4, + .sheen = 90, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_RAYMOND] = { + .species = SPECIES_NINCADA, + .nickname = _("NINDA"), + .trainerName = _("RAYMOND"), + .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, + .flags = 0x10200FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_LEECH_LIFE, + MOVE_FALSE_SWIPE, + MOVE_FURY_SWIPES, + MOVE_MIND_READER + }, + .cool = 5, + .beauty = 2, + .cute = 10, + .smart = 7, + .tough = 8, + .sheen = 100, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_GRANT] = { + .species = SPECIES_SHROOMISH, + .nickname = _("SMISH"), + .trainerName = _("GRANT"), + .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, + .flags = 0x20100FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_STUN_SPORE, + MOVE_LEECH_SEED, + MOVE_MEGA_DRAIN, + MOVE_ATTRACT + }, + .cool = 3, + .beauty = 3, + .cute = 10, + .smart = 2, + .tough = 2, + .sheen = 50, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_PAIGE] = { + .species = SPECIES_SPHEAL, + .nickname = _("SLEAL"), + .trainerName = _("PAIGE"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, + .flags = 0x8080FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_AURORA_BEAM, + MOVE_WATER_GUN, + MOVE_GROWL, + MOVE_ROCK_TOMB + }, + .cool = 3, + .beauty = 5, + .cute = 1, + .smart = 10, + .tough = 10, + .sheen = 60, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ALEC] = { + .species = SPECIES_SLAKOTH, + .nickname = _("SLOKTH"), + .trainerName = _("ALEC"), + .trainerGfxId = EVENT_OBJ_GFX_CAMPER, + .flags = 0x40040FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_STRENGTH, + MOVE_COUNTER, + MOVE_YAWN, + MOVE_ENCORE + }, + .cool = 10, + .beauty = 4, + .cute = 4, + .smart = 5, + .tough = 18, + .sheen = 70, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_SYDNEY] = { + .species = SPECIES_WHISMUR, + .nickname = _("WHIRIS"), + .trainerName = _("SYDNEY"), + .trainerGfxId = EVENT_OBJ_GFX_LASS, + .flags = 0x80020FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_ASTONISH, + MOVE_SCREECH, + MOVE_UPROAR, + MOVE_HYPER_VOICE + }, + .cool = 2, + .beauty = 2, + .cute = 7, + .smart = 2, + .tough = 7, + .sheen = 80, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MORRIS] = { + .species = SPECIES_MAKUHITA, + .nickname = _("MAHITA"), + .trainerName = _("MORRIS"), + .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .flags = 0x8010FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SEISMIC_TOSS, + MOVE_VITAL_THROW, + MOVE_TACKLE, + MOVE_REVERSAL + }, + .cool = 9, + .beauty = 1, + .cute = 1, + .smart = 8, + .tough = 1, + .sheen = 90, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MARIAH] = { + .species = SPECIES_ARON, + .nickname = _("RONAR"), + .trainerName = _("MARIAH"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, + .flags = 0x8008FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_METAL_CLAW, + MOVE_IRON_DEFENSE, + MOVE_HEADBUTT, + MOVE_TAKE_DOWN + }, + .cool = 5, + .beauty = 10, + .cute = 2, + .smart = 10, + .tough = 2, + .sheen = 100, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_RUSSELL] = { + .species = SPECIES_CROBAT, + .nickname = _("BATRO"), + .trainerName = _("RUSSELL"), + .trainerGfxId = EVENT_OBJ_GFX_MAN_3, + .flags = 0x90004FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_HAZE, + MOVE_MEAN_LOOK, + MOVE_CONFUSE_RAY, + MOVE_LEECH_LIFE + }, + .cool = 4, + .beauty = 2, + .cute = 2, + .smart = 2, + .tough = 10, + .sheen = 50, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MELANIE] = { + .species = SPECIES_GULPIN, + .nickname = _("GULIN"), + .trainerName = _("MELANIE"), + .trainerGfxId = EVENT_OBJ_GFX_TWIN, + .flags = 0x40002FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SLUDGE, + MOVE_AMNESIA, + MOVE_TOXIC, + MOVE_YAWN + }, + .cool = 1, + .beauty = 10, + .cute = 1, + .smart = 10, + .tough = 5, + .sheen = 60, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CHANCE] = { + .species = SPECIES_MANECTRIC, + .nickname = _("RIKELEC"), + .trainerName = _("CHANCE"), + .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY, + .flags = 0x80001FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SPARK, + MOVE_THUNDER_WAVE, + MOVE_THUNDER, + MOVE_ROAR + }, + .cool = 20, + .beauty = 10, + .cute = 1, + .smart = 1, + .tough = 1, + .sheen = 70, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_AGATHA] = { + .species = SPECIES_BULBASAUR, + .nickname = _("BULBY"), + .trainerName = _("AGATHA"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, + .flags = 0xC000FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_GROWL, + MOVE_LEECH_SEED, + MOVE_TACKLE, + MOVE_SWEET_SCENT + }, + .cool = 5, + .beauty = 3, + .cute = 10, + .smart = 10, + .tough = 4, + .sheen = 50, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_BEAU] = { + .species = SPECIES_BUTTERFREE, + .nickname = _("FUTTERBE"), + .trainerName = _("BEAU"), + .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, + .flags = 0x82000FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SUPERSONIC, + MOVE_WHIRLWIND, + MOVE_SILVER_WIND, + MOVE_SAFEGUARD + }, + .cool = 3, + .beauty = 10, + .cute = 2, + .smart = 10, + .tough = 4, + .sheen = 60, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KAY] = { + .species = SPECIES_PIDGEOTTO, + .nickname = _("PIDEOT"), + .trainerName = _("KAY"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5, + .flags = 0x21000FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_MIRROR_MOVE, + MOVE_QUICK_ATTACK, + MOVE_AERIAL_ACE, + MOVE_FEATHER_DANCE + }, + .cool = 10, + .beauty = 8, + .cute = 4, + .smart = 2, + .tough = 3, + .sheen = 70, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CALE] = { + .species = SPECIES_DIGLETT, + .nickname = _("DIGLE"), + .trainerName = _("CALE"), + .trainerGfxId = EVENT_OBJ_GFX_HIKER, + .flags = 0x20800FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_DIG, + MOVE_EARTHQUAKE, + MOVE_FISSURE, + MOVE_MAGNITUDE + }, + .cool = 4, + .beauty = 2, + .cute = 3, + .smart = 5, + .tough = 10, + .sheen = 80, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CAITLIN] = { + .species = SPECIES_POLIWAG, + .nickname = _("WAGIL"), + .trainerName = _("CAITLIN"), + .trainerGfxId = EVENT_OBJ_GFX_TUBER_F, + .flags = 0x80400FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_HYDRO_PUMP, + MOVE_RAIN_DANCE, + MOVE_BODY_SLAM, + MOVE_ICE_BEAM + }, + .cool = 2, + .beauty = 10, + .cute = 5, + .smart = 3, + .tough = 10, + .sheen = 90, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_COLBY] = { + .species = SPECIES_TOTODILE, + .nickname = _("TOTDIL"), + .trainerName = _("COLBY"), + .trainerGfxId = EVENT_OBJ_GFX_NINJA_BOY, + .flags = 0x10200FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_RAGE, + MOVE_SCREECH, + MOVE_SURF, + MOVE_BLIZZARD + }, + .cool = 6, + .beauty = 10, + .cute = 2, + .smart = 1, + .tough = 5, + .sheen = 100, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KYLIE] = { + .species = SPECIES_LEDYBA, + .nickname = _("BALEDY"), + .trainerName = _("KYLIE"), + .trainerGfxId = EVENT_OBJ_GFX_BEAUTY, + .flags = 0x20100FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_BATON_PASS, + MOVE_AGILITY, + MOVE_SWIFT, + MOVE_ATTRACT + }, + .cool = 8, + .beauty = 6, + .cute = 8, + .smart = 6, + .tough = 2, + .sheen = 90, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_LIAM] = { + .species = SPECIES_DELIBIRD, + .nickname = _("BIRDLY"), + .trainerName = _("LIAM"), + .trainerGfxId = EVENT_OBJ_GFX_MAN_5, + .flags = 0x8080FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_PRESENT, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_RETURN + }, + .cool = 4, + .beauty = 3, + .cute = 10, + .smart = 5, + .tough = 3, + .sheen = 80, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MILO] = { + .species = SPECIES_LARVITAR, + .nickname = _("TARVITAR"), + .trainerName = _("MILO"), + .trainerGfxId = EVENT_OBJ_GFX_MANIAC, + .flags = 0x40040FFF, + .whichRank = CONTEST_RANK_NORMAL, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_THRASH, + MOVE_TORMENT, + MOVE_CRUNCH, + MOVE_DIG + }, + .cool = 8, + .beauty = 5, + .cute = 5, + .smart = 8, + .tough = 10, + .sheen = 70, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KARINA] = { + .species = SPECIES_ROSELIA, + .nickname = _("RELIA"), + .trainerName = _("KARINA"), + .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, + .flags = 0x24000FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_PETAL_DANCE, + MOVE_MAGICAL_LEAF, + MOVE_GRASS_WHISTLE, + MOVE_INGRAIN + }, + .cool = 50, + .beauty = 15, + .cute = 75, + .smart = 10, + .tough = 20, + .sheen = 100, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_BOBBY] = { + .species = SPECIES_DODRIO, + .nickname = _("DUODO"), + .trainerName = _("BOBBY"), + .trainerGfxId = EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M, + .flags = 0x82000FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_PECK, + MOVE_FURY_ATTACK, + MOVE_RETURN, + MOVE_GROWL + }, + .cool = 15, + .beauty = 21, + .cute = 15, + .smart = 85, + .tough = 35, + .sheen = 110, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CLAIRE] = { + .species = SPECIES_TRAPINCH, + .nickname = _("PINCHIN"), + .trainerName = _("CLAIRE"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, + .flags = 0x81000FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_BITE, + MOVE_SAND_ATTACK, + MOVE_DIG, + MOVE_FAINT_ATTACK + }, + .cool = 75, + .beauty = 25, + .cute = 25, + .smart = 10, + .tough = 25, + .sheen = 120, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_WILLIE] = { + .species = SPECIES_CACNEA, + .nickname = _("NACAC"), + .trainerName = _("WILLIE"), + .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, + .flags = 0x80800FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SPIKES, + MOVE_LEER, + MOVE_POISON_STING, + MOVE_SAND_ATTACK + }, + .cool = 10, + .beauty = 30, + .cute = 25, + .smart = 65, + .tough = 25, + .sheen = 130, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CASSIDY] = { + .species = SPECIES_SANDSLASH, + .nickname = _("SHRAND"), + .trainerName = _("CASSIDY"), + .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .flags = 0x10400FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SLASH, + MOVE_DEFENSE_CURL, + MOVE_SWIFT, + MOVE_FURY_SWIPES + }, + .cool = 30, + .beauty = 90, + .cute = 30, + .smart = 10, + .tough = 100, + .sheen = 140, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MORGAN] = { + .species = SPECIES_BALTOY, + .nickname = _("TOYBAL"), + .trainerName = _("MORGAN"), + .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, + .flags = 0x8200FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SELF_DESTRUCT, + MOVE_ROCK_TOMB, + MOVE_PSYBEAM, + MOVE_CONFUSION + }, + .cool = 50, + .beauty = 40, + .cute = 10, + .smart = 35, + .tough = 35, + .sheen = 150, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_SUMMER] = { + .species = SPECIES_MEDICHAM, + .nickname = _("CHAMCHAM"), + .trainerName = _("SUMMER"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, + .flags = 0x10100FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_REVERSAL, + MOVE_THUNDER_PUNCH, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH + }, + .cool = 40, + .beauty = 20, + .cute = 40, + .smart = 40, + .tough = 40, + .sheen = 100, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MILES] = { + .species = SPECIES_SPINDA, + .nickname = _("SPININ"), + .trainerName = _("MILES"), + .trainerGfxId = EVENT_OBJ_GFX_CAMPER, + .flags = 0x80080FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_TEETER_DANCE, + MOVE_PSYCH_UP, + MOVE_HYPNOSIS, + MOVE_UPROAR + }, + .cool = 25, + .beauty = 75, + .cute = 25, + .smart = 10, + .tough = 25, + .sheen = 110, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_AUDREY] = { + .species = SPECIES_SWABLU, + .nickname = _("SWABY"), + .trainerName = _("AUDREY"), + .trainerGfxId = EVENT_OBJ_GFX_LASS, + .flags = 0xA0040FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_MIRROR_MOVE, + MOVE_PERISH_SONG, + MOVE_SAFEGUARD, + MOVE_MIST + }, + .cool = 30, + .beauty = 30, + .cute = 40, + .smart = 30, + .tough = 25, + .sheen = 120, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_AVERY] = { + .species = SPECIES_SPOINK, + .nickname = _("POINKER"), + .trainerName = _("AVERY"), + .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .flags = 0x80020FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SPLASH, + MOVE_CONFUSE_RAY, + MOVE_SNORE, + MOVE_REST + }, + .cool = 40, + .beauty = 10, + .cute = 30, + .smart = 40, + .tough = 30, + .sheen = 130, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ARIANA] = { + .species = SPECIES_KECLEON, + .nickname = _("KECON"), + .trainerName = _("ARIANA"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, + .flags = 0x80010FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_THIEF, + MOVE_SCREECH, + MOVE_ANCIENT_POWER, + MOVE_BIND + }, + .cool = 10, + .beauty = 10, + .cute = 40, + .smart = 75, + .tough = 35, + .sheen = 140, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ASHTON] = { + .species = SPECIES_GOLDEEN, + .nickname = _("GOLDEN"), + .trainerName = _("ASHTON"), + .trainerGfxId = EVENT_OBJ_GFX_MAN_3, + .flags = 0x80008FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_HORN_ATTACK, + MOVE_FURY_ATTACK, + MOVE_HORN_DRILL, + MOVE_TAIL_WHIP + }, + .cool = 70, + .beauty = 30, + .cute = 5, + .smart = 30, + .tough = 25, + .sheen = 150, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_SANDRA] = { + .species = SPECIES_BARBOACH, + .nickname = _("BOBOACH"), + .trainerName = _("SANDRA"), + .trainerGfxId = EVENT_OBJ_GFX_TWIN, + .flags = 0x80004FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_MUD_SPORT, + MOVE_WATER_SPORT, + MOVE_EARTHQUAKE, + MOVE_FUTURE_SIGHT + }, + .cool = 45, + .beauty = 45, + .cute = 60, + .smart = 25, + .tough = 15, + .sheen = 100, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CARSON] = { + .species = SPECIES_SKARMORY, + .nickname = _("CORPY"), + .trainerName = _("CARSON"), + .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, + .flags = 0x8002FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SWIFT, + MOVE_DOUBLE_TEAM, + MOVE_AGILITY, + MOVE_CUT + }, + .cool = 40, + .beauty = 30, + .cute = 25, + .smart = 60, + .tough = 20, + .sheen = 110, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KATRINA] = { + .species = SPECIES_LOTAD, + .nickname = _("TADO"), + .trainerName = _("KATRINA"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, + .flags = 0x8001FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_ASTONISH, + MOVE_GROWL, + MOVE_RAIN_DANCE, + MOVE_WATER_PULSE + }, + .cool = 15, + .beauty = 15, + .cute = 30, + .smart = 15, + .tough = 75, + .sheen = 120, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_LUKE] = { + .species = SPECIES_SLOWBRO, + .nickname = _("BROWLO"), + .trainerName = _("LUKE"), + .trainerGfxId = EVENT_OBJ_GFX_FAT_MAN, + .flags = 0xC000FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_YAWN, + MOVE_DISABLE, + MOVE_GROWL, + MOVE_CONFUSION + }, + .cool = 20, + .beauty = 40, + .cute = 40, + .smart = 30, + .tough = 20, + .sheen = 100, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_RAUL] = { + .species = SPECIES_FARFETCHD, + .nickname = _("FETCHIN"), + .trainerName = _("RAUL"), + .trainerGfxId = EVENT_OBJ_GFX_MAN_5, + .flags = 0x82000FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_FACADE, + MOVE_FURY_CUTTER, + MOVE_FLY, + MOVE_RETURN + }, + .cool = 40, + .beauty = 10, + .cute = 40, + .smart = 20, + .tough = 20, + .sheen = 110, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_JADA] = { + .species = SPECIES_SEEL, + .nickname = _("SEELEY"), + .trainerName = _("JADA"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, + .flags = 0x21000FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_ATTRACT, + MOVE_ICE_BEAM, + MOVE_SAFEGUARD, + MOVE_GROWL + }, + .cool = 10, + .beauty = 30, + .cute = 40, + .smart = 20, + .tough = 20, + .sheen = 120, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ZEEK] = { + .species = SPECIES_DROWZEE, + .nickname = _("DROWZIN"), + .trainerName = _("ZEEK"), + .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M, + .flags = 0x20800FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_DISABLE, + MOVE_FUTURE_SIGHT, + MOVE_HIDDEN_POWER, + MOVE_RETURN + }, + .cool = 10, + .beauty = 40, + .cute = 50, + .smart = 30, + .tough = 45, + .sheen = 130, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_DIEGO] = { + .species = SPECIES_HITMONCHAN, + .nickname = _("HITEMON"), + .trainerName = _("DIEGO"), + .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M, + .flags = 0x80400FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SKY_UPPERCUT, + MOVE_DETECT, + MOVE_REVENGE, + MOVE_MEGA_PUNCH + }, + .cool = 45, + .beauty = 20, + .cute = 10, + .smart = 20, + .tough = 45, + .sheen = 140, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ALIYAH] = { + .species = SPECIES_BLISSEY, + .nickname = _("BLISS"), + .trainerName = _("ALIYAH"), + .trainerGfxId = EVENT_OBJ_GFX_TEALA, + .flags = 0x10200FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SING, + MOVE_SOFT_BOILED, + MOVE_EGG_BOMB, + MOVE_DOUBLE_EDGE + }, + .cool = 20, + .beauty = 35, + .cute = 40, + .smart = 20, + .tough = 20, + .sheen = 150, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_NATALIA] = { + .species = SPECIES_ELEKID, + .nickname = _("KIDLEK"), + .trainerName = _("NATALIA"), + .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .flags = 0x20100FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SHOCK_WAVE, + MOVE_QUICK_ATTACK, + MOVE_SCREECH, + MOVE_ATTRACT + }, + .cool = 40, + .beauty = 10, + .cute = 40, + .smart = 25, + .tough = 25, + .sheen = 140, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_DEVIN] = { + .species = SPECIES_SNUBBULL, + .nickname = _("SNUBBINS"), + .trainerName = _("DEVIN"), + .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN, + .flags = 0x8080FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SCARY_FACE, + MOVE_TAUNT, + MOVE_TAIL_WHIP, + MOVE_BITE + }, + .cool = 20, + .beauty = 20, + .cute = 20, + .smart = 20, + .tough = 20, + .sheen = 130, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_TYLOR] = { + .species = SPECIES_MISDREAVUS, + .nickname = _("DREAVIS"), + .trainerName = _("TYLOR"), + .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, + .flags = 0x40040FFF, + .whichRank = CONTEST_RANK_SUPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_PERISH_SONG, + MOVE_MEAN_LOOK, + MOVE_CONFUSE_RAY, + MOVE_PAIN_SPLIT + }, + .cool = 10, + .beauty = 35, + .cute = 10, + .smart = 45, + .tough = 20, + .sheen = 120, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_RONNIE] = { + .species = SPECIES_LAIRON, + .nickname = _("LAIRN"), + .trainerName = _("RONNIE"), + .trainerGfxId = EVENT_OBJ_GFX_HIKER, + .flags = 0x84000FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_METAL_SOUND, + MOVE_METAL_CLAW, + MOVE_HARDEN, + MOVE_TAKE_DOWN + }, + .cool = 30, + .beauty = 50, + .cute = 35, + .smart = 100, + .tough = 90, + .sheen = 200, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CLAUDIA] = { + .species = SPECIES_SHIFTRY, + .nickname = _("SHIFTY"), + .trainerName = _("CLAUDIA"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, + .flags = 0x82000FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_GROWTH, + MOVE_RAZOR_WIND, + MOVE_EXPLOSION, + MOVE_EXTRASENSORY + }, + .cool = 75, + .beauty = 75, + .cute = 65, + .smart = 35, + .tough = 70, + .sheen = 210, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ELIAS] = { + .species = SPECIES_NINJASK, + .nickname = _("NINAS"), + .trainerName = _("ELIAS"), + .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, + .flags = 0x81000FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SCREECH, + MOVE_FURY_SWIPES, + MOVE_SAND_ATTACK, + MOVE_BATON_PASS + }, + .cool = 30, + .beauty = 50, + .cute = 95, + .smart = 70, + .tough = 70, + .sheen = 220, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_JADE] = { + .species = SPECIES_SWELLOW, + .nickname = _("WELOW"), + .trainerName = _("JADE"), + .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .flags = 0x80800FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_AGILITY, + MOVE_AERIAL_ACE, + MOVE_WING_ATTACK, + MOVE_FLY + }, + .cool = 65, + .beauty = 85, + .cute = 35, + .smart = 75, + .tough = 40, + .sheen = 230, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_FRANCIS] = { + .species = SPECIES_MIGHTYENA, + .nickname = _("YENA"), + .trainerName = _("FRANCIS"), + .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, + .flags = 0x80400FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_TAUNT, + MOVE_THIEF, + MOVE_ODOR_SLEUTH, + MOVE_TAKE_DOWN + }, + .cool = 40, + .beauty = 80, + .cute = 35, + .smart = 70, + .tough = 70, + .sheen = 240, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ALISHA] = { + .species = SPECIES_BEAUTIFLY, + .nickname = _("TIFLY"), + .trainerName = _("ALISHA"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, + .flags = 0x80200FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_MORNING_SUN, + MOVE_SILVER_WIND, + MOVE_STUN_SPORE, + MOVE_SECRET_POWER + }, + .cool = 40, + .beauty = 70, + .cute = 25, + .smart = 80, + .tough = 100, + .sheen = 250, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_SAUL] = { + .species = SPECIES_SEAKING, + .nickname = _("KINGSEA"), + .trainerName = _("SAUL"), + .trainerGfxId = EVENT_OBJ_GFX_CAMPER, + .flags = 0x80100FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_FLAIL, + MOVE_SUPERSONIC, + MOVE_HORN_ATTACK, + MOVE_FURY_ATTACK + }, + .cool = 80, + .beauty = 60, + .cute = 30, + .smart = 70, + .tough = 90, + .sheen = 200, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_FELICIA] = { + .species = SPECIES_CASTFORM, + .nickname = _("CASTER"), + .trainerName = _("FELICIA"), + .trainerGfxId = EVENT_OBJ_GFX_LASS, + .flags = 0x80080FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SUNNY_DAY, + MOVE_WEATHER_BALL, + MOVE_SANDSTORM, + MOVE_RETURN + }, + .cool = 70, + .beauty = 80, + .cute = 80, + .smart = 50, + .tough = 65, + .sheen = 210, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_EMILIO] = { + .species = SPECIES_MACHOKE, + .nickname = _("CHOKEM"), + .trainerName = _("EMILIO"), + .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .flags = 0x80040FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SEISMIC_TOSS, + MOVE_FOCUS_ENERGY, + MOVE_KARATE_CHOP, + MOVE_SCARY_FACE + }, + .cool = 70, + .beauty = 85, + .cute = 25, + .smart = 60, + .tough = 50, + .sheen = 220, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KARLA] = { + .species = SPECIES_LOMBRE, + .nickname = _("LOMBE"), + .trainerName = _("KARLA"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, + .flags = 0x80020FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_ATTRACT, + MOVE_FLASH, + MOVE_UPROAR, + MOVE_GROWL + }, + .cool = 40, + .beauty = 60, + .cute = 90, + .smart = 45, + .tough = 70, + .sheen = 230, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_DARRYL] = { + .species = SPECIES_SEVIPER, + .nickname = _("VIPES"), + .trainerName = _("DARRYL"), + .trainerGfxId = EVENT_OBJ_GFX_MAN_3, + .flags = 0x80010FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_POISON_FANG, + MOVE_GLARE, + MOVE_WRAP, + MOVE_SCREECH + }, + .cool = 35, + .beauty = 50, + .cute = 90, + .smart = 40, + .tough = 100, + .sheen = 240, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_SELENA] = { + .species = SPECIES_WAILMER, + .nickname = _("MERAIL"), + .trainerName = _("SELENA"), + .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F, + .flags = 0x80008FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_WATER_PULSE, + MOVE_REST, + MOVE_WATER_SPOUT, + MOVE_SPLASH + }, + .cool = 30, + .beauty = 100, + .cute = 100, + .smart = 50, + .tough = 30, + .sheen = 250, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_NOEL] = { + .species = SPECIES_MAGIKARP, + .nickname = _("KARPAG"), + .trainerName = _("NOEL"), + .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, + .flags = 0x80004FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_TACKLE, + MOVE_SPLASH, + MOVE_FLAIL, + MOVE_TACKLE + }, + .cool = 30, + .beauty = 30, + .cute = 160, + .smart = 50, + .tough = 160, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_LACEY] = { + .species = SPECIES_LUNATONE, + .nickname = _("LUNONE"), + .trainerName = _("LACEY"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, + .flags = 0x80002FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_EXPLOSION, + MOVE_FUTURE_SIGHT, + MOVE_PSYCHIC, + MOVE_CONFUSION + }, + .cool = 50, + .beauty = 70, + .cute = 60, + .smart = 70, + .tough = 50, + .sheen = 210, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CORBIN] = { + .species = SPECIES_ABSOL, + .nickname = _("ABSO"), + .trainerName = _("CORBIN"), + .trainerGfxId = EVENT_OBJ_GFX_MANIAC, + .flags = 0x80001FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_PERISH_SONG, + MOVE_HAIL, + MOVE_HYPER_BEAM, + MOVE_SLASH + }, + .cool = 95, + .beauty = 80, + .cute = 85, + .smart = 35, + .tough = 35, + .sheen = 220, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_GRACIE] = { + .species = SPECIES_EXEGGUTOR, + .nickname = _("EGGSOR"), + .trainerName = _("GRACIE"), + .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, + .flags = 0xC000FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_STOMP, + MOVE_HYPNOSIS, + MOVE_EGG_BOMB, + MOVE_SKILL_SWAP + }, + .cool = 40, + .beauty = 50, + .cute = 60, + .smart = 100, + .tough = 80, + .sheen = 200, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_COLTIN] = { + .species = SPECIES_CUBONE, + .nickname = _("CUBIN"), + .trainerName = _("COLTIN"), + .trainerGfxId = EVENT_OBJ_GFX_MAN_4, + .flags = 0x82000FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_BONE_CLUB, + MOVE_BONEMERANG, + MOVE_BONE_RUSH, + MOVE_GROWL + }, + .cool = 40, + .beauty = 35, + .cute = 85, + .smart = 35, + .tough = 100, + .sheen = 210, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ELLIE] = { + .species = SPECIES_HITMONLEE, + .nickname = _("HITMON"), + .trainerName = _("ELLIE"), + .trainerGfxId = EVENT_OBJ_GFX_EXPERT_F, + .flags = 0x21000FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_REVERSAL, + MOVE_REVENGE, + MOVE_FOCUS_ENERGY, + MOVE_MEGA_KICK + }, + .cool = 85, + .beauty = 30, + .cute = 25, + .smart = 50, + .tough = 100, + .sheen = 220, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MARCUS] = { + .species = SPECIES_SQUIRTLE, + .nickname = _("SURTLE"), + .trainerName = _("MARCUS"), + .trainerGfxId = EVENT_OBJ_GFX_SAILOR, + .flags = 0x20800FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_TAIL_WHIP, + MOVE_BUBBLE, + MOVE_FOCUS_PUNCH, + MOVE_WITHDRAW + }, + .cool = 30, + .beauty = 35, + .cute = 100, + .smart = 40, + .tough = 95, + .sheen = 230, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KIARA] = { + .species = SPECIES_KANGASKHAN, + .nickname = _("KHANKAN"), + .trainerName = _("KIARA"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_3, + .flags = 0x80400FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_MEGA_PUNCH, + MOVE_RAGE, + MOVE_FOCUS_PUNCH, + MOVE_TAIL_WHIP + }, + .cool = 100, + .beauty = 50, + .cute = 30, + .smart = 50, + .tough = 100, + .sheen = 240, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_BRYCE] = { + .species = SPECIES_PINECO, + .nickname = _("PINOC"), + .trainerName = _("BRYCE"), + .trainerGfxId = EVENT_OBJ_GFX_BUG_CATCHER, + .flags = 0x10200FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_EXPLOSION, + MOVE_SPIKES, + MOVE_LIGHT_SCREEN, + MOVE_GIGA_DRAIN + }, + .cool = 80, + .beauty = 80, + .cute = 80, + .smart = 80, + .tough = 80, + .sheen = 250, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_JAMIE] = { + .species = SPECIES_DUNSPARCE, + .nickname = _("DILTOT"), + .trainerName = _("JAMIE"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_5, + .flags = 0x20100FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SPITE, + MOVE_YAWN, + MOVE_DEFENSE_CURL, + MOVE_TAKE_DOWN + }, + .cool = 40, + .beauty = 35, + .cute = 100, + .smart = 40, + .tough = 110, + .sheen = 240, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_JORGE] = { + .species = SPECIES_HOUNDOOM, + .nickname = _("DOOMOND"), + .trainerName = _("JORGE"), + .trainerGfxId = EVENT_OBJ_GFX_GENTLEMAN, + .flags = 0x8080FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_ROAR, + MOVE_FLAMETHROWER, + MOVE_FAINT_ATTACK, + MOVE_SUNNY_DAY + }, + .cool = 100, + .beauty = 100, + .cute = 30, + .smart = 25, + .tough = 80, + .sheen = 230, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_DEVON] = { + .species = SPECIES_MILTANK, + .nickname = _("MILKAN"), + .trainerName = _("DEVON"), + .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_M, + .flags = 0x40040FFF, + .whichRank = CONTEST_RANK_HYPER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_MILK_DRINK, + MOVE_HEAL_BELL, + MOVE_DEFENSE_CURL, + MOVE_BLIZZARD + }, + .cool = 50, + .beauty = 110, + .cute = 100, + .smart = 35, + .tough = 40, + .sheen = 220, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_JUSTINA] = { + .species = SPECIES_GYARADOS, + .nickname = _("RADOS"), + .trainerName = _("JUSTINA"), + .trainerGfxId = EVENT_OBJ_GFX_PICNICKER, + .flags = 0x84000FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_HYPER_BEAM, + MOVE_HYDRO_PUMP, + MOVE_RAIN_DANCE, + MOVE_BITE + }, + .cool = 160, + .beauty = 200, + .cute = 20, + .smart = 40, + .tough = 160, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_RALPH] = { + .species = SPECIES_LOUDRED, + .nickname = _("LOUDERD"), + .trainerName = _("RALPH"), + .trainerGfxId = EVENT_OBJ_GFX_EXPERT_M, + .flags = 0x82000FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_HYPER_VOICE, + MOVE_STOMP, + MOVE_ROAR, + MOVE_HOWL + }, + .cool = 170, + .beauty = 50, + .cute = 55, + .smart = 150, + .tough = 160, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_ROSA] = { + .species = SPECIES_SKITTY, + .nickname = _("SITTY"), + .trainerName = _("ROSA"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_1, + .flags = 0x81000FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_ATTRACT, + MOVE_ASSIST, + MOVE_FAINT_ATTACK, + MOVE_TAIL_WHIP + }, + .cool = 40, + .beauty = 200, + .cute = 150, + .smart = 185, + .tough = 60, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KEATON] = { + .species = SPECIES_SLAKING, + .nickname = _("SLING"), + .trainerName = _("KEATON"), + .trainerGfxId = EVENT_OBJ_GFX_LITTLE_BOY, + .flags = 0x80800FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_COVET, + MOVE_COUNTER, + MOVE_ENCORE, + MOVE_SLACK_OFF + }, + .cool = 85, + .beauty = 85, + .cute = 170, + .smart = 110, + .tough = 150, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MAYRA] = { + .species = SPECIES_ALTARIA, + .nickname = _("TARIA"), + .trainerName = _("MAYRA"), + .trainerGfxId = EVENT_OBJ_GFX_POKEFAN_F, + .flags = 0x80400FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_DRAGON_DANCE, + MOVE_HYPER_BEAM, + MOVE_PERISH_SONG, + MOVE_SAFEGUARD + }, + .cool = 170, + .beauty = 150, + .cute = 30, + .smart = 30, + .tough = 90, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_LAMAR] = { + .species = SPECIES_KIRLIA, + .nickname = _("LIRKI"), + .trainerName = _("LAMAR"), + .trainerGfxId = EVENT_OBJ_GFX_RICH_BOY, + .flags = 0x80200FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SHOCK_WAVE, + MOVE_SHADOW_BALL, + MOVE_SKILL_SWAP, + MOVE_RETURN + }, + .cool = 230, + .beauty = 60, + .cute = 60, + .smart = 230, + .tough = 80, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_AUBREY] = { + .species = SPECIES_BELLOSSOM, + .nickname = _("BLOSSOM"), + .trainerName = _("AUBREY"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_4, + .flags = 0x80100FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_PETAL_DANCE, + MOVE_SWEET_SCENT, + MOVE_STUN_SPORE, + MOVE_FLASH + }, + .cool = 35, + .beauty = 200, + .cute = 150, + .smart = 130, + .tough = 40, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_NIGEL] = { + .species = SPECIES_SABLEYE, + .nickname = _("EYESAB"), + .trainerName = _("NIGEL"), + .trainerGfxId = EVENT_OBJ_GFX_CAMPER, + .flags = 0x80080FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_MEAN_LOOK, + MOVE_FAINT_ATTACK, + MOVE_KNOCK_OFF, + MOVE_CONFUSE_RAY + }, + .cool = 25, + .beauty = 35, + .cute = 230, + .smart = 150, + .tough = 160, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CAMILLE] = { + .species = SPECIES_NATU, + .nickname = _("UTAN"), + .trainerName = _("CAMILLE"), + .trainerGfxId = EVENT_OBJ_GFX_LASS, + .flags = 0x80040FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_NIGHT_SHADE, + MOVE_FUTURE_SIGHT, + MOVE_CONFUSE_RAY, + MOVE_PSYCHIC + }, + .cool = 35, + .beauty = 35, + .cute = 150, + .smart = 130, + .tough = 170, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_DEON] = { + .species = SPECIES_SHARPEDO, + .nickname = _("PEDOS"), + .trainerName = _("DEON"), + .trainerGfxId = EVENT_OBJ_GFX_SCHOOL_KID_M, + .flags = 0x80020FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_AGILITY, + MOVE_SWAGGER, + MOVE_TAUNT, + MOVE_TAKE_DOWN + }, + .cool = 140, + .beauty = 70, + .cute = 140, + .smart = 75, + .tough = 100, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_JANELLE] = { + .species = SPECIES_LUVDISC, + .nickname = _("LUVIS"), + .trainerName = _("JANELLE"), + .trainerGfxId = EVENT_OBJ_GFX_GIRL_2, + .flags = 0x80010FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_SWEET_KISS, + MOVE_ATTRACT, + MOVE_TAKE_DOWN, + MOVE_CHARM + }, + .cool = 50, + .beauty = 100, + .cute = 220, + .smart = 40, + .tough = 190, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_HEATH] = { + .species = SPECIES_HERACROSS, + .nickname = _("HEROSS"), + .trainerName = _("HEATH"), + .trainerGfxId = EVENT_OBJ_GFX_MAN_3, + .flags = 0x80008FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_STRENGTH, + MOVE_ENDURE, + MOVE_REVERSAL, + MOVE_ROCK_TOMB + }, + .cool = 170, + .beauty = 70, + .cute = 110, + .smart = 240, + .tough = 140, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_SASHA] = { + .species = SPECIES_ELECTRODE, + .nickname = _("RODLECT"), + .trainerName = _("SASHA"), + .trainerGfxId = EVENT_OBJ_GFX_TWIN, + .flags = 0x80004FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_EXPLOSION, + MOVE_LIGHT_SCREEN, + MOVE_SWIFT, + MOVE_FLASH + }, + .cool = 200, + .beauty = 200, + .cute = 30, + .smart = 35, + .tough = 50, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_FRANKIE] = { + .species = SPECIES_PICHU, + .nickname = _("CHUPY"), + .trainerName = _("FRANKIE"), + .trainerGfxId = EVENT_OBJ_GFX_YOUNGSTER, + .flags = 0x80002FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SWEET_KISS, + MOVE_ATTRACT, + MOVE_REST, + MOVE_TAIL_WHIP + }, + .cool = 25, + .beauty = 150, + .cute = 180, + .smart = 115, + .tough = 120, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_HELEN] = { + .species = SPECIES_WOBBUFFET, + .nickname = _("WOBET"), + .trainerName = _("HELEN"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_1, + .flags = 0x80001FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_COUNTER, + MOVE_MIRROR_COAT, + MOVE_SAFEGUARD, + MOVE_DESTINY_BOND + }, + .cool = 60, + .beauty = 230, + .cute = 50, + .smart = 220, + .tough = 210, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CAMILE] = { + .species = SPECIES_GENGAR, + .nickname = _("GAREN"), + .trainerName = _("CAMILE"), + .trainerGfxId = EVENT_OBJ_GFX_HEX_MANIAC, + .flags = 0xC000FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_DESTINY_BOND, + MOVE_CONFUSE_RAY, + MOVE_LICK, + MOVE_SLUDGE_BOMB + }, + .cool = 200, + .beauty = 100, + .cute = 50, + .smart = 80, + .tough = 180, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_MARTIN] = { + .species = SPECIES_PORYGON, + .nickname = _("GONPOR"), + .trainerName = _("MARTIN"), + .trainerGfxId = EVENT_OBJ_GFX_SCIENTIST_1, + .flags = 0x82000FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_CONVERSION_2, + MOVE_CONVERSION, + MOVE_RETURN, + MOVE_RECYCLE + }, + .cool = 130, + .beauty = 130, + .cute = 130, + .smart = 130, + .tough = 130, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_SERGIO] = { + .species = SPECIES_DRAGONITE, + .nickname = _("DRITE"), + .trainerName = _("SERGIO"), + .trainerGfxId = EVENT_OBJ_GFX_BOY_1, + .flags = 0x21000FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_OUTRAGE, + MOVE_SLAM, + MOVE_TWISTER, + MOVE_EARTHQUAKE + }, + .cool = 150, + .beauty = 140, + .cute = 50, + .smart = 120, + .tough = 150, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_KAILEY] = { + .species = SPECIES_MEOWTH, + .nickname = _("MEOWY"), + .trainerName = _("KAILEY"), + .trainerGfxId = EVENT_OBJ_GFX_TWIN, + .flags = 0x20800FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_GROWL, + MOVE_TAUNT, + MOVE_PAY_DAY, + MOVE_BITE + }, + .cool = 125, + .beauty = 110, + .cute = 180, + .smart = 170, + .tough = 80, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_PERLA] = { + .species = SPECIES_JYNX, + .nickname = _("NYX"), + .trainerName = _("PERLA"), + .trainerGfxId = EVENT_OBJ_GFX_BEAUTY, + .flags = 0x80400FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = TRUE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_PERISH_SONG, + MOVE_MEAN_LOOK, + MOVE_LOVELY_KISS, + MOVE_FAKE_TEARS + }, + .cool = 100, + .beauty = 150, + .cute = 100, + .smart = 150, + .tough = 120, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_CLARA] = { + .species = SPECIES_TOGEPI, + .nickname = _("GEPITO"), + .trainerName = _("CLARA"), + .trainerGfxId = EVENT_OBJ_GFX_WOMAN_2, + .flags = 0x10200FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_GROWL, + MOVE_YAWN, + MOVE_ENCORE, + MOVE_FOLLOW_ME + }, + .cool = 80, + .beauty = 120, + .cute = 200, + .smart = 120, + .tough = 80, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_JAKOB] = { + .species = SPECIES_ESPEON, + .nickname = _("SPEON"), + .trainerName = _("JAKOB"), + .trainerGfxId = EVENT_OBJ_GFX_PSYCHIC_M, + .flags = 0x20100FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = TRUE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = FALSE, + .moves = + { + MOVE_SWIFT, + MOVE_QUICK_ATTACK, + MOVE_MORNING_SUN, + MOVE_TAIL_WHIP + }, + .cool = 180, + .beauty = 150, + .cute = 100, + .smart = 80, + .tough = 150, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_TREY] = { + .species = SPECIES_SLOWKING, + .nickname = _("SLOWGO"), + .trainerName = _("TREY"), + .trainerGfxId = EVENT_OBJ_GFX_SAILOR, + .flags = 0x8080FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = FALSE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = TRUE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_FACADE, + MOVE_CURSE, + MOVE_YAWN, + MOVE_FOCUS_PUNCH + }, + .cool = 100, + .beauty = 80, + .cute = 200, + .smart = 110, + .tough = 170, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + }, + [CONTEST_OPPONENT_LANE] = { + .species = SPECIES_URSARING, + .nickname = _("URSING"), + .trainerName = _("LANE"), + .trainerGfxId = EVENT_OBJ_GFX_BLACK_BELT, + .flags = 0x40040FFF, + .whichRank = CONTEST_RANK_MASTER, + .aiPool_Cool = TRUE, + .aiPool_Beauty = FALSE, + .aiPool_Cute = FALSE, + .aiPool_Smart = FALSE, + .aiPool_Tough = TRUE, + .moves = + { + MOVE_THRASH, + MOVE_AERIAL_ACE, + MOVE_FAKE_TEARS, + MOVE_LEER + }, + .cool = 180, + .beauty = 140, + .cute = 30, + .smart = 80, + .tough = 190, + .sheen = 255, + .unk2C = {0}, + .personality = 0, + .otId = 0xFFFF + } +}; + + +const u8 gPostgameContestOpponentFilter[] = +{ + [CONTEST_OPPONENT_JIMMY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_EDITH] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_EVAN] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_KELSEY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_MADISON] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_RAYMOND] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_GRANT] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_PAIGE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_ALEC] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_SYDNEY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_MORRIS] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_MARIAH] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_RUSSELL] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_MELANIE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_CHANCE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_AGATHA] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_BEAU] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_KAY] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_CALE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_CAITLIN] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_COLBY] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_KYLIE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_LIAM] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_MILO] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_KARINA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_BOBBY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_CLAIRE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_WILLIE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_CASSIDY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_MORGAN] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_SUMMER] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_MILES] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_AUDREY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_AVERY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_ARIANA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_ASHTON] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_SANDRA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_CARSON] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_KATRINA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_LUKE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_RAUL] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_JADA] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_ZEEK] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_DIEGO] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_ALIYAH] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_NATALIA] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_DEVIN] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_TYLOR] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_RONNIE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_CLAUDIA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_ELIAS] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_JADE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_FRANCIS] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_ALISHA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_SAUL] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_FELICIA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_EMILIO] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_KARLA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_DARRYL] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_SELENA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_NOEL] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_LACEY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_CORBIN] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_GRACIE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_COLTIN] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_ELLIE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_MARCUS] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_KIARA] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_BRYCE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_JAMIE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_JORGE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_DEVON] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_JUSTINA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_RALPH] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_ROSA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_KEATON] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_MAYRA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_LAMAR] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_AUBREY] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_NIGEL] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_CAMILLE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_DEON] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_JANELLE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_HEATH] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_SASHA] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_FRANKIE] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_HELEN] = CONTEST_FILTER_NONE, + [CONTEST_OPPONENT_CAMILE] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_MARTIN] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_SERGIO] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_KAILEY] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_PERLA] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_CLARA] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_JAKOB] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_TREY] = CONTEST_FILTER_ONLY_POSTGAME, + [CONTEST_OPPONENT_LANE] = CONTEST_FILTER_ONLY_POSTGAME +}; diff --git a/src/data/contest_text_tables.h b/src/data/contest_text_tables.h new file mode 100644 index 0000000000..8375520d13 --- /dev/null +++ b/src/data/contest_text_tables.h @@ -0,0 +1,414 @@ + +#include "global.h" + +extern const u8 gContestEffect00hDescription[]; +extern const u8 gContestEffect01hDescription[]; +extern const u8 gContestEffect02hDescription[]; +extern const u8 gContestEffect03hDescription[]; +extern const u8 gContestEffect04hDescription[]; +extern const u8 gContestEffect05hDescription[]; +extern const u8 gContestEffect06hDescription[]; +extern const u8 gContestEffect07hDescription[]; +extern const u8 gContestEffect08hDescription[]; +extern const u8 gContestEffect09hDescription[]; +extern const u8 gContestEffect0AhDescription[]; +extern const u8 gContestEffect0BhDescription[]; +extern const u8 gContestEffect0ChDescription[]; +extern const u8 gContestEffect0DhDescription[]; +extern const u8 gContestEffect0EhDescription[]; +extern const u8 gContestEffect0FhDescription[]; +extern const u8 gContestEffect10hDescription[]; +extern const u8 gContestEffect11hDescription[]; +extern const u8 gContestEffect12hDescription[]; +extern const u8 gContestEffect13hDescription[]; +extern const u8 gContestEffect14hDescription[]; +extern const u8 gContestEffect15hDescription[]; +extern const u8 gContestEffect16hDescription[]; +extern const u8 gContestEffect17hDescription[]; +extern const u8 gContestEffect18hDescription[]; +extern const u8 gContestEffect19hDescription[]; +extern const u8 gContestEffect1AhDescription[]; +extern const u8 gContestEffect1BhDescription[]; +extern const u8 gContestEffect1ChDescription[]; +extern const u8 gContestEffect1DhDescription[]; +extern const u8 gContestEffect1EhDescription[]; +extern const u8 gContestEffect1FhDescription[]; +extern const u8 gContestEffect20hDescription[]; +extern const u8 gContestEffect21hDescription[]; +extern const u8 gContestEffect22hDescription[]; +extern const u8 gContestEffect23hDescription[]; +extern const u8 gContestEffect24hDescription[]; +extern const u8 gContestEffect25hDescription[]; +extern const u8 gContestEffect26hDescription[]; +extern const u8 gContestEffect27hDescription[]; +extern const u8 gContestEffect28hDescription[]; +extern const u8 gContestEffect29hDescription[]; +extern const u8 gContestEffect2AhDescription[]; +extern const u8 gContestEffect2BhDescription[]; +extern const u8 gContestEffect2ChDescription[]; +extern const u8 gContestEffect2DhDescription[]; +extern const u8 gContestEffect2EhDescription[]; +extern const u8 gContestEffect2FhDescription[]; + +extern const u8 gUnusedContestMoveName0[]; +extern const u8 gUnusedContestMoveName1[]; +extern const u8 gUnusedContestMoveName2[]; +extern const u8 gUnusedContestMoveName3[]; +extern const u8 gUnusedContestMoveName4[]; +extern const u8 gUnusedContestMoveName5[]; +extern const u8 gUnusedContestMoveName6[]; +extern const u8 gUnusedContestMoveName7[]; +extern const u8 gUnusedContestMoveName8[]; +extern const u8 gUnusedContestMoveName9[]; +extern const u8 gUnusedContestMoveName10[]; +extern const u8 gUnusedContestMoveName11[]; +extern const u8 gUnusedContestMoveName12[]; + +extern const u8 gContestMoveTypeCoolText[]; +extern const u8 gContestMoveTypeBeautyText[]; +extern const u8 gContestMoveTypeCuteText[]; +extern const u8 gContestMoveTypeSmartText[]; +extern const u8 gContestMoveTypeToughText[]; + +extern const u8 gText_0827D5C1[]; +extern const u8 gText_0827D5DC[]; +extern const u8 gText_0827D600[]; +extern const u8 gText_0827D612[]; +extern const u8 gText_0827D612[]; +extern const u8 gText_0827D62D[]; +extern const u8 gText_0827D654[]; +extern const u8 gText_0827D67E[]; +extern const u8 gText_0827D69C[]; +extern const u8 gText_0827D6BA[]; +extern const u8 gText_0827D6E5[]; +extern const u8 gText_0827D706[]; +extern const u8 gText_0827D71D[]; + +extern const u8 gText_0827D743[]; +extern const u8 gText_0827D764[]; +extern const u8 gText_0827D785[]; +extern const u8 gText_0827D7A5[]; +extern const u8 gText_0827D7C8[]; +extern const u8 gText_0827D7E8[]; +extern const u8 gText_0827D831[]; +extern const u8 gText_0827D855[]; +extern const u8 gText_0827D830[]; +extern const u8 gText_0827D872[]; +extern const u8 gText_0827D88F[]; +extern const u8 gText_0827D8B5[]; +extern const u8 gText_0827D8E4[]; +extern const u8 gText_0827D8FE[]; +extern const u8 gText_0827D926[]; +extern const u8 gText_0827D947[]; +extern const u8 gText_0827D961[]; +extern const u8 gText_0827D986[]; +extern const u8 gText_0827D9B1[]; +extern const u8 gText_0827D9D9[]; +extern const u8 gText_0827DA03[]; +extern const u8 gText_0827DA31[]; +extern const u8 gText_0827DA5B[]; +extern const u8 gText_0827DA85[]; +extern const u8 gText_0827DAB2[]; +extern const u8 gText_0827DADA[]; +extern const u8 gText_0827DB03[]; +extern const u8 gText_0827D830[]; +extern const u8 gText_0827D830[]; +extern const u8 gText_0827D830[]; +extern const u8 gText_0827DB1F[]; +extern const u8 gText_0827DB4E[]; + +extern const u8 gText_827DB75[]; +extern const u8 gText_827DBB0[]; +extern const u8 gText_827DBE0[]; +extern const u8 gText_827DC0F[]; +extern const u8 gText_827DC45[]; +extern const u8 gText_827DC7C[]; +extern const u8 gText_827DCB4[]; +extern const u8 gText_827DCE7[]; +extern const u8 gText_827DD12[]; +extern const u8 gText_827DD3D[]; +extern const u8 gText_827DD6F[]; +extern const u8 gText_827DD8E[]; +extern const u8 gText_827DDC7[]; +extern const u8 gText_827DDF2[]; +extern const u8 gText_827DE14[]; +extern const u8 gText_827DE44[]; +extern const u8 gText_827DE73[]; +extern const u8 gText_827DEA5[]; +extern const u8 gText_827DED9[]; +extern const u8 gText_827DF02[]; +extern const u8 gText_827DF3A[]; +extern const u8 gText_827DF63[]; +extern const u8 gText_827DF8C[]; +extern const u8 gText_827DFB8[]; +extern const u8 gText_827DFE2[]; +extern const u8 gText_827E00C[]; +extern const u8 gText_827E02F[]; +extern const u8 gText_827E05F[]; +extern const u8 gText_827E08B[]; +extern const u8 gText_827E0B5[]; +extern const u8 gText_827E0DD[]; +extern const u8 gText_827E107[]; +extern const u8 gText_827E143[]; +extern const u8 gText_827E17F[]; +extern const u8 gText_827E1BB[]; +extern const u8 gText_827E1F3[]; +extern const u8 gText_827E220[]; +extern const u8 gText_827E254[]; +extern const u8 gText_827E289[]; +extern const u8 gText_827E2C5[]; +extern const u8 gText_0827E2FE[]; +extern const u8 gText_0827E32E[]; +extern const u8 gText_0827E35B[]; +extern const u8 gText_0827E38D[]; +extern const u8 gText_0827E3C1[]; +extern const u8 gText_0827E3EB[]; +extern const u8 gText_0827E416[]; +extern const u8 gText_0827E448[]; +extern const u8 gText_0827E473[]; +extern const u8 gText_0827E4A6[]; +extern const u8 gText_0827E4D5[]; +extern const u8 gText_0827E504[]; +extern const u8 gText_0827E531[]; +extern const u8 gText_0827E55A[]; +extern const u8 gText_0827E5B2[]; +extern const u8 gText_0827E5D0[]; +extern const u8 gText_0827E606[]; +extern const u8 gText_0827E638[]; +extern const u8 gText_0827E658[]; +extern const u8 gText_0827E68B[]; +extern const u8 gText_0827E6C4[]; +extern const u8 gText_0827E7BA[]; + +extern const u8 gText_0827E85F[]; +extern const u8 gText_0827E868[]; +extern const u8 gText_0827E86F[]; +extern const u8 gText_0827E878[]; +extern const u8 gText_0827E882[]; + +extern const u8 gText_0827E894[]; +extern const u8 gText_0827E89E[]; +extern const u8 gText_0827E8AA[]; +extern const u8 gText_0827E8B4[]; +extern const u8 gText_0827E8BF[]; +extern const u8 gText_0827E8CA[]; + +const u8 *const gContestEffectDescriptionPointers[] = +{ + gContestEffect00hDescription, + gContestEffect01hDescription, + gContestEffect02hDescription, + gContestEffect03hDescription, + gContestEffect04hDescription, + gContestEffect05hDescription, + gContestEffect06hDescription, + gContestEffect07hDescription, + gContestEffect08hDescription, + gContestEffect09hDescription, + gContestEffect0AhDescription, + gContestEffect0BhDescription, + gContestEffect0ChDescription, + gContestEffect0DhDescription, + gContestEffect0EhDescription, + gContestEffect0FhDescription, + gContestEffect10hDescription, + gContestEffect11hDescription, + gContestEffect12hDescription, + gContestEffect13hDescription, + gContestEffect14hDescription, + gContestEffect15hDescription, + gContestEffect16hDescription, + gContestEffect17hDescription, + gContestEffect18hDescription, + gContestEffect19hDescription, + gContestEffect1AhDescription, + gContestEffect1BhDescription, + gContestEffect1ChDescription, + gContestEffect1DhDescription, + gContestEffect1EhDescription, + gContestEffect1FhDescription, + gContestEffect20hDescription, + gContestEffect21hDescription, + gContestEffect22hDescription, + gContestEffect23hDescription, + gContestEffect24hDescription, + gContestEffect25hDescription, + gContestEffect26hDescription, + gContestEffect27hDescription, + gContestEffect28hDescription, + gContestEffect29hDescription, + gContestEffect2AhDescription, + gContestEffect2BhDescription, + gContestEffect2ChDescription, + gContestEffect2DhDescription, + gContestEffect2EhDescription, + gContestEffect2FhDescription +}; + +// Unreferenced array of pointers to move names. +// All of the moves except Conversion are combo starters, so this may have +// been an early list of combo starters. +const u8 *const gUnknown_8587D10[] = +{ + gUnusedContestMoveName0, + gUnusedContestMoveName0, + gUnusedContestMoveName1, + gUnusedContestMoveName2, + gUnusedContestMoveName3, + gUnusedContestMoveName4, + gUnusedContestMoveName5, + gUnusedContestMoveName6, + gUnusedContestMoveName7, + gUnusedContestMoveName8, + gUnusedContestMoveName9, + gUnusedContestMoveName10, + gUnusedContestMoveName11, + gUnusedContestMoveName12 +}; + +const u8 *const gContestMoveTypeTextPointers[] = +{ + gContestMoveTypeCoolText, + gContestMoveTypeBeautyText, + gContestMoveTypeCuteText, + gContestMoveTypeSmartText, + gContestMoveTypeToughText +}; + +const u8 *const gUnknown_08587D5C[] = +{ + gText_0827D5C1, + gText_0827D5DC, + gText_0827D600, + gText_0827D612, + gText_0827D612, + gText_0827D62D, + gText_0827D654, + gText_0827D67E, + gText_0827D69C, + gText_0827D6BA, + gText_0827D6E5, + gText_0827D706, + gText_0827D71D +}; + +const u8 *const gUnknown_08587D90[] = +{ + gText_0827D743, + gText_0827D764, + gText_0827D785, + gText_0827D7A5, + gText_0827D7C8, + gText_0827D7E8, + gText_0827D831, + gText_0827D855, + gText_0827D830, + gText_0827D872, + gText_0827D88F, + gText_0827D8B5, + gText_0827D8E4, + gText_0827D8FE, + gText_0827D926, + gText_0827D947, + gText_0827D961, + gText_0827D986, + gText_0827D9B1, + gText_0827D9D9, + gText_0827DA03, + gText_0827DA31, + gText_0827DA5B, + gText_0827DA85, + gText_0827DAB2, + gText_0827DADA, + gText_0827DB03, + gText_0827D830, + gText_0827D830, + gText_0827D830, + gText_0827DB1F, + gText_0827DB4E +}; + +const u8 *const gUnknown_08587E10[] = +{ + gText_827DB75, + gText_827DBB0, + gText_827DBE0, + gText_827DC0F, + gText_827DC45, + gText_827DC7C, + gText_827DCB4, + gText_827DCE7, + gText_827DD12, + gText_827DD3D, + gText_827DD6F, + gText_827DD8E, + gText_827DDC7, + gText_827DDF2, + gText_827DE14, + gText_827DE44, + gText_827DE73, + gText_827DEA5, + gText_827DED9, + gText_827DF02, + gText_827DF3A, + gText_827DF63, + gText_827DF8C, + gText_827DFB8, + gText_827DFE2, + gText_827E00C, + gText_827E02F, + gText_827E05F, + gText_827E08B, + gText_827E0B5, + gText_827E0DD, + gText_827E107, + gText_827E143, + gText_827E17F, + gText_827E1BB, + gText_827E1F3, + gText_827E220, + gText_827E254, + gText_827E289, + gText_827E2C5, + gText_0827E2FE, + gText_0827E32E, + gText_0827E35B, + gText_0827E38D, + gText_0827E3C1, + gText_0827E3EB, + gText_0827E416, + gText_0827E448, + gText_0827E473, + gText_0827E4A6, + gText_0827E4D5, + gText_0827E504, + gText_0827E531, + gText_0827E55A, + gText_0827E5B2, + gText_0827E5D0, + gText_0827E606, + gText_0827E638, + gText_0827E658, + gText_0827E68B, + gText_0827E6C4, + gText_0827E7BA +}; + +const u8 *const gUnknown_08587F08[] = +{ + gText_0827E85F, + gText_0827E868, + gText_0827E86F, + gText_0827E878, + gText_0827E882 +}; + +const u8 *const gUnknown_08587F1C[] = +{ + gText_0827E894, + gText_0827E89E, + gText_0827E8AA, + gText_0827E8B4, + gText_0827E8BF, + gText_0827E8CA +};