diff options
author | DizzyEggg <jajkodizzy@wp.pl> | 2018-08-25 20:02:09 +0200 |
---|---|---|
committer | DizzyEggg <jajkodizzy@wp.pl> | 2018-08-25 20:02:09 +0200 |
commit | 447e65860ce1235272004fe4714bd4fb1b4ca676 (patch) | |
tree | 68df75610e029d135bd4b7415cd616910ec31604 /src | |
parent | edcf04b665a9fa13d086dd486c4fe7b1649a7bbf (diff) | |
parent | 60dff848aace7226f903eb6759273c4b52ea1813 (diff) |
Merge branch 'master' into decompile_battle_frontier_1
Diffstat (limited to 'src')
67 files changed, 81679 insertions, 2028 deletions
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c new file mode 100644 index 000000000..f9cc48a9a --- /dev/null +++ b/src/battle_pyramid.c @@ -0,0 +1,248 @@ +#include "global.h" +#include "main.h" +#include "battle_controllers.h" +#include "bg.h" +#include "field_effect.h" +#include "field_weather.h" +#include "gpu_regs.h" +#include "malloc.h" +#include "menu.h" +#include "menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "scanline_effect.h" +#include "script.h" +#include "task.h" +#include "constants/rgb.h" + +EWRAM_DATA struct +{ + u32 unk0; + u8 filler4[0x804 - 0x4]; + u8 unk804[11]; + u8 unk80F[5]; + u8 unk814; + u8 filler815; + s8 unk816; + u8 filler817[0x984 - 0x817]; + u16 unk984; + u8 filler986[0x98C - 0x986]; +} *gUnknown_0203CF2C = NULL; +EWRAM_DATA struct +{ + void (*callback)(void); + u8 unk4; + u16 unk6; + u16 unk8; +} gUnknown_0203CF30 = {0}; + +extern const struct BgTemplate gUnknown_0861F2B4[3]; + +void sub_81C4F98(u8 a0, void (*callback)(void)); +void sub_81C4F44(u8 taskId); +void sub_81C504C(void); +bool8 sub_81C5078(void); +void sub_81C51DC(void); +bool8 sub_81C5238(void); +void sub_81C5314(void); +void sub_81C5674(void); +void sub_81C56F8(void); +void sub_81C5924(void); +void sub_81C59BC(void); +void sub_81C5A20(void); +void sub_81C6BD8(void); +void sub_81C6EF4(void); +void sub_81C700C(void); + +void sub_81C4EEC(void) +{ + gUnknown_0203CF30.unk6 = 0; + gUnknown_0203CF30.unk8 = 0; +} + +void sub_81C4EFC(void) +{ + sub_81C4F98(0, CB2_ReturnToFieldWithOpenMenu); +} + +void sub_81C4F10(void) +{ + sub_81C4F98(1, SetCB2ToReshowScreenAfterMenu2); +} + +void sub_81C4F24(void) +{ + ScriptContext2_Enable(); + FadeScreen(1, 0); + CreateTask(sub_81C4F44, 10); +} + +void sub_81C4F44(u8 taskId) +{ + if (!gPaletteFade.active) + { + overworld_free_bg_tilemaps(); + gFieldCallback2 = hm_add_c3_without_phase_2; + sub_81C4F98(3, CB2_ReturnToField); + DestroyTask(taskId); + } +} + +void sub_81C4F84(void) +{ + sub_81C4F98(4, gUnknown_0203CF30.callback); +} + +void sub_81C4F98(u8 a0, void (*callback)(void)) +{ + gUnknown_0203CF2C = AllocZeroed(sizeof(*gUnknown_0203CF2C)); + + if (a0 != 4) + { + gUnknown_0203CF30.unk4 = a0; + } + + if (callback != NULL) + { + gUnknown_0203CF30.callback = callback; + } + + gUnknown_0203CF2C->unk0 = 0; + gUnknown_0203CF2C->unk814 = -1; + gUnknown_0203CF2C->unk816 = -1; + + memset(gUnknown_0203CF2C->unk804, 0xFF, sizeof(gUnknown_0203CF2C->unk804)); + memset(gUnknown_0203CF2C->unk80F, 0xFF, sizeof(gUnknown_0203CF2C->unk80F)); + + SetMainCallback2(sub_81C504C); +} + +void sub_81C501C(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +void sub_81C5038(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_81C504C(void) +{ + while (sub_81221EC() != TRUE && sub_81C5078() != TRUE && sub_81221AC() != TRUE); +} + +bool8 sub_81C5078(void) +{ + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + if (!sub_81221AC()) + { + ResetTasks(); + } + gMain.state++; + break; + case 6: + sub_81C51DC(); + gUnknown_0203CF2C->unk984 = 0; + gMain.state++; + break; + case 7: + if (sub_81C5238()) + { + gMain.state++; + } + break; + case 8: + sub_81C6BD8(); + gMain.state++; + break; + case 9: + sub_81C5924(); + sub_81C59BC(); + sub_81C5A20(); + gMain.state++; + break; + case 10: + sub_81C5314(); + gMain.state++; + break; + case 11: + sub_81C56F8(); + gMain.state++; + break; + case 12: + sub_81C6EF4(); + gMain.state++; + break; + case 13: + sub_81C5674(); + gMain.state++; + break; + case 14: + sub_81C700C(); + gMain.state++; + break; + case 15: + BlendPalettes(0xFFFFFFFF, 0x10, 0); + gMain.state++; + break; + case 16: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); + gPaletteFade.bufferTransferDisabled = FALSE; + gMain.state++; + break; + default: + SetVBlankCallback(sub_81C5038); + SetMainCallback2(sub_81C501C); + return TRUE; + } + return FALSE; +} + +void sub_81C51DC(void) +{ + ResetVramOamAndBgCntRegs(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0861F2B4, ARRAY_COUNT(gUnknown_0861F2B4)); + SetBgTilemapBuffer(2, gUnknown_0203CF2C->filler4); + ResetAllBgsCoordinates(); + schedule_bg_copy_tilemap_to_vram(2); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + ShowBg(2); + SetGpuReg(REG_OFFSET_BLDCNT, 0); +} diff --git a/src/contest.c b/src/contest.c index 8513fc4a9..910637387 100644 --- a/src/contest.c +++ b/src/contest.c @@ -107,7 +107,7 @@ u16 sub_80DE84C(u16); void sub_80DB89C(void); u16 sub_80DB8B8(u8); void sub_80DB918(void); -bool8 sub_80DBCA8(u8); +bool8 Contest_IsMonsTurnDisabled(u8); void sub_80DBF68(void); void sub_80DBF90(void); void sub_80DC2BC(void); @@ -721,7 +721,7 @@ void sub_80D833C(u8 taskId) sub_80DCD48(); DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18204, 0x400); ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); @@ -745,7 +745,7 @@ void sub_80D8424(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys == B_BUTTON)) { PlaySE(SE_SELECT); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) { sub_80DC490(TRUE); gTasks[taskId].func = sub_80D8490; @@ -819,7 +819,7 @@ void sub_80D8610(u8 taskId) PlaySE(SE_SELECT); sub_80DC490(FALSE); ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1); - if (!sub_80DBCA8(gContestPlayerMonIndex)) + if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex)) StringCopy(gDisplayedStringBattle, gText_0827D507); else StringCopy(gDisplayedStringBattle, gText_0827D531); @@ -2636,7 +2636,7 @@ void sub_80DB4E0(u16 move, u8 b) { u8 r7 = gUnknown_02039F26[b] * 5 + 2; - if (!sub_80DBCA8(b) && move != MOVE_NONE) + if (!Contest_IsMonsTurnDisabled(b) && move != MOVE_NONE) { u16 tile = sub_80DB2EC(move, b); diff --git a/src/contest_ai.c b/src/contest_ai.c new file mode 100644 index 000000000..3324ddf87 --- /dev/null +++ b/src/contest_ai.c @@ -0,0 +1,1756 @@ +#include "global.h" +#include "contest.h" +#include "random.h" +#include "contest_ai.h" +#include "contest_effect.h" + +extern u16 gContestMonConditions[]; + +extern const u8 *gAIScriptPtr; +extern const u8 *gContestAIs[]; + +static void ContestAICmd_unk_00(void); +static void ContestAICmd_get_turn(void); +static void ContestAICmd_unk_02(void); +static void ContestAICmd_unk_03(void); +static void ContestAICmd_unk_04(void); +static void ContestAICmd_unk_05(void); +static void ContestAICmd_get_excitement(void); +static void ContestAICmd_unk_07(void); +static void ContestAICmd_unk_08(void); +static void ContestAICmd_unk_09(void); +static void ContestAICmd_unk_0A(void); +static void ContestAICmd_get_user_order(void); +static void ContestAICmd_unk_0C(void); +static void ContestAICmd_unk_0D(void); +static void ContestAICmd_unk_0E(void); +static void ContestAICmd_unk_0F(void); +static void ContestAICmd_get_user_condition_maybe(void); +static void ContestAICmd_unk_11(void); +static void ContestAICmd_unk_12(void); +static void ContestAICmd_unk_13(void); +static void ContestAICmd_unk_14(void); +static void ContestAICmd_unk_15(void); +static void ContestAICmd_unk_16(void); +static void ContestAICmd_unk_17(void); +static void ContestAICmd_unk_18(void); +static void ContestAICmd_unk_19(void); +static void ContestAICmd_unk_1A(void); +static void ContestAICmd_unk_1B(void); +static void ContestAICmd_unk_1C(void); +static void ContestAICmd_unk_1D(void); +static void ContestAICmd_unk_1E(void); +static void ContestAICmd_get_contest_type(void); +static void ContestAICmd_unk_20(void); +static void ContestAICmd_unk_21(void); +static void ContestAICmd_get_move_excitement(void); +static void ContestAICmd_unk_23(void); +static void ContestAICmd_unk_24(void); +static void ContestAICmd_unk_25(void); +static void ContestAICmd_unk_26(void); +static void ContestAICmd_get_move_effect(void); +static void ContestAICmd_unk_28(void); +static void ContestAICmd_unk_29(void); +static void ContestAICmd_get_move_effect_type(void); +static void ContestAICmd_unk_2B(void); +static void ContestAICmd_unk_2C(void); +static void ContestAICmd_check_move_has_highest_appeal(void); +static void ContestAICmd_unk_2E(void); +static void ContestAICmd_unk_2F(void); +static void ContestAICmd_unk_30(void); +static void ContestAICmd_unk_31(void); +static void ContestAICmd_unk_32(void); +static void ContestAICmd_unk_33(void); +static void ContestAICmd_unk_34(void); +static void ContestAICmd_unk_35(void); +static void ContestAICmd_unk_36(void); +static void ContestAICmd_unk_37(void); +static void ContestAICmd_unk_38(void); +static void ContestAICmd_unk_39(void); +static void ContestAICmd_unk_3A(void); +static void ContestAICmd_get_move_used_count(void); +static void ContestAICmd_unk_3C(void); +static void ContestAICmd_unk_3D(void); +static void ContestAICmd_unk_3E(void); +static void ContestAICmd_unk_3F(void); +static void ContestAICmd_check_combo_starter(void); +static void ContestAICmd_unk_41(void); +static void ContestAICmd_unk_42(void); +static void ContestAICmd_check_combo_finisher(void); +static void ContestAICmd_unk_44(void); +static void ContestAICmd_unk_45(void); +static void ContestAICmd_check_would_finish_combo(void); +static void ContestAICmd_unk_47(void); +static void ContestAICmd_unk_48(void); +static void ContestAICmd_get_condition(void); +static void ContestAICmd_unk_4A(void); +static void ContestAICmd_unk_4B(void); +static void ContestAICmd_unk_4C(void); +static void ContestAICmd_unk_4D(void); +static void ContestAICmd_get_used_combo_starter(void); +static void ContestAICmd_unk_4F(void); +static void ContestAICmd_unk_50(void); +static void ContestAICmd_unk_51(void); +static void ContestAICmd_unk_52(void); +static void ContestAICmd_check_can_participate(void); +static void ContestAICmd_unk_54(void); +static void ContestAICmd_unk_55(void); +static void ContestAICmd_get_val_812A188(void); +static void ContestAICmd_unk_57(void); +static void ContestAICmd_unk_58(void); +static void ContestAICmd_unk_59(void); +static void ContestAICmd_unk_5A(void); +static void ContestAICmd_unk_5B(void); +static void ContestAICmd_unk_5C(void); +static void ContestAICmd_unk_5D(void); +static void ContestAICmd_unk_5E(void); +static void ContestAICmd_unk_5F(void); +static void ContestAICmd_unk_60(void); +static void ContestAICmd_unk_61(void); +static void ContestAICmd_unk_62(void); +static void ContestAICmd_unk_63(void); +static void ContestAICmd_unk_64(void); +static void ContestAICmd_unk_65(void); +static void ContestAICmd_unk_66(void); +static void ContestAICmd_unk_67(void); +static void ContestAICmd_unk_68(void); +static void ContestAICmd_unk_69(void); +static void ContestAICmd_unk_6A(void); +static void ContestAICmd_unk_6B(void); +static void ContestAICmd_unk_6C(void); +static void ContestAICmd_unk_6D(void); +static void ContestAICmd_unk_6E(void); +static void ContestAICmd_unk_6F(void); +static void ContestAICmd_unk_70(void); +static void ContestAICmd_unk_71(void); +static void ContestAICmd_unk_72(void); +static void ContestAICmd_unk_73(void); +static void ContestAICmd_unk_74(void); +static void ContestAICmd_unk_75(void); +static void ContestAICmd_unk_76(void); +static void ContestAICmd_unk_77(void); +static void ContestAICmd_unk_78(void); +static void ContestAICmd_unk_79(void); +static void ContestAICmd_unk_7A(void); +static void ContestAICmd_unk_7B(void); +static void ContestAICmd_unk_7C(void); +static void ContestAICmd_unk_7D(void); +static void ContestAICmd_unk_7E(void); +static void ContestAICmd_unk_7F(void); +static void ContestAICmd_unk_80(void); +static void ContestAICmd_unk_81(void); +static void ContestAICmd_check_for_exciting_move(void); +static void ContestAICmd_unk_83(void); +static void ContestAICmd_unk_84(void); +static void ContestAICmd_unk_85(void); +static void ContestAICmd_unk_86(void); +static void ContestAICmd_unk_87(void); + +typedef void (* ContestAICmdFunc)(void); + +static const ContestAICmdFunc sContestAICmdTable[] = +{ + ContestAICmd_unk_00, // 0x00 + ContestAICmd_get_turn, // 0x01 + ContestAICmd_unk_02, // 0x02 + ContestAICmd_unk_03, // 0x03 + ContestAICmd_unk_04, // 0x04 + ContestAICmd_unk_05, // 0x05 + ContestAICmd_get_excitement, // 0x06 + ContestAICmd_unk_07, // 0x07 + ContestAICmd_unk_08, // 0x08 + ContestAICmd_unk_09, // 0x09 + ContestAICmd_unk_0A, // 0x0A + ContestAICmd_get_user_order, // 0x0B + ContestAICmd_unk_0C, // 0x0C + ContestAICmd_unk_0D, // 0x0D + ContestAICmd_unk_0E, // 0x0E + ContestAICmd_unk_0F, // 0x0F + ContestAICmd_get_user_condition_maybe, // 0x10 + ContestAICmd_unk_11, // 0x11 + ContestAICmd_unk_12, // 0x12 + ContestAICmd_unk_13, // 0x13 + ContestAICmd_unk_14, // 0x14 + ContestAICmd_unk_15, // 0x15 + ContestAICmd_unk_16, // 0x16 + ContestAICmd_unk_17, // 0x17 + ContestAICmd_unk_18, // 0x18 + ContestAICmd_unk_19, // 0x19 + ContestAICmd_unk_1A, // 0x1A + ContestAICmd_unk_1B, // 0x1B + ContestAICmd_unk_1C, // 0x1C + ContestAICmd_unk_1D, // 0x1D + ContestAICmd_unk_1E, // 0x1E + ContestAICmd_get_contest_type, // 0x1F + ContestAICmd_unk_20, // 0x20 + ContestAICmd_unk_21, // 0x21 + ContestAICmd_get_move_excitement, // 0x22 + ContestAICmd_unk_23, // 0x23 + ContestAICmd_unk_24, // 0x24 + ContestAICmd_unk_25, // 0x25 + ContestAICmd_unk_26, // 0x26 + ContestAICmd_get_move_effect, // 0x27 + ContestAICmd_unk_28, // 0x28 + ContestAICmd_unk_29, // 0x29 + ContestAICmd_get_move_effect_type, // 0x2A + ContestAICmd_unk_2B, // 0x2B + ContestAICmd_unk_2C, // 0x2C + ContestAICmd_check_move_has_highest_appeal, // 0x2D + ContestAICmd_unk_2E, // 0x2E + ContestAICmd_unk_2F, // 0x2F + ContestAICmd_unk_30, // 0x30 + ContestAICmd_unk_31, // 0x31 + ContestAICmd_unk_32, // 0x32 + ContestAICmd_unk_33, // 0x33 + ContestAICmd_unk_34, // 0x34 + ContestAICmd_unk_35, // 0x35 + ContestAICmd_unk_36, // 0x36 + ContestAICmd_unk_37, // 0x37 + ContestAICmd_unk_38, // 0x38 + ContestAICmd_unk_39, // 0x39 + ContestAICmd_unk_3A, // 0x3A + ContestAICmd_get_move_used_count, // 0x3B + ContestAICmd_unk_3C, // 0x3C + ContestAICmd_unk_3D, // 0x3D + ContestAICmd_unk_3E, // 0x3E + ContestAICmd_unk_3F, // 0x3F + ContestAICmd_check_combo_starter, // 0x40 + ContestAICmd_unk_41, // 0x41 + ContestAICmd_unk_42, // 0x42 + ContestAICmd_check_combo_finisher, // 0x43 + ContestAICmd_unk_44, // 0x44 + ContestAICmd_unk_45, // 0x45 + ContestAICmd_check_would_finish_combo, // 0x46 + ContestAICmd_unk_47, // 0x47 + ContestAICmd_unk_48, // 0x48 + ContestAICmd_get_condition, // 0x49 + ContestAICmd_unk_4A, // 0x4A + ContestAICmd_unk_4B, // 0x4B + ContestAICmd_unk_4C, // 0x4C + ContestAICmd_unk_4D, // 0x4D + ContestAICmd_get_used_combo_starter, // 0x4E + ContestAICmd_unk_4F, // 0x4F + ContestAICmd_unk_50, // 0x50 + ContestAICmd_unk_51, // 0x51 + ContestAICmd_unk_52, // 0x52 + ContestAICmd_check_can_participate, // 0x53 + ContestAICmd_unk_54, // 0x54 + ContestAICmd_unk_55, // 0x55 + ContestAICmd_get_val_812A188, // 0x56 + ContestAICmd_unk_57, // 0x57 + ContestAICmd_unk_58, // 0x58 + ContestAICmd_unk_59, // 0x59 + ContestAICmd_unk_5A, // 0x5A + ContestAICmd_unk_5B, // 0x5B + ContestAICmd_unk_5C, // 0x5C + ContestAICmd_unk_5D, // 0x5D + ContestAICmd_unk_5E, // 0x5E + ContestAICmd_unk_5F, // 0x5F + ContestAICmd_unk_60, // 0x60 + ContestAICmd_unk_61, // 0x61 + ContestAICmd_unk_62, // 0x62 + ContestAICmd_unk_63, // 0x63 + ContestAICmd_unk_64, // 0x64 + ContestAICmd_unk_65, // 0x65 + ContestAICmd_unk_66, // 0x66 + ContestAICmd_unk_67, // 0x67 + ContestAICmd_unk_68, // 0x68 + ContestAICmd_unk_69, // 0x69 + ContestAICmd_unk_6A, // 0x6A + ContestAICmd_unk_6B, // 0x6B + ContestAICmd_unk_6C, // 0x6C + ContestAICmd_unk_6D, // 0x6D + ContestAICmd_unk_6E, // 0x6E + ContestAICmd_unk_6F, // 0x6F + ContestAICmd_unk_70, // 0x70 + ContestAICmd_unk_71, // 0x71 + ContestAICmd_unk_72, // 0x72 + ContestAICmd_unk_73, // 0x73 + ContestAICmd_unk_74, // 0x74 + ContestAICmd_unk_75, // 0x75 + ContestAICmd_unk_76, // 0x76 + ContestAICmd_unk_77, // 0x77 + ContestAICmd_unk_78, // 0x78 + ContestAICmd_unk_79, // 0x79 + ContestAICmd_unk_7A, // 0x7A + ContestAICmd_unk_7B, // 0x7B + ContestAICmd_unk_7C, // 0x7C + ContestAICmd_unk_7D, // 0x7D + ContestAICmd_unk_7E, // 0x7E + ContestAICmd_unk_7F, // 0x7F + ContestAICmd_unk_80, // 0x80 + ContestAICmd_unk_81, // 0x81 + ContestAICmd_check_for_exciting_move, // 0x82 + ContestAICmd_unk_83, // 0x83 + ContestAICmd_unk_84, // 0x84 + ContestAICmd_unk_85, // 0x85 + ContestAICmd_unk_86, // 0x86 + ContestAICmd_unk_87, // 0x87 +}; + +static void ContestAI_DoAIProcessing(void); +static bool8 sub_81563B0(u8); +static void AIStackPushVar(const u8 *); +static u8 AIStackPop(void); + +void ContestAI_ResetAI(u8 contestantAI) +{ + int i; + memset(eContestAI, 0, sizeof(struct ContestAIInfo)); + + for (i = 0; i < 4; i++) + eContestAI->unk5[i] = 100; + + eContestAI->contestantId = contestantAI; + eContestAI->stackSize = 0; + eContestAI->flags = gContestMons[eContestAI->contestantId].flags; +} + +u8 ContestAI_GetActionToUse(void) +{ + while (eContestAI->flags != 0) + { + if (eContestAI->flags & 1) + { + eContestAI->aiState = 0; + ContestAI_DoAIProcessing(); + } + eContestAI->flags >>= 1; + eContestAI->unk10++; + eContestAI->unk4 = 0; + } + + while (1) + { + u8 rval = Random() & 3; + u8 r2 = eContestAI->unk5[rval]; + int i; + for (i = 0; i < 4; i++) + { + if (r2 < eContestAI->unk5[i]) + break; + } + if (i == 4) + return rval; + } +} + +static void ContestAI_DoAIProcessing(void) +{ + while (eContestAI->aiState != CONTESTAI_FINISHED) + { + switch(eContestAI->aiState) + { + case CONTESTAI_DO_NOT_PROCESS: + break; + case CONTESTAI_SETTING_UP: + gAIScriptPtr = gContestAIs[eContestAI->unk10]; + + if (gContestMons[eContestAI->contestantId].moves[eContestAI->unk4] == 0) + eContestAI->unk2 = 0; // don't process a move that doesn't exist. + else + eContestAI->unk2 = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + eContestAI->aiState++; + break; + case CONTESTAI_PROCESSING: + if (eContestAI->unk2 != 0) + sContestAICmdTable[*gAIScriptPtr](); // run the command. + else + { + eContestAI->unk5[eContestAI->unk4] = 0; // don't consider a move that doesn't exist. + eContestAI->aiAction |= 1; + } + if (eContestAI->aiAction & 1) + { + eContestAI->unk4++; + if (eContestAI->unk4 < 4) + eContestAI->aiState = 0; + else + eContestAI->aiState++; + eContestAI->aiAction &= 0xFE; // TODO: Define action flags + } + break; + } + } +} + +static u8 sub_81563B0(u8 var) +{ + int i; + + for (i = 0; i < 4; i++) + if (shared192D0.turnOrder[i] == var) + break; + + return i; +} + +static void ContestAICmd_unk_00(void) +{ + s16 score = eContestAI->unk5[eContestAI->unk4] + (s8)gAIScriptPtr[1]; + + if (score > 255) + score = 255; + else if (score < 0) + score = 0; + + eContestAI->unk5[eContestAI->unk4] = score; + + gAIScriptPtr += 2; +} + +static void ContestAICmd_get_turn(void) +{ + eContestAI->scriptResult = sContest.turnNumber; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_02(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_03(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_04(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_05(void) +{ + ContestAICmd_get_turn(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_excitement(void) +{ + eContestAI->scriptResult = sContest.applauseLevel; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_07(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_08(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_09(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0A(void) +{ + ContestAICmd_get_excitement(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_user_order(void) +{ + eContestAI->scriptResult = shared192D0.turnOrder[eContestAI->contestantId]; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_0C(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0D(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0E(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_0F(void) +{ + ContestAICmd_get_user_order(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_user_condition_maybe(void) +{ + eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].condition / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_11(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_12(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_13(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_14(void) +{ + ContestAICmd_get_user_condition_maybe(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_15(void) +{ + eContestAI->scriptResult = sContestantStatus[eContestAI->contestantId].unk4; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_16(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_17(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_18(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_19(void) +{ + ContestAICmd_unk_15(); + + if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1A(void) +{ + eContestAI->scriptResult = gContestMonConditions[eContestAI->contestantId]; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_1B(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult < (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1C(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult > (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1D(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult == (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_1E(void) +{ + ContestAICmd_unk_1A(); + + if (eContestAI->scriptResult != (s16)T1_READ_16(gAIScriptPtr + 0)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_get_contest_type(void) +{ + eContestAI->scriptResult = gSpecialVar_ContestCategory; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_20(void) +{ + ContestAICmd_get_contest_type(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_21(void) +{ + ContestAICmd_get_contest_type(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_excitement(void) +{ + eContestAI->scriptResult = Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]); + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_23(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult < (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_24(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult > (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_25(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult == (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_26(void) +{ + ContestAICmd_get_move_excitement(); + + if (eContestAI->scriptResult != (s8)gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_effect(void) +{ + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestMoves[move].effect; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_28(void) +{ + ContestAICmd_get_move_effect(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_29(void) +{ + ContestAICmd_get_move_effect(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_effect_type(void) +{ + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_2B(void) +{ + ContestAICmd_get_move_effect_type(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_2C(void) +{ + ContestAICmd_get_move_effect_type(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_move_has_highest_appeal(void) +{ + int i; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u8 appeal = gContestEffects[gContestMoves[move].effect].appeal; + + for (i = 0; i < 4; i++) + { + u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; + if (newMove != 0 && appeal < gContestEffects[gContestMoves[newMove].effect].appeal) + break; + } + + if (i == 4) + eContestAI->scriptResult = TRUE; + else + eContestAI->scriptResult = FALSE; + + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_2E(void) +{ + ContestAICmd_check_move_has_highest_appeal(); + + if (eContestAI->scriptResult != FALSE) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_2F(void) +{ + int i; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + u8 jam = gContestEffects[gContestMoves[move].effect].jam; + + for (i = 0; i < 4; i++) + { + u16 newMove = gContestMons[eContestAI->contestantId].moves[i]; + if (newMove != 0 && jam < gContestEffects[gContestMoves[newMove].effect].jam) + break; + } + + if (i == 4) + eContestAI->scriptResult = TRUE; + else + eContestAI->scriptResult = FALSE; + + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_30(void) +{ + ContestAICmd_unk_2F(); + + if (eContestAI->scriptResult != FALSE) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_31(void) +{ + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].appeal / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_32(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_33(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_34(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_35(void) +{ + ContestAICmd_unk_31(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_36(void) +{ + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].jam / 10; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_37(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_38(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_39(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3A(void) +{ + ContestAICmd_unk_36(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_move_used_count(void) +{ + s16 result; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + if (move != sContestantStatus[eContestAI->contestantId].prevMove) + result = 0; // move is unique and not reused. + else + result = sContestantStatus[eContestAI->contestantId].moveRepeatCount + 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_3C(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3D(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3E(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_3F(void) +{ + ContestAICmd_get_move_used_count(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_combo_starter(void) +{ + u8 result = 0; + int i; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + for (i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->contestantId].moves[i]) + { + result = AreMovesContestCombo(move, gContestMons[eContestAI->contestantId].moves[i]); + if (result) + { + result = 1; + break; + } + } + } + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_41(void) +{ + ContestAICmd_check_combo_starter(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_42(void) +{ + ContestAICmd_check_combo_starter(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_check_combo_finisher(void) +{ + u8 result = 0; + int i; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + for (i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->contestantId].moves[i]) + { + result = AreMovesContestCombo(gContestMons[eContestAI->contestantId].moves[i], move); + if (result) + { + result = 1; + break; + } + } + } + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_44(void) +{ + ContestAICmd_check_combo_finisher(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_45(void) +{ + ContestAICmd_check_combo_finisher(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_check_would_finish_combo(void) +{ + u8 result = 0; + u16 move = gContestMons[eContestAI->contestantId].moves[eContestAI->unk4]; + + if (sContestantStatus[eContestAI->contestantId].prevMove) + result = AreMovesContestCombo(sContestantStatus[eContestAI->contestantId].prevMove, move); + + if (result) + result = 1; + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_47(void) +{ + ContestAICmd_check_would_finish_combo(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_48(void) +{ + ContestAICmd_check_would_finish_combo(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_get_condition(void) +{ + int var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].condition / 10; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_4A(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4B(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4C(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_4D(void) +{ + ContestAICmd_get_condition(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_get_used_combo_starter(void) +{ + u16 result = 0; + u8 var = sub_81563B0(gAIScriptPtr[1]); + + if (sub_80DE1E8(var)) + result = gContestMoves[sContestantStatus[var].prevMove].comboStarterId ? 1 : 0; + + eContestAI->scriptResult = result; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_4F(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_50(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_51(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_52(void) +{ + ContestAICmd_get_used_combo_starter(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_check_can_participate(void) +{ + if (Contest_IsMonsTurnDisabled(sub_81563B0(gAIScriptPtr[1]))) + eContestAI->scriptResult = FALSE; + else + eContestAI->scriptResult = TRUE; + + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_54(void) +{ + ContestAICmd_check_can_participate(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_55(void) +{ + ContestAICmd_check_can_participate(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_get_val_812A188(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].unk15_3; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_57(void) +{ + ContestAICmd_get_val_812A188(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_58(void) +{ + ContestAICmd_get_val_812A188(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_59(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = sContestantStatus[var].unk4 - sContestantStatus[eContestAI->contestantId].unk4; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_5A(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult < 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5B(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult > 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5C(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5D(void) +{ + ContestAICmd_unk_59(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_5E(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + + eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->contestantId]; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_5F(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult < 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_60(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult > 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_61(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_62(void) +{ + ContestAICmd_unk_5E(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_63(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + u16 move = sContest.unk19220[var2][var]; + + eContestAI->scriptResult = gContestMoves[move].effect; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_64(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_65(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_66(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_67(void) +{ + ContestAICmd_unk_63(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_68(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + s8 result = sContest.unk19248[var2][var]; + + eContestAI->scriptResult = result; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_69(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult < gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6A(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult > gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6B(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6C(void) +{ + ContestAICmd_unk_68(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6D(void) +{ + u8 var = sub_81563B0(gAIScriptPtr[1]); + u8 var2 = gAIScriptPtr[2]; + u16 move = sContest.unk19220[var2][var]; + + eContestAI->scriptResult = gContestEffects[gContestMoves[move].effect].effectType; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_6E(void) +{ + ContestAICmd_unk_6D(); + + if (eContestAI->scriptResult == gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_6F(void) +{ + ContestAICmd_unk_6D(); + + if (eContestAI->scriptResult != gAIScriptPtr[0]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); + else + gAIScriptPtr += 5; +} + +static void ContestAICmd_unk_70(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] = eContestAI->scriptResult; + gAIScriptPtr += 2; +} + +static void ContestAICmd_unk_71(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] = T1_READ_16(gAIScriptPtr + 2); + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_72(void) +{ + // wtf? shouldn't T1_READ_16 work here? why the signed 8 load by gAIScriptPtr[2]? + eContestAI->scriptArr[gAIScriptPtr[1]] += ((s8)gAIScriptPtr[2] | gAIScriptPtr[3] << 8); + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_73(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_74(void) +{ + eContestAI->scriptArr[gAIScriptPtr[1]] += eContestAI->scriptArr[gAIScriptPtr[2]]; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_75(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] < T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_76(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] > T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_77(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] == T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_78(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] != T1_READ_16(gAIScriptPtr + 2)) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + else + gAIScriptPtr += 8; +} + +static void ContestAICmd_unk_79(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] < (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7A(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] > (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7B(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] == (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7C(void) +{ + if (eContestAI->scriptArr[gAIScriptPtr[1]] != (eContestAI->scriptArr[gAIScriptPtr[2]])) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; +} + +static void ContestAICmd_unk_7D(void) +{ + if ((Random() & 0xFF) < eContestAI->scriptArr[gAIScriptPtr[1]]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +static void ContestAICmd_unk_7E(void) +{ + if ((Random() & 0xFF) > eContestAI->scriptArr[gAIScriptPtr[1]]) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); + else + gAIScriptPtr += 6; +} + +// jump +static void ContestAICmd_unk_7F(void) +{ + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); +} + +static void ContestAICmd_unk_80(void) +{ + AIStackPushVar(gAIScriptPtr + 5); + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); +} + +static void ContestAICmd_unk_81(void) +{ + if (!AIStackPop()) + eContestAI->aiAction |= 1; +} + +static void AIStackPushVar(const u8 *ptr) +{ + eContestAI->stack[eContestAI->stackSize++] = ptr; +} + +static bool8 AIStackPop(void) +{ + if (eContestAI->stackSize != 0) + { + --eContestAI->stackSize; + gAIScriptPtr = eContestAI->stack[eContestAI->stackSize]; + return TRUE; + } + else + { + return FALSE; + } +} + +static void ContestAICmd_check_for_exciting_move(void) +{ + int result = 0; + int i; + + for (i = 0; i < 4; i++) + { + if (gContestMons[eContestAI->contestantId].moves[i]) + { + if (Contest_GetMoveExcitement(gContestMons[eContestAI->contestantId].moves[i]) == 1) + { + result = 1; + break; + } + } + } + + eContestAI->scriptResult = result; + gAIScriptPtr += 1; +} + +static void ContestAICmd_unk_83(void) +{ + ContestAICmd_check_for_exciting_move(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_84(void) +{ + ContestAICmd_check_for_exciting_move(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_85(void) +{ + int result = 0; + int i; + u16 arg = T1_READ_16(gAIScriptPtr + 1); + + for (i = 0; i < 4; i++) + { + u16 move = gContestMons[eContestAI->contestantId].moves[i]; + if (move == arg) + { + result = 1; + break; + } + } + + eContestAI->scriptResult = result; + gAIScriptPtr += 3; +} + +static void ContestAICmd_unk_86(void) +{ + ContestAICmd_unk_85(); + + if (eContestAI->scriptResult != 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} + +static void ContestAICmd_unk_87(void) +{ + ContestAICmd_unk_85(); + + if (eContestAI->scriptResult == 0) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 0); + else + gAIScriptPtr += 4; +} diff --git a/src/contest_effect.c b/src/contest_effect.c new file mode 100644 index 000000000..760d74d69 --- /dev/null +++ b/src/contest_effect.c @@ -0,0 +1,1080 @@ +#include "global.h" +#include "random.h" +#include "constants/moves.h" +#include "contest.h" +#include "contest_effect.h" + +static void ContestEffect_HighlyAppealing(void); +static void ContestEffect_UserMoreEasilyStartled(void); +static void ContestEffect_GreatAppealButNoMoreMoves(void); +static void ContestEffect_RepetitionNotBoring(void); +static void ContestEffect_AvoidStartleOnce(void); +static void ContestEffect_AvoidStartle(void); +static void ContestEffect_AvoidStartleSlightly(void); +static void ContestEffect_UserLessEasilyStartled(void); +static void ContestEffect_StartleFrontMon(void); +static void ContestEffect_StartlePrevMons(void); +static void ContestEffect_StartlePrevMon2(void); +static void ContestEffect_StartlePrevMons2(void); +static void ContestEffect_ShiftJudgeAttention(void); +static void ContestEffect_StartleMonWithJudgesAttention(void); +static void ContestEffect_JamsOthersButMissOneTurn(void); +static void ContestEffect_StartleMonsSameTypeAppeal(void); +static void ContestEffect_StartleMonsCoolAppeal(void); +static void ContestEffect_StartleMonsBeautyAppeal(void); +static void ContestEffect_StartleMonsCuteAppeal(void); +static void ContestEffect_StartleMonsSmartAppeal(void); +static void ContestEffect_StartleMonsToughAppeal(void); +static void ContestEffect_MakeFollowingMonNervous(void); +static void ContestEffect_MakeFollowingMonsNervous(void); +static void ContestEffect_WorsenConditionOfPrevMons(void); +static void ContestEffect_BadlyStartlesMonsInGoodCondition(void); +static void ContestEffect_BetterIfFirst(void); +static void ContestEffect_BetterIfLast(void); +static void ContestEffect_AppealAsGoodAsPrevOnes(void); +static void ContestEffect_AppealAsGoodAsPrevOne(void); +static void ContestEffect_BetterWhenLater(void); +static void ContestEffect_QualityDependsOnTiming(void); +static void ContestEffect_BetterIfSameType(void); +static void ContestEffect_BetterIfDiffType(void); +static void ContestEffect_AffectedByPrevAppeal(void); +static void ContestEffect_ImproveConditionPreventNervousness(void); +static void ContestEffect_BetterWithGoodCondition(void); +static void ContestEffect_NextAppealEarlier(void); +static void ContestEffect_NextAppealLater(void); +static void ContestEffect_MakeScramblingTurnOrderEasier(void); +static void ContestEffect_ScrambleNextTurnOrder(void); +static void ContestEffect_ExciteAudienceInAnyContest(void); +static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void); +static void ContestEffect_BetterWhenAudienceExcited(void); +static void ContestEffect_DontExciteAudience(void); +static void JamByMoveCategory(u8); +static bool8 CanUnnerveContestant(u8); +static u8 WasAtLeastOneOpponentJammed(void); +static void JamContestant(u8, u8); +static s16 RoundTowardsZero(s16); +static s16 RoundUp(s16); + +#include "data/contest_moves.h" + +bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove) +{ + u8 nextMoveComboMoves[4]; + u8 lastMoveComboStarterId = gContestMoves[lastMove].comboStarterId; + nextMoveComboMoves[0] = gContestMoves[nextMove].comboMoves[0]; + nextMoveComboMoves[1] = gContestMoves[nextMove].comboMoves[1]; + nextMoveComboMoves[2] = gContestMoves[nextMove].comboMoves[2]; + nextMoveComboMoves[3] = gContestMoves[nextMove].comboMoves[3]; + + if (lastMoveComboStarterId == 0) + return FALSE; + else if (lastMoveComboStarterId == nextMoveComboMoves[0] || lastMoveComboStarterId == nextMoveComboMoves[1] || lastMoveComboStarterId == nextMoveComboMoves[2] || lastMoveComboStarterId == nextMoveComboMoves[3]) + return gComboStarterLookupTable[lastMoveComboStarterId]; + else + return FALSE; +} + +// A highly appealing move. +static void ContestEffect_HighlyAppealing(void) +{ +} + +// After this move, the user is more easily startled. +static void ContestEffect_UserMoreEasilyStartled(void) +{ + sContestantStatus[shared192D0.contestant].moreEasilyStartled = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MORE_CONSCIOUS); +} + +// Makes a great appeal, but allows no more to the end. +static void ContestEffect_GreatAppealButNoMoreMoves(void) +{ + sContestantStatus[shared192D0.contestant].exploded = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_APPEAL); +} + +// Can be used repeatedly without boring the JUDGE. +static void ContestEffect_RepetitionNotBoring(void) +{ + sContestantStatus[shared192D0.contestant].usedRepeatableMove = TRUE; + sContestantStatus[shared192D0.contestant].disappointedRepeat = FALSE; + sContestantStatus[shared192D0.contestant].moveRepeatCount = 0; +} + +// Can avoid being startled by others once. +static void ContestEffect_AvoidStartleOnce(void) +{ + sContestantStatus[shared192D0.contestant].jamSafetyCount = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SETTLE_DOWN); +} + +// Can avoid being startled by others. +static void ContestEffect_AvoidStartle(void) +{ + sContestantStatus[shared192D0.contestant].immune = TRUE; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_OBLIVIOUS_TO_OTHERS); +} + +// Can avoid being startled by others a little. +static void ContestEffect_AvoidStartleSlightly(void) +{ + sContestantStatus[shared192D0.contestant].jamReduction = 20; + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_LESS_AWARE); +} + +// After this move, the user is less likely to be startled. +static void ContestEffect_UserLessEasilyStartled(void) +{ + sContestantStatus[shared192D0.contestant].resistant = TRUE; + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_STOPPED_CARING); +} + +// Slightly startles the POKMON in front. +static void ContestEffect_StartleFrontMon(void) +{ + u8 idx = 0; + u8 a = shared192D0.contestant; + + if (shared192D0.turnOrder[a] != 0) { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[a] - 1 == shared192D0.turnOrder[i]) + break; + } + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + idx = WasAtLeastOneOpponentJammed(); + } + if (idx == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Slightly startles those that have made appeals. +static void ContestEffect_StartlePrevMons(void) +{ + u8 idx = 0; + u8 a = shared192D0.contestant; + + if (shared192D0.turnOrder[a] != 0) + { + int i, j; + + for (i = 0, j = 0; i < 4; i++) + { + if (shared192D0.turnOrder[a] > shared192D0.turnOrder[i]) + shared192D0.jamQueue[j++] = i; + } + + shared192D0.jamQueue[j] = 0xFF; + idx = WasAtLeastOneOpponentJammed(); + } + if (idx == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Startles the POKMON that appealed before the user. +static void ContestEffect_StartlePrevMon2(void) +{ + u8 rval = Random() % 10; + int jam; + + if (rval < 2) + jam = 20; + else if (rval < 8) + jam = 40; + else + jam = 60; + + shared192D0.jam = jam; + ContestEffect_StartleFrontMon(); +} + +// Startles all POKMON that appealed before the user. +static void ContestEffect_StartlePrevMons2(void) +{ + u8 numStartled = 0; + u8 contestant = shared192D0.contestant; + u8 turnOrder = shared192D0.turnOrder[contestant]; + + if (turnOrder != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + { + u8 rval, jam; + + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + rval = Random() % 10; + + if (rval == 0) + jam = 0; + else if (rval <= 2) + jam = 10; + else if (rval <= 4) + jam = 20; + else if (rval <= 6) + jam = 30; + else if (rval <= 8) + jam = 40; + else + jam = 60; + + shared192D0.jam = jam; + + if (WasAtLeastOneOpponentJammed()) + numStartled++; + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + if (numStartled == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Shifts the JUDGEs attention from others. +static void ContestEffect_ShiftJudgeAttention(void) +{ + bool32 hitAny = FALSE; + u8 contestant = shared192D0.contestant; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i] && + sContestantStatus[i].hasJudgesAttention && + CanUnnerveContestant(i)) + { + sContestantStatus[i].hasJudgesAttention = FALSE; + sContestantStatus[i].judgesAttentionWasRemoved = TRUE; + SetContestantEffectStringID(i, CONTEST_STRING_JUDGE_LOOK_AWAY2); + hitAny = TRUE; + } + } + } + SetContestantEffectStringID(shared192D0.contestant,CONTEST_STRING_DAZZLE_ATTEMPT); + if (!hitAny) + { + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + } +} + +// Startles the POKMON that has the JUDGEs attention. +static void ContestEffect_StartleMonWithJudgesAttention(void) +{ + u8 numStartled = 0; + u8 contestant = shared192D0.contestant; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].hasJudgesAttention) + shared192D0.jam = 50; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numStartled++; + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); + if (numStartled == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Jams the others, and misses one turn of appeals. +static void ContestEffect_JamsOthersButMissOneTurn(void) +{ + sContestantStatus[shared192D0.contestant].turnSkipped = TRUE; + ContestEffect_StartlePrevMons(); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Startles POKMON that made a same-type appeal. +static void ContestEffect_StartleMonsSameTypeAppeal(void) +{ + u16 move = sContestantStatus[shared192D0.contestant].currMove; + JamByMoveCategory(gContestMoves[move].contestCategory); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKMON that made COOL appeals. +static void ContestEffect_StartleMonsCoolAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_COOL); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKMON that made BEAUTY appeals. +static void ContestEffect_StartleMonsBeautyAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_BEAUTY); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKMON that made CUTE appeals. +static void ContestEffect_StartleMonsCuteAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_CUTE); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKMON that made SMART appeals. +static void ContestEffect_StartleMonsSmartAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_SMART); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Badly startles POKMON that made TOUGH appeals. +static void ContestEffect_StartleMonsToughAppeal(void) +{ + JamByMoveCategory(CONTEST_CATEGORY_TOUGH); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// Makes one POKMON after the user nervous. +static void ContestEffect_MakeFollowingMonNervous(void) +{ + bool32 hitAny = FALSE; + + if (shared192D0.turnOrder[shared192D0.contestant] != 3) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] + 1 == shared192D0.turnOrder[i]) + { + if (CanUnnerveContestant(i)) + { + MakeContestantNervous(i); + SetContestantEffectStringID(i, CONTEST_STRING_NERVOUS); + hitAny = TRUE; + } + else + { + SetContestantEffectStringID(i, CONTEST_STRING_UNAFFECTED); + hitAny = TRUE; + } + } + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_ATTEMPT); + if (!hitAny) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Makes all POKMON after the user nervous. +static void ContestEffect_MakeFollowingMonsNervous(void) +{ + u8 numUnnerved = 0; + bool32 contestantUnnerved = FALSE; + u8 contestantIds[5]; + int i; + int numAfter; + s16 oddsMod[4]; + s16 odds[4]; + + memset(contestantIds, 0xFF, ARRAY_COUNT(contestantIds)); + for (i = 0, numAfter = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] < shared192D0.turnOrder[i] && + !sContestantStatus[i].nervous && !Contest_IsMonsTurnDisabled(i)) + contestantIds[numAfter++] = i; + } + + if (numAfter == 1) + { + odds[0] = 60; + } + else if (numAfter == 2) + { + odds[0] = 30; + odds[1] = 30; + } + else if (numAfter == 3) + { + odds[0] = 20; + odds[1] = 20; + odds[2] = 20; + } + else + { + for (i = 0; i < 4; i++) + odds[i] = 0; + } + for (i = 0; i < 4; i++) + { + if (sContestantStatus[i].hasJudgesAttention && sub_80DE1E8(i)) + oddsMod[i] = gComboStarterLookupTable[gContestMoves[sContestantStatus[i].prevMove].comboStarterId] * 10; + else + oddsMod[i] = 0; + oddsMod[i] -= (sContestantStatus[i].condition / 10) * 10; + } + if (odds[0] != 0) + { + for (i = 0; contestantIds[i] != 0xFF; i++) + { + if (Random() % 100 < odds[i] + oddsMod[contestantIds[i]]) + { + if (CanUnnerveContestant(contestantIds[i])) + { + MakeContestantNervous(contestantIds[i]); + SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_NERVOUS); + numUnnerved++; + } + else + { + contestantUnnerved = TRUE; + } + } + else + { + contestantUnnerved = TRUE; + } + + if (contestantUnnerved) + { + contestantUnnerved = FALSE; + SetContestantEffectStringID(contestantIds[i], CONTEST_STRING_UNAFFECTED); + numUnnerved++; + } + shared192D0.unnervedPokes[contestantIds[i]] = 1; + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_UNNERVE_WAITING); + if (numUnnerved == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +// Worsens the condition of those that made appeals. +static void ContestEffect_WorsenConditionOfPrevMons(void) +{ + u8 numHit = 0; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i] && + sContestantStatus[i].condition > 0 && + CanUnnerveContestant(i)) + { + sContestantStatus[i].condition = 0; + sContestantStatus[i].conditionMod = 2; + SetContestantEffectStringID(i, CONTEST_STRING_REGAINED_FORM); + numHit++; + } + } + + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_TAUNT_WELL); + if (numHit == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); +} + +// Badly startles POKMON in good condition. +static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) +{ + u8 numHit = 0; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].condition > 0) + shared192D0.jam = 40; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numHit++; + } + } + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_JAM_WELL); + if (numHit == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_IGNORED); +} + +// The appeal works great if performed first. +static void ContestEffect_BetterIfFirst(void) +{ + if (gUnknown_02039F26[shared192D0.contestant] == 0) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HUSTLE_STANDOUT); + } +} + +// The appeal works great if performed last. +static void ContestEffect_BetterIfLast(void) +{ + if (gUnknown_02039F26[shared192D0.contestant] == 3) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + sContestantStatus[shared192D0.contestant].appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_HARD_UNNOTICED); + } +} + +// Makes the appeal as good as those before it. +static void ContestEffect_AppealAsGoodAsPrevOnes(void) +{ + int i; + int appealSum; + + for (i = 0, appealSum = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + appealSum += sContestantStatus[i].appeal2; + } + if (appealSum < 0) + appealSum = 0; + + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appealSum == 0) + { + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL); + } + else + { + sContestantStatus[shared192D0.contestant].appeal2 += appealSum / 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_BEFORE); + } + sContestantStatus[shared192D0.contestant].appeal2 = RoundTowardsZero(sContestantStatus[shared192D0.contestant].appeal2); +} + +// Makes the appeal as good as the one before it. +static void ContestEffect_AppealAsGoodAsPrevOne(void) +{ + s16 appeal = 0; + + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) + appeal = sContestantStatus[i].appeal2; + } + } + if (shared192D0.turnOrder[shared192D0.contestant] == 0 || appeal <= 0) + { + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_WELL2); + } + else + { + sContestantStatus[shared192D0.contestant].appeal2 += appeal; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_WORK_PRECEDING); + } +} + +// The appeal works better the later it is performed. +static void ContestEffect_BetterWhenLater(void) +{ + u8 whichTurn = shared192D0.turnOrder[shared192D0.contestant]; + if (whichTurn == 0) + sContestantStatus[shared192D0.contestant].appeal2 = 10; + else + sContestantStatus[shared192D0.contestant].appeal2 = 20 * whichTurn; + if (whichTurn == 0) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_SHOWN_WELL); + else if (whichTurn == 1) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL); + else if (whichTurn == 2) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL); + else + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY); +} + +// The appeals quality varies depending on its timing. +static void ContestEffect_QualityDependsOnTiming(void) +{ + u8 rval = Random() % 10; + s16 appeal; + + if (rval < 3) + { + appeal = 10; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + } else if (rval < 6) + { + appeal = 20; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + } else if (rval < 8) + { + appeal = 40; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + } else if (rval < 9) + { + appeal = 60; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + } + else + { + appeal = 80; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + } + sContestantStatus[shared192D0.contestant].appeal2 = appeal; +} + +static void ContestEffect_BetterIfSameType(void) +{ + s8 turnOrder = shared192D0.turnOrder[shared192D0.contestant]; + s8 i = turnOrder - 1, j; + u16 move; + + if (turnOrder == 0) + return; + + while (1) + { + for (j = 0; j < 4; j++) + { + if (shared192D0.turnOrder[j] == i) + break; + } + if (sContestantStatus[j].noMoreTurns || sContestantStatus[j].nervous || sContestantStatus[j].numTurnsSkipped) + { + if (--i < 0) + return; + } + else + { + break; + } + } + + move = sContestantStatus[shared192D0.contestant].currMove; + if (gContestMoves[move].contestCategory == gContestMoves[sContestantStatus[j].currMove].contestCategory) + { + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SAME_TYPE_GOOD); + } +} + +// Works well if different in type than the one before. +static void ContestEffect_BetterIfDiffType(void) +{ + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + u16 move = sContestantStatus[shared192D0.contestant].currMove; + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i] && + gContestMoves[move].contestCategory != gContestMoves[sContestantStatus[i].currMove].contestCategory) + { + sContestantStatus[shared192D0.contestant].appeal2 += gContestEffects[gContestMoves[move].effect].appeal * 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_DIFF_TYPE_GOOD); + break; + } + } + } +} + +// Affected by how well the appeal in front goes. +static void ContestEffect_AffectedByPrevAppeal(void) +{ + if (shared192D0.turnOrder[shared192D0.contestant] != 0) + { + int i; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] - 1 == shared192D0.turnOrder[i]) + { + if (sContestantStatus[shared192D0.contestant].appeal2 > sContestantStatus[i].appeal2) + { + sContestantStatus[shared192D0.contestant].appeal2 *= 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_STOOD_OUT_AS_MUCH); + } + else if (sContestantStatus[shared192D0.contestant].appeal2 < sContestantStatus[i].appeal2) + { + sContestantStatus[shared192D0.contestant].appeal2 = 0; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NOT_AS_WELL); + } + } + } + } +} + +// Ups the users condition. Helps prevent nervousness. +static void ContestEffect_ImproveConditionPreventNervousness(void) +{ + if (sContestantStatus[shared192D0.contestant].condition < 30) + { + sContestantStatus[shared192D0.contestant].condition += 10; + sContestantStatus[shared192D0.contestant].conditionMod = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_CONDITION_ROSE); + } + else + { + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_NO_CONDITION_IMPROVE); + } +} + +// The appeal works well if the users condition is good. +static void ContestEffect_BetterWithGoodCondition(void) +{ + sContestantStatus[shared192D0.contestant].appealTripleCondition = TRUE; + if (sContestantStatus[shared192D0.contestant].condition != 0) + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_HOT_STATUS); + else + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_BAD_CONDITION_WEAK_APPEAL); +} + +// The next appeal can be made earlier next turn. +static void ContestEffect_NextAppealEarlier(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + + turnOrder[shared192D0.contestant] = 0xFF; + + for (i = 0; i < 4; i++) + { + for (j = 0; j < 4; j++) + { + if (j != shared192D0.contestant && + i == turnOrder[j] && + turnOrder[j] == sContestantStatus[j].nextTurnOrder) + { + turnOrder[j]++; + break; + } + } + if (j == 4) + break; + } + + turnOrder[shared192D0.contestant] = 0; + sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 1; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_UP_LINE); + } +} + +// The next appeal can be made later next turn. +static void ContestEffect_NextAppealLater(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + + turnOrder[shared192D0.contestant] = 0xFF; + + for (i = 3; i > -1; i--) + { + for (j = 0; j < 4; j++) + { + if (j != shared192D0.contestant && + i == turnOrder[j] && + turnOrder[j] == sContestantStatus[j].nextTurnOrder) + { + turnOrder[j]--; + break; + } + } + if (j == 4) + break; + } + + turnOrder[shared192D0.contestant] = 3; + sContestantStatus[shared192D0.contestant].turnOrderMod = 1; + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 2; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_MOVE_BACK_LINE); + } +} + +// Makes the next turns order more easily scrambled. +static void ContestEffect_MakeScramblingTurnOrderEasier(void) +{ + // dummied out? +} + +// Scrambles the order of appeals on the next turn. +static void ContestEffect_ScrambleNextTurnOrder(void) +{ + s8 i; + s8 j; + u8 turnOrder[4]; + u8 unselectedContestants[4]; + + if (sContest.turnNumber != 4) + { + for (i = 0; i < 4; i++) + { + turnOrder[i] = sContestantStatus[i].nextTurnOrder; + unselectedContestants[i] = i; + } + + for (i = 0; i < 4; i++) + { + u8 rval = Random() % (4 - i); + + for (j = 0; j < 4; j++) + { + if (unselectedContestants[j] != 0xFF) + { + if (rval == 0) + { + turnOrder[j] = i; + unselectedContestants[j] = 0xFF; + break; + } + else + rval--; + } + } + } + + for (i = 0; i < 4; i++) + { + sContestantStatus[i].nextTurnOrder = turnOrder[i]; + sContestantStatus[i].turnOrderMod = 2; + } + sContestantStatus[shared192D0.contestant].turnOrderModAction = 3; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_SCRAMBLE_ORDER); + } +} + +// An appeal that excites the audience in any CONTEST. +static void ContestEffect_ExciteAudienceInAnyContest(void) +{ + if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory != gSpecialVar_ContestCategory) + { + sContestantStatus[shared192D0.contestant].overrideCategoryExcitementMod = TRUE; + } +} + +// Badly startles all POKMON that made good appeals. +static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) +{ + int i; + u8 numJammed = 0; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (sContestantStatus[i].appeal2 > 0) + { + shared192D0.jam = sContestantStatus[i].appeal2 / 2; + shared192D0.jam = RoundUp(shared192D0.jam); + } + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numJammed++; + } + } + if (numJammed == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTEMPT_STARTLE); +} + +// The appeal works best the more the crowd is excited. +static void ContestEffect_BetterWhenAudienceExcited(void) +{ + s16 appeal; + + if (sContest.applauseLevel == 0) + { + appeal = 10; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_NOT_VERY_WELL); + } + else if (sContest.applauseLevel == 1) + { + appeal = 20; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_SLIGHTLY_WELL2); + } + else if (sContest.applauseLevel == 2) + { + appeal = 30; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_PRETTY_WELL2); + } + else if (sContest.applauseLevel == 3) + { + appeal = 50; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_VERY_WELL); + } + else + { + appeal = 60; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_APPEAL_EXCELLENTLY2); + } + sContestantStatus[shared192D0.contestant].appeal2 = appeal; +} + +// Temporarily stops the crowd from growing excited. +static void ContestEffect_DontExciteAudience(void) +{ + if (!shared19328.excitementFrozen) + { + shared19328.excitementFrozen = TRUE; + shared19328.excitementFreezer = shared192D0.contestant; + SetContestantEffectStringID(shared192D0.contestant, CONTEST_STRING_ATTRACTED_ATTENTION); + } +} + +static void JamByMoveCategory(u8 category) +{ + int i; + int numJammed = 0; + + for (i = 0; i < 4; i++) + { + if (shared192D0.turnOrder[shared192D0.contestant] > shared192D0.turnOrder[i]) + { + if (category == gContestMoves[sContestantStatus[i].currMove].contestCategory) + shared192D0.jam = 40; + else + shared192D0.jam = 10; + shared192D0.jamQueue[0] = i; + shared192D0.jamQueue[1] = 0xFF; + if (WasAtLeastOneOpponentJammed()) + numJammed++; + } + } + + if (numJammed == 0) + SetContestantEffectStringID2(shared192D0.contestant, CONTEST_STRING_MESSED_UP2); +} + +static bool8 CanUnnerveContestant(u8 i) +{ + shared192D0.unnervedPokes[i] = 1; + if (sContestantStatus[i].immune) + { + SetContestantEffectStringID(i, CONTEST_STRING_AVOID_SEEING); + return FALSE; + } + else if (sContestantStatus[i].jamSafetyCount != 0) + { + sContestantStatus[i].jamSafetyCount--; + SetContestantEffectStringID(i, CONTEST_STRING_AVERT_GAZE); + return FALSE; + } + else if (!sContestantStatus[i].noMoreTurns && sContestantStatus[i].numTurnsSkipped == 0) + { + return TRUE; + } + else + { + return FALSE; + } +} + +static bool8 WasAtLeastOneOpponentJammed(void) +{ + s16 jamBuffer[4] = {0}; + int i; + + for (i = 0; shared192D0.jamQueue[i] != 0xFF; i++) + { + u8 contestant = shared192D0.jamQueue[i]; + if (CanUnnerveContestant(contestant)) + { + shared192D0.jam2 = shared192D0.jam; + if (sContestantStatus[contestant].moreEasilyStartled) + shared192D0.jam2 *= 2; + if (sContestantStatus[contestant].resistant) + { + shared192D0.jam2 = 10; + SetContestantEffectStringID(contestant, CONTEST_STRING_LITTLE_DISTRACTED); + } + else + { + shared192D0.jam2 -= sContestantStatus[contestant].jamReduction; + if (shared192D0.jam2 <= 0) + { + shared192D0.jam2 = 0; + SetContestantEffectStringID(contestant, CONTEST_STRING_NOT_FAZED); + } + else + { + JamContestant(contestant, shared192D0.jam2); + SetStartledString(contestant, shared192D0.jam2); + jamBuffer[contestant] = shared192D0.jam2; + } + } + } + } + + for (i = 0; i < 4; i++) + { + if (jamBuffer[i] != 0) + return TRUE; + } + return FALSE; +} + +static void JamContestant(u8 i, u8 jam) +{ + sContestantStatus[i].appeal2 -= jam; + sContestantStatus[i].jam += jam; +} + +static s16 RoundTowardsZero(s16 score) +{ + s16 absScore = abs(score) % 10; + if (score < 0) + { + if (absScore != 0) + score -= 10 - absScore; + } + else + score -= absScore; + return score; +} + +static s16 RoundUp(s16 score) +{ + s16 absScore = abs(score) % 10; + if (absScore != 0) + score += 10 - absScore; + return score; +} diff --git a/src/data/bard_music/actions.h b/src/data/bard_music/actions.h new file mode 100644 index 000000000..fd8e63061 --- /dev/null +++ b/src/data/bard_music/actions.h @@ -0,0 +1,630 @@ +#ifndef GUARD_DATA_BARD_MUSIC_ACTIONS_H +#define GUARD_DATA_BARD_MUSIC_ACTIONS_H +const struct BardSound gBardSounds_Actions[][6] = { + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x2f, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2f, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2f, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2f, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_ACTIONS_H diff --git a/src/data/bard_music/adjectives.h b/src/data/bard_music/adjectives.h new file mode 100644 index 000000000..e56efaa24 --- /dev/null +++ b/src/data/bard_music/adjectives.h @@ -0,0 +1,294 @@ +#ifndef GUARD_DATA_BARD_MUSIC_ADJECTIVES_H +#define GUARD_DATA_BARD_MUSIC_ADJECTIVES_H +const struct BardSound gBardSounds_Adjectives[][6] = { + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 } + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_ADJECTIVES_H diff --git a/src/data/bard_music/bard_sounds.h b/src/data/bard_music/bard_sounds.h new file mode 100644 index 000000000..4a0911726 --- /dev/null +++ b/src/data/bard_music/bard_sounds.h @@ -0,0 +1,52 @@ +#ifndef GUARD_BARD_SOUNDS_TABLE_H +#define GUARD_BARD_SOUNDS_TABLE_H + +#define NULL_BARD_SOUND { 0xff } + +#include "pokemon.h" +#include "moves.h" +#include "trainer.h" +#include "status.h" +#include "battle.h" +#include "greetings.h" +#include "people.h" +#include "voices.h" +#include "speech.h" +#include "endings.h" +#include "feelings.h" +#include "conditions.h" +#include "actions.h" +#include "lifestyle.h" +#include "hobbies.h" +#include "time.h" +#include "misc.h" +#include "adjectives.h" +#include "events.h" +#include "trendysaying.h" + +const struct BardSound (*const gBardSoundsTable[])[6] = { + NULL, + gBardSounds_Trainer, + gBardSounds_Status, + gBardSounds_Battle, + gBardSounds_Greetings, + gBardSounds_People, + gBardSounds_Voices, + gBardSounds_Speech, + gBardSounds_Endings, + gBardSounds_Feelings, + gBardSounds_Conditions, + gBardSounds_Actions, + gBardSounds_Lifestyle, + gBardSounds_Hobbies, + gBardSounds_Time, + gBardSounds_Misc, + gBardSounds_Adjectives, + gBardSounds_Events, + NULL, + NULL, + gBardSounds_TrendySaying, + NULL +}; + +#endif //GUARD_BARD_SOUNDS_TABLE_H diff --git a/src/data/bard_music/battle.h b/src/data/bard_music/battle.h new file mode 100644 index 000000000..19d032f56 --- /dev/null +++ b/src/data/bard_music/battle.h @@ -0,0 +1,510 @@ +#ifndef GUARD_DATA_BARD_MUSIC_BATTLE_H +#define GUARD_DATA_BARD_MUSIC_BATTLE_H +const struct BardSound gBardSounds_Battle[][6] = { + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x16, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_BATTLE_H diff --git a/src/data/bard_music/conditions.h b/src/data/bard_music/conditions.h new file mode 100644 index 000000000..d79cc100b --- /dev/null +++ b/src/data/bard_music/conditions.h @@ -0,0 +1,558 @@ +#ifndef GUARD_DATA_BARD_MUSIC_CONDITIONS_H +#define GUARD_DATA_BARD_MUSIC_CONDITIONS_H +const struct BardSound gBardSounds_Conditions[][6] = { + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x19, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x16, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x16, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_CONDITIONS_H diff --git a/src/data/bard_music/default_sound.h b/src/data/bard_music/default_sound.h new file mode 100644 index 000000000..ad4008e16 --- /dev/null +++ b/src/data/bard_music/default_sound.h @@ -0,0 +1,13 @@ +#ifndef GUARD_default_sound_H +#define GUARD_default_sound_H + +const struct BardSound gBardSound_InvalidWord[] = { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND +}; + +#endif //GUARD_default_sound_H diff --git a/src/data/bard_music/endings.h b/src/data/bard_music/endings.h new file mode 100644 index 000000000..7e4304521 --- /dev/null +++ b/src/data/bard_music/endings.h @@ -0,0 +1,558 @@ +#ifndef GUARD_DATA_BARD_MUSIC_ENDINGS_H +#define GUARD_DATA_BARD_MUSIC_ENDINGS_H +const struct BardSound gBardSounds_Endings[][6] = { + { + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_ENDINGS_H diff --git a/src/data/bard_music/events.h b/src/data/bard_music/events.h new file mode 100644 index 000000000..70960e15d --- /dev/null +++ b/src/data/bard_music/events.h @@ -0,0 +1,238 @@ +#ifndef GUARD_DATA_BARD_MUSIC_EVENTS_H +#define GUARD_DATA_BARD_MUSIC_EVENTS_H +const struct BardSound gBardSounds_Events[][6] = { + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_EVENTS_H diff --git a/src/data/bard_music/feelings.h b/src/data/bard_music/feelings.h new file mode 100644 index 000000000..cdab88639 --- /dev/null +++ b/src/data/bard_music/feelings.h @@ -0,0 +1,558 @@ +#ifndef GUARD_DATA_BARD_MUSIC_FEELINGS_H +#define GUARD_DATA_BARD_MUSIC_FEELINGS_H +const struct BardSound gBardSounds_Feelings[][6] = { + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x19, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x20, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x20, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_FEELINGS_H diff --git a/src/data/bard_music/greetings.h b/src/data/bard_music/greetings.h new file mode 100644 index 000000000..22af4dd5c --- /dev/null +++ b/src/data/bard_music/greetings.h @@ -0,0 +1,342 @@ +#ifndef GUARD_DATA_BARD_MUSIC_GREETINGS_H +#define GUARD_DATA_BARD_MUSIC_GREETINGS_H +const struct BardSound gBardSounds_Greetings[][6] = { + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x28, 0x0, 0x0, 0x0, 0x0 }, + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_GREETINGS_H diff --git a/src/data/bard_music/hobbies.h b/src/data/bard_music/hobbies.h new file mode 100644 index 000000000..66fdbc0c7 --- /dev/null +++ b/src/data/bard_music/hobbies.h @@ -0,0 +1,438 @@ +#ifndef GUARD_DATA_BARD_MUSIC_HOBBIES_H +#define GUARD_DATA_BARD_MUSIC_HOBBIES_H +const struct BardSound gBardSounds_Hobbies[][6] = { + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2f, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2f, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_HOBBIES_H diff --git a/src/data/bard_music/length_table.h b/src/data/bard_music/length_table.h new file mode 100644 index 000000000..144c70dfc --- /dev/null +++ b/src/data/bard_music/length_table.h @@ -0,0 +1,21 @@ +#ifndef GUARD_LENGTH_TABLE_H +#define GUARD_LENGTH_TABLE_H + +const int gBardSoundLengthTable[] = { + 0x09, 0x16, 0x0f, 0x10, + 0x27, 0x15, 0x09, 0x1e, + 0x18, 0x0f, 0x19, 0x0c, + 0x16, 0x2d, 0x18, 0x0f, + 0x28, 0x09, 0x15, 0x2a, + 0x12, 0x09, 0x16, 0x0f, + 0x1b, 0x30, 0x12, 0x1b, + 0x21, 0x18, 0x19, 0x27, + 0x13, 0x10, 0x36, 0x12, + 0x09, 0x2d, 0x0f, 0x0c, + 0x27, 0x17, 0x05, 0x2d, + 0x0c, 0x15, 0x30, 0x0c, + 0x15, 0x45, 0x12, 0x0f +}; + + +#endif //GUARD_LENGTH_TABLE_H diff --git a/src/data/bard_music/lifestyle.h b/src/data/bard_music/lifestyle.h new file mode 100644 index 000000000..7054283f4 --- /dev/null +++ b/src/data/bard_music/lifestyle.h @@ -0,0 +1,366 @@ +#ifndef GUARD_DATA_BARD_MUSIC_LIFESTYLE_H +#define GUARD_DATA_BARD_MUSIC_LIFESTYLE_H +const struct BardSound gBardSounds_Lifestyle[][6] = { + { + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_LIFESTYLE_H diff --git a/src/data/bard_music/misc.h b/src/data/bard_music/misc.h new file mode 100644 index 000000000..84e1d5530 --- /dev/null +++ b/src/data/bard_music/misc.h @@ -0,0 +1,342 @@ +#ifndef GUARD_DATA_BARD_MUSIC_MISC_H +#define GUARD_DATA_BARD_MUSIC_MISC_H +const struct BardSound gBardSounds_Misc[][6] = { + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2e, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_MISC_H diff --git a/src/data/bard_music/moves.h b/src/data/bard_music/moves.h new file mode 100644 index 000000000..6bb350a7c --- /dev/null +++ b/src/data/bard_music/moves.h @@ -0,0 +1,2851 @@ +#ifndef GUARD_DATA_BARD_MUSIC_MOVES_H +#define GUARD_DATA_BARD_MUSIC_MOVES_H + +#include "moves.h" + +const u16 gUnknown_085FA1D4 = 0x163; + +const struct BardSound gBardSounds_Moves[][6] = { + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0xa, 0x0, 0x0, 0x0, 0x0}, + { 0x2, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x2, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x23, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0xa, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x29, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xd, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x2d, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x29, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x28, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0xd, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0xa, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0} + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0} + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif //GUARD_DATA_BARD_MUSIC_MOVES_H diff --git a/src/data/bard_music/people.h b/src/data/bard_music/people.h new file mode 100644 index 000000000..2db017080 --- /dev/null +++ b/src/data/bard_music/people.h @@ -0,0 +1,606 @@ +#ifndef GUARD_DATA_BARD_MUSIC_PEOPLE_H +#define GUARD_DATA_BARD_MUSIC_PEOPLE_H +const struct BardSound gBardSounds_People[][6] = { + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x13, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, -0x9, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x7, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x28, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_PEOPLE_H diff --git a/src/data/bard_music/pokemon.h b/src/data/bard_music/pokemon.h new file mode 100644 index 000000000..693005360 --- /dev/null +++ b/src/data/bard_music/pokemon.h @@ -0,0 +1,3306 @@ +#ifndef GUARD_DATA_BARD_MUSIC_POKEMON_H +#define GUARD_DATA_BARD_MUSIC_POKEMON_H +#include "constants/species.h" + +const u16 gUnknown_085F5490 = NUM_SPECIES; + +const struct BardSound gBardSounds_Pokemon[][6] = { + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x2, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x26, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x17, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x8, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x8, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0}, + { 0x10, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x10, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x26, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x26, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x23, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x26, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x15, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x28, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x17, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x6, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0}, + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0xb, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x26, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x24, 0x0, 0x0, 0x0, 0x0}, + { 0xf, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x32, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x2c, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1d, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x1a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x27, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x7, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0xe, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x30, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x3, 0x0, 0x0, 0x0, 0x0}, + { 0x2a, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0}, + { 0x1b, 0x0, 0x0, 0x0, 0x0}, + { 0x11, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0}, + { 0x9, 0x0, 0x0, 0x0, 0x0}, + { 0x18, 0x0, 0x0, 0x0, 0x0}, + { 0x33, 0x0, 0x0, 0x0, 0x0}, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif //GUARD_DATA_BARD_MUSIC_POKEMON_H diff --git a/src/data/bard_music/speech.h b/src/data/bard_music/speech.h new file mode 100644 index 000000000..d0d4abb11 --- /dev/null +++ b/src/data/bard_music/speech.h @@ -0,0 +1,486 @@ +#ifndef GUARD_DATA_BARD_MUSIC_SPEECH_H +#define GUARD_DATA_BARD_MUSIC_SPEECH_H +const struct BardSound gBardSounds_Speech[][6] = { + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x7, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x10, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x28, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_SPEECH_H diff --git a/src/data/bard_music/status.h b/src/data/bard_music/status.h new file mode 100644 index 000000000..418fe639a --- /dev/null +++ b/src/data/bard_music/status.h @@ -0,0 +1,878 @@ +#ifndef GUARD_DATA_BARD_MUSIC_STATUS_H +#define GUARD_DATA_BARD_MUSIC_STATUS_H +const struct BardSound gBardSounds_Status[][6] = { + { + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x29, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x20, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x7, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0x7, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_STATUS_H diff --git a/src/data/bard_music/time.h b/src/data/bard_music/time.h new file mode 100644 index 000000000..5755353a0 --- /dev/null +++ b/src/data/bard_music/time.h @@ -0,0 +1,366 @@ +#ifndef GUARD_DATA_BARD_MUSIC_TIME_H +#define GUARD_DATA_BARD_MUSIC_TIME_H +const struct BardSound gBardSounds_Time[][6] = { + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x28, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x21, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_TIME_H diff --git a/src/data/bard_music/trainer.h b/src/data/bard_music/trainer.h new file mode 100644 index 000000000..a59689b6c --- /dev/null +++ b/src/data/bard_music/trainer.h @@ -0,0 +1,222 @@ +#ifndef GUARD_DATA_BARD_MUSIC_TRAINER_H +#define GUARD_DATA_BARD_MUSIC_TRAINER_H +const struct BardSound gBardSounds_Trainer[][6] = { + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x2d, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x15, 0x0, 0x0, 0x0, 0x0 }, + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 } + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x8, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 } + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x32, 0x0, 0x0, 0x0, 0x0 }, + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_TRAINER_H diff --git a/src/data/bard_music/trendysaying.h b/src/data/bard_music/trendysaying.h new file mode 100644 index 000000000..4830725ad --- /dev/null +++ b/src/data/bard_music/trendysaying.h @@ -0,0 +1,270 @@ +#ifndef GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H +#define GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H +const struct BardSound gBardSounds_TrendySaying[][6] = { + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x14, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x1b, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x26, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x0, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x3, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1d, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2b, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_TRENDYSAYING_H diff --git a/src/data/bard_music/voices.h b/src/data/bard_music/voices.h new file mode 100644 index 000000000..868ebaecf --- /dev/null +++ b/src/data/bard_music/voices.h @@ -0,0 +1,510 @@ +#ifndef GUARD_DATA_BARD_MUSIC_VOICES_H +#define GUARD_DATA_BARD_MUSIC_VOICES_H +const struct BardSound gBardSounds_Voices[][6] = { + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1b, 0x5, 0x8, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x28, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x19, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0x31, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x23, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + { 0x11, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xa, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x2, 0x0, 0x0, 0x0, 0x0 }, + { 0x24, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND + }, + { + { 0x13, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x12, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + { 0x1e, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x1, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + { 0xb, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x17, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x5, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x13, 0x0, 0x0, 0x0, 0x0 }, + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0x7, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + { 0xc, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x9, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x2a, 0x0, 0x0, 0x0, 0x0 }, + { 0x2c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0xe, 0x0, 0x0, 0x0, 0x0 }, + { 0x30, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x1c, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + { 0x27, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0xf, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x18, 0x0, 0x0, 0x0, 0x0 }, + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x4, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x7, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x22, 0x0, 0x0, 0x0, 0x0 }, + { 0xd, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x7, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + { 0x33, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND, + NULL_BARD_SOUND + }, + { + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + { 0x6, 0x0, 0x0, 0x0, 0x0 }, + NULL_BARD_SOUND, + NULL_BARD_SOUND + } +}; + +#endif // GUARD_DATA_BARD_MUSIC_VOICES_H diff --git a/src/data/bard_music/word_pitch.h b/src/data/bard_music/word_pitch.h new file mode 100644 index 000000000..54a87acc9 --- /dev/null +++ b/src/data/bard_music/word_pitch.h @@ -0,0 +1,183 @@ +#ifndef GUARD_WORD_PITCH_H +#define GUARD_WORD_PITCH_H + +const s16 gUnknown_0860A1C0[] = { + -0x300, 0x1800 +}; + +const s16 gUnknown_0860A1C4[] = { + 0x0900, 0x1800 +}; + +const s16 gUnknown_0860A1C8[] = { + 0x0100, 0x1800 +}; + +const s16 gUnknown_0860A1CC[] = { + 0x0400, 0x1800 +}; + +const s16 gUnknown_0860A1D0[] = { + 0x0b00, 0x1800 +}; + +const s16 gUnknown_0860A1D4[] = { + -0x300, -0x100, 0x1800 +}; + +const s16 gUnknown_0860A1DA[] = { + -0x300, 0x0200, 0x1800 +}; + +const s16 gUnknown_0860A1E0[] = { + 0x0200, 0x0400, 0x1800 +}; + +const s16 gUnknown_0860A1E6[] = { + 0x0600, 0x0800, 0x1800 +}; + +const s16 gUnknown_0860A1EC[] = { + 0x0900, 0x0800, 0x1800 +}; + +const s16 gUnknown_0860A1F2[] = { + -0x300, -0x100, -0x300, 0x1800 +}; + +const s16 gUnknown_0860A1FA[] = { + 0x0400, -0x300, 0x0400, 0x1800 +}; + +const s16 gUnknown_0860A202[] = { + 0x0900, 0x0800, 0x0600, 0x1800 +}; + +const s16 gUnknown_0860A20A[] = { + 0x0100, 0x0200, 0x0400, 0x1800 +}; + +const s16 gUnknown_0860A212[] = { + 0x0600, 0x1000, 0x0d00, 0x1800 +}; + +const s16 gUnknown_0860A21A[] = { + 0x0400, 0x0900, 0x0400, 0x0900, 0x1800 +}; + +const s16 gUnknown_0860A224[] = { + 0x0900, 0x0400, 0x0d00, 0x0400, 0x1800 +}; + +const s16 gUnknown_0860A22E[] = { + 0x0100, 0x0200, 0x0400, 0x0600, 0x1800 +}; + +const s16 gUnknown_0860A238[] = { + 0x0800, 0x0600, 0x0400, 0x0200, 0x1800 +}; + +const s16 gUnknown_0860A242[] = { + 0x0f00, 0x0d00, 0x0b00, 0x0a00, 0x1800 +}; + +const s16 gUnknown_0860A24C[] = { + -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x1800 +}; + +const s16 gUnknown_0860A258[] = { + 0x0900, 0x0800, 0x0600, 0x0400, 0x0200, 0x1800 +}; + +const s16 gUnknown_0860A264[] = { + 0x0100, 0x0400, 0x0900, 0x0400, 0x0100, 0x1800 +}; + +const s16 gUnknown_0860A270[] = { + 0x0900, 0x0400, 0x0900, 0x0400, -0x300, 0x1800 +}; + +const s16 gUnknown_0860A27C[] = { + 0x0b00, 0x0800, 0x0400, 0x0400, 0x0600, 0x1800 +}; + +const s16 gUnknown_0860A288[] = { + -0x300, -0x100, 0x0100, 0x0200, 0x0400, 0x0600, 0x1800 +}; + +const s16 gUnknown_0860A296[] = { + 0x0800, 0x0600, 0x0400, 0x0200, 0x0100, -0x100, 0x1800 +}; + +const s16 gUnknown_0860A2A4[] = { + 0x0100, 0x0200, 0x0400, 0x0100, 0x0200, 0x1000, 0x1800 +}; + +const s16 gUnknown_0860A2B2[] = { + 0x0400, -0x300, 0x0900, 0x0400, 0x0900, 0x0400, 0x1800 +}; + +const s16 gUnknown_0860A2C0[] = { + 0x0800, 0x0900, 0x0800, 0x0900, 0x0800, 0x0900, 0x1800 +}; + +const s16 gUnknown_0860A2CE[] = { + 0x0200, 0x0100, 0x0200, 0x0100, 0x0200, 0x0400, 0x0200, 0x1800 +}; + +const s16 gUnknown_0860A2DE[] = { + 0x0100, 0x0100, -0x100, -0x100, -0x300, 0x0400, -0x300, 0x1800 +}; + +const s16 gUnknown_0860A2EE[] = { + 0x0800, 0x0900, 0x0b00, 0x0d00, 0x0e00, 0x0d00, 0x0b00, 0x1800 +}; + +const s16 gUnknown_0860A2FE[] = { + 0x0800, 0x0600, 0x0400, 0x0200, 0x0d00, 0x0b00, 0x0900, 0x1800 +}; + +const s16 gUnknown_0860A30E[] = { + 0x0300, 0x0400, 0x0600, 0x0800, 0x0700, 0x0800, 0x0400, 0x1800 +}; + +const s16 *const gBardSoundPitchTables[] = { + gUnknown_0860A1C0, + gUnknown_0860A1C4, + gUnknown_0860A1C8, + gUnknown_0860A1CC, + gUnknown_0860A1D0, + gUnknown_0860A1D4, + gUnknown_0860A1DA, + gUnknown_0860A1E0, + gUnknown_0860A1E6, + gUnknown_0860A1EC, + gUnknown_0860A1F2, + gUnknown_0860A1FA, + gUnknown_0860A202, + gUnknown_0860A20A, + gUnknown_0860A212, + gUnknown_0860A21A, + gUnknown_0860A224, + gUnknown_0860A22E, + gUnknown_0860A238, + gUnknown_0860A242, + gUnknown_0860A24C, + gUnknown_0860A258, + gUnknown_0860A264, + gUnknown_0860A270, + gUnknown_0860A27C, + gUnknown_0860A288, + gUnknown_0860A296, + gUnknown_0860A2A4, + gUnknown_0860A2B2, + gUnknown_0860A2C0, + gUnknown_0860A2CE, + gUnknown_0860A2DE, + gUnknown_0860A2EE, + gUnknown_0860A2FE, + gUnknown_0860A30E +}; + + +#endif //GUARD_WORD_PITCH_H diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h new file mode 100644 index 000000000..00a6f7fdb --- /dev/null +++ b/src/data/battle_moves.h @@ -0,0 +1,3913 @@ +#ifndef GUARD_DATA_BATTLE_MOVES +#define GUARD_DATA_BATTLE_MOVES + +const struct BattleMove gBattleMoves[MOVES_COUNT] = +{ + { // MOVE_NONE + .effect = EFFECT_HIT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 0, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = 0, + }, + { // MOVE_POUND + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_KARATE_CHOP + .effect = EFFECT_HIGH_CRITICAL, + .power = 50, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_DOUBLE_SLAP + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_COMET_PUNCH + .effect = EFFECT_MULTI_HIT, + .power = 18, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_MEGA_PUNCH + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_PAY_DAY + .effect = EFFECT_PAY_DAY, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_FIRE_PUNCH + .effect = EFFECT_BURN_HIT, + .power = 75, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ICE_PUNCH + .effect = EFFECT_FREEZE_HIT, + .power = 75, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_THUNDER_PUNCH + .effect = EFFECT_PARALYZE_HIT, + .power = 75, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SCRATCH + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_VICE_GRIP + .effect = EFFECT_HIT, + .power = 55, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_GUILLOTINE + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_RAZOR_WIND + .effect = EFFECT_RAZOR_WIND, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SWORDS_DANCE + .effect = EFFECT_ATTACK_UP_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_CUT + .effect = EFFECT_HIT, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_GUST + .effect = EFFECT_GUST, + .power = 40, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_WING_ATTACK + .effect = EFFECT_HIT, + .power = 60, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_WHIRLWIND + .effect = EFFECT_ROAR, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = -6, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FLY + .effect = EFFECT_SEMI_INVULNERABLE, + .power = 70, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_BIND + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SLAM + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_VINE_WHIP + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_STOMP + .effect = EFFECT_FLINCH_MINIMIZE_HIT, + .power = 65, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DOUBLE_KICK + .effect = EFFECT_DOUBLE_HIT, + .power = 30, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_MEGA_KICK + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_JUMP_KICK + .effect = EFFECT_RECOIL_IF_MISS, + .power = 70, + .type = TYPE_FIGHTING, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ROLLING_KICK + .effect = EFFECT_FLINCH_HIT, + .power = 60, + .type = TYPE_FIGHTING, + .accuracy = 85, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SAND_ATTACK + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_HEADBUTT + .effect = EFFECT_FLINCH_HIT, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_HORN_ATTACK + .effect = EFFECT_HIT, + .power = 65, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_FURY_ATTACK + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_HORN_DRILL + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_TACKLE + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 35, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_BODY_SLAM + .effect = EFFECT_PARALYZE_HIT, + .power = 85, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_WRAP + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_TAKE_DOWN + .effect = EFFECT_RECOIL, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_THRASH + .effect = EFFECT_RAMPAGE, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_RANDOM, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_DOUBLE_EDGE + .effect = EFFECT_DOUBLE_EDGE, + .power = 120, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_TAIL_WHIP + .effect = EFFECT_DEFENSE_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_POISON_STING + .effect = EFFECT_POISON_HIT, + .power = 15, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_TWINEEDLE + .effect = EFFECT_TWINEEDLE, + .power = 25, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_PIN_MISSILE + .effect = EFFECT_MULTI_HIT, + .power = 14, + .type = TYPE_BUG, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_LEER + .effect = EFFECT_DEFENSE_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_BITE + .effect = EFFECT_FLINCH_HIT, + .power = 60, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_GROWL + .effect = EFFECT_ATTACK_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ROAR + .effect = EFFECT_ROAR, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = -6, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SING + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SUPERSONIC + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SONIC_BOOM + .effect = EFFECT_SONICBOOM, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_DISABLE + .effect = EFFECT_DISABLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 55, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ACID + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 40, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_EMBER + .effect = EFFECT_BURN_HIT, + .power = 40, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FLAMETHROWER + .effect = EFFECT_BURN_HIT, + .power = 95, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MIST + .effect = EFFECT_MIST, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_WATER_GUN + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_HYDRO_PUMP + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_WATER, + .accuracy = 80, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SURF + .effect = EFFECT_HIT, + .power = 95, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ICE_BEAM + .effect = EFFECT_FREEZE_HIT, + .power = 95, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_BLIZZARD + .effect = EFFECT_FREEZE_HIT, + .power = 120, + .type = TYPE_ICE, + .accuracy = 70, + .pp = 5, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_PSYBEAM + .effect = EFFECT_CONFUSE_HIT, + .power = 65, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_BUBBLE_BEAM + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 65, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_AURORA_BEAM + .effect = EFFECT_ATTACK_DOWN_HIT, + .power = 65, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_HYPER_BEAM + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_PECK + .effect = EFFECT_HIT, + .power = 35, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_DRILL_PECK + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SUBMISSION + .effect = EFFECT_RECOIL, + .power = 80, + .type = TYPE_FIGHTING, + .accuracy = 80, + .pp = 25, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_LOW_KICK + .effect = EFFECT_LOW_KICK, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_COUNTER + .effect = EFFECT_COUNTER, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = -5, + .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SEISMIC_TOSS + .effect = EFFECT_LEVEL_DAMAGE, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_STRENGTH + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ABSORB + .effect = EFFECT_ABSORB, + .power = 20, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MEGA_DRAIN + .effect = EFFECT_ABSORB, + .power = 40, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_LEECH_SEED + .effect = EFFECT_LEECH_SEED, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_GROWTH + .effect = EFFECT_SPECIAL_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_RAZOR_LEAF + .effect = EFFECT_HIGH_CRITICAL, + .power = 55, + .type = TYPE_GRASS, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SOLAR_BEAM + .effect = EFFECT_SOLARBEAM, + .power = 120, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_POISON_POWDER + .effect = EFFECT_POISON, + .power = 0, + .type = TYPE_POISON, + .accuracy = 75, + .pp = 35, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_STUN_SPORE + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 75, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SLEEP_POWDER + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_PETAL_DANCE + .effect = EFFECT_RAMPAGE, + .power = 70, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_RANDOM, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_STRING_SHOT + .effect = EFFECT_SPEED_DOWN, + .power = 0, + .type = TYPE_BUG, + .accuracy = 95, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DRAGON_RAGE + .effect = EFFECT_DRAGON_RAGE, + .power = 1, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_FIRE_SPIN + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_FIRE, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_THUNDER_SHOCK + .effect = EFFECT_PARALYZE_HIT, + .power = 40, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_THUNDERBOLT + .effect = EFFECT_PARALYZE_HIT, + .power = 95, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_THUNDER_WAVE + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_THUNDER + .effect = EFFECT_THUNDER, + .power = 120, + .type = TYPE_ELECTRIC, + .accuracy = 70, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ROCK_THROW + .effect = EFFECT_HIT, + .power = 50, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_EARTHQUAKE + .effect = EFFECT_EARTHQUAKE, + .power = 100, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_FOES_AND_ALLY, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_FISSURE + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_GROUND, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DIG + .effect = EFFECT_SEMI_INVULNERABLE, + .power = 60, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_TOXIC + .effect = EFFECT_TOXIC, + .power = 0, + .type = TYPE_POISON, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_CONFUSION + .effect = EFFECT_CONFUSE_HIT, + .power = 50, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_PSYCHIC + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 90, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_HYPNOSIS + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 60, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MEDITATE + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_AGILITY + .effect = EFFECT_SPEED_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_QUICK_ATTACK + .effect = EFFECT_QUICK_ATTACK, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 1, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_RAGE + .effect = EFFECT_RAGE, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_TELEPORT + .effect = EFFECT_TELEPORT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_NIGHT_SHADE + .effect = EFFECT_LEVEL_DAMAGE, + .power = 1, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_MIMIC + .effect = EFFECT_MIMIC, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + }, + { // MOVE_SCREECH + .effect = EFFECT_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DOUBLE_TEAM + .effect = EFFECT_EVASION_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_RECOVER + .effect = EFFECT_RESTORE_HP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_HARDEN + .effect = EFFECT_DEFENSE_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_MINIMIZE + .effect = EFFECT_MINIMIZE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_SMOKESCREEN + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_CONFUSE_RAY + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_WITHDRAW + .effect = EFFECT_DEFENSE_UP, + .power = 0, + .type = TYPE_WATER, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_DEFENSE_CURL + .effect = EFFECT_DEFENSE_CURL, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_BARRIER + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_LIGHT_SCREEN + .effect = EFFECT_LIGHT_SCREEN, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_HAZE + .effect = EFFECT_HAZE, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + }, + { // MOVE_REFLECT + .effect = EFFECT_REFLECT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_FOCUS_ENERGY + .effect = EFFECT_FOCUS_ENERGY, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_BIDE + .effect = EFFECT_BIDE, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_METRONOME + .effect = EFFECT_METRONOME, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 0, + .flags = 0, + }, + { // MOVE_MIRROR_MOVE + .effect = EFFECT_MIRROR_MOVE, + .power = 0, + .type = TYPE_FLYING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 0, + .flags = 0, + }, + { // MOVE_SELF_DESTRUCT + .effect = EFFECT_EXPLOSION, + .power = 200, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_FOES_AND_ALLY, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_EGG_BOMB + .effect = EFFECT_HIT, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_LICK + .effect = EFFECT_PARALYZE_HIT, + .power = 20, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SMOG + .effect = EFFECT_POISON_HIT, + .power = 20, + .type = TYPE_POISON, + .accuracy = 70, + .pp = 20, + .secondaryEffectChance = 40, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SLUDGE + .effect = EFFECT_POISON_HIT, + .power = 65, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_BONE_CLUB + .effect = EFFECT_FLINCH_HIT, + .power = 65, + .type = TYPE_GROUND, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FIRE_BLAST + .effect = EFFECT_BURN_HIT, + .power = 120, + .type = TYPE_FIRE, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_WATERFALL + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_CLAMP + .effect = EFFECT_TRAP, + .power = 35, + .type = TYPE_WATER, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SWIFT + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SKULL_BASH + .effect = EFFECT_SKULL_BASH, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SPIKE_CANNON + .effect = EFFECT_MULTI_HIT, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_CONSTRICT + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 10, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 35, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_AMNESIA + .effect = EFFECT_SPECIAL_DEFENSE_UP_2, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_KINESIS + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SOFT_BOILED + .effect = EFFECT_SOFTBOILED, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_HI_JUMP_KICK + .effect = EFFECT_RECOIL_IF_MISS, + .power = 85, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_GLARE + .effect = EFFECT_PARALYZE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DREAM_EATER + .effect = EFFECT_DREAM_EATER, + .power = 100, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_POISON_GAS + .effect = EFFECT_POISON, + .power = 0, + .type = TYPE_POISON, + .accuracy = 55, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_BARRAGE + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_NORMAL, + .accuracy = 85, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_LEECH_LIFE + .effect = EFFECT_ABSORB, + .power = 20, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_LOVELY_KISS + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SKY_ATTACK + .effect = EFFECT_SKY_ATTACK, + .power = 140, + .type = TYPE_FLYING, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_TRANSFORM + .effect = EFFECT_TRANSFORM, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = 0, + }, + { // MOVE_BUBBLE + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 20, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DIZZY_PUNCH + .effect = EFFECT_CONFUSE_HIT, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 20, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SPORE + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FLASH + .effect = EFFECT_ACCURACY_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 70, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_PSYWAVE + .effect = EFFECT_PSYWAVE, + .power = 1, + .type = TYPE_PSYCHIC, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SPLASH + .effect = EFFECT_SPLASH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_ACID_ARMOR + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_POISON, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_CRABHAMMER + .effect = EFFECT_HIGH_CRITICAL, + .power = 90, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_EXPLOSION + .effect = EFFECT_EXPLOSION, + .power = 250, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_FOES_AND_ALLY, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_FURY_SWIPES + .effect = EFFECT_MULTI_HIT, + .power = 18, + .type = TYPE_NORMAL, + .accuracy = 80, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_BONEMERANG + .effect = EFFECT_DOUBLE_HIT, + .power = 50, + .type = TYPE_GROUND, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_REST + .effect = EFFECT_REST, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_ROCK_SLIDE + .effect = EFFECT_FLINCH_HIT, + .power = 75, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_HYPER_FANG + .effect = EFFECT_FLINCH_HIT, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SHARPEN + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_CONVERSION + .effect = EFFECT_CONVERSION, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_TRI_ATTACK + .effect = EFFECT_TRI_ATTACK, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 20, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SUPER_FANG + .effect = EFFECT_SUPER_FANG, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SLASH + .effect = EFFECT_HIGH_CRITICAL, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SUBSTITUTE + .effect = EFFECT_SUBSTITUTE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_STRUGGLE + .effect = EFFECT_RECOIL, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 1, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SKETCH + .effect = EFFECT_SKETCH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 1, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = 0, + }, + { // MOVE_TRIPLE_KICK + .effect = EFFECT_TRIPLE_KICK, + .power = 10, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_THIEF + .effect = EFFECT_THIEF, + .power = 40, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SPIDER_WEB + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MIND_READER + .effect = EFFECT_LOCK_ON, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_NIGHTMARE + .effect = EFFECT_NIGHTMARE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FLAME_WHEEL + .effect = EFFECT_THAW_HIT, + .power = 60, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SNORE + .effect = EFFECT_SNORE, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_CURSE + .effect = EFFECT_CURSE, + .power = 0, + .type = TYPE_MYSTERY, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = 0, + }, + { // MOVE_FLAIL + .effect = EFFECT_FLAIL, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_CONVERSION_2 + .effect = EFFECT_CONVERSION_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_AEROBLAST + .effect = EFFECT_HIGH_CRITICAL, + .power = 100, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_COTTON_SPORE + .effect = EFFECT_SPEED_DOWN_2, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_REVERSAL + .effect = EFFECT_FLAIL, + .power = 1, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SPITE + .effect = EFFECT_SPITE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_POWDER_SNOW + .effect = EFFECT_FREEZE_HIT, + .power = 40, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_PROTECT + .effect = EFFECT_PROTECT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 3, + .flags = 0, + }, + { // MOVE_MACH_PUNCH + .effect = EFFECT_QUICK_ATTACK, + .power = 40, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 1, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SCARY_FACE + .effect = EFFECT_SPEED_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FAINT_ATTACK + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_DARK, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SWEET_KISS + .effect = EFFECT_CONFUSE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 75, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_BELLY_DRUM + .effect = EFFECT_BELLY_DRUM, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_SLUDGE_BOMB + .effect = EFFECT_POISON_HIT, + .power = 90, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MUD_SLAP + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 20, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_OCTAZOOKA + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 65, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 50, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SPIKES + .effect = EFFECT_SPIKES, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_OPPONENTS_FIELD, + .priority = 0, + .flags = 0, + }, + { // MOVE_ZAP_CANNON + .effect = EFFECT_PARALYZE_HIT, + .power = 100, + .type = TYPE_ELECTRIC, + .accuracy = 50, + .pp = 5, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FORESIGHT + .effect = EFFECT_FORESIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DESTINY_BOND + .effect = EFFECT_DESTINY_BOND, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_PERISH_SONG + .effect = EFFECT_PERISH_SONG, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_ICY_WIND + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 55, + .type = TYPE_ICE, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DETECT + .effect = EFFECT_PROTECT, + .power = 0, + .type = TYPE_FIGHTING, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 3, + .flags = 0, + }, + { // MOVE_BONE_RUSH + .effect = EFFECT_MULTI_HIT, + .power = 25, + .type = TYPE_GROUND, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_LOCK_ON + .effect = EFFECT_LOCK_ON, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_OUTRAGE + .effect = EFFECT_RAMPAGE, + .power = 90, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_RANDOM, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SANDSTORM + .effect = EFFECT_SANDSTORM, + .power = 0, + .type = TYPE_ROCK, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_GIGA_DRAIN + .effect = EFFECT_ABSORB, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ENDURE + .effect = EFFECT_ENDURE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 3, + .flags = 0, + }, + { // MOVE_CHARM + .effect = EFFECT_ATTACK_DOWN_2, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ROLLOUT + .effect = EFFECT_ROLLOUT, + .power = 30, + .type = TYPE_ROCK, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_FALSE_SWIPE + .effect = EFFECT_FALSE_SWIPE, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SWAGGER + .effect = EFFECT_SWAGGER, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MILK_DRINK + .effect = EFFECT_SOFTBOILED, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED, + }, + { // MOVE_SPARK + .effect = EFFECT_PARALYZE_HIT, + .power = 65, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FURY_CUTTER + .effect = EFFECT_FURY_CUTTER, + .power = 10, + .type = TYPE_BUG, + .accuracy = 95, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_STEEL_WING + .effect = EFFECT_DEFENSE_UP_HIT, + .power = 70, + .type = TYPE_STEEL, + .accuracy = 90, + .pp = 25, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_MEAN_LOOK + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ATTRACT + .effect = EFFECT_ATTRACT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SLEEP_TALK + .effect = EFFECT_SLEEP_TALK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 0, + .flags = 0, + }, + { // MOVE_HEAL_BELL + .effect = EFFECT_HEAL_BELL, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_RETURN + .effect = EFFECT_RETURN, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_PRESENT + .effect = EFFECT_PRESENT, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FRUSTRATION + .effect = EFFECT_FRUSTRATION, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SAFEGUARD + .effect = EFFECT_SAFEGUARD, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 25, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_PAIN_SPLIT + .effect = EFFECT_PAIN_SPLIT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SACRED_FIRE + .effect = EFFECT_THAW_HIT, + .power = 100, + .type = TYPE_FIRE, + .accuracy = 95, + .pp = 5, + .secondaryEffectChance = 50, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MAGNITUDE + .effect = EFFECT_MAGNITUDE, + .power = 1, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_FOES_AND_ALLY, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_DYNAMIC_PUNCH + .effect = EFFECT_CONFUSE_HIT, + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 50, + .pp = 5, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MEGAHORN + .effect = EFFECT_HIT, + .power = 120, + .type = TYPE_BUG, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_DRAGON_BREATH + .effect = EFFECT_PARALYZE_HIT, + .power = 60, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_BATON_PASS + .effect = EFFECT_BATON_PASS, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_ENCORE + .effect = EFFECT_ENCORE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_PURSUIT + .effect = EFFECT_PURSUIT, + .power = 40, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_RAPID_SPIN + .effect = EFFECT_RAPID_SPIN, + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SWEET_SCENT + .effect = EFFECT_EVASION_DOWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_IRON_TAIL + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 100, + .type = TYPE_STEEL, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_METAL_CLAW + .effect = EFFECT_ATTACK_UP_HIT, + .power = 50, + .type = TYPE_STEEL, + .accuracy = 95, + .pp = 35, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_VITAL_THROW + .effect = EFFECT_VITAL_THROW, + .power = 70, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = -1, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_MORNING_SUN + .effect = EFFECT_MORNING_SUN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_SYNTHESIS + .effect = EFFECT_SYNTHESIS, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_MOONLIGHT + .effect = EFFECT_MOONLIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_HIDDEN_POWER + .effect = EFFECT_HIDDEN_POWER, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_CROSS_CHOP + .effect = EFFECT_HIGH_CRITICAL, + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 80, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_TWISTER + .effect = EFFECT_TWISTER, + .power = 40, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_RAIN_DANCE + .effect = EFFECT_RAIN_DANCE, + .power = 0, + .type = TYPE_WATER, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_SUNNY_DAY + .effect = EFFECT_SUNNY_DAY, + .power = 0, + .type = TYPE_FIRE, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_CRUNCH + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 80, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 20, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MIRROR_COAT + .effect = EFFECT_MIRROR_COAT, + .power = 1, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = -5, + .flags = FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_PSYCH_UP + .effect = EFFECT_PSYCH_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_EXTREME_SPEED + .effect = EFFECT_QUICK_ATTACK, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 1, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ANCIENT_POWER + .effect = EFFECT_ALL_STATS_UP_HIT, + .power = 60, + .type = TYPE_ROCK, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SHADOW_BALL + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 80, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 20, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FUTURE_SIGHT + .effect = EFFECT_FUTURE_SIGHT, + .power = 80, + .type = TYPE_PSYCHIC, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = 0, + }, + { // MOVE_ROCK_SMASH + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 20, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 50, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_WHIRLPOOL + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_WATER, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_BEAT_UP + .effect = EFFECT_BEAT_UP, + .power = 10, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_FAKE_OUT + .effect = EFFECT_FAKE_OUT, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 1, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_UPROAR + .effect = EFFECT_UPROAR, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_RANDOM, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_STOCKPILE + .effect = EFFECT_STOCKPILE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_SPIT_UP + .effect = EFFECT_SPIT_UP, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SWALLOW + .effect = EFFECT_SWALLOW, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_HEAT_WAVE + .effect = EFFECT_BURN_HIT, + .power = 100, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_HAIL + .effect = EFFECT_HAIL, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + }, + { // MOVE_TORMENT + .effect = EFFECT_TORMENT, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FLATTER + .effect = EFFECT_FLATTER, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_WILL_O_WISP + .effect = EFFECT_WILL_O_WISP, + .power = 0, + .type = TYPE_FIRE, + .accuracy = 75, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MEMENTO + .effect = EFFECT_MEMENTO, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FACADE + .effect = EFFECT_FACADE, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FOCUS_PUNCH + .effect = EFFECT_FOCUS_PUNCH, + .power = 150, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = -3, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED, + }, + { // MOVE_SMELLING_SALT + .effect = EFFECT_SMELLINGSALT, + .power = 60, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FOLLOW_ME + .effect = EFFECT_FOLLOW_ME, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 3, + .flags = 0, + }, + { // MOVE_NATURE_POWER + .effect = EFFECT_NATURE_POWER, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 0, + .flags = 0, + }, + { // MOVE_CHARGE + .effect = EFFECT_CHARGE, + .power = 0, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_TAUNT + .effect = EFFECT_TAUNT, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + }, + { // MOVE_HELPING_HAND + .effect = EFFECT_HELPING_HAND, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 5, + .flags = 0, + }, + { // MOVE_TRICK + .effect = EFFECT_TRICK, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ROLE_PLAY + .effect = EFFECT_ROLE_PLAY, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = 0, + }, + { // MOVE_WISH + .effect = EFFECT_WISH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + }, + { // MOVE_ASSIST + .effect = EFFECT_ASSIST, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 0, + .flags = 0, + }, + { // MOVE_INGRAIN + .effect = EFFECT_INGRAIN, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_SUPERPOWER + .effect = EFFECT_SUPERPOWER, + .power = 120, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MAGIC_COAT + .effect = EFFECT_MAGIC_COAT, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 4, + .flags = 0, + }, + { // MOVE_RECYCLE + .effect = EFFECT_RECYCLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_REVENGE + .effect = EFFECT_REVENGE, + .power = 60, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = -4, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_BRICK_BREAK + .effect = EFFECT_BRICK_BREAK, + .power = 75, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_YAWN + .effect = EFFECT_YAWN, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_KNOCK_OFF + .effect = EFFECT_KNOCK_OFF, + .power = 20, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ENDEAVOR + .effect = EFFECT_ENDEAVOR, + .power = 1, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ERUPTION + .effect = EFFECT_ERUPTION, + .power = 150, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SKILL_SWAP + .effect = EFFECT_SKILL_SWAP, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_IMPRISON + .effect = EFFECT_IMPRISON, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + }, + { // MOVE_REFRESH + .effect = EFFECT_REFRESH, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_GRUDGE + .effect = EFFECT_GRUDGE, + .power = 0, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SNATCH + .effect = EFFECT_SNATCH, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 4, + .flags = FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SECRET_POWER + .effect = EFFECT_SECRET_POWER, + .power = 70, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_DIVE + .effect = EFFECT_SEMI_INVULNERABLE, + .power = 60, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ARM_THRUST + .effect = EFFECT_MULTI_HIT, + .power = 15, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_CAMOUFLAGE + .effect = EFFECT_CAMOUFLAGE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_TAIL_GLOW + .effect = EFFECT_SPECIAL_ATTACK_UP_2, + .power = 0, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_LUSTER_PURGE + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT, + .power = 70, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 50, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MIST_BALL + .effect = EFFECT_SPECIAL_ATTACK_DOWN_HIT, + .power = 70, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 50, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_FEATHER_DANCE + .effect = EFFECT_ATTACK_DOWN_2, + .power = 0, + .type = TYPE_FLYING, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_TEETER_DANCE + .effect = EFFECT_TEETER_DANCE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_FOES_AND_ALLY, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + }, + { // MOVE_BLAZE_KICK + .effect = EFFECT_BLAZE_KICK, + .power = 85, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MUD_SPORT + .effect = EFFECT_MUD_SPORT, + .power = 0, + .type = TYPE_GROUND, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_ICE_BALL + .effect = EFFECT_ROLLOUT, + .power = 30, + .type = TYPE_ICE, + .accuracy = 90, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_NEEDLE_ARM + .effect = EFFECT_FLINCH_MINIMIZE_HIT, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SLACK_OFF + .effect = EFFECT_RESTORE_HP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_HYPER_VOICE + .effect = EFFECT_HIT, + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_POISON_FANG + .effect = EFFECT_POISON_FANG, + .power = 50, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_CRUSH_CLAW + .effect = EFFECT_DEFENSE_DOWN_HIT, + .power = 75, + .type = TYPE_NORMAL, + .accuracy = 95, + .pp = 10, + .secondaryEffectChance = 50, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_BLAST_BURN + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_HYDRO_CANNON + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_WATER, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_METEOR_MASH + .effect = EFFECT_ATTACK_UP_HIT, + .power = 100, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 20, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ASTONISH + .effect = EFFECT_FLINCH_MINIMIZE_HIT, + .power = 30, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_WEATHER_BALL + .effect = EFFECT_WEATHER_BALL, + .power = 50, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_AROMATHERAPY + .effect = EFFECT_HEAL_BELL, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_FAKE_TEARS + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_AIR_CUTTER + .effect = EFFECT_HIGH_CRITICAL, + .power = 55, + .type = TYPE_FLYING, + .accuracy = 95, + .pp = 25, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_OVERHEAT + .effect = EFFECT_OVERHEAT, + .power = 140, + .type = TYPE_FIRE, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ODOR_SLEUTH + .effect = EFFECT_FORESIGHT, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_ROCK_TOMB + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 50, + .type = TYPE_ROCK, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SILVER_WIND + .effect = EFFECT_ALL_STATS_UP_HIT, + .power = 60, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_METAL_SOUND + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_2, + .power = 0, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_GRASS_WHISTLE + .effect = EFFECT_SLEEP, + .power = 0, + .type = TYPE_GRASS, + .accuracy = 55, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_TICKLE + .effect = EFFECT_TICKLE, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_COSMIC_POWER + .effect = EFFECT_COSMIC_POWER, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_WATER_SPOUT + .effect = EFFECT_ERUPTION, + .power = 150, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SIGNAL_BEAM + .effect = EFFECT_CONFUSE_HIT, + .power = 75, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SHADOW_PUNCH + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_GHOST, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_EXTRASENSORY + .effect = EFFECT_FLINCH_MINIMIZE_HIT, + .power = 80, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_SKY_UPPERCUT + .effect = EFFECT_SKY_UPPERCUT, + .power = 85, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SAND_TOMB + .effect = EFFECT_TRAP, + .power = 15, + .type = TYPE_GROUND, + .accuracy = 70, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SHEER_COLD + .effect = EFFECT_OHKO, + .power = 1, + .type = TYPE_ICE, + .accuracy = 30, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_MUDDY_WATER + .effect = EFFECT_ACCURACY_DOWN_HIT, + .power = 95, + .type = TYPE_WATER, + .accuracy = 85, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_BULLET_SEED + .effect = EFFECT_MULTI_HIT, + .power = 10, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_AERIAL_ACE + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_FLYING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_ICICLE_SPEAR + .effect = EFFECT_MULTI_HIT, + .power = 10, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 30, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_IRON_DEFENSE + .effect = EFFECT_DEFENSE_UP_2, + .power = 0, + .type = TYPE_STEEL, + .accuracy = 0, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_BLOCK + .effect = EFFECT_MEAN_LOOK, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGICCOAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_HOWL + .effect = EFFECT_ATTACK_UP, + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 40, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_DRAGON_CLAW + .effect = EFFECT_HIT, + .power = 80, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_FRENZY_PLANT + .effect = EFFECT_RECHARGE, + .power = 150, + .type = TYPE_GRASS, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_BULK_UP + .effect = EFFECT_BULK_UP, + .power = 0, + .type = TYPE_FIGHTING, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_BOUNCE + .effect = EFFECT_SEMI_INVULNERABLE, + .power = 85, + .type = TYPE_FLYING, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_MUD_SHOT + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 55, + .type = TYPE_GROUND, + .accuracy = 95, + .pp = 15, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_POISON_TAIL + .effect = EFFECT_POISON_TAIL, + .power = 50, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 25, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_COVET + .effect = EFFECT_THIEF, + .power = 40, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 40, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + }, + { // MOVE_VOLT_TACKLE + .effect = EFFECT_DOUBLE_EDGE, + .power = 120, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_MAGICAL_LEAF + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_WATER_SPORT + .effect = EFFECT_WATER_SPORT, + .power = 0, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + }, + { // MOVE_CALM_MIND + .effect = EFFECT_CALM_MIND, + .power = 0, + .type = TYPE_PSYCHIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_LEAF_BLADE + .effect = EFFECT_HIGH_CRITICAL, + .power = 70, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_DRAGON_DANCE + .effect = EFFECT_DRAGON_DANCE, + .power = 0, + .type = TYPE_DRAGON, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + }, + { // MOVE_ROCK_BLAST + .effect = EFFECT_MULTI_HIT, + .power = 25, + .type = TYPE_ROCK, + .accuracy = 80, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_SHOCK_WAVE + .effect = EFFECT_ALWAYS_HIT, + .power = 60, + .type = TYPE_ELECTRIC, + .accuracy = 0, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_WATER_PULSE + .effect = EFFECT_CONFUSE_HIT, + .power = 60, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 20, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, + { // MOVE_DOOM_DESIRE + .effect = EFFECT_FUTURE_SIGHT, + .power = 120, + .type = TYPE_STEEL, + .accuracy = 85, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = 0, + }, + { // MOVE_PSYCHO_BOOST + .effect = EFFECT_OVERHEAT, + .power = 140, + .type = TYPE_PSYCHIC, + .accuracy = 90, + .pp = 5, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGSROCK_AFFECTED, + }, +}; + +#endif // GUARD_DATA_BATTLE_MOVES diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h new file mode 100644 index 000000000..ae560c833 --- /dev/null +++ b/src/data/contest_moves.h @@ -0,0 +1,3008 @@ +const struct ContestMove gContestMoves[MOVES_COUNT] = +{ + [MOVE_NONE] = {0}, + + [MOVE_POUND] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_POUND, + .comboMoves = {0}, + }, + + [MOVE_KARATE_CHOP] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_DOUBLE_SLAP] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_POUND}, + }, + + [MOVE_COMET_PUNCH] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MEGA_PUNCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, + }, + + [MOVE_PAY_DAY] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FIRE_PUNCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_FIRE_PUNCH, + .comboMoves = {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_ICE_PUNCH}, + }, + + [MOVE_ICE_PUNCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_ICE_PUNCH, + .comboMoves = {COMBO_STARTER_THUNDER_PUNCH, COMBO_STARTER_FIRE_PUNCH}, + }, + + [MOVE_THUNDER_PUNCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_THUNDER_PUNCH, + .comboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH}, + }, + + [MOVE_SCRATCH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SCRATCH, + .comboMoves = {COMBO_STARTER_LEER}, + }, + + [MOVE_VICE_GRIP] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_VICE_GRIP, + .comboMoves = {0}, + }, + + [MOVE_GUILLOTINE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_VICE_GRIP}, + }, + + [MOVE_RAZOR_WIND] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SWORDS_DANCE] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_SWORDS_DANCE, + .comboMoves = {0}, + }, + + [MOVE_CUT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_GUST] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WING_ATTACK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WHIRLWIND] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FLY] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BIND] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_VICE_GRIP}, + }, + + [MOVE_SLAM] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_POUND}, + }, + + [MOVE_VINE_WHIP] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_STOMP] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0,{0, COMBO_STARTER_LEER}, + }, + + [MOVE_DOUBLE_KICK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MEGA_KICK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, + }, + + [MOVE_JUMP_KICK] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MIND_READER}, + }, + + [MOVE_ROLLING_KICK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SAND_ATTACK] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_SAND_ATTACK, + .comboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM}, + }, + + [MOVE_HEADBUTT] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_HORN_ATTACK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_HORN_ATTACK, + .comboMoves = {COMBO_STARTER_LEER}, + }, + + [MOVE_FURY_ATTACK] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK}, + }, + + [MOVE_HORN_DRILL] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HORN_ATTACK}, + }, + + [MOVE_TACKLE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_LEER, COMBO_STARTER_HARDEN}, + }, + + [MOVE_BODY_SLAM] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WRAP] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TAKE_DOWN] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, + }, + + [MOVE_THRASH] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAGE}, + }, + + [MOVE_DOUBLE_EDGE] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, + }, + + [MOVE_TAIL_WHIP] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARM}, + }, + + [MOVE_POISON_STING] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TWINEEDLE] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PIN_MISSILE] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LEER] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_LEER, + .comboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE}, + }, + + [MOVE_BITE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE}, + }, + + [MOVE_GROWL] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARM}, + }, + + [MOVE_ROAR] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SING] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_SING, + .comboMoves = {0}, + }, + + [MOVE_SUPERSONIC] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SONIC_BOOM] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DISABLE] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ACID] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_EMBER] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_FLAMETHROWER] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MIST] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WATER_GUN] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT, COMBO_STARTER_MUD_SPORT}, + }, + + [MOVE_HYDRO_PUMP] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_SURF] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_SURF, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_DIVE}, + }, + + [MOVE_ICE_BEAM] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BLIZZARD] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_POWDER_SNOW, COMBO_STARTER_HAIL}, + }, + + [MOVE_PSYBEAM] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_BUBBLE_BEAM] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_AURORA_BEAM] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_HYPER_BEAM] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PECK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_PECK, + .comboMoves = {0}, + }, + + [MOVE_DRILL_PECK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_PECK}, + }, + + [MOVE_SUBMISSION] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MIND_READER}, + }, + + [MOVE_LOW_KICK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_COUNTER] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_TAUNT}, + }, + + [MOVE_SEISMIC_TOSS] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FAKE_OUT}, + }, + + [MOVE_STRENGTH] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ABSORB] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_MEGA_DRAIN] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_LEECH_SEED] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_GROWTH] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_GROWTH, + .comboMoves = {0}, + }, + + [MOVE_RAZOR_LEAF] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_SOLAR_BEAM] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_GROWTH}, + }, + + [MOVE_POISON_POWDER] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWEET_SCENT}, + }, + + [MOVE_STUN_SPORE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWEET_SCENT}, + }, + + [MOVE_SLEEP_POWDER] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWEET_SCENT}, + }, + + [MOVE_PETAL_DANCE] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_STRING_SHOT] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_STRING_SHOT, + .comboMoves = {0}, + }, + + [MOVE_DRAGON_RAGE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_DRAGON_RAGE, + .comboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE}, + }, + + [MOVE_FIRE_SPIN] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_THUNDER_SHOCK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_THUNDERBOLT] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_THUNDER_WAVE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_THUNDER] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_ROCK_THROW] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_ROCK_THROW, + .comboMoves = {0}, + }, + + [MOVE_EARTHQUAKE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_EARTHQUAKE, + .comboMoves = {0}, + }, + + [MOVE_FISSURE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_EARTHQUAKE}, + }, + + [MOVE_DIG] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TOXIC] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CONFUSION] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_CONFUSION, + .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_PSYCHIC] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_PSYCHIC, + .comboMoves = {COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_HYPNOSIS] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_HYPNOSIS, + .comboMoves = {0}, + }, + + [MOVE_MEDITATE] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_AGILITY] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DOUBLE_TEAM}, + }, + + [MOVE_QUICK_ATTACK] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DOUBLE_TEAM}, + }, + + [MOVE_RAGE] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_RAGE, + .comboMoves = {0}, + }, + + [MOVE_TELEPORT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION}, + }, + + [MOVE_NIGHT_SHADE] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MIMIC] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SCREECH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DOUBLE_TEAM] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_DOUBLE_TEAM, + .comboMoves = {0}, + }, + + [MOVE_RECOVER] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_HARDEN] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_HARDEN, + .comboMoves = {0}, + }, + + [MOVE_MINIMIZE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SMOKESCREEN] = + { + .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SMOG}, + }, + + [MOVE_CONFUSE_RAY] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WITHDRAW] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_DEFENSE_CURL] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_DEFENSE_CURL, + .comboMoves = {0}, + }, + + [MOVE_BARRIER] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LIGHT_SCREEN] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_HAZE] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_REFLECT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_FOCUS_ENERGY] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_FOCUS_ENERGY, + .comboMoves = {0}, + }, + + [MOVE_BIDE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_METRONOME] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MIRROR_MOVE] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SELF_DESTRUCT] = + { + .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_EGG_BOMB] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SOFT_BOILED}, + }, + + [MOVE_LICK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SMOG] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SMOG, + .comboMoves = {0}, + }, + + [MOVE_SLUDGE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SLUDGE, + .comboMoves = {COMBO_STARTER_SLUDGE_BOMB}, + }, + + [MOVE_BONE_CLUB] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_BONE_CLUB, + .comboMoves = {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH}, + }, + + [MOVE_FIRE_BLAST] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_WATERFALL] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_CLAMP] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_SWIFT] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SKULL_BASH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SPIKE_CANNON] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CONSTRICT] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_AMNESIA] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_KINESIS] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_KINESIS, + .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_CONFUSION}, + }, + + [MOVE_SOFT_BOILED] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_SOFT_BOILED, + .comboMoves = {0}, + }, + + [MOVE_HI_JUMP_KICK] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MIND_READER}, + }, + + [MOVE_GLARE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LEER}, + }, + + [MOVE_DREAM_EATER] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HYPNOSIS, COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_POISON_GAS] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BARRAGE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LEECH_LIFE] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LOVELY_KISS] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SKY_ATTACK] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TRANSFORM] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BUBBLE] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_DIZZY_PUNCH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SPORE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FLASH] = + { + .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PSYWAVE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_SPLASH] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ACID_ARMOR] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CRABHAMMER] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_EXPLOSION] = + { + .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FURY_SWIPES] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SCRATCH}, + }, + + [MOVE_BONEMERANG] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_BONEMERANG, + .comboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH}, + }, + + [MOVE_REST] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_REST, + .comboMoves = {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN}, + }, + + [MOVE_ROCK_SLIDE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ROCK_THROW}, + }, + + [MOVE_HYPER_FANG] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SHARPEN] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CONVERSION] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TRI_ATTACK] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_SUPER_FANG] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SCARY_FACE}, + }, + + [MOVE_SLASH] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE, COMBO_STARTER_SCRATCH}, + }, + + [MOVE_SUBSTITUTE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_STRUGGLE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SKETCH] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TRIPLE_KICK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_THIEF] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SPIDER_WEB] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_STRING_SHOT}, + }, + + [MOVE_MIND_READER] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_MIND_READER, + .comboMoves = {0}, + }, + + [MOVE_NIGHTMARE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HYPNOSIS}, + }, + + [MOVE_FLAME_WHEEL] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_SNORE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_REST}, + }, + + [MOVE_CURSE] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_CURSE, + .comboMoves = {0}, + }, + + [MOVE_FLAIL] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE}, + }, + + [MOVE_CONVERSION_2] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_AEROBLAST] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_COTTON_SPORE] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_REVERSAL] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE}, + }, + + [MOVE_SPITE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CURSE}, + }, + + [MOVE_POWDER_SNOW] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_POWDER_SNOW, + .comboMoves = {COMBO_STARTER_HAIL}, + }, + + [MOVE_PROTECT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_HARDEN}, + }, + + [MOVE_MACH_PUNCH] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SCARY_FACE] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SCARY_FACE, + .comboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_LEER}, + }, + + [MOVE_FAINT_ATTACK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND}, + }, + + [MOVE_SWEET_KISS] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARM}, + }, + + [MOVE_BELLY_DRUM] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_BELLY_DRUM, + .comboMoves = {0}, + }, + + [MOVE_SLUDGE_BOMB] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SLUDGE_BOMB, + .comboMoves = {COMBO_STARTER_SLUDGE}, + }, + + [MOVE_MUD_SLAP] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_MUD_SLAP, + .comboMoves = {COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SANDSTORM}, + }, + + [MOVE_OCTAZOOKA] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_SPIKES] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ZAP_CANNON] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_FORESIGHT] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DESTINY_BOND] = + { + .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE}, + }, + + [MOVE_PERISH_SONG] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING}, + }, + + [MOVE_ICY_WIND] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DETECT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_TAUNT}, + }, + + [MOVE_BONE_RUSH] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_BONE_RUSH, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG}, + }, + + [MOVE_LOCK_ON] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_LOCK_ON, + .comboMoves = {0}, + }, + + [MOVE_OUTRAGE] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SANDSTORM] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_SANDSTORM, + .comboMoves = {0}, + }, + + [MOVE_GIGA_DRAIN] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_ENDURE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_ENDURE, + .comboMoves = {0}, + }, + + [MOVE_CHARM] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_CHARM, + .comboMoves = {0}, + }, + + [MOVE_ROLLOUT] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN}, + }, + + [MOVE_FALSE_SWIPE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_SWAGGER] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MILK_DRINK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SPARK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_FURY_CUTTER] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_STEEL_WING] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MEAN_LOOK] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_MEAN_LOOK, + .comboMoves = {COMBO_STARTER_CURSE}, + }, + + [MOVE_ATTRACT] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SLEEP_TALK] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_REST}, + }, + + [MOVE_HEAL_BELL] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_RETURN] = + { + .effect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PRESENT] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FRUSTRATION] = + { + .effect = CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SAFEGUARD] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PAIN_SPLIT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE}, + }, + + [MOVE_SACRED_FIRE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MAGNITUDE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DYNAMIC_PUNCH] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, + }, + + [MOVE_MEGAHORN] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DRAGON_BREATH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_DRAGON_BREATH, + .comboMoves = {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE}, + }, + + [MOVE_BATON_PASS] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ENCORE] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PURSUIT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_RAPID_SPIN] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SWEET_SCENT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_SWEET_SCENT, + .comboMoves = {0}, + }, + + [MOVE_IRON_TAIL] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_METAL_CLAW] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_METAL_SOUND}, + }, + + [MOVE_VITAL_THROW] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FAKE_OUT}, + }, + + [MOVE_MORNING_SUN] = + { + .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_SYNTHESIS] = + { + .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MOONLIGHT] = + { + .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_HIDDEN_POWER] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CROSS_CHOP] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_TWISTER] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_RAIN_DANCE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_RAIN_DANCE, + .comboMoves = {0}, + }, + + [MOVE_SUNNY_DAY] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_SUNNY_DAY, + .comboMoves = {0}, + }, + + [MOVE_CRUNCH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SCARY_FACE}, + }, + + [MOVE_MIRROR_COAT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_TAUNT}, + }, + + [MOVE_PSYCH_UP] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_EXTREME_SPEED] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_EARLIER, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ANCIENT_POWER] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SHADOW_BALL] = + { + .effect = CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FUTURE_SIGHT] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_PSYCHIC, COMBO_STARTER_KINESIS, COMBO_STARTER_CONFUSION, COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_ROCK_SMASH] = + { + .effect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WHIRLPOOL] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_BEAT_UP] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FAKE_OUT] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_FAKE_OUT, + .comboMoves = {0}, + }, + + [MOVE_UPROAR] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_STOCKPILE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = COMBO_STARTER_STOCKPILE, + .comboMoves = {0}, + }, + + [MOVE_SPIT_UP] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_STOCKPILE}, + }, + + [MOVE_SWALLOW] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_STOCKPILE}, + }, + + [MOVE_HEAT_WAVE] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_HAIL] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_HAIL, + .comboMoves = {0}, + }, + + [MOVE_TORMENT] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FLATTER] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARM}, + }, + + [MOVE_WILL_O_WISP] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MEMENTO] = + { + .effect = CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FACADE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FOCUS_PUNCH] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_SMELLING_SALT] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FOLLOW_ME] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_NATURE_POWER] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CHARGE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_CHARGE, + .comboMoves = {0}, + }, + + [MOVE_TAUNT] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_TAUNT, + .comboMoves = {0}, + }, + + [MOVE_HELPING_HAND] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TRICK] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ROLE_PLAY] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WISH] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ASSIST] = + { + .effect = CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_INGRAIN] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SUPERPOWER] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_LOCK_ON}, + }, + + [MOVE_MAGIC_COAT] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_RECYCLE] = + { + .effect = CONTEST_EFFECT_REPETITION_NOT_BORING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_REVENGE] = + { + .effect = CONTEST_EFFECT_NEXT_APPEAL_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BRICK_BREAK] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_YAWN] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_YAWN, + .comboMoves = {0}, + }, + + [MOVE_KNOCK_OFF] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FAKE_OUT}, + }, + + [MOVE_ENDEAVOR] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE}, + }, + + [MOVE_ERUPTION] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ENDURE, COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_SKILL_SWAP] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_IMPRISON] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_REFRESH] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_WATER_SPORT, COMBO_STARTER_SING}, + }, + + [MOVE_GRUDGE] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CURSE}, + }, + + [MOVE_SNATCH] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SECRET_POWER] = + { + .effect = CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DIVE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = COMBO_STARTER_DIVE, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF}, + }, + + [MOVE_ARM_THRUST] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_FAKE_OUT}, + }, + + [MOVE_CAMOUFLAGE] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TAIL_GLOW] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_LUSTER_PURGE] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_MIST_BALL] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, + + [MOVE_FEATHER_DANCE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TEETER_DANCE] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BLAZE_KICK] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_MUD_SPORT] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_MUD_SPORT, + .comboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_WATER_SPORT}, + }, + + [MOVE_ICE_BALL] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_NEEDLE_ARM] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SLACK_OFF] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_YAWN}, + }, + + [MOVE_HYPER_VOICE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_POISON_FANG] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_CRUSH_CLAW] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SWORDS_DANCE}, + }, + + [MOVE_BLAST_BURN] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_HYDRO_CANNON] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_METEOR_MASH] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ASTONISH] = + { + .effect = CONTEST_EFFECT_STARTLE_PREV_MON, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WEATHER_BALL] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_HAIL, COMBO_STARTER_SANDSTORM}, + }, + + [MOVE_AROMATHERAPY] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_FAKE_TEARS] = + { + .effect = CONTEST_EFFECT_BETTER_IF_LAST, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_AIR_CUTTER] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_OVERHEAT] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SUNNY_DAY}, + }, + + [MOVE_ODOR_SLEUTH] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ROCK_TOMB] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_ROCK_THROW}, + }, + + [MOVE_SILVER_WIND] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_METAL_SOUND] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_METAL_SOUND, + .comboMoves = {0}, + }, + + [MOVE_GRASS_WHISTLE] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_TICKLE] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_COSMIC_POWER] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_WATER_SPOUT] = + { + .effect = CONTEST_EFFECT_BETTER_WHEN_LATER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_SIGNAL_BEAM] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SHADOW_PUNCH] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_EXTRASENSORY] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SKY_UPPERCUT] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_FOCUS_ENERGY}, + }, + + [MOVE_SAND_TOMB] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_SANDSTORM}, + }, + + [MOVE_SHEER_COLD] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MUDDY_WATER] = + { + .effect = CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_BULLET_SEED] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_AERIAL_ACE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_ICICLE_SPEAR] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_IRON_DEFENSE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BLOCK] = + { + .effect = CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_HOWL] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DRAGON_CLAW] = + { + .effect = CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_DANCE}, + }, + + [MOVE_FRENZY_PLANT] = + { + .effect = CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_BULK_UP] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_BOUNCE] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_MUD_SHOT] = + { + .effect = CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_POISON_TAIL] = + { + .effect = CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_COVET] = + { + .effect = CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_VOLT_TACKLE] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_MAGICAL_LEAF] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_GROWTH}, + }, + + [MOVE_WATER_SPORT] = + { + .effect = CONTEST_EFFECT_HIGHLY_APPEALING, + .contestCategory = CONTEST_CATEGORY_CUTE, + .comboStarterId = COMBO_STARTER_WATER_SPORT, + .comboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_MUD_SPORT}, + }, + + [MOVE_CALM_MIND] = + { + .effect = CONTEST_EFFECT_AVOID_STARTLE_ONCE, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = COMBO_STARTER_CALM_MIND, + .comboMoves = {0}, + }, + + [MOVE_LEAF_BLADE] = + { + .effect = CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_DRAGON_DANCE] = + { + .effect = CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = COMBO_STARTER_DRAGON_DANCE, + .comboMoves = {COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_BREATH}, + }, + + [MOVE_ROCK_BLAST] = + { + .effect = CONTEST_EFFECT_BETTER_IF_SAME_TYPE, + .contestCategory = CONTEST_CATEGORY_TOUGH, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_SHOCK_WAVE] = + { + .effect = CONTEST_EFFECT_BETTER_IF_FIRST, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CHARGE}, + }, + + [MOVE_WATER_PULSE] = + { + .effect = CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER, + .contestCategory = CONTEST_CATEGORY_BEAUTY, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_RAIN_DANCE}, + }, + + [MOVE_DOOM_DESIRE] = + { + .effect = CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, + .contestCategory = CONTEST_CATEGORY_COOL, + .comboStarterId = 0, + .comboMoves = {0}, + }, + + [MOVE_PSYCHO_BOOST] = + { + .effect = CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, + .contestCategory = CONTEST_CATEGORY_SMART, + .comboStarterId = 0, + .comboMoves = {COMBO_STARTER_CALM_MIND}, + }, +}; + +const struct ContestEffect gContestEffects[] = +{ + {0, 40, 0}, // CONTEST_EFFECT_HIGHLY_APPEALING + {0, 60, 0}, // CONTEST_EFFECT_USER_MORE_EASILY_STARTLED + {0, 80, 0}, // CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES + {0, 30, 0}, // CONTEST_EFFECT_REPETITION_NOT_BORING + {1, 20, 0}, // CONTEST_EFFECT_AVOID_STARTLE_ONCE + {1, 10, 0}, // CONTEST_EFFECT_AVOID_STARTLE + {1, 30, 0}, // CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY + {1, 30, 0}, // CONTEST_EFFECT_USER_LESS_EASILY_STARTLED + {2, 30, 20}, // CONTEST_EFFECT_STARTLE_FRONT_MON + {3, 30, 10}, // CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS + {2, 20, 30}, // CONTEST_EFFECT_STARTLE_PREV_MON + {3, 20, 20}, // CONTEST_EFFECT_STARTLE_PREV_MONS + {2, 10, 40}, // CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON + {3, 10, 30}, // CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS + {2, 30, 20}, // CONTEST_EFFECT_STARTLE_PREV_MON_2 + {3, 30, 10}, // CONTEST_EFFECT_STARTLE_PREV_MONS_2 + {4, 30, 0}, // CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION + {3, 40, 40}, // CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL + {3, 20, 10}, // CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL + {4, 20, 0}, // CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS + {4, 20, 0}, // CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS + {4, 30, 0}, // CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS + {3, 30, 10}, // CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION + {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_FIRST + {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_LAST + {5, 10, 0}, // CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES + {5, 10, 0}, // CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE + {5, 10, 0}, // CONTEST_EFFECT_BETTER_WHEN_LATER + {5, 10, 0}, // CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING + {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_SAME_TYPE + {5, 20, 0}, // CONTEST_EFFECT_BETTER_IF_DIFF_TYPE + {5, 30, 0}, // CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL + {5, 10, 0}, // CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS + {5, 10, 0}, // CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION + {6, 30, 0}, // CONTEST_EFFECT_NEXT_APPEAL_EARLIER + {6, 30, 0}, // CONTEST_EFFECT_NEXT_APPEAL_LATER + {6, 30, 0}, // CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER + {6, 30, 0}, // CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER + {5, 10, 0}, // CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST + {3, 20, 10}, // CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS + {5, 10, 0}, // CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED + {4, 30, 0} // CONTEST_EFFECT_DONT_EXCITE_AUDIENCE +}; + +// A lookup table with TRUE for each combo starter ID and FALSE for ID 0, +// which means "not a combo starter move". +const bool8 gComboStarterLookupTable[] = +{ + FALSE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE, + TRUE +}; + +void (*const gContestEffectFuncs[])(void) = +{ + ContestEffect_HighlyAppealing, + ContestEffect_UserMoreEasilyStartled, + ContestEffect_GreatAppealButNoMoreMoves, + ContestEffect_RepetitionNotBoring, + ContestEffect_AvoidStartleOnce, + ContestEffect_AvoidStartle, + ContestEffect_AvoidStartleSlightly, + ContestEffect_UserLessEasilyStartled, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartleFrontMon, + ContestEffect_StartlePrevMons, + ContestEffect_StartlePrevMon2, + ContestEffect_StartlePrevMons2, + ContestEffect_ShiftJudgeAttention, + ContestEffect_StartleMonWithJudgesAttention, + ContestEffect_JamsOthersButMissOneTurn, + ContestEffect_StartleMonsSameTypeAppeal, + ContestEffect_StartleMonsCoolAppeal, + ContestEffect_StartleMonsBeautyAppeal, + ContestEffect_StartleMonsCuteAppeal, + ContestEffect_StartleMonsSmartAppeal, + ContestEffect_StartleMonsToughAppeal, + ContestEffect_MakeFollowingMonNervous, + ContestEffect_MakeFollowingMonsNervous, + ContestEffect_WorsenConditionOfPrevMons, + ContestEffect_BadlyStartlesMonsInGoodCondition, + ContestEffect_BetterIfFirst, + ContestEffect_BetterIfLast, + ContestEffect_AppealAsGoodAsPrevOnes, + ContestEffect_AppealAsGoodAsPrevOne, + ContestEffect_BetterWhenLater, + ContestEffect_QualityDependsOnTiming, + ContestEffect_BetterIfSameType, + ContestEffect_BetterIfDiffType, + ContestEffect_AffectedByPrevAppeal, + ContestEffect_ImproveConditionPreventNervousness, + ContestEffect_BetterWithGoodCondition, + ContestEffect_NextAppealEarlier, + ContestEffect_NextAppealLater, + ContestEffect_MakeScramblingTurnOrderEasier, + ContestEffect_ScrambleNextTurnOrder, + ContestEffect_ExciteAudienceInAnyContest, + ContestEffect_BadlyStartleMonsWithGoodAppeals, + ContestEffect_BetterWhenAudienceExcited, + ContestEffect_DontExciteAudience, +}; diff --git a/src/data/decoration/description.h b/src/data/decoration/description.h new file mode 100644 index 000000000..ba4c3dd54 --- /dev/null +++ b/src/data/decoration/description.h @@ -0,0 +1,581 @@ +// +// Created by scott on 10/21/2017. +// + +#ifndef GUARD_DATA_DECORATION_DESCRIPTION_H +#define GUARD_DATA_DECORATION_DESCRIPTION_H + +const u8 DecorDesc_SMALL_DESK[] = _( + "A small desk built\n" + "for one."); + +const u8 DecorDesc_POKEMON_DESK[] = _( + "A small desk built in\n" + "the shape of a POKé\n" + "BALL."); + +const u8 DecorDesc_HEAVY_DESK[] = _( + "A large desk made\n" + "of steel. Put some\n" + "decorations on it."); + +const u8 DecorDesc_RAGGED_DESK[] = _( + "A large desk made\n" + "of wood. Put some\n" + "decorations on it."); + +const u8 DecorDesc_COMFORT_DESK[] = _( + "A large desk made\n" + "of leaves. Put some\n" + "decorations on it."); + +const u8 DecorDesc_PRETTY_DESK[] = _( + "A huge desk made\n" + "of glass. Holds lots\n" + "of decorations."); + +const u8 DecorDesc_BRICK_DESK[] = _( + "A huge desk made\n" + "of brick. Holds lots\n" + "of decorations."); + +const u8 DecorDesc_CAMP_DESK[] = _( + "A huge desk made\n" + "of logs. Put lots of\n" + "decorations on it."); + +const u8 DecorDesc_HARD_DESK[] = _( + "A huge desk made\n" + "of rocks. Holds\n" + "many decorations."); + +const u8 DecorDesc_SMALL_CHAIR[] = _( + "A small chair made\n" + "for one."); + +const u8 DecorDesc_POKEMON_CHAIR[] = _( + "A small chair built\n" + "in the shape of a\n" + "POKé BALL."); + +const u8 DecorDesc_HEAVY_CHAIR[] = _( + "A small chair made\n" + "of steel."); + +const u8 DecorDesc_PRETTY_CHAIR[] = _( + "A small chair made\n" + "of glass."); + +const u8 DecorDesc_COMFORT_CHAIR[] = _( + "A small chair made\n" + "of leaves."); + +const u8 DecorDesc_RAGGED_CHAIR[] = _( + "A small chair made\n" + "of wood."); + +const u8 DecorDesc_BRICK_CHAIR[] = _( + "A small chair made\n" + "of brick."); + +const u8 DecorDesc_CAMP_CHAIR[] = _( + "A small chair made\n" + "of logs."); + +const u8 DecorDesc_HARD_CHAIR[] = _( + "A small chair made\n" + "of rock."); + +const u8 DecorDesc_RED_PLANT[] = _( + "A vivid red potted\n" + "plant."); + +const u8 DecorDesc_TROPICAL_PLANT[] = _( + "A flowering tropical\n" + "plant in a pot."); + +const u8 DecorDesc_PRETTY_FLOWERS[] = _( + "A pot of cute\n" + "flowers."); + +const u8 DecorDesc_COLORFUL_PLANT[] = _( + "A large pot with\n" + "many colorful\n" + "flowers."); + +const u8 DecorDesc_BIG_PLANT[] = _( + "A large, umbrella-\n" + "shaped plant in a\n" + "big pot."); + +const u8 DecorDesc_GORGEOUS_PLANT[] = _( + "A large, impressive\n" + "plant in a big pot."); + +const u8 DecorDesc_RED_BRICK[] = _( + "A red-colored brick.\n" + "Decorations can be\n" + "placed on top."); + +const u8 DecorDesc_YELLOW_BRICK[] = _( + "A yellow-colored\n" + "brick. Put some\n" + "decorations on top."); + +const u8 DecorDesc_BLUE_BRICK[] = _( + "A blue-colored\n" + "brick. Put some\n" + "decorations on top."); + +const u8 DecorDesc_RED_BALLOON[] = _( + "A red balloon filled\n" + "with water. Bursts\n" + "if stepped on."); + +const u8 DecorDesc_BLUE_BALLOON[] = _( + "A blue balloon filled\n" + "with water. Bursts\n" + "if stepped on."); + +const u8 DecorDesc_YELLOW_BALLOON[] = _( + "A yellow balloon\n" + "filled with water.\n" + "Pops if stepped on."); + +const u8 DecorDesc_RED_TENT[] = _( + "A large red tent.\n" + "You can hide inside\n" + "it."); + +const u8 DecorDesc_BLUE_TENT[] = _( + "A large blue tent.\n" + "You can hide inside\n" + "it."); + +const u8 DecorDesc_SOLID_BOARD[] = _( + "Place over a hole to\n" + "cross to the other\n" + "side."); + +const u8 DecorDesc_SLIDE[] = _( + "Use to slide down\n" + "from the platform."); + +const u8 DecorDesc_FENCE_LENGTH[] = _( + "A small fence that\n" + "blocks passage."); + +const u8 DecorDesc_FENCE_WIDTH[] = _( + "A small fence that\n" + "blocks passage."); + +const u8 DecorDesc_TIRE[] = _( + "An old large tire.\n" + "Decorations can be\n" + "placed on top."); + +const u8 DecorDesc_STAND[] = _( + "A large pedestal\n" + "with steps."); + +const u8 DecorDesc_MUD_BALL[] = _( + "A large ball of mud.\n" + "Crumbles if stepped\n" + "on."); + +const u8 DecorDesc_BREAKABLE_DOOR[] = _( + "A weird door that\n" + "people can walk\n" + "right through."); + +const u8 DecorDesc_SAND_ORNAMENT[] = _( + "An ornament made\n" + "of sand. Crumbles if\n" + "touched."); + +const u8 DecorDesc_SILVER_SHIELD[] = _( + "Awarded for 50\n" + "straight wins at\n" + "the BATTLE TOWER."); + +const u8 DecorDesc_GOLD_SHIELD[] = _( + "Awarded for 100\n" + "straight wins at\n" + "the BATTLE TOWER."); + +const u8 DecorDesc_GLASS_ORNAMENT[] = _( + "A glass replica of\n" + "a famous sculpture\n" + "at the ART MUSEUM."); + +const u8 DecorDesc_TV[] = _( + "A small, gray-\n" + "colored toy TV."); + +const u8 DecorDesc_ROUND_TV[] = _( + "A toy TV modeled\n" + "in the image of a\n" + "SEEDOT."); + +const u8 DecorDesc_CUTE_TV[] = _( + "A toy TV modeled\n" + "in the image of a\n" + "SKITTY."); + +const u8 DecorDesc_GLITTER_MAT[] = _( + "An odd mat that\n" + "glitters if stepped\n" + "on."); + +const u8 DecorDesc_JUMP_MAT[] = _( + "A trick mat that\n" + "jumps when it is\n" + "stepped on."); + +const u8 DecorDesc_SPIN_MAT[] = _( + "A trick mat that\n" + "spins around when\n" + "stepped on."); + +const u8 DecorDesc_C_LOW_NOTE_MAT[] = _( + "A mat that plays\n" + "a low C note when\n" + "stepped on."); + +const u8 DecorDesc_D_NOTE_MAT[] = _( + "A mat that plays\n" + "a D note when\n" + "stepped on."); + +const u8 DecorDesc_E_NOTE_MAT[] = _( + "A mat that plays\n" + "an E note when\n" + "stepped on."); + +const u8 DecorDesc_F_NOTE_MAT[] = _( + "A mat that plays\n" + "an F note when\n" + "stepped on."); + +const u8 DecorDesc_G_NOTE_MAT[] = _( + "A mat that plays\n" + "a G note when\n" + "stepped on."); + +const u8 DecorDesc_A_NOTE_MAT[] = _( + "A mat that plays\n" + "an A note when\n" + "stepped on."); + +const u8 DecorDesc_B_NOTE_MAT[] = _( + "A mat that plays\n" + "a B note when\n" + "stepped on."); + +const u8 DecorDesc_C_HIGH_NOTE_MAT[] = _( + "A mat that plays\n" + "a high C note when\n" + "stepped on."); + +const u8 DecorDesc_SURF_MAT[] = _( + "A mat designed with\n" + "a SURF image.\n" + "Put items on top."); + +const u8 DecorDesc_THUNDER_MAT[] = _( + "A mat designed with\n" + "a THUNDER image.\n" + "Put items on top."); + +const u8 DecorDesc_FIRE_BLAST_MAT[] = _( + "A mat designed with\n" + "a FIRE BLAST image.\n" + "Put items on top."); + +const u8 DecorDesc_POWDER_SNOW_MAT[] = _( + "A mat with a POWDER\n" + "SNOW image design.\n" + "Put items on top."); + +const u8 DecorDesc_ATTRACT_MAT[] = _( + "A mat designed with\n" + "an ATTRACT image.\n" + "Put items on top."); + +const u8 DecorDesc_FISSURE_MAT[] = _( + "A mat designed with\n" + "a FISSURE image.\n" + "Put items on top."); + +const u8 DecorDesc_SPIKES_MAT[] = _( + "A mat designed with\n" + "a SPIKES image.\n" + "Put items on top."); + +const u8 DecorDesc_BALL_POSTER[] = _( + "A small poster\n" + "printed with POKé\n" + "BALLS."); + +const u8 DecorDesc_GREEN_POSTER[] = _( + "A small poster with\n" + "a TREECKO print."); + +const u8 DecorDesc_RED_POSTER[] = _( + "A small poster with\n" + "a TORCHIC print."); + +const u8 DecorDesc_BLUE_POSTER[] = _( + "A small poster with\n" + "a MUDKIP print."); + +const u8 DecorDesc_CUTE_POSTER[] = _( + "A small poster with\n" + "an AZURILL print."); + +const u8 DecorDesc_PIKA_POSTER[] = _( + "A large poster with\n" + "a PIKACHU and\n" + "PICHU print."); + +const u8 DecorDesc_LONG_POSTER[] = _( + "A large poster with\n" + "a SEVIPER print."); + +const u8 DecorDesc_SEA_POSTER[] = _( + "A large poster with\n" + "a RELICANTH print."); + +const u8 DecorDesc_SKY_POSTER[] = _( + "A large poster with\n" + "a WINGULL print."); + +const u8 DecorDesc_KISS_POSTER[] = _( + "A large poster with\n" + "a SMOOCHUM print."); + +const u8 DecorDesc_PICHU_DOLL[] = _( + "A PICHU doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_PIKACHU_DOLL[] = _( + "A PIKACHU doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_MARILL_DOLL[] = _( + "A MARILL doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_TOGEPI_DOLL[] = _( + "A TOGEPI doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_CYNDAQUIL_DOLL[] = _( + "A CYNDAQUIL doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_CHIKORITA_DOLL[] = _( + "A CHIKORITA doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_TOTODILE_DOLL[] = _( + "A TOTODILE doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_JIGGLYPUFF_DOLL[] = _( + "A JIGGLYPUFF doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_MEOWTH_DOLL[] = _( + "A MEOWTH doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_CLEFAIRY_DOLL[] = _( + "A CLEFAIRY doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_DITTO_DOLL[] = _( + "A DITTO doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_SMOOCHUM_DOLL[] = _( + "A SMOOCHUM doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_TREECKO_DOLL[] = _( + "A TREECKO doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_TORCHIC_DOLL[] = _( + "A TORCHIC doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_MUDKIP_DOLL[] = _( + "A MUDKIP doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_DUSKULL_DOLL[] = _( + "A DUSKULL doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_WYNAUT_DOLL[] = _( + "A WYNAUT doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_BALTOY_DOLL[] = _( + "A BALTOY doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_KECLEON_DOLL[] = _( + "A KECLEON doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_AZURILL_DOLL[] = _( + "An AZURILL doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_SKITTY_DOLL[] = _( + "A SKITTY doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_SWABLU_DOLL[] = _( + "A SWABLU doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_GULPIN_DOLL[] = _( + "A GULPIN doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_LOTAD_DOLL[] = _( + "A LOTAD doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_SEEDOT_DOLL[] = _( + "A SEEDOT doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_PIKA_CUSHION[] = _( + "A PIKACHU cushion.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_ROUND_CUSHION[] = _( + "A MARILL cushion.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_KISS_CUSHION[] = _( + "A SMOOCHUM\n" + "cushion. Place it on\n" + "a mat or a desk."); + +const u8 DecorDesc_ZIGZAG_CUSHION[] = _( + "A ZIGZAGOON\n" + "cushion. Place it on\n" + "a mat or a desk."); + +const u8 DecorDesc_SPIN_CUSHION[] = _( + "A SPINDA cushion.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_DIAMOND_CUSHION[] = _( + "A SABLEYE cushion.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_BALL_CUSHION[] = _( + "A BALL cushion.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_GRASS_CUSHION[] = _( + "A grass-mark\n" + "cushion. Place it on\n" + "a mat or a desk."); + +const u8 DecorDesc_FIRE_CUSHION[] = _( + "A fire-mark\n" + "cushion. Place it on\n" + "a mat or a desk."); + +const u8 DecorDesc_WATER_CUSHION[] = _( + "A water-mark\n" + "cushion. Place it on\n" + "a mat or a desk."); + +const u8 DecorDesc_SNORLAX_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_RHYDON_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_LAPRAS_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_VENUSAUR_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_CHARIZARD_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_BLASTOISE_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_WAILMER_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_REGIROCK_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_REGICE_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); + +const u8 DecorDesc_REGISTEEL_DOLL[] = _( + "A large doll.\n" + "Place it on a mat\n" + "or a desk."); +#endif //GUARD_DATA_DECORATION_DESCRIPTION_H diff --git a/src/data/decoration/header.h b/src/data/decoration/header.h new file mode 100644 index 000000000..64bed1c7e --- /dev/null +++ b/src/data/decoration/header.h @@ -0,0 +1,1100 @@ +// +// Created by scott on 10/21/2017. +// + +#ifndef GUARD_DATA_DECORATION_HEADER_H +#define GUARD_DATA_DECORATION_HEADER_H + +const struct Decoration gDecorations[] = { + { + DECOR_NONE, + _("SMALL DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x1, + DECORCAT_DESK, + 0, + DecorDesc_SMALL_DESK, + DecorGfx_SMALL_DESK + }, { + DECOR_SMALL_DESK, + _("SMALL DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x1, + DECORCAT_DESK, + 3000, + DecorDesc_SMALL_DESK, + DecorGfx_SMALL_DESK + }, { + DECOR_POKEMON_DESK, + _("POKéMON DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x1, + DECORCAT_DESK, + 3000, + DecorDesc_POKEMON_DESK, + DecorGfx_POKEMON_DESK + }, { + DECOR_HEAVY_DESK, + _("HEAVY DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_3x2, + DECORCAT_DESK, + 6000, + DecorDesc_HEAVY_DESK, + DecorGfx_HEAVY_DESK + }, { + DECOR_RAGGED_DESK, + _("RAGGED DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_3x2, + DECORCAT_DESK, + 6000, + DecorDesc_RAGGED_DESK, + DecorGfx_RAGGED_DESK + }, { + DECOR_COMFORT_DESK, + _("COMFORT DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_3x2, + DECORCAT_DESK, + 6000, + DecorDesc_COMFORT_DESK, + DecorGfx_COMFORT_DESK + }, { + DECOR_PRETTY_DESK, + _("PRETTY DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_3x3, + DECORCAT_DESK, + 9000, + DecorDesc_PRETTY_DESK, + DecorGfx_PRETTY_DESK + }, { + DECOR_BRICK_DESK, + _("BRICK DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_3x3, + DECORCAT_DESK, + 9000, + DecorDesc_BRICK_DESK, + DecorGfx_BRICK_DESK + }, { + DECOR_CAMP_DESK, + _("CAMP DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_3x3, + DECORCAT_DESK, + 9000, + DecorDesc_CAMP_DESK, + DecorGfx_CAMP_DESK + }, { + DECOR_HARD_DESK, + _("HARD DESK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_3x3, + DECORCAT_DESK, + 9000, + DecorDesc_HARD_DESK, + DecorGfx_HARD_DESK + }, { + DECOR_SMALL_CHAIR, + _("SMALL CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_SMALL_CHAIR, + DecorGfx_SMALL_CHAIR + }, { + DECOR_POKEMON_CHAIR, + _("POKéMON CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_POKEMON_CHAIR, + DecorGfx_POKEMON_CHAIR + }, { + DECOR_HEAVY_CHAIR, + _("HEAVY CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_HEAVY_CHAIR, + DecorGfx_HEAVY_CHAIR + }, { + DECOR_PRETTY_CHAIR, + _("PRETTY CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_PRETTY_CHAIR, + DecorGfx_PRETTY_CHAIR + }, { + DECOR_COMFORT_CHAIR, + _("COMFORT CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_COMFORT_CHAIR, + DecorGfx_COMFORT_CHAIR + }, { + DECOR_RAGGED_CHAIR, + _("RAGGED CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_RAGGED_CHAIR, + DecorGfx_RAGGED_CHAIR + }, { + DECOR_BRICK_CHAIR, + _("BRICK CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_BRICK_CHAIR, + DecorGfx_BRICK_CHAIR + }, { + DECOR_CAMP_CHAIR, + _("CAMP CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_CAMP_CHAIR, + DecorGfx_CAMP_CHAIR + }, { + DECOR_HARD_CHAIR, + _("HARD CHAIR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_CHAIR, + 2000, + DecorDesc_HARD_CHAIR, + DecorGfx_HARD_CHAIR + }, { + DECOR_RED_PLANT, + _("RED PLANT"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_1x2, + DECORCAT_PLANT, + 3000, + DecorDesc_RED_PLANT, + DecorGfx_RED_PLANT + }, { + DECOR_TROPICAL_PLANT, + _("TROPICAL PLANT"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_1x2, + DECORCAT_PLANT, + 3000, + DecorDesc_TROPICAL_PLANT, + DecorGfx_TROPICAL_PLANT + }, { + DECOR_PRETTY_FLOWERS, + _("PRETTY FLOWERS"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_1x2, + DECORCAT_PLANT, + 3000, + DecorDesc_PRETTY_FLOWERS, + DecorGfx_PRETTY_FLOWERS + }, { + DECOR_COLORFUL_PLANT, + _("COLORFUL PLANT"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_2x2, + DECORCAT_PLANT, + 5000, + DecorDesc_COLORFUL_PLANT, + DecorGfx_COLORFUL_PLANT + }, { + DECOR_BIG_PLANT, + _("BIG PLANT"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_2x2, + DECORCAT_PLANT, + 5000, + DecorDesc_BIG_PLANT, + DecorGfx_BIG_PLANT + }, { + DECOR_GORGEOUS_PLANT, + _("GORGEOUS PLANT"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_2x2, + DECORCAT_PLANT, + 5000, + DecorDesc_GORGEOUS_PLANT, + DecorGfx_GORGEOUS_PLANT + }, { + DECOR_RED_BRICK, + _("RED BRICK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 500, + DecorDesc_RED_BRICK, + DecorGfx_RED_BRICK + }, { + DECOR_YELLOW_BRICK, + _("YELLOW BRICK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 500, + DecorDesc_YELLOW_BRICK, + DecorGfx_YELLOW_BRICK + }, { + DECOR_BLUE_BRICK, + _("BLUE BRICK"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 500, + DecorDesc_BLUE_BRICK, + DecorGfx_BLUE_BRICK + }, { + DECOR_RED_BALLOON, + _("RED BALLOON"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 500, + DecorDesc_RED_BALLOON, + DecorGfx_RED_BALLOON + }, { + DECOR_BLUE_BALLOON, + _("BLUE BALLOON"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 500, + DecorDesc_BLUE_BALLOON, + DecorGfx_BLUE_BALLOON + }, { + DECOR_YELLOW_BALLOON, + _("YELLOW BALLOON"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 500, + DecorDesc_YELLOW_BALLOON, + DecorGfx_YELLOW_BALLOON + }, { + DECOR_RED_TENT, + _("RED TENT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_ORNAMENT, + 10000, + DecorDesc_RED_TENT, + DecorGfx_RED_TENT + }, { + DECOR_BLUE_TENT, + _("BLUE TENT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_ORNAMENT, + 10000, + DecorDesc_BLUE_TENT, + DecorGfx_BLUE_TENT + }, { + DECOR_SOLID_BOARD, + _("SOLID BOARD"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 3000, + DecorDesc_SOLID_BOARD, + DecorGfx_SOLID_BOARD + }, { + DECOR_SLIDE, + _("SLIDE"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_2x4, + DECORCAT_ORNAMENT, + 8000, + DecorDesc_SLIDE, + DecorGfx_SLIDE + }, { + DECOR_FENCE_LENGTH, + _("FENCE LENGTH"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 500, + DecorDesc_FENCE_LENGTH, + DecorGfx_FENCE_LENGTH + }, { + DECOR_FENCE_WIDTH, + _("FENCE WIDTH"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 500, + DecorDesc_FENCE_WIDTH, + DecorGfx_FENCE_WIDTH + }, { + DECOR_TIRE, + _("TIRE"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_2x2, + DECORCAT_ORNAMENT, + 800, + DecorDesc_TIRE, + DecorGfx_TIRE + }, { + DECOR_STAND, + _("STAND"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_4x2, + DECORCAT_ORNAMENT, + 7000, + DecorDesc_STAND, + DecorGfx_STAND + }, { + DECOR_MUD_BALL, + _("MUD BALL"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 200, + DecorDesc_MUD_BALL, + DecorGfx_MUD_BALL + }, { + DECOR_BREAKABLE_DOOR, + _("BREAKABLE DOOR"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 3000, + DecorDesc_BREAKABLE_DOOR, + DecorGfx_BREAKABLE_DOOR + }, { + DECOR_SAND_ORNAMENT, + _("SAND ORNAMENT"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 3000, + DecorDesc_SAND_ORNAMENT, + DecorGfx_SAND_ORNAMENT + }, { + DECOR_SILVER_SHIELD, + _("SILVER SHIELD"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 0, + DecorDesc_SILVER_SHIELD, + DecorGfx_SILVER_SHIELD + }, { + DECOR_GOLD_SHIELD, + _("GOLD SHIELD"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 0, + DecorDesc_GOLD_SHIELD, + DecorGfx_GOLD_SHIELD + }, { + DECOR_GLASS_ORNAMENT, + _("GLASS ORNAMENT"), + DECORPERM_BEHIND_FLOOR, + DECORSHAPE_1x2, + DECORCAT_ORNAMENT, + 0, + DecorDesc_GLASS_ORNAMENT, + DecorGfx_GLASS_ORNAMENT + }, { + DECOR_TV, + _("TV"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 3000, + DecorDesc_TV, + DecorGfx_TV + }, { + DECOR_ROUND_TV, + _("ROUND TV"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 4000, + DecorDesc_ROUND_TV, + DecorGfx_ROUND_TV + }, { + DECOR_CUTE_TV, + _("CUTE TV"), + DECORPERM_SOLID_FLOOR, + DECORSHAPE_1x1, + DECORCAT_ORNAMENT, + 4000, + DecorDesc_CUTE_TV, + DecorGfx_CUTE_TV + }, { + DECOR_GLITTER_MAT, + _("GLITTER MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 2000, + DecorDesc_GLITTER_MAT, + DecorGfx_GLITTER_MAT + }, { + DECOR_JUMP_MAT, + _("JUMP MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 2000, + DecorDesc_JUMP_MAT, + DecorGfx_JUMP_MAT + }, { + DECOR_SPIN_MAT, + _("SPIN MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 2000, + DecorDesc_SPIN_MAT, + DecorGfx_SPIN_MAT + }, { + DECOR_C_LOW_NOTE_MAT, + _("C Low NOTE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 500, + DecorDesc_C_LOW_NOTE_MAT, + DecorGfx_C_LOW_NOTE_MAT + }, { + DECOR_D_NOTE_MAT, + _("D NOTE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 500, + DecorDesc_D_NOTE_MAT, + DecorGfx_D_NOTE_MAT + }, { + DECOR_E_NOTE_MAT, + _("E NOTE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 500, + DecorDesc_E_NOTE_MAT, + DecorGfx_E_NOTE_MAT + }, { + DECOR_F_NOTE_MAT, + _("F NOTE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 500, + DecorDesc_F_NOTE_MAT, + DecorGfx_F_NOTE_MAT + }, { + DECOR_G_NOTE_MAT, + _("G NOTE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 500, + DecorDesc_G_NOTE_MAT, + DecorGfx_G_NOTE_MAT + }, { + DECOR_A_NOTE_MAT, + _("A NOTE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 500, + DecorDesc_A_NOTE_MAT, + DecorGfx_A_NOTE_MAT + }, { + DECOR_B_NOTE_MAT, + _("B NOTE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 500, + DecorDesc_B_NOTE_MAT, + DecorGfx_B_NOTE_MAT + }, { + DECOR_C_HIGH_NOTE_MAT, + _("C High NOTE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_1x1, + DECORCAT_MAT, + 500, + DecorDesc_C_HIGH_NOTE_MAT, + DecorGfx_C_HIGH_NOTE_MAT + }, { + DECOR_SURF_MAT, + _("SURF MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_MAT, + 4000, + DecorDesc_SURF_MAT, + DecorGfx_SURF_MAT + }, { + DECOR_THUNDER_MAT, + _("THUNDER MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_MAT, + 4000, + DecorDesc_THUNDER_MAT, + DecorGfx_THUNDER_MAT + }, { + DECOR_FIRE_BLAST_MAT, + _("FIRE BLAST MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_MAT, + 4000, + DecorDesc_FIRE_BLAST_MAT, + DecorGfx_FIRE_BLAST_MAT + }, { + DECOR_POWDER_SNOW_MAT, + _("POWDER SNOW MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_MAT, + 4000, + DecorDesc_POWDER_SNOW_MAT, + DecorGfx_POWDER_SNOW_MAT + }, { + DECOR_ATTRACT_MAT, + _("ATTRACT MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_MAT, + 4000, + DecorDesc_ATTRACT_MAT, + DecorGfx_ATTRACT_MAT + }, { + DECOR_FISSURE_MAT, + _("FISSURE MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_MAT, + 4000, + DecorDesc_FISSURE_MAT, + DecorGfx_FISSURE_MAT + }, { + DECOR_SPIKES_MAT, + _("SPIKES MAT"), + DECORPERM_PASS_FLOOR, + DECORSHAPE_3x3, + DECORCAT_MAT, + 4000, + DecorDesc_SPIKES_MAT, + DecorGfx_SPIKES_MAT + }, { + DECOR_BALL_POSTER, + _("BALL POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_1x1, + DECORCAT_POSTER, + 1000, + DecorDesc_BALL_POSTER, + DecorGfx_BALL_POSTER + }, { + DECOR_GREEN_POSTER, + _("GREEN POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_1x1, + DECORCAT_POSTER, + 1000, + DecorDesc_GREEN_POSTER, + DecorGfx_GREEN_POSTER + }, { + DECOR_RED_POSTER, + _("RED POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_1x1, + DECORCAT_POSTER, + 1000, + DecorDesc_RED_POSTER, + DecorGfx_RED_POSTER + }, { + DECOR_BLUE_POSTER, + _("BLUE POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_1x1, + DECORCAT_POSTER, + 1000, + DecorDesc_BLUE_POSTER, + DecorGfx_BLUE_POSTER + }, { + DECOR_CUTE_POSTER, + _("CUTE POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_1x1, + DECORCAT_POSTER, + 1000, + DecorDesc_CUTE_POSTER, + DecorGfx_CUTE_POSTER + }, { + DECOR_PIKA_POSTER, + _("PIKA POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_2x1, + DECORCAT_POSTER, + 1500, + DecorDesc_PIKA_POSTER, + DecorGfx_PIKA_POSTER + }, { + DECOR_LONG_POSTER, + _("LONG POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_2x1, + DECORCAT_POSTER, + 1500, + DecorDesc_LONG_POSTER, + DecorGfx_LONG_POSTER + }, { + DECOR_SEA_POSTER, + _("SEA POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_2x1, + DECORCAT_POSTER, + 1500, + DecorDesc_SEA_POSTER, + DecorGfx_SEA_POSTER + }, { + DECOR_SKY_POSTER, + _("SKY POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_2x1, + DECORCAT_POSTER, + 1500, + DecorDesc_SKY_POSTER, + DecorGfx_SKY_POSTER + }, { + DECOR_KISS_POSTER, + _("KISS POSTER"), + DECORPERM_NA_WALL, + DECORSHAPE_2x1, + DECORCAT_POSTER, + 1500, + DecorDesc_KISS_POSTER, + DecorGfx_KISS_POSTER + }, { + DECOR_PICHU_DOLL, + _("PICHU DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_PICHU_DOLL, + DecorGfx_PICHU_DOLL + }, { + DECOR_PIKACHU_DOLL, + _("PIKACHU DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_PIKACHU_DOLL, + DecorGfx_PIKACHU_DOLL + }, { + DECOR_MARILL_DOLL, + _("MARILL DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_MARILL_DOLL, + DecorGfx_MARILL_DOLL + }, { + DECOR_TOGEPI_DOLL, + _("TOGEPI DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_TOGEPI_DOLL, + DecorGfx_TOGEPI_DOLL + }, { + DECOR_CYNDAQUIL_DOLL, + _("CYNDAQUIL DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_CYNDAQUIL_DOLL, + DecorGfx_CYNDAQUIL_DOLL + }, { + DECOR_CHIKORITA_DOLL, + _("CHIKORITA DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_CHIKORITA_DOLL, + DecorGfx_CHIKORITA_DOLL + }, { + DECOR_TOTODILE_DOLL, + _("TOTODILE DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_TOTODILE_DOLL, + DecorGfx_TOTODILE_DOLL + }, { + DECOR_JIGGLYPUFF_DOLL, + _("JIGGLYPUFF DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_JIGGLYPUFF_DOLL, + DecorGfx_JIGGLYPUFF_DOLL + }, { + DECOR_MEOWTH_DOLL, + _("MEOWTH DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_MEOWTH_DOLL, + DecorGfx_MEOWTH_DOLL + }, { + DECOR_CLEFAIRY_DOLL, + _("CLEFAIRY DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_CLEFAIRY_DOLL, + DecorGfx_CLEFAIRY_DOLL + }, { + DECOR_DITTO_DOLL, + _("DITTO DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_DITTO_DOLL, + DecorGfx_DITTO_DOLL + }, { + DECOR_SMOOCHUM_DOLL, + _("SMOOCHUM DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_SMOOCHUM_DOLL, + DecorGfx_SMOOCHUM_DOLL + }, { + DECOR_TREECKO_DOLL, + _("TREECKO DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_TREECKO_DOLL, + DecorGfx_TREECKO_DOLL + }, { + DECOR_TORCHIC_DOLL, + _("TORCHIC DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_TORCHIC_DOLL, + DecorGfx_TORCHIC_DOLL + }, { + DECOR_MUDKIP_DOLL, + _("MUDKIP DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_MUDKIP_DOLL, + DecorGfx_MUDKIP_DOLL + }, { + DECOR_DUSKULL_DOLL, + _("DUSKULL DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_DUSKULL_DOLL, + DecorGfx_DUSKULL_DOLL + }, { + DECOR_WYNAUT_DOLL, + _("WYNAUT DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_WYNAUT_DOLL, + DecorGfx_WYNAUT_DOLL + }, { + DECOR_BALTOY_DOLL, + _("BALTOY DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_BALTOY_DOLL, + DecorGfx_BALTOY_DOLL + }, { + DECOR_KECLEON_DOLL, + _("KECLEON DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_KECLEON_DOLL, + DecorGfx_KECLEON_DOLL + }, { + DECOR_AZURILL_DOLL, + _("AZURILL DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_AZURILL_DOLL, + DecorGfx_AZURILL_DOLL + }, { + DECOR_SKITTY_DOLL, + _("SKITTY DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_SKITTY_DOLL, + DecorGfx_SKITTY_DOLL + }, { + DECOR_SWABLU_DOLL, + _("SWABLU DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_SWABLU_DOLL, + DecorGfx_SWABLU_DOLL + }, { + DECOR_GULPIN_DOLL, + _("GULPIN DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_GULPIN_DOLL, + DecorGfx_GULPIN_DOLL + }, { + DECOR_LOTAD_DOLL, + _("LOTAD DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_LOTAD_DOLL, + DecorGfx_LOTAD_DOLL + }, { + DECOR_SEEDOT_DOLL, + _("SEEDOT DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_DOLL, + 3000, + DecorDesc_SEEDOT_DOLL, + DecorGfx_SEEDOT_DOLL + }, { + DECOR_PIKA_CUSHION, + _("PIKA CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_PIKA_CUSHION, + DecorGfx_PIKA_CUSHION + }, { + DECOR_ROUND_CUSHION, + _("ROUND CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_ROUND_CUSHION, + DecorGfx_ROUND_CUSHION + }, { + DECOR_KISS_CUSHION, + _("KISS CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_KISS_CUSHION, + DecorGfx_KISS_CUSHION + }, { + DECOR_ZIGZAG_CUSHION, + _("ZIGZAG CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_ZIGZAG_CUSHION, + DecorGfx_ZIGZAG_CUSHION + }, { + DECOR_SPIN_CUSHION, + _("SPIN CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_SPIN_CUSHION, + DecorGfx_SPIN_CUSHION + }, { + DECOR_DIAMOND_CUSHION, + _("DIAMOND CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_DIAMOND_CUSHION, + DecorGfx_DIAMOND_CUSHION + }, { + DECOR_BALL_CUSHION, + _("BALL CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_BALL_CUSHION, + DecorGfx_BALL_CUSHION + }, { + DECOR_GRASS_CUSHION, + _("GRASS CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_GRASS_CUSHION, + DecorGfx_GRASS_CUSHION + }, { + DECOR_FIRE_CUSHION, + _("FIRE CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_FIRE_CUSHION, + DecorGfx_FIRE_CUSHION + }, { + DECOR_WATER_CUSHION, + _("WATER CUSHION"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x1, + DECORCAT_CUSHION, + 2000, + DecorDesc_WATER_CUSHION, + DecorGfx_WATER_CUSHION + }, { + DECOR_SNORLAX_DOLL, + _("SNORLAX DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_SNORLAX_DOLL, + DecorGfx_SNORLAX_DOLL + }, { + DECOR_RHYDON_DOLL, + _("RHYDON DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_RHYDON_DOLL, + DecorGfx_RHYDON_DOLL + }, { + DECOR_LAPRAS_DOLL, + _("LAPRAS DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_LAPRAS_DOLL, + DecorGfx_LAPRAS_DOLL + }, { + DECOR_VENUSAUR_DOLL, + _("VENUSAUR DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_VENUSAUR_DOLL, + DecorGfx_VENUSAUR_DOLL + }, { + DECOR_CHARIZARD_DOLL, + _("CHARIZARD DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_CHARIZARD_DOLL, + DecorGfx_CHARIZARD_DOLL + }, { + DECOR_BLASTOISE_DOLL, + _("BLASTOISE DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_BLASTOISE_DOLL, + DecorGfx_BLASTOISE_DOLL + }, { + DECOR_WAILMER_DOLL, + _("WAILMER DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_WAILMER_DOLL, + DecorGfx_WAILMER_DOLL + }, { + DECOR_REGIROCK_DOLL, + _("REGIROCK DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_REGIROCK_DOLL, + DecorGfx_REGIROCK_DOLL + }, { + DECOR_REGICE_DOLL, + _("REGICE DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_REGICE_DOLL, + DecorGfx_REGICE_DOLL + }, { + DECOR_REGISTEEL_DOLL, + _("REGISTEEL DOLL"), + DECORPERM_SOLID_MAT, + DECORSHAPE_1x2, + DECORCAT_DOLL, + 10000, + DecorDesc_REGISTEEL_DOLL, + DecorGfx_REGISTEEL_DOLL} +}; + +#endif //GUARD_DATA_DECORATION_HEADER_H diff --git a/src/data/decoration/icon.h b/src/data/decoration/icon.h new file mode 100644 index 000000000..1f11bc19f --- /dev/null +++ b/src/data/decoration/icon.h @@ -0,0 +1,132 @@ +// +// Created by scott on 10/21/2017. +// + +#ifndef GUARD_ICON_H +#define GUARD_ICON_H + +const u8 *const gUnknown_085A6BE8[][2] = { + {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, + {NULL, NULL}, + {NULL, NULL}, + {gUnknown_08DB7AA0, gUnknown_08DB7B34}, + {gUnknown_08DB7B5C, gUnknown_08DB7BEC}, + {gUnknown_08DB7C08, gUnknown_08DB7CE8}, + {gUnknown_08DB7D08, gUnknown_08DB7DCC}, + {gUnknown_08DB7DF4, gUnknown_08DB7EA0}, + {gUnknown_08DB7EC4, gUnknown_08DB7F60}, + {gUnknown_08DB7F7C, gUnknown_08DB8070}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {gUnknown_08DB808C, gUnknown_08DB8138}, + {gUnknown_08DB8160, gUnknown_08DB8218}, + {gUnknown_08DB823C, gUnknown_08DB8300}, + {gUnknown_08DB8328, gUnknown_08DB8430}, + {gUnknown_08DB8458, gUnknown_08DB8528}, + {gUnknown_08DB854C, gUnknown_08DB862C}, + {gUnknown_08DB8654, gUnknown_08DB86C4}, + {gUnknown_08DB86E0, gUnknown_08DB8750}, + {gUnknown_08DB876C, gUnknown_08DB87DC}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {gUnknown_08DB87F8, gUnknown_08DB88D8}, + {gUnknown_08DB8900, gUnknown_08DB89E0}, + {gUnknown_08DB8A08, gUnknown_08DB8A68}, + {gUnknown_08DB8A84, gUnknown_08DB8B40}, + {NULL, NULL}, + {NULL, NULL}, + {gUnknown_08DB8B68, gUnknown_08DB8C40}, + {gUnknown_08DB8C5C, gUnknown_08DB8CF4}, + {NULL, NULL}, + {gUnknown_08DB8D18, gUnknown_08DB8DB0}, + {gUnknown_08DB8DD4, gUnknown_08DB8E80}, + {NULL, NULL}, + {NULL, NULL}, + {gUnknown_08DB8EA0, gUnknown_08DB8F58}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {gUnknown_08DB8F7C, gUnknown_08DB9038}, + {gUnknown_08DB9058, gUnknown_08DB9130}, + {gUnknown_08DB9154, gUnknown_08DB9218}, + {gUnknown_08DB9234, gUnknown_08DB92FC}, + {gUnknown_08DB931C, gUnknown_08DB93E8}, + {gUnknown_08DB940C, gUnknown_08DB94CC}, + {gUnknown_08DB94E8, gUnknown_08DB95AC}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {NULL, NULL}, + {gUnknown_08DB95D0, gUnknown_08DB96C4}, + {gUnknown_08DB96EC, gUnknown_08DB97F4}, + {gUnknown_08DB981C, gUnknown_08DB9908}, + {gUnknown_08DB9930, gUnknown_08DB9A54}, + {gUnknown_08DB9A7C, gUnknown_08DB9B7C}, + {gUnknown_08DB9BA4, gUnknown_08DB9CB0}, + {gUnknown_08DB9CD8, gUnknown_08DB9DAC}, + {gUnknown_08DB9F08, gUnknown_08DB9FFC}, + {gUnknown_08DB9DD4, gUnknown_08DB9EE4}, + {gUnknown_08DBA020, gUnknown_08DBA12C} +}; + +#endif //GUARD_ICON_H diff --git a/src/data/decoration/tilemaps.h b/src/data/decoration/tilemaps.h new file mode 100644 index 000000000..1cca7ae0b --- /dev/null +++ b/src/data/decoration/tilemaps.h @@ -0,0 +1,239 @@ +// +// Created by scott on 10/21/2017. +// + +#ifndef GUARD_TILEMAPS_H +#define GUARD_TILEMAPS_H + +const u8 Unknown_085A6FB0[] = { + 0x00, 0x01, 0x02, 0x03 +}; + +const u8 Unknown_085A6FB4[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d +}; + +const u8 Unknown_085A6FC0[] = { + 0x00, 0x01, 0x02, 0x03, + 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, + 0x0c, 0x0d, 0x0e, 0x0f +}; + +const u8 Unknown_085A6FD0[] = { + 0x00, 0x01, 0x04, 0x05, + 0x08, 0x09, 0x0c, 0x0d, + 0x10, 0x11, 0x14, 0x15 +}; + +const u8 Unknown_085A6FDC[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 +}; + +const u8 Unknown_085A6FE4[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f +}; + +const u8 Unknown_085A7004[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, + 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d +}; + +const u8 Unknown_085A7028[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d +}; + +const u8 Unknown_085A7040[] = { + 0x00, 0x00, 0x00, 0x00 +}; + +const u8 Unknown_085A7044[] = { + 0x00, 0x00, 0x01, 0x01, + 0x00, 0x00, 0x01, 0x01 +}; + +const u8 Unknown_085A704C[] = { + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02 +}; + +const u8 Unknown_085A7058[] = { + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, + 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, + 0x04, 0x04, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07 +}; + +const u8 Unknown_085A7078[] = { + 0x00, 0x00, 0x01, 0x01, + 0x00, 0x00, 0x01, 0x01, + 0x02, 0x02, 0x03, 0x03, + 0x02, 0x02, 0x03, 0x03 +}; + +const u8 Unknown_085A7088[] = { + 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01 +}; + +const u8 Unknown_085A7090[] = { + 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x01, + 0x02, 0x02, 0x02, 0x02 +}; + +const u8 Unknown_085A709C[] = { + 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, + 0x02, 0x02, 0x03, 0x03, 0x02, 0x02, 0x03, 0x03, + 0x04, 0x04, 0x05, 0x05, 0x04, 0x04, 0x05, 0x05, + 0x06, 0x06, 0x07, 0x07, 0x06, 0x06, 0x07, 0x07 +}; + +const u8 Unknown_085A70BC[] = { + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, + 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, + 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, + 0x06, 0x06, 0x07, 0x07, 0x08, 0x08 +}; + +const u8 Unknown_085A70E0[] = { + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, + 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, + 0x03, 0x03, 0x04, 0x04, 0x05, 0x05 +}; + +const u8 Unknown_085A70F8[] = { + 0x04, 0x05, 0x06, 0x07 +}; + +const u8 Unknown_085A70FC[] = { + 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07 +}; + +const u8 Unknown_085A7104[] = { + 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, 0x06, 0x07 +}; + +const u8 Unknown_085A7110[] = { + 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, + 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x07 +}; + +const u8 Unknown_085A7130[] = { + 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, + 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07 +}; + +const u8 Unknown_085A7140[] = { + 0x04, 0x05, 0x06, 0x07, + 0x04, 0x05, 0x06, 0x07 +}; + +const u8 Unknown_085A7148[] = { + 0x04, 0x05, 0x06, 0x07, + 0x04, 0x05, 0x06, 0x07, + 0x04, 0x05, 0x06, 0x07 +}; + +const u8 Unknown_085A7154[] = { + 0x04, 0x05, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07, + 0x04, 0x05, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07, + 0x04, 0x05, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07, + 0x04, 0x05, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07 +}; + +const u8 Unknown_085A7174[] = { + 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, + 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, + 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, 0x06, 0x07 +}; + +const u8 Unknown_085A7198[] = { + 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, 0x06, 0x07, + 0x04, 0x05, 0x04, 0x05, 0x04, 0x05, + 0x06, 0x07, 0x06, 0x07, 0x06, 0x07 +}; + +const struct { + const u8 *tiles; + const u8 *y; + const u8 *x; + u8 size; +} gUnknown_085A71B0[] = { + { + Unknown_085A6FB0, + Unknown_085A7040, + Unknown_085A70F8, + 0x04 + }, { + Unknown_085A6FDC, + Unknown_085A7044, + Unknown_085A70FC, + 0x08 + }, { + Unknown_085A6FB4, + Unknown_085A704C, + Unknown_085A7104, + 0x0c + }, { + Unknown_085A6FE4, + Unknown_085A7058, + Unknown_085A7110, + 0x20 + }, { + Unknown_085A6FC0, + Unknown_085A7078, + Unknown_085A7130, + 0x10 + }, { + Unknown_085A6FDC, + Unknown_085A7088, + Unknown_085A7140, + 0x08 + }, { + Unknown_085A6FD0, + Unknown_085A7090, + Unknown_085A7148, + 0x0c + }, { + Unknown_085A6FE4, + Unknown_085A709C, + Unknown_085A7154, + 0x20 + }, { + Unknown_085A7004, + Unknown_085A70BC, + Unknown_085A7174, + 0x24 + }, { + Unknown_085A7028, + Unknown_085A70E0, + Unknown_085A7198, + 0x18 + }}; + +#endif //GUARD_TILEMAPS_H diff --git a/src/data/decoration/tiles.h b/src/data/decoration/tiles.h new file mode 100644 index 000000000..6b3ed699f --- /dev/null +++ b/src/data/decoration/tiles.h @@ -0,0 +1,646 @@ +#ifndef GUARD_DATA_DECORATION_TILES +#define GUARD_DATA_DECORATION_TILES + +const u16 DecorGfx_SMALL_DESK[] = { + 0x87 +}; + +const u16 DecorGfx_POKEMON_DESK[] = { + 0x8F +}; + +const u16 DecorGfx_HEAVY_DESK[] = { + 0x90, + 0x91, + 0x92, + 0x98, + 0x99, + 0x9A +}; + +const u16 DecorGfx_RAGGED_DESK[] = { + 0x93, + 0x94, + 0x95, + 0x9B, + 0x9C, + 0x9D +}; + +const u16 DecorGfx_COMFORT_DESK[] = { + 0x96, + 0x97, + 0xA3, + 0x9E, + 0x9F, + 0xAB +}; + +const u16 DecorGfx_PRETTY_DESK[] = { + 0xBD, + 0xBE, + 0xBF, + 0xC5, + 0xC6, + 0xC7, + 0xCD, + 0xCE, + 0xCF +}; + +const u16 DecorGfx_BRICK_DESK[] = { + 0xA0, + 0xA1, + 0xA2, + 0xA8, + 0xA9, + 0xAA, + 0xB0, + 0xB1, + 0xB2 +}; + +const u16 DecorGfx_CAMP_DESK[] = { + 0xA4, + 0xA5, + 0xA6, + 0xAC, + 0xAD, + 0xAE, + 0xB4, + 0xB5, + 0xB6 +}; + +const u16 DecorGfx_HARD_DESK[] = { + 0xA7, + 0xBB, + 0xBC, + 0xAF, + 0xC3, + 0xC4, + 0xB7, + 0xCB, + 0xCC +}; + +const u16 DecorGfx_SMALL_CHAIR[] = { + 0xB8 +}; + +const u16 DecorGfx_POKEMON_CHAIR[] = { + 0xB9 +}; + +const u16 DecorGfx_HEAVY_CHAIR[] = { + 0xBA +}; + +const u16 DecorGfx_PRETTY_CHAIR[] = { + 0xC0 +}; + +const u16 DecorGfx_COMFORT_CHAIR[] = { + 0xC1 +}; + +const u16 DecorGfx_RAGGED_CHAIR[] = { + 0xC2 +}; + +const u16 DecorGfx_BRICK_CHAIR[] = { + 0xC8 +}; + +const u16 DecorGfx_CAMP_CHAIR[] = { + 0xC9 +}; + +const u16 DecorGfx_HARD_CHAIR[] = { + 0xCA +}; + +const u16 DecorGfx_RED_PLANT[] = { + 0xD0, + 0xD8 +}; + +const u16 DecorGfx_TROPICAL_PLANT[] = { + 0xD2, + 0xDA +}; + +const u16 DecorGfx_PRETTY_FLOWERS[] = { + 0xD4, + 0xDC +}; + +const u16 DecorGfx_COLORFUL_PLANT[] = { + 0xE0, + 0xE2, + 0xE8, + 0xE9 +}; + +const u16 DecorGfx_BIG_PLANT[] = { + 0xE4, + 0xE6, + 0xEC, + 0xED +}; + +const u16 DecorGfx_GORGEOUS_PLANT[] = { + 0xF0, + 0xF2, + 0xF8, + 0xF9 +}; + +const u16 DecorGfx_RED_BRICK[] = { + 0x25, + 0x2D +}; + +const u16 DecorGfx_YELLOW_BRICK[] = { + 0x26, + 0x2E +}; + +const u16 DecorGfx_BLUE_BRICK[] = { + 0x27, + 0x2F +}; + +const u16 DecorGfx_RED_BALLOON[] = { + 0x138 +}; + +const u16 DecorGfx_BLUE_BALLOON[] = { + 0x13C +}; + +const u16 DecorGfx_YELLOW_BALLOON[] = { + 0x140 +}; + +const u16 DecorGfx_RED_TENT[] = { + 0x30, + 0x31, + 0x32, + 0x38, + 0x39, + 0x3A, + 0x40, + 0x41, + 0x3B +}; + +const u16 DecorGfx_BLUE_TENT[] = { + 0x48, + 0x49, + 0x68, + 0x50, + 0x51, + 0x70, + 0x58, + 0x59, + 0x69 +}; + +const u16 DecorGfx_SOLID_BOARD[] = { + 0x34, + 0x3C +}; + +const u16 DecorGfx_SLIDE[] = { + 0x35, + 0x36, + 0x3D, + 0x3E, + 0x63, + 0x64, + 0x6F, + 0x77 +}; + +const u16 DecorGfx_FENCE_LENGTH[] = { + 0x33 +}; + +const u16 DecorGfx_FENCE_WIDTH[] = { + 0x2C +}; + +const u16 DecorGfx_TIRE[] = { + 0x80, + 0x81, + 0x88, + 0x89 +}; + +const u16 DecorGfx_STAND[] = { + 0x6A, + 0x6B, + 0x6C, + 0x6D, + 0x72, + 0x73, + 0x74, + 0x75 +}; + +const u16 DecorGfx_MUD_BALL[] = { + 0x28 +}; + +const u16 DecorGfx_BREAKABLE_DOOR[] = { + 0x37, + 0x3F +}; + +const u16 DecorGfx_SAND_ORNAMENT[] = { + 0x85, + 0x8D +}; + +const u16 DecorGfx_SILVER_SHIELD[] = { + 0xD6, + 0xDE +}; + +const u16 DecorGfx_GOLD_SHIELD[] = { + 0x12E, + 0x136 +}; + +const u16 DecorGfx_GLASS_ORNAMENT[] = { + 0x82, + 0x8A +}; + +const u16 DecorGfx_TV[] = { + 0xF4 +}; + +const u16 DecorGfx_ROUND_TV[] = { + 0xF5 +}; + +const u16 DecorGfx_CUTE_TV[] = { + 0xF6 +}; + +const u16 DecorGfx_GLITTER_MAT[] = { + 0x60 +}; + +const u16 DecorGfx_JUMP_MAT[] = { + 0x61 +}; + +const u16 DecorGfx_SPIN_MAT[] = { + 0x62 +}; + +const u16 DecorGfx_C_LOW_NOTE_MAT[] = { + 0x78 +}; + +const u16 DecorGfx_D_NOTE_MAT[] = { + 0x79 +}; + +const u16 DecorGfx_E_NOTE_MAT[] = { + 0x7A +}; + +const u16 DecorGfx_F_NOTE_MAT[] = { + 0x7B +}; + +const u16 DecorGfx_G_NOTE_MAT[] = { + 0x7C +}; + +const u16 DecorGfx_A_NOTE_MAT[] = { + 0x7D +}; + +const u16 DecorGfx_B_NOTE_MAT[] = { + 0x7E +}; + +const u16 DecorGfx_C_HIGH_NOTE_MAT[] = { + 0xB3 +}; + +const u16 DecorGfx_SURF_MAT[] = { + 0x42, + 0x43, + 0x44, + 0x4A, + 0x4B, + 0x4C, + 0x52, + 0x53, + 0x54 +}; + +const u16 DecorGfx_THUNDER_MAT[] = { + 0x45, + 0x46, + 0x47, + 0x4D, + 0x4E, + 0x4F, + 0x55, + 0x56, + 0x57 +}; + +const u16 DecorGfx_FIRE_BLAST_MAT[] = { + 0x5A, + 0x5B, + 0x5C, + 0x5D, + 0x5E, + 0x5F, + 0x65, + 0x66, + 0x67 +}; + +const u16 DecorGfx_POWDER_SNOW_MAT[] = { + 0x100, + 0x101, + 0x102, + 0x108, + 0x109, + 0x10A, + 0x110, + 0x111, + 0x112 +}; + +const u16 DecorGfx_ATTRACT_MAT[] = { + 0x103, + 0x104, + 0x105, + 0x10B, + 0x10C, + 0x10D, + 0x113, + 0x114, + 0x115 +}; + +const u16 DecorGfx_FISSURE_MAT[] = { + 0x106, + 0x107, + 0x118, + 0x10E, + 0x10F, + 0x120, + 0x116, + 0x117, + 0x128 +}; + +const u16 DecorGfx_SPIKES_MAT[] = { + 0x119, + 0x11A, + 0x11B, + 0x121, + 0x122, + 0x123, + 0x129, + 0x12A, + 0x12B +}; + +const u16 DecorGfx_BALL_POSTER[] = { + 0x130 +}; + +const u16 DecorGfx_GREEN_POSTER[] = { + 0x131 +}; + +const u16 DecorGfx_RED_POSTER[] = { + 0x132 +}; + +const u16 DecorGfx_BLUE_POSTER[] = { + 0x133 +}; + +const u16 DecorGfx_CUTE_POSTER[] = { + 0x134 +}; + +const u16 DecorGfx_PIKA_POSTER[] = { + 0x11C, + 0x11D +}; + +const u16 DecorGfx_LONG_POSTER[] = { + 0x11E, + 0x11F +}; + +const u16 DecorGfx_SEA_POSTER[] = { + 0x124, + 0x125 +}; + +const u16 DecorGfx_SKY_POSTER[] = { + 0x126, + 0x127 +}; + +const u16 DecorGfx_KISS_POSTER[] = { + 0x12C, + 0x12D +}; + +const u16 DecorGfx_PICHU_DOLL[] = { + EVENT_OBJ_GFX_PICHU_DOLL +}; + +const u16 DecorGfx_PIKACHU_DOLL[] = { + EVENT_OBJ_GFX_PIKACHU_DOLL +}; + +const u16 DecorGfx_MARILL_DOLL[] = { + EVENT_OBJ_GFX_MARILL_DOLL +}; + +const u16 DecorGfx_TOGEPI_DOLL[] = { + EVENT_OBJ_GFX_TOGEPI_DOLL +}; + +const u16 DecorGfx_CYNDAQUIL_DOLL[] = { + EVENT_OBJ_GFX_CYNDAQUIL_DOLL +}; + +const u16 DecorGfx_CHIKORITA_DOLL[] = { + EVENT_OBJ_GFX_CHIKORITA_DOLL +}; + +const u16 DecorGfx_TOTODILE_DOLL[] = { + EVENT_OBJ_GFX_TOTODILE_DOLL +}; + +const u16 DecorGfx_JIGGLYPUFF_DOLL[] = { + EVENT_OBJ_GFX_JIGGLYPUFF_DOLL +}; + +const u16 DecorGfx_MEOWTH_DOLL[] = { + EVENT_OBJ_GFX_MEOWTH_DOLL +}; + +const u16 DecorGfx_CLEFAIRY_DOLL[] = { + EVENT_OBJ_GFX_CLEFAIRY_DOLL +}; + +const u16 DecorGfx_DITTO_DOLL[] = { + EVENT_OBJ_GFX_DITTO_DOLL +}; + +const u16 DecorGfx_SMOOCHUM_DOLL[] = { + EVENT_OBJ_GFX_SMOOCHUM_DOLL +}; + +const u16 DecorGfx_TREECKO_DOLL[] = { + EVENT_OBJ_GFX_TREECKO_DOLL +}; + +const u16 DecorGfx_TORCHIC_DOLL[] = { + EVENT_OBJ_GFX_TORCHIC_DOLL +}; + +const u16 DecorGfx_MUDKIP_DOLL[] = { + EVENT_OBJ_GFX_MUDKIP_DOLL +}; + +const u16 DecorGfx_DUSKULL_DOLL[] = { + EVENT_OBJ_GFX_DUSKULL_DOLL +}; + +const u16 DecorGfx_WYNAUT_DOLL[] = { + EVENT_OBJ_GFX_WYNAUT_DOLL +}; + +const u16 DecorGfx_BALTOY_DOLL[] = { + EVENT_OBJ_GFX_BALTOY_DOLL +}; + +const u16 DecorGfx_KECLEON_DOLL[] = { + EVENT_OBJ_GFX_KECLEON_DOLL +}; + +const u16 DecorGfx_AZURILL_DOLL[] = { + EVENT_OBJ_GFX_AZURILL_DOLL +}; + +const u16 DecorGfx_SKITTY_DOLL[] = { + EVENT_OBJ_GFX_SKITTY_DOLL +}; + +const u16 DecorGfx_SWABLU_DOLL[] = { + EVENT_OBJ_GFX_SWABLU_DOLL +}; + +const u16 DecorGfx_GULPIN_DOLL[] = { + EVENT_OBJ_GFX_GULPIN_DOLL +}; + +const u16 DecorGfx_LOTAD_DOLL[] = { + EVENT_OBJ_GFX_LOTAD_DOLL +}; + +const u16 DecorGfx_SEEDOT_DOLL[] = { + EVENT_OBJ_GFX_SEEDOT_DOLL +}; + +const u16 DecorGfx_PIKA_CUSHION[] = { + EVENT_OBJ_GFX_PIKA_CUSHION +}; + +const u16 DecorGfx_ROUND_CUSHION[] = { + EVENT_OBJ_GFX_ROUND_CUSHION +}; + +const u16 DecorGfx_KISS_CUSHION[] = { + EVENT_OBJ_GFX_KISS_CUSHION +}; + +const u16 DecorGfx_ZIGZAG_CUSHION[] = { + EVENT_OBJ_GFX_ZIGZAG_CUSHION +}; + +const u16 DecorGfx_SPIN_CUSHION[] = { + EVENT_OBJ_GFX_SPIN_CUSHION +}; + +const u16 DecorGfx_DIAMOND_CUSHION[] = { + EVENT_OBJ_GFX_DIAMOND_CUSHION +}; + +const u16 DecorGfx_BALL_CUSHION[] = { + EVENT_OBJ_GFX_BALL_CUSHION +}; + +const u16 DecorGfx_GRASS_CUSHION[] = { + EVENT_OBJ_GFX_GRASS_CUSHION +}; + +const u16 DecorGfx_FIRE_CUSHION[] = { + EVENT_OBJ_GFX_FIRE_CUSHION +}; + +const u16 DecorGfx_WATER_CUSHION[] = { + EVENT_OBJ_GFX_WATER_CUSHION +}; + +const u16 DecorGfx_SNORLAX_DOLL[] = { + EVENT_OBJ_GFX_BIG_SNORLAX_DOLL +}; + +const u16 DecorGfx_RHYDON_DOLL[] = { + EVENT_OBJ_GFX_BIG_RHYDON_DOLL +}; + +const u16 DecorGfx_LAPRAS_DOLL[] = { + EVENT_OBJ_GFX_BIG_LAPRAS_DOLL +}; + +const u16 DecorGfx_VENUSAUR_DOLL[] = { + EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL +}; + +const u16 DecorGfx_CHARIZARD_DOLL[] = { + EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL +}; + +const u16 DecorGfx_BLASTOISE_DOLL[] = { + EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL +}; + +const u16 DecorGfx_WAILMER_DOLL[] = { + EVENT_OBJ_GFX_BIG_WAILMER_DOLL +}; + +const u16 DecorGfx_REGIROCK_DOLL[] = { + EVENT_OBJ_GFX_BIG_REGIROCK_DOLL +}; + +const u16 DecorGfx_REGICE_DOLL[] = { + EVENT_OBJ_GFX_BIG_REGICE_DOLL +}; + +const u16 DecorGfx_REGISTEEL_DOLL[] = { + EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL +}; + +#endif // GUARD_DATA_DECORATION_TILES diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h new file mode 100644 index 000000000..0a24c0572 --- /dev/null +++ b/src/data/item_icon_table.h @@ -0,0 +1,414 @@ +#ifndef GUARD_DATA_ITEM_ICON_TABLE_H +#define GUARD_DATA_ITEM_ICON_TABLE_H + +#include "global.h" +#include "graphics.h" + +const u8 * const gItemIconTable[][2] = +{ + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Pokeballs + gItemIcon_MasterBall, gItemIconPalette_MasterBall, + gItemIcon_UltraBall, gItemIconPalette_UltraBall, + gItemIcon_GreatBall, gItemIconPalette_GreatBall, + gItemIcon_PokeBall, gItemIconPalette_PokeBall, + gItemIcon_SafariBall, gItemIconPalette_SafariBall, + gItemIcon_NetBall, gItemIconPalette_NetBall, + gItemIcon_DiveBall, gItemIconPalette_DiveBall, + gItemIcon_NestBall, gItemIconPalette_NestBall, + gItemIcon_RepeatBall, gItemIconPalette_RepeatBall, + gItemIcon_TimerBall, gItemIconPalette_RepeatBall, + gItemIcon_LuxuryBall, gItemIconPalette_LuxuryBall, + gItemIcon_PremierBall, gItemIconPalette_LuxuryBall, +// Medicine + gItemIcon_Potion, gItemIconPalette_Potion, + gItemIcon_Antidote, gItemIconPalette_Antidote, + gItemIcon_StatusHeal, gItemIconPalette_BurnHeal, + gItemIcon_StatusHeal, gItemIconPalette_IceHeal, + gItemIcon_StatusHeal, gItemIconPalette_Awakening, + gItemIcon_StatusHeal, gItemIconPalette_ParalyzeHeal, + gItemIcon_LargePotion, gItemIconPalette_FullRestore, + gItemIcon_LargePotion, gItemIconPalette_MaxPotion, + gItemIcon_Potion, gItemIconPalette_HyperPotion, + gItemIcon_Potion, gItemIconPalette_SuperPotion, + gItemIcon_FullHeal, gItemIconPalette_FullHeal, + gItemIcon_Revive, gItemIconPalette_Revive, + gItemIcon_MaxRevive, gItemIconPalette_Revive, + gItemIcon_FreshWater, gItemIconPalette_FreshWater, + gItemIcon_SodaPop, gItemIconPalette_SodaPop, + gItemIcon_Lemonade, gItemIconPalette_Lemonade, + gItemIcon_MoomooMilk, gItemIconPalette_MoomooMilk, + gItemIcon_Powder, gItemIconPalette_EnergyPowder, + gItemIcon_EnergyRoot, gItemIconPalette_EnergyRoot, + gItemIcon_Powder, gItemIconPalette_HealPowder, + gItemIcon_RevivalHerb, gItemIconPalette_RevivalHerb, + gItemIcon_Ether, gItemIconPalette_Ether, + gItemIcon_Ether, gItemIconPalette_MaxEther, + gItemIcon_Ether, gItemIconPalette_Elixir, + gItemIcon_Ether, gItemIconPalette_MaxElixir, + gItemIcon_LavaCookie, gItemIconPalette_LavaCookieAndLetter, + gItemIcon_Flute, gItemIconPalette_BlueFlute, + gItemIcon_Flute, gItemIconPalette_YellowFlute, + gItemIcon_Flute, gItemIconPalette_RedFlute, + gItemIcon_Flute, gItemIconPalette_BlackFlute, + gItemIcon_Flute, gItemIconPalette_WhiteFlute, + gItemIcon_BerryJuice, gItemIconPalette_BerryJuice, + gItemIcon_SacredAsh, gItemIconPalette_SacredAsh, +// Collectibles + gItemIcon_Powder, gItemIconPalette_ShoalSalt, + gItemIcon_ShoalShell, gItemIconPalette_Shell, + gItemIcon_Shard, gItemIconPalette_RedShard, + gItemIcon_Shard, gItemIconPalette_BlueShard, + gItemIcon_Shard, gItemIconPalette_YellowShard, + gItemIcon_Shard, gItemIconPalette_GreenShard, +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Vitamins + gItemIcon_HPUp, gItemIconPalette_HPUp, + gItemIcon_Vitamin, gItemIconPalette_Protein, + gItemIcon_Vitamin, gItemIconPalette_Iron, + gItemIcon_Vitamin, gItemIconPalette_Carbos, + gItemIcon_Vitamin, gItemIconPalette_Calcium, + gItemIcon_RareCandy, gItemIconPalette_RareCandy, + gItemIcon_PPUp, gItemIconPalette_PPUp, + gItemIcon_Vitamin, gItemIconPalette_Zinc, + gItemIcon_PPMax, gItemIconPalette_PPMax, +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Battle items + gItemIcon_BattleStatItem, gItemIconPalette_GuardSpec, + gItemIcon_BattleStatItem, gItemIconPalette_DireHit, + gItemIcon_BattleStatItem, gItemIconPalette_XAttack, + gItemIcon_BattleStatItem, gItemIconPalette_XDefend, + gItemIcon_BattleStatItem, gItemIconPalette_XSpeed, + gItemIcon_BattleStatItem, gItemIconPalette_XAccuracy, + gItemIcon_BattleStatItem, gItemIconPalette_XSpecial, + gItemIcon_PokeDoll, gItemIconPalette_PokeDoll, + gItemIcon_FluffyTail, gItemIconPalette_FluffyTail, +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Field items + gItemIcon_Repel, gItemIconPalette_SuperRepel, + gItemIcon_Repel, gItemIconPalette_MaxRepel, + gItemIcon_EscapeRope, gItemIconPalette_EscapeRope, + gItemIcon_Repel, gItemIconPalette_Repel, +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Evolution stones + gItemIcon_SunStone, gItemIconPalette_SunStone, + gItemIcon_MoonStone, gItemIconPalette_MoonStone, + gItemIcon_FireStone, gItemIconPalette_FireStone, + gItemIcon_ThunderStone, gItemIconPalette_ThunderStone, + gItemIcon_WaterStone, gItemIconPalette_WaterStone, + gItemIcon_LeafStone, gItemIconPalette_LeafStone, +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Valuables + gItemIcon_TinyMushroom, gItemIconPalette_Mushroom, + gItemIcon_BigMushroom, gItemIconPalette_Mushroom, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_Pearl, gItemIconPalette_Pearl, + gItemIcon_BigPearl, gItemIconPalette_Pearl, + gItemIcon_Stardust, gItemIconPalette_Star, + gItemIcon_StarPiece, gItemIconPalette_Star, + gItemIcon_Nugget, gItemIconPalette_Nugget, + gItemIcon_HeartScale, gItemIconPalette_HeartScale, +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Mail + gItemIcon_OrangeMail, gItemIconPalette_OrangeMail, + gItemIcon_HarborMail, gItemIconPalette_HarborMail, + gItemIcon_GlitterMail, gItemIconPalette_GlitterMail, + gItemIcon_MechMail, gItemIconPalette_MechMail, + gItemIcon_WoodMail, gItemIconPalette_WoodMail, + gItemIcon_WaveMail, gItemIconPalette_WaveMail, + gItemIcon_BeadMail, gItemIconPalette_BeadMail, + gItemIcon_ShadowMail, gItemIconPalette_ShadowMail, + gItemIcon_TropicMail, gItemIconPalette_TropicMail, + gItemIcon_DreamMail, gItemIconPalette_DreamMail, + gItemIcon_FabMail, gItemIconPalette_FabMail, + gItemIcon_RetroMail, gItemIconPalette_RetroMail, +// Berries + gItemIcon_CheriBerry, gItemIconPalette_CheriBerry, + gItemIcon_ChestoBerry, gItemIconPalette_ChestoBerry, + gItemIcon_PechaBerry, gItemIconPalette_PechaBerry, + gItemIcon_RawstBerry, gItemIconPalette_RawstBerry, + gItemIcon_AspearBerry, gItemIconPalette_AspearBerry, + gItemIcon_LeppaBerry, gItemIconPalette_LeppaBerry, + gItemIcon_OranBerry, gItemIconPalette_OranBerry, + gItemIcon_PersimBerry, gItemIconPalette_PersimBerry, + gItemIcon_LumBerry, gItemIconPalette_LumBerry, + gItemIcon_SitrusBerry, gItemIconPalette_SitrusBerry, + gItemIcon_FigyBerry, gItemIconPalette_FigyBerry, + gItemIcon_WikiBerry, gItemIconPalette_WikiBerry, + gItemIcon_MagoBerry, gItemIconPalette_MagoBerry, + gItemIcon_AguavBerry, gItemIconPalette_AguavBerry, + gItemIcon_IapapaBerry, gItemIconPalette_IapapaBerry, + gItemIcon_RazzBerry, gItemIconPalette_RazzBerry, + gItemIcon_BlukBerry, gItemIconPalette_BlukBerry, + gItemIcon_NanabBerry, gItemIconPalette_NanabBerry, + gItemIcon_WepearBerry, gItemIconPalette_WepearBerry, + gItemIcon_PinapBerry, gItemIconPalette_PinapBerry, + gItemIcon_PomegBerry, gItemIconPalette_PomegBerry, + gItemIcon_KelpsyBerry, gItemIconPalette_KelpsyBerry, + gItemIcon_QualotBerry, gItemIconPalette_QualotBerry, + gItemIcon_HondewBerry, gItemIconPalette_HondewBerry, + gItemIcon_GrepaBerry, gItemIconPalette_GrepaBerry, + gItemIcon_TamatoBerry, gItemIconPalette_TamatoBerry, + gItemIcon_CornnBerry, gItemIconPalette_CornnBerry, + gItemIcon_MagostBerry, gItemIconPalette_MagostBerry, + gItemIcon_RabutaBerry, gItemIconPalette_RabutaBerry, + gItemIcon_NomelBerry, gItemIconPalette_NomelBerry, + gItemIcon_SpelonBerry, gItemIconPalette_SpelonBerry, + gItemIcon_PamtreBerry, gItemIconPalette_PamtreBerry, + gItemIcon_WatmelBerry, gItemIconPalette_WatmelBerry, + gItemIcon_DurinBerry, gItemIconPalette_DurinBerry, + gItemIcon_BelueBerry, gItemIconPalette_BelueBerry, + gItemIcon_LiechiBerry, gItemIconPalette_LiechiBerry, + gItemIcon_GanlonBerry, gItemIconPalette_GanlonBerry, + gItemIcon_SalacBerry, gItemIconPalette_SalacBerry, + gItemIcon_PetayaBerry, gItemIconPalette_PetayaBerry, + gItemIcon_ApicotBerry, gItemIconPalette_ApicotBerry, + gItemIcon_LansatBerry, gItemIconPalette_LansatBerry, + gItemIcon_StarfBerry, gItemIconPalette_StarfBerry, + gItemIcon_EnigmaBerry, gItemIconPalette_EnigmaBerry, +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Hold items + gItemIcon_BrightPowder, gItemIconPalette_BrightPowder, + gItemIcon_InBattleHerb, gItemIconPalette_WhiteHerb, + gItemIcon_MachoBrace, gItemIconPalette_MachoBrace, + gItemIcon_ExpShare, gItemIconPalette_ExpShare, + gItemIcon_QuickClaw, gItemIconPalette_QuickClaw, + gItemIcon_SootheBell, gItemIconPalette_SootheBell, + gItemIcon_InBattleHerb, gItemIconPalette_MentalHerb, + gItemIcon_ChoiceBand, gItemIconPalette_ChoiceBand, + gItemIcon_KingsRock, gItemIconPalette_KingsRock, + gItemIcon_SilverPowder, gItemIconPalette_SilverPowder, + gItemIcon_AmuletCoin, gItemIconPalette_AmuletCoin, + gItemIcon_CleanseTag, gItemIconPalette_CleanseTag, + gItemIcon_SoulDew, gItemIconPalette_SoulDew, + gItemIcon_DeepSeaTooth, gItemIconPalette_DeepSeaTooth, + gItemIcon_DeepSeaScale, gItemIconPalette_DeepSeaScale, + gItemIcon_SmokeBall, gItemIconPalette_SmokeBall, + gItemIcon_Everstone, gItemIconPalette_Everstone, + gItemIcon_FocusBand, gItemIconPalette_FocusBand, + gItemIcon_LuckyEgg, gItemIconPalette_LuckyEgg, + gItemIcon_ScopeLens, gItemIconPalette_ScopeLens, + gItemIcon_MetalCoat, gItemIconPalette_MetalCoat, + gItemIcon_Leftovers, gItemIconPalette_Leftovers, + gItemIcon_DragonScale, gItemIconPalette_DragonScale, + gItemIcon_LightBall, gItemIconPalette_LightBall, + gItemIcon_SoftSand, gItemIconPalette_SoftSand, + gItemIcon_HardStone, gItemIconPalette_HardStone, + gItemIcon_MiracleSeed, gItemIconPalette_MiracleSeed, + gItemIcon_BlackGlasses, gItemIconPalette_BlackTypeEnhancingItem, + gItemIcon_BlackBelt, gItemIconPalette_BlackTypeEnhancingItem, + gItemIcon_Magnet, gItemIconPalette_Magnet, + gItemIcon_MysticWater, gItemIconPalette_MysticWater, + gItemIcon_SharpBeak, gItemIconPalette_SharpBeak, + gItemIcon_PoisonBarb, gItemIconPalette_PoisonBarb, + gItemIcon_NeverMeltIce, gItemIconPalette_NeverMeltIce, + gItemIcon_SpellTag, gItemIconPalette_SpellTag, + gItemIcon_TwistedSpoon, gItemIconPalette_TwistedSpoon, + gItemIcon_Charcoal, gItemIconPalette_Charcoal, + gItemIcon_DragonFang, gItemIconPalette_DragonFang, + gItemIcon_SilkScarf, gItemIconPalette_SilkScarf, + gItemIcon_UpGrade, gItemIconPalette_UpGrade, + gItemIcon_ShellBell, gItemIconPalette_Shell, + gItemIcon_SeaIncense, gItemIconPalette_SeaIncense, + gItemIcon_LaxIncense, gItemIconPalette_LaxIncense, + gItemIcon_LuckyPunch, gItemIconPalette_LuckyPunch, + gItemIcon_MetalPowder, gItemIconPalette_MetalPowder, + gItemIcon_ThickClub, gItemIconPalette_ThickClub, + gItemIcon_Stick, gItemIconPalette_Stick, +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// Contest hold items + gItemIcon_Scarf, gItemIconPalette_RedScarf, + gItemIcon_Scarf, gItemIconPalette_BlueScarf, + gItemIcon_Scarf, gItemIconPalette_PinkScarf, + gItemIcon_Scarf, gItemIconPalette_GreenScarf, + gItemIcon_Scarf, gItemIconPalette_YellowScarf, +// Key items + gItemIcon_MachBike, gItemIconPalette_MachBike, + gItemIcon_CoinCase, gItemIconPalette_CoinCase, + gItemIcon_Itemfinder, gItemIconPalette_Itemfinder, + gItemIcon_OldRod, gItemIconPalette_OldRod, + gItemIcon_GoodRod, gItemIconPalette_GoodRod, + gItemIcon_SuperRod, gItemIconPalette_SuperRod, + gItemIcon_SSTicket, gItemIconPalette_SSTicket, + gItemIcon_ContestPass, gItemIconPalette_ContestPass, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_WailmerPail, gItemIconPalette_WailmerPail, + gItemIcon_DevonGoods, gItemIconPalette_DevonGoods, + gItemIcon_SootSack, gItemIconPalette_SootSack, + gItemIcon_BasementKey, gItemIconPalette_OldKey, + gItemIcon_AcroBike, gItemIconPalette_AcroBike, + gItemIcon_PokeblockCase, gItemIconPalette_PokeblockCase, + gItemIcon_Letter, gItemIconPalette_LavaCookieAndLetter, + gItemIcon_EonTicket, gItemIconPalette_EonTicket, + gItemIcon_Orb, gItemIconPalette_RedOrb, + gItemIcon_Orb, gItemIconPalette_BlueOrb, + gItemIcon_Scanner, gItemIconPalette_Scanner, + gItemIcon_GoGoggles, gItemIconPalette_GoGoggles, + gItemIcon_Meteorite, gItemIconPalette_Meteorite, + gItemIcon_Room1Key, gItemIconPalette_Key, + gItemIcon_Room2Key, gItemIconPalette_Key, + gItemIcon_Room4Key, gItemIconPalette_Key, + gItemIcon_Room6Key, gItemIconPalette_Key, + gItemIcon_StorageKey, gItemIconPalette_OldKey, + gItemIcon_RootFossil, gItemIconPalette_HoennFossil, + gItemIcon_ClawFossil, gItemIconPalette_HoennFossil, + gItemIcon_DevonScope, gItemIconPalette_DevonScope, +// TMs/HMs + gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM01 + gItemIcon_TM, gItemIconPalette_DragonTMHM, // TM02 + gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM03 + gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM04 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM05 + gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM06 + gItemIcon_TM, gItemIconPalette_IceTMHM, // TM07 + gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM08 + gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM09 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM10 + gItemIcon_TM, gItemIconPalette_FireTMHM, // TM11 + gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM12 + gItemIcon_TM, gItemIconPalette_IceTMHM, // TM13 + gItemIcon_TM, gItemIconPalette_IceTMHM, // TM14 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM15 + gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM16 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM17 + gItemIcon_TM, gItemIconPalette_WaterTMHM, // TM18 + gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM19 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM20 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM21 + gItemIcon_TM, gItemIconPalette_GrassTMHM, // TM22 + gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM23 + gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM24 + gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM25 + gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM26 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM27 + gItemIcon_TM, gItemIconPalette_GroundTMHM, // TM28 + gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM29 + gItemIcon_TM, gItemIconPalette_GhostTMHM, // TM30 + gItemIcon_TM, gItemIconPalette_FightingTMHM, // TM31 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM32 + gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM33 + gItemIcon_TM, gItemIconPalette_ElectricTMHM, // TM34 + gItemIcon_TM, gItemIconPalette_FireTMHM, // TM35 + gItemIcon_TM, gItemIconPalette_PoisonTMHM, // TM36 + gItemIcon_TM, gItemIconPalette_RockTMHM, // TM37 + gItemIcon_TM, gItemIconPalette_FireTMHM, // TM38 + gItemIcon_TM, gItemIconPalette_RockTMHM, // TM39 + gItemIcon_TM, gItemIconPalette_FlyingTMHM, // TM40 + gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM41 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM42 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM43 + gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM44 + gItemIcon_TM, gItemIconPalette_NormalTMHM, // TM45 + gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM46 + gItemIcon_TM, gItemIconPalette_SteelTMHM, // TM47 + gItemIcon_TM, gItemIconPalette_PsychicTMHM, // TM48 + gItemIcon_TM, gItemIconPalette_DarkTMHM, // TM49 + gItemIcon_TM, gItemIconPalette_FireTMHM, // TM50 + gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM01 + gItemIcon_HM, gItemIconPalette_FlyingTMHM, // HM02 + gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM03 + gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM04 + gItemIcon_HM, gItemIconPalette_NormalTMHM, // HM05 + gItemIcon_HM, gItemIconPalette_FightingTMHM, // HM06 + gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM07 + gItemIcon_HM, gItemIconPalette_WaterTMHM, // HM08 +// ???????? + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, + gItemIcon_QuestionMark, gItemIconPalette_QuestionMark, +// FireRed/LeafGreen key items + gItemIcon_OaksParcel, gItemIconPalette_OaksParcel, + gItemIcon_PokeFlute, gItemIconPalette_PokeFlute, + gItemIcon_SecretKey, gItemIconPalette_SecretKey, + gItemIcon_BikeVoucher, gItemIconPalette_BikeVoucher, + gItemIcon_GoldTeeth, gItemIconPalette_GoldTeeth, + gItemIcon_OldAmber, gItemIconPalette_OldAmber, + gItemIcon_CardKey, gItemIconPalette_CardKey, + gItemIcon_LiftKey, gItemIconPalette_Key, + gItemIcon_HelixFossil, gItemIconPalette_KantoFossil, + gItemIcon_DomeFossil, gItemIconPalette_KantoFossil, + gItemIcon_SilphScope, gItemIconPalette_SilphScope, + gItemIcon_Bicycle, gItemIconPalette_Bicycle, + gItemIcon_TownMap, gItemIconPalette_TownMap, + gItemIcon_VSSeeker, gItemIconPalette_VSSeeker, + gItemIcon_FameChecker, gItemIconPalette_FameChecker, + gItemIcon_TMCase, gItemIconPalette_TMCase, + gItemIcon_BerryPouch, gItemIconPalette_BerryPouch, + gItemIcon_TeachyTV, gItemIconPalette_TeachyTV, + gItemIcon_TriPass, gItemIconPalette_TriPass, + gItemIcon_RainbowPass, gItemIconPalette_RainbowPass, + gItemIcon_Tea, gItemIconPalette_Tea, + gItemIcon_MysticTicket, gItemIconPalette_MysticTicket, + gItemIcon_AuroraTicket, gItemIconPalette_AuroraTicket, + gItemIcon_PowderJar, gItemIconPalette_PowderJar, + gItemIcon_Gem, gItemIconPalette_Ruby, + gItemIcon_Gem, gItemIconPalette_Sapphire, +// Emerald-only key items + gItemIcon_MagmaEmblem, gItemIconPalette_MagmaEmblem, + gItemIcon_OldSeaMap, gItemIconPalette_OldSeaMap, +// Return to field arrow + gItemIcon_ReturnToFieldArrow, gItemIconPalette_ReturnToFieldArrow, +}; +#endif // GUARD_DATA_ITEM_ICON_TABLE_H diff --git a/src/data/items.h b/src/data/items.h new file mode 100644 index 000000000..49f981faf --- /dev/null +++ b/src/data/items.h @@ -0,0 +1,6079 @@ +const struct Item gItems[] = +{ + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Pokeballs + + { + .name = _("MASTER BALL"), + .itemId = ITEM_MASTER_BALL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMasterBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 0, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 0, + }, + { + .name = _("ULTRA BALL"), + .itemId = ITEM_ULTRA_BALL, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gUltraBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 1, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 1, + }, + { + .name = _("GREAT BALL"), + .itemId = ITEM_GREAT_BALL, + .price = 600, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGreatBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 2, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 2, + }, + { + .name = _("POKé BALL"), + .itemId = ITEM_POKE_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPokeBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 3, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 3, + }, + { + .name = _("SAFARI BALL"), + .itemId = ITEM_SAFARI_BALL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSafariBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 4, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 4, + }, + { + .name = _("NET BALL"), + .itemId = ITEM_NET_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gNetBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 5, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 5, + }, + { + .name = _("DIVE BALL"), + .itemId = ITEM_DIVE_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDiveBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 6, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 6, + }, + { + .name = _("NEST BALL"), + .itemId = ITEM_NEST_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gNestBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 7, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 7, + }, + { + .name = _("REPEAT BALL"), + .itemId = ITEM_REPEAT_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRepeatBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 8, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 8, + }, + { + .name = _("TIMER BALL"), + .itemId = ITEM_TIMER_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTimerBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 9, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 9, + }, + { + .name = _("LUXURY BALL"), + .itemId = ITEM_LUXURY_BALL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gLuxuryBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 10, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 10, + }, + { + .name = _("PREMIER BALL"), + .itemId = ITEM_PREMIER_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPremierBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_POKE_BALLS, + .type = 11, + .fieldUseFunc = NULL, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_PokeBall, + .secondaryId = 11, + }, + +//Medicine + + { + .name = _("POTION"), + .itemId = ITEM_POTION, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 20, + .description = gPotionItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ANTIDOTE"), + .itemId = ITEM_ANTIDOTE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gAntidoteItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("BURN HEAL"), + .itemId = ITEM_BURN_HEAL, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBurnHealItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ICE HEAL"), + .itemId = ITEM_ICE_HEAL, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gIceHealItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("AWAKENING"), + .itemId = ITEM_AWAKENING, + .price = 250, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gAwakeningItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PARLYZ HEAL"), + .itemId = ITEM_PARALYZE_HEAL, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gParalyzeHealItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FULL RESTORE"), + .itemId = ITEM_FULL_RESTORE, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gFullRestoreItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("MAX POTION"), + .itemId = ITEM_MAX_POTION, + .price = 2500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gMaxPotionItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("HYPER POTION"), + .itemId = ITEM_HYPER_POTION, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 200, + .description = gHyperPotionItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SUPER POTION"), + .itemId = ITEM_SUPER_POTION, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gSuperPotionItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FULL HEAL"), + .itemId = ITEM_FULL_HEAL, + .price = 600, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gFullHealItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("REVIVE"), + .itemId = ITEM_REVIVE, + .price = 1500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gReviveItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("MAX REVIVE"), + .itemId = ITEM_MAX_REVIVE, + .price = 4000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMaxReviveItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FRESH WATER"), + .itemId = ITEM_FRESH_WATER, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gFreshWaterItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SODA POP"), + .itemId = ITEM_SODA_POP, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 60, + .description = gSodaPopItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("LEMONADE"), + .itemId = ITEM_LEMONADE, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 80, + .description = gLemonadeItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("MOOMOO MILK"), + .itemId = ITEM_MOOMOO_MILK, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 100, + .description = gMoomooMilkItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ENERGYPOWDER"), + .itemId = ITEM_ENERGY_POWDER, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gEnergyPowderItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ENERGY ROOT"), + .itemId = ITEM_ENERGY_ROOT, + .price = 800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gEnergyRootItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("HEAL POWDER"), + .itemId = ITEM_HEAL_POWDER, + .price = 450, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHealPowderItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("REVIVAL HERB"), + .itemId = ITEM_REVIVAL_HERB, + .price = 2800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRevivalHerbItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ETHER"), + .itemId = ITEM_ETHER, + .price = 1200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 10, + .description = gEtherItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("MAX ETHER"), + .itemId = ITEM_MAX_ETHER, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gMaxEtherItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("ELIXIR"), + .itemId = ITEM_ELIXIR, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 10, + .description = gElixirItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("MAX ELIXIR"), + .itemId = ITEM_MAX_ELIXIR, + .price = 4500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 255, + .description = gMaxElixirItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("LAVA COOKIE"), + .itemId = ITEM_LAVA_COOKIE, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gLavaCookieItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("BLUE FLUTE"), + .itemId = ITEM_BLUE_FLUTE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBlueFluteItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("YELLOW FLUTE"), + .itemId = ITEM_YELLOW_FLUTE, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gYellowFluteItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("RED FLUTE"), + .itemId = ITEM_RED_FLUTE, + .price = 300, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRedFluteItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("BLACK FLUTE"), + .itemId = ITEM_BLACK_FLUTE, + .price = 400, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 50, + .description = gBlackFluteItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WHITE FLUTE"), + .itemId = ITEM_WHITE_FLUTE, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 150, + .description = gWhiteFluteItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_BlackWhiteFlute, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BERRY JUICE"), + .itemId = ITEM_BERRY_JUICE, + .price = 100, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 20, + .description = gBerryJuiceItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SACRED ASH"), + .itemId = ITEM_SACRED_ASH, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSacredAshItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_SacredAsh, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Collectibles + + { + .name = _("SHOAL SALT"), + .itemId = ITEM_SHOAL_SALT, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gShoalSaltItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SHOAL SHELL"), + .itemId = ITEM_SHOAL_SHELL, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gShoalShellItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RED SHARD"), + .itemId = ITEM_RED_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRedShardItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLUE SHARD"), + .itemId = ITEM_BLUE_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBlueShardItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("YELLOW SHARD"), + .itemId = ITEM_YELLOW_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gYellowShardItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GREEN SHARD"), + .itemId = ITEM_GREEN_SHARD, + .price = 200, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGreenShardItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Vitamins + + { + .name = _("HP UP"), + .itemId = ITEM_HP_UP, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHPUpItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PROTEIN"), + .itemId = ITEM_PROTEIN, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gProteinItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("IRON"), + .itemId = ITEM_IRON, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gIronItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CARBOS"), + .itemId = ITEM_CARBOS, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gCarbosItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CALCIUM"), + .itemId = ITEM_CALCIUM, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gCalciumItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RARE CANDY"), + .itemId = ITEM_RARE_CANDY, + .price = 4800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRareCandyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_RareCandy, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PP UP"), + .itemId = ITEM_PP_UP, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPPUpItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPUp, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ZINC"), + .itemId = ITEM_ZINC, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gZincItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PP MAX"), + .itemId = ITEM_PP_MAX, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPPMaxItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPUp, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Battle items + + { + .name = _("GUARD SPEC."), + .itemId = ITEM_GUARD_SPEC, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGuardSpecItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("DIRE HIT"), + .itemId = ITEM_DIRE_HIT, + .price = 650, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDireHitItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X ATTACK"), + .itemId = ITEM_X_ATTACK, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gXAttackItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X DEFEND"), + .itemId = ITEM_X_DEFEND, + .price = 550, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gXDefendItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X SPEED"), + .itemId = ITEM_X_SPEED, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gXSpeedItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X ACCURACY"), + .itemId = ITEM_X_ACCURACY, + .price = 950, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gXAccuracyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("X SPECIAL"), + .itemId = ITEM_X_SPECIAL, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gXSpecialItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_StatIncrease, + .secondaryId = 0, + }, + { + .name = _("POKé DOLL"), + .itemId = ITEM_POKE_DOLL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPokeDollItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_Escape, + .secondaryId = 0, + }, + { + .name = _("FLUFFY TAIL"), + .itemId = ITEM_FLUFFY_TAIL, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gFluffyTailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 2, + .battleUseFunc = ItemUseInBattle_Escape, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Field items + + { + .name = _("SUPER REPEL"), + .itemId = ITEM_SUPER_REPEL, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 200, + .description = gSuperRepelItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAX REPEL"), + .itemId = ITEM_MAX_REPEL, + .price = 700, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 250, + .description = gMaxRepelItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ESCAPE ROPE"), + .itemId = ITEM_ESCAPE_ROPE, + .price = 550, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gEscapeRopeItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_EscapeRope, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("REPEL"), + .itemId = ITEM_REPEL, + .price = 350, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 100, + .description = gRepelItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_Repel, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Evolution stones + + { + .name = _("SUN STONE"), + .itemId = ITEM_SUN_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSunStoneItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MOON STONE"), + .itemId = ITEM_MOON_STONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMoonStoneItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FIRE STONE"), + .itemId = ITEM_FIRE_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gFireStoneItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("THUNDERSTONE"), + .itemId = ITEM_THUNDER_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gThunderStoneItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WATER STONE"), + .itemId = ITEM_WATER_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gWaterStoneItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LEAF STONE"), + .itemId = ITEM_LEAF_STONE, + .price = 2100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gLeafStoneItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_EvolutionStone, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Valuable items + + { + .name = _("TINYMUSHROOM"), + .itemId = ITEM_TINY_MUSHROOM, + .price = 500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTinyMushroomItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BIG MUSHROOM"), + .itemId = ITEM_BIG_MUSHROOM, + .price = 5000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBigMushroomItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PEARL"), + .itemId = ITEM_PEARL, + .price = 1400, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPearlItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BIG PEARL"), + .itemId = ITEM_BIG_PEARL, + .price = 7500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBigPearlItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STARDUST"), + .itemId = ITEM_STARDUST, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gStardustItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STAR PIECE"), + .itemId = ITEM_STAR_PIECE, + .price = 9800, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gStarPieceItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NUGGET"), + .itemId = ITEM_NUGGET, + .price = 10000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gNuggetItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HEART SCALE"), + .itemId = ITEM_HEART_SCALE, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHeartScaleItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Mail + { + .name = _("ORANGE MAIL"), + .itemId = ITEM_ORANGE_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gOrangeMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HARBOR MAIL"), + .itemId = ITEM_HARBOR_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHarborMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("GLITTER MAIL"), + .itemId = ITEM_GLITTER_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGlitterMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 2, + }, + { + .name = _("MECH MAIL"), + .itemId = ITEM_MECH_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMechMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 3, + }, + { + .name = _("WOOD MAIL"), + .itemId = ITEM_WOOD_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gWoodMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 4, + }, + { + .name = _("WAVE MAIL"), + .itemId = ITEM_WAVE_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gWaveMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 5, + }, + { + .name = _("BEAD MAIL"), + .itemId = ITEM_BEAD_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBeadMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 6, + }, + { + .name = _("SHADOW MAIL"), + .itemId = ITEM_SHADOW_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gShadowMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 7, + }, + { + .name = _("TROPIC MAIL"), + .itemId = ITEM_TROPIC_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTropicMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 8, + }, + { + .name = _("DREAM MAIL"), + .itemId = ITEM_DREAM_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDreamMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 9, + }, + { + .name = _("FAB MAIL"), + .itemId = ITEM_FAB_MAIL, + .price = 50, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gFabMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 10, + }, + { + .name = _("RETRO MAIL"), + .itemId = ITEM_RETRO_MAIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRetroMailItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 0, + .fieldUseFunc = ItemUseOutOfBattle_Mail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 11, + }, + +//Berries + + { + .name = _("CHERI BERRY"), + .itemId = ITEM_CHERI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_PAR, + .holdEffectParam = 0, + .description = gCheriBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("CHESTO BERRY"), + .itemId = ITEM_CHESTO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_SLP, + .holdEffectParam = 0, + .description = gChestoBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PECHA BERRY"), + .itemId = ITEM_PECHA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_PSN, + .holdEffectParam = 0, + .description = gPechaBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("RAWST BERRY"), + .itemId = ITEM_RAWST_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_BRN, + .holdEffectParam = 0, + .description = gRawstBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("ASPEAR BERRY"), + .itemId = ITEM_ASPEAR_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_FRZ, + .holdEffectParam = 0, + .description = gAspearBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("LEPPA BERRY"), + .itemId = ITEM_LEPPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_PP, + .holdEffectParam = 10, + .description = gLeppaBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_PPRecovery, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_PPRecovery, + .secondaryId = 0, + }, + { + .name = _("ORAN BERRY"), + .itemId = ITEM_ORAN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 10, + .description = gOranBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("PERSIM BERRY"), + .itemId = ITEM_PERSIM_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_CONFUSION, + .holdEffectParam = 0, + .description = gPersimBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("LUM BERRY"), + .itemId = ITEM_LUM_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CURE_STATUS, + .holdEffectParam = 0, + .description = gLumBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("SITRUS BERRY"), + .itemId = ITEM_SITRUS_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RESTORE_HP, + .holdEffectParam = 30, + .description = gSitrusBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_Medicine, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_Medicine, + .secondaryId = 0, + }, + { + .name = _("FIGY BERRY"), + .itemId = ITEM_FIGY_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SPICY, + .holdEffectParam = 8, + .description = gFigyBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WIKI BERRY"), + .itemId = ITEM_WIKI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_DRY, + .holdEffectParam = 8, + .description = gWikiBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGO BERRY"), + .itemId = ITEM_MAGO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SWEET, + .holdEffectParam = 8, + .description = gMagoBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("AGUAV BERRY"), + .itemId = ITEM_AGUAV_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_BITTER, + .holdEffectParam = 8, + .description = gAguavBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("IAPAPA BERRY"), + .itemId = ITEM_IAPAPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CONFUSE_SOUR, + .holdEffectParam = 8, + .description = gIapapaBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RAZZ BERRY"), + .itemId = ITEM_RAZZ_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRazzBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLUK BERRY"), + .itemId = ITEM_BLUK_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBlukBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NANAB BERRY"), + .itemId = ITEM_NANAB_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gNanabBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WEPEAR BERRY"), + .itemId = ITEM_WEPEAR_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gWepearBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PINAP BERRY"), + .itemId = ITEM_PINAP_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPinapBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("POMEG BERRY"), + .itemId = ITEM_POMEG_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPomegBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KELPSY BERRY"), + .itemId = ITEM_KELPSY_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gKelpsyBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("QUALOT BERRY"), + .itemId = ITEM_QUALOT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gQualotBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HONDEW BERRY"), + .itemId = ITEM_HONDEW_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHondewBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GREPA BERRY"), + .itemId = ITEM_GREPA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGrepaBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TAMATO BERRY"), + .itemId = ITEM_TAMATO_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTamatoBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_ReduceEV, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CORNN BERRY"), + .itemId = ITEM_CORNN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gCornnBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGOST BERRY"), + .itemId = ITEM_MAGOST_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMagostBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RABUTA BERRY"), + .itemId = ITEM_RABUTA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRabutaBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NOMEL BERRY"), + .itemId = ITEM_NOMEL_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gNomelBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SPELON BERRY"), + .itemId = ITEM_SPELON_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSpelonBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PAMTRE BERRY"), + .itemId = ITEM_PAMTRE_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPamtreBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WATMEL BERRY"), + .itemId = ITEM_WATMEL_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gWatmelBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DURIN BERRY"), + .itemId = ITEM_DURIN_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDurinBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BELUE BERRY"), + .itemId = ITEM_BELUE_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBelueBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LIECHI BERRY"), + .itemId = ITEM_LIECHI_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_ATTACK_UP, + .holdEffectParam = 4, + .description = gLiechiBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GANLON BERRY"), + .itemId = ITEM_GANLON_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_DEFENSE_UP, + .holdEffectParam = 4, + .description = gGanlonBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SALAC BERRY"), + .itemId = ITEM_SALAC_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SPEED_UP, + .holdEffectParam = 4, + .description = gSalacBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PETAYA BERRY"), + .itemId = ITEM_PETAYA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SP_ATTACK_UP, + .holdEffectParam = 4, + .description = gPetayaBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("APICOT BERRY"), + .itemId = ITEM_APICOT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_SP_DEFENSE_UP, + .holdEffectParam = 4, + .description = gApicotBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LANSAT BERRY"), + .itemId = ITEM_LANSAT_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_CRITICAL_UP, + .holdEffectParam = 4, + .description = gLansatBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STARF BERRY"), + .itemId = ITEM_STARF_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_RANDOM_STAT_UP, + .holdEffectParam = 4, + .description = gStarfBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ENIGMA BERRY"), + .itemId = ITEM_ENIGMA_BERRY, + .price = 20, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gEnigmaBerryItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_BERRIES, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_EnigmaBerry, + .battleUsage = 1, + .battleUseFunc = ItemUseInBattle_EnigmaBerry, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Hold items + + { + .name = _("BRIGHTPOWDER"), + .itemId = ITEM_BRIGHT_POWDER, + .price = 10, + .holdEffect = HOLD_EFFECT_EVASION_UP, + .holdEffectParam = 10, + .description = gBrightPowderItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WHITE HERB"), + .itemId = ITEM_WHITE_HERB, + .price = 100, + .holdEffect = HOLD_EFFECT_RESTORE_STATS, + .holdEffectParam = 0, + .description = gWhiteHerbItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MACHO BRACE"), + .itemId = ITEM_MACHO_BRACE, + .price = 3000, + .holdEffect = HOLD_EFFECT_MACHO_BRACE, + .holdEffectParam = 0, + .description = gMachoBraceItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EXP. SHARE"), + .itemId = ITEM_EXP_SHARE, + .price = 3000, + .holdEffect = HOLD_EFFECT_EXP_SHARE, + .holdEffectParam = 0, + .description = gExpShareItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("QUICK CLAW"), + .itemId = ITEM_QUICK_CLAW, + .price = 100, + .holdEffect = HOLD_EFFECT_QUICK_CLAW, + .holdEffectParam = 20, + .description = gQuickClawItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SOOTHE BELL"), + .itemId = ITEM_SOOTHE_BELL, + .price = 100, + .holdEffect = HOLD_EFFECT_HAPPINESS_UP, + .holdEffectParam = 0, + .description = gSootheBellItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MENTAL HERB"), + .itemId = ITEM_MENTAL_HERB, + .price = 100, + .holdEffect = HOLD_EFFECT_CURE_ATTRACT, + .holdEffectParam = 0, + .description = gMentalHerbItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CHOICE BAND"), + .itemId = ITEM_CHOICE_BAND, + .price = 100, + .holdEffect = HOLD_EFFECT_CHOICE_BAND, + .holdEffectParam = 0, + .description = gChoiceBandItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("KING’S ROCK"), + .itemId = ITEM_KINGS_ROCK, + .price = 100, + .holdEffect = HOLD_EFFECT_FLINCH, + .holdEffectParam = 10, + .description = gKingsRockItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SILVERPOWDER"), + .itemId = ITEM_SILVER_POWDER, + .price = 100, + .holdEffect = HOLD_EFFECT_BUG_POWER, + .holdEffectParam = 10, + .description = gSilverPowderItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("AMULET COIN"), + .itemId = ITEM_AMULET_COIN, + .price = 100, + .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE, + .holdEffectParam = 10, + .description = gAmuletCoinItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CLEANSE TAG"), + .itemId = ITEM_CLEANSE_TAG, + .price = 200, + .holdEffect = HOLD_EFFECT_REPEL, + .holdEffectParam = 0, + .description = gCleanseTagItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SOUL DEW"), + .itemId = ITEM_SOUL_DEW, + .price = 200, + .holdEffect = HOLD_EFFECT_SOUL_DEW, + .holdEffectParam = 0, + .description = gSoulDewItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEEPSEATOOTH"), + .itemId = ITEM_DEEP_SEA_TOOTH, + .price = 200, + .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, + .holdEffectParam = 0, + .description = gDeepSeaToothItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEEPSEASCALE"), + .itemId = ITEM_DEEP_SEA_SCALE, + .price = 200, + .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, + .holdEffectParam = 0, + .description = gDeepSeaScaleItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SMOKE BALL"), + .itemId = ITEM_SMOKE_BALL, + .price = 200, + .holdEffect = HOLD_EFFECT_CAN_ALWAYS_RUN, + .holdEffectParam = 0, + .description = gSmokeBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EVERSTONE"), + .itemId = ITEM_EVERSTONE, + .price = 200, + .holdEffect = HOLD_EFFECT_PREVENT_EVOLVE, + .holdEffectParam = 0, + .description = gEverstoneItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FOCUS BAND"), + .itemId = ITEM_FOCUS_BAND, + .price = 200, + .holdEffect = HOLD_EFFECT_FOCUS_BAND, + .holdEffectParam = 10, + .description = gFocusBandItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LUCKY EGG"), + .itemId = ITEM_LUCKY_EGG, + .price = 200, + .holdEffect = HOLD_EFFECT_LUCKY_EGG, + .holdEffectParam = 0, + .description = gLuckyEggItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCOPE LENS"), + .itemId = ITEM_SCOPE_LENS, + .price = 200, + .holdEffect = HOLD_EFFECT_SCOPE_LENS, + .holdEffectParam = 0, + .description = gScopeLensItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METAL COAT"), + .itemId = ITEM_METAL_COAT, + .price = 100, + .holdEffect = HOLD_EFFECT_STEEL_POWER, + .holdEffectParam = 10, + .description = gMetalCoatItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LEFTOVERS"), + .itemId = ITEM_LEFTOVERS, + .price = 200, + .holdEffect = HOLD_EFFECT_LEFTOVERS, + .holdEffectParam = 10, + .description = gLeftoversItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DRAGON SCALE"), + .itemId = ITEM_DRAGON_SCALE, + .price = 2100, + .holdEffect = HOLD_EFFECT_DRAGON_SCALE, + .holdEffectParam = 10, + .description = gDragonScaleItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LIGHT BALL"), + .itemId = ITEM_LIGHT_BALL, + .price = 100, + .holdEffect = HOLD_EFFECT_LIGHT_BALL, + .holdEffectParam = 0, + .description = gLightBallItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SOFT SAND"), + .itemId = ITEM_SOFT_SAND, + .price = 100, + .holdEffect = HOLD_EFFECT_GROUND_POWER, + .holdEffectParam = 10, + .description = gSoftSandItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HARD STONE"), + .itemId = ITEM_HARD_STONE, + .price = 100, + .holdEffect = HOLD_EFFECT_ROCK_POWER, + .holdEffectParam = 10, + .description = gHardStoneItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MIRACLE SEED"), + .itemId = ITEM_MIRACLE_SEED, + .price = 100, + .holdEffect = HOLD_EFFECT_GRASS_POWER, + .holdEffectParam = 10, + .description = gMiracleSeedItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLACKGLASSES"), + .itemId = ITEM_BLACK_GLASSES, + .price = 100, + .holdEffect = HOLD_EFFECT_DARK_POWER, + .holdEffectParam = 10, + .description = gBlackGlassesItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLACK BELT"), + .itemId = ITEM_BLACK_BELT, + .price = 100, + .holdEffect = HOLD_EFFECT_FIGHTING_POWER, + .holdEffectParam = 10, + .description = gBlackBeltItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MAGNET"), + .itemId = ITEM_MAGNET, + .price = 100, + .holdEffect = HOLD_EFFECT_ELECTRIC_POWER, + .holdEffectParam = 10, + .description = gMagnetItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MYSTIC WATER"), + .itemId = ITEM_MYSTIC_WATER, + .price = 100, + .holdEffect = HOLD_EFFECT_WATER_POWER, + .holdEffectParam = 10, + .description = gMysticWaterItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SHARP BEAK"), + .itemId = ITEM_SHARP_BEAK, + .price = 100, + .holdEffect = HOLD_EFFECT_FLYING_POWER, + .holdEffectParam = 10, + .description = gSharpBeakItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("POISON BARB"), + .itemId = ITEM_POISON_BARB, + .price = 100, + .holdEffect = HOLD_EFFECT_POISON_POWER, + .holdEffectParam = 10, + .description = gPoisonBarbItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("NEVERMELTICE"), + .itemId = ITEM_NEVER_MELT_ICE, + .price = 100, + .holdEffect = HOLD_EFFECT_ICE_POWER, + .holdEffectParam = 10, + .description = gNeverMeltIceItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SPELL TAG"), + .itemId = ITEM_SPELL_TAG, + .price = 100, + .holdEffect = HOLD_EFFECT_GHOST_POWER, + .holdEffectParam = 10, + .description = gSpellTagItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TWISTEDSPOON"), + .itemId = ITEM_TWISTED_SPOON, + .price = 100, + .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, + .holdEffectParam = 10, + .description = gTwistedSpoonItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CHARCOAL"), + .itemId = ITEM_CHARCOAL, + .price = 9800, + .holdEffect = HOLD_EFFECT_FIRE_POWER, + .holdEffectParam = 10, + .description = gCharcoalItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DRAGON FANG"), + .itemId = ITEM_DRAGON_FANG, + .price = 100, + .holdEffect = HOLD_EFFECT_DRAGON_POWER, + .holdEffectParam = 10, + .description = gDragonFangItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SILK SCARF"), + .itemId = ITEM_SILK_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NORMAL_POWER, + .holdEffectParam = 10, + .description = gSilkScarfItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("UP-GRADE"), + .itemId = ITEM_UP_GRADE, + .price = 2100, + .holdEffect = HOLD_EFFECT_UP_GRADE, + .holdEffectParam = 0, + .description = gUpGradeItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SHELL BELL"), + .itemId = ITEM_SHELL_BELL, + .price = 200, + .holdEffect = HOLD_EFFECT_SHELL_BELL, + .holdEffectParam = 8, + .description = gShellBellItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SEA INCENSE"), + .itemId = ITEM_SEA_INCENSE, + .price = 9600, + .holdEffect = HOLD_EFFECT_WATER_POWER, + .holdEffectParam = 5, + .description = gSeaIncenseItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LAX INCENSE"), + .itemId = ITEM_LAX_INCENSE, + .price = 9600, + .holdEffect = HOLD_EFFECT_EVASION_UP, + .holdEffectParam = 5, + .description = gLaxIncenseItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LUCKY PUNCH"), + .itemId = ITEM_LUCKY_PUNCH, + .price = 10, + .holdEffect = HOLD_EFFECT_LUCKY_PUNCH, + .holdEffectParam = 0, + .description = gLuckyPunchItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METAL POWDER"), + .itemId = ITEM_METAL_POWDER, + .price = 10, + .holdEffect = HOLD_EFFECT_METAL_POWDER, + .holdEffectParam = 0, + .description = gMetalPowderItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("THICK CLUB"), + .itemId = ITEM_THICK_CLUB, + .price = 500, + .holdEffect = HOLD_EFFECT_THICK_CLUB, + .holdEffectParam = 0, + .description = gThickClubItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STICK"), + .itemId = ITEM_STICK, + .price = 200, + .holdEffect = HOLD_EFFECT_STICK, + .holdEffectParam = 0, + .description = gStickItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RED SCARF"), + .itemId = ITEM_RED_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRedScarfItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLUE SCARF"), + .itemId = ITEM_BLUE_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBlueScarfItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("PINK SCARF"), + .itemId = ITEM_PINK_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPinkScarfItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GREEN SCARF"), + .itemId = ITEM_GREEN_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGreenScarfItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("YELLOW SCARF"), + .itemId = ITEM_YELLOW_SCARF, + .price = 100, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gYellowScarfItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Key items + + { + .name = _("MACH BIKE"), + .itemId = ITEM_MACH_BIKE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMachBikeItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Bike, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("COIN CASE"), + .itemId = ITEM_COIN_CASE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gCoinCaseItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CoinCase, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ITEMFINDER"), + .itemId = ITEM_ITEMFINDER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gItemfinderItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("OLD ROD"), + .itemId = ITEM_OLD_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gOldRodItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GOOD ROD"), + .itemId = ITEM_GOOD_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGoodRodItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("SUPER ROD"), + .itemId = ITEM_SUPER_ROD, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSuperRodItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Rod, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 2, + }, + { + .name = _("S.S. TICKET"), + .itemId = ITEM_SS_TICKET, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSSTicketItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CONTEST PASS"), + .itemId = ITEM_CONTEST_PASS, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gContestPassItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("WAILMER PAIL"), + .itemId = ITEM_WAILMER_PAIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gWailmerPailItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_WailmerPail, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEVON GOODS"), + .itemId = ITEM_DEVON_GOODS, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDevonGoodsItemDescription, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SOOT SACK"), + .itemId = ITEM_SOOT_SACK, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSootSackItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BASEMENT KEY"), + .itemId = ITEM_BASEMENT_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBasementKeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ACRO BIKE"), + .itemId = ITEM_ACRO_BIKE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gAcroBikeItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_Bike, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("{POKEBLOCK} CASE"), + .itemId = ITEM_POKEBLOCK_CASE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPokeblockCaseItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 3, + .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LETTER"), + .itemId = ITEM_LETTER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gLetterItemDescription, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("EON TICKET"), + .itemId = ITEM_EON_TICKET, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gEonTicketItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 1, + }, + { + .name = _("RED ORB"), + .itemId = ITEM_RED_ORB, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRedOrbItemDescription, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BLUE ORB"), + .itemId = ITEM_BLUE_ORB, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBlueOrbItemDescription, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SCANNER"), + .itemId = ITEM_SCANNER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gScannerItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GO-GOGGLES"), + .itemId = ITEM_GO_GOGGLES, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGoGogglesItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("METEORITE"), + .itemId = ITEM_METEORITE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMeteoriteItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RM. 1 KEY"), + .itemId = ITEM_ROOM_1_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRoom1KeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RM. 2 KEY"), + .itemId = ITEM_ROOM_2_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRoom2KeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RM. 4 KEY"), + .itemId = ITEM_ROOM_4_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRoom4KeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RM. 6 KEY"), + .itemId = ITEM_ROOM_6_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRoom6KeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("STORAGE KEY"), + .itemId = ITEM_STORAGE_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gStorageKeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("ROOT FOSSIL"), + .itemId = ITEM_ROOT_FOSSIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRootFossilItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CLAW FOSSIL"), + .itemId = ITEM_CLAW_FOSSIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gClawFossilItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DEVON SCOPE"), + .itemId = ITEM_DEVON_SCOPE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDevonScopeItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//TMs/HMs + + { + .name = _("TM01"), + .itemId = ITEM_TM01_FOCUS_PUNCH, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM01ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM02"), + .itemId = ITEM_TM02_DRAGON_CLAW, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM02ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM03"), + .itemId = ITEM_TM03_WATER_PULSE, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM03ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM04"), + .itemId = ITEM_TM04_CALM_MIND, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM04ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM05"), + .itemId = ITEM_TM05_ROAR, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM05ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM06"), + .itemId = ITEM_TM06_TOXIC, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM06ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM07"), + .itemId = ITEM_TM07_HAIL, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM07ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM08"), + .itemId = ITEM_TM08_BULK_UP, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM08ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM09"), + .itemId = ITEM_TM09_BULLET_SEED, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM09ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM10"), + .itemId = ITEM_TM10_HIDDEN_POWER, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM10ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM11"), + .itemId = ITEM_TM11_SUNNY_DAY, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM11ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM12"), + .itemId = ITEM_TM12_TAUNT, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM12ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM13"), + .itemId = ITEM_TM13_ICE_BEAM, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM13ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM14"), + .itemId = ITEM_TM14_BLIZZARD, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM14ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM15"), + .itemId = ITEM_TM15_HYPER_BEAM, + .price = 7500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM15ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM16"), + .itemId = ITEM_TM16_LIGHT_SCREEN, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM16ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM17"), + .itemId = ITEM_TM17_PROTECT, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM17ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM18"), + .itemId = ITEM_TM18_RAIN_DANCE, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM18ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM19"), + .itemId = ITEM_TM19_GIGA_DRAIN, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM19ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM20"), + .itemId = ITEM_TM20_SAFEGUARD, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM20ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM21"), + .itemId = ITEM_TM21_FRUSTRATION, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM21ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM22"), + .itemId = ITEM_TM22_SOLARBEAM, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM22ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM23"), + .itemId = ITEM_TM23_IRON_TAIL, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM23ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM24"), + .itemId = ITEM_TM24_THUNDERBOLT, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM24ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM25"), + .itemId = ITEM_TM25_THUNDER, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM25ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM26"), + .itemId = ITEM_TM26_EARTHQUAKE, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM26ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM27"), + .itemId = ITEM_TM27_RETURN, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM27ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM28"), + .itemId = ITEM_TM28_DIG, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM28ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM29"), + .itemId = ITEM_TM29_PSYCHIC, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM29ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM30"), + .itemId = ITEM_TM30_SHADOW_BALL, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM30ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM31"), + .itemId = ITEM_TM31_BRICK_BREAK, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM31ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM32"), + .itemId = ITEM_TM32_DOUBLE_TEAM, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM32ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM33"), + .itemId = ITEM_TM33_REFLECT, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM33ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM34"), + .itemId = ITEM_TM34_SHOCK_WAVE, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM34ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM35"), + .itemId = ITEM_TM35_FLAMETHROWER, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM35ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM36"), + .itemId = ITEM_TM36_SLUDGE_BOMB, + .price = 1000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM36ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM37"), + .itemId = ITEM_TM37_SANDSTORM, + .price = 2000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM37ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM38"), + .itemId = ITEM_TM38_FIRE_BLAST, + .price = 5500, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM38ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM39"), + .itemId = ITEM_TM39_ROCK_TOMB, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM39ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM40"), + .itemId = ITEM_TM40_AERIAL_ACE, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM40ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM41"), + .itemId = ITEM_TM41_TORMENT, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM41ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM42"), + .itemId = ITEM_TM42_FACADE, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM42ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM43"), + .itemId = ITEM_TM43_SECRET_POWER, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM43ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM44"), + .itemId = ITEM_TM44_REST, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM44ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM45"), + .itemId = ITEM_TM45_ATTRACT, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM45ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM46"), + .itemId = ITEM_TM46_THIEF, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM46ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM47"), + .itemId = ITEM_TM47_STEEL_WING, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM47ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM48"), + .itemId = ITEM_TM48_SKILL_SWAP, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM48ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM49"), + .itemId = ITEM_TM49_SNATCH, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM49ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM50"), + .itemId = ITEM_TM50_OVERHEAT, + .price = 3000, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTM50ItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM01"), + .itemId = ITEM_HM01_CUT, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHM01ItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM02"), + .itemId = ITEM_HM02_FLY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHM02ItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM03"), + .itemId = ITEM_HM03_SURF, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHM03ItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM04"), + .itemId = ITEM_HM04_STRENGTH, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHM04ItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM05"), + .itemId = ITEM_HM05_FLASH, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHM05ItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM06"), + .itemId = ITEM_HM06_ROCK_SMASH, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHM06ItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM07"), + .itemId = ITEM_HM07_WATERFALL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHM07ItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HM08"), + .itemId = ITEM_HM08_DIVE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHM08ItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_TM_HM, + .type = 1, + .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("????????"), + .itemId = ITEM_NONE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDummyItemDescription, + .importance = 0, + .unk19 = 0, + .pocket = POCKET_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//FireRed/LeafGreen key items + + { + .name = _("OAK’S PARCEL"), + .itemId = ITEM_OAKS_PARCEL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gOaksParcelItemDescription, + .importance = 2, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("POKé FLUTE"), + .itemId = ITEM_POKE_FLUTE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPokeFluteItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SECRET KEY"), + .itemId = ITEM_SECRET_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSecretKeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BIKE VOUCHER"), + .itemId = ITEM_BIKE_VOUCHER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBikeVoucherItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("GOLD TEETH"), + .itemId = ITEM_GOLD_TEETH, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gGoldTeethItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("OLD AMBER"), + .itemId = ITEM_OLD_AMBER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gOldAmberItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("CARD KEY"), + .itemId = ITEM_CARD_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gCardKeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("LIFT KEY"), + .itemId = ITEM_LIFT_KEY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gLiftKeyItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("HELIX FOSSIL"), + .itemId = ITEM_HELIX_FOSSIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gHelixFossilItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("DOME FOSSIL"), + .itemId = ITEM_DOME_FOSSIL, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gDomeFossilItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SILPH SCOPE"), + .itemId = ITEM_SILPH_SCOPE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSilphScopeItemDescription, + .importance = 1, + .unk19 = 0, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BICYCLE"), + .itemId = ITEM_BICYCLE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBicycleItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TOWN MAP"), + .itemId = ITEM_TOWN_MAP, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTownMapItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("VS SEEKER"), + .itemId = ITEM_VS_SEEKER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gVSSeekerItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("FAME CHECKER"), + .itemId = ITEM_FAME_CHECKER, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gFameCheckerItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TM CASE"), + .itemId = ITEM_TM_CASE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTMCaseItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("BERRY POUCH"), + .itemId = ITEM_BERRY_POUCH, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gBerryPouchItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TEACHY TV"), + .itemId = ITEM_TEACHY_TV, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTeachyTVItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 2, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TRI-PASS"), + .itemId = ITEM_TRI_PASS, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTriPassItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RAINBOW PASS"), + .itemId = ITEM_RAINBOW_PASS, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRainbowPassItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("TEA"), + .itemId = ITEM_TEA, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gTeaItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("MYSTICTICKET"), + .itemId = ITEM_MYSTIC_TICKET, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMysticTicketItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("AURORATICKET"), + .itemId = ITEM_AURORA_TICKET, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gAuroraTicketItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("POWDER JAR"), + .itemId = ITEM_POWDER_JAR, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gPowderJarItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_PowderJar, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("RUBY"), + .itemId = ITEM_RUBY, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gRubyItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("SAPPHIRE"), + .itemId = ITEM_SAPPHIRE, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gSapphireItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + +//Emerald-specific key items + + { + .name = _("MAGMA EMBLEM"), + .itemId = ITEM_MAGMA_EMBLEM, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gMagmaEmblemItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, + { + .name = _("OLD SEA MAP"), + .itemId = ITEM_OLD_SEA_MAP, + .price = 0, + .holdEffect = HOLD_EFFECT_NONE, + .holdEffectParam = 0, + .description = gOldSeaMapItemDescription, + .importance = 1, + .unk19 = 1, + .pocket = POCKET_KEY_ITEMS, + .type = 4, + .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .battleUsage = 0, + .battleUseFunc = NULL, + .secondaryId = 0, + }, +}; diff --git a/src/data/pokedex_orders.h b/src/data/pokedex_orders.h new file mode 100644 index 000000000..61fbd289c --- /dev/null +++ b/src/data/pokedex_orders.h @@ -0,0 +1,1199 @@ +#ifndef GUARD_DATA_POKEDEX_ORDERS +#define GUARD_DATA_POKEDEX_ORDERS + +const u16 gPokedexOrder_Alphabetical[] = +{ + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 63, // Abra + 359, // Absol + 142, // Aerodactyl + 306, // Aggron + 190, // Aipom + 65, // Alakazam + 334, // Altaria + 181, // Ampharos + 347, // Anorith + 24, // Arbok + 59, // Arcanine + 168, // Ariados + 348, // Armaldo + 304, // Aron + 144, // Articuno + 184, // Azumarill + 298, // Azurill + 371, // Bagon + 343, // Baltoy + 354, // Banette + 339, // Barboach + 153, // Bayleef + 267, // Beautifly + 15, // Beedrill + 374, // Beldum + 182, // Bellossom + 69, // Bellsprout + 9, // Blastoise + 257, // Blaziken + 242, // Blissey + 286, // Breloom + 1, // Bulbasaur + 12, // Butterfree + 331, // Cacnea + 332, // Cacturne + 323, // Camerupt + 318, // Carvanha + 268, // Cascoon + 351, // Castform + 10, // Caterpie + 251, // Celebi + 113, // Chansey + 6, // Charizard + 4, // Charmander + 5, // Charmeleon + 152, // Chikorita + 358, // Chimecho + 170, // Chinchou + 366, // Clamperl + 344, // Claydol + 36, // Clefable + 35, // Clefairy + 173, // Cleffa + 91, // Cloyster + 256, // Combusken + 341, // Corphish + 222, // Corsola + 346, // Cradily + 342, // Crawdaunt + 169, // Crobat + 159, // Croconaw + 104, // Cubone + 155, // Cyndaquil + 301, // Delcatty + 225, // Delibird + 386, // Deoxys + 87, // Dewgong + 50, // Diglett + 132, // Ditto + 85, // Dodrio + 84, // Doduo + 232, // Donphan + 148, // Dragonair + 149, // Dragonite + 147, // Dratini + 96, // Drowzee + 51, // Dugtrio + 206, // Dunsparce + 356, // Dusclops + 355, // Duskull + 269, // Dustox + 133, // Eevee + 23, // Ekans + 125, // Electabuzz + 309, // Electrike + 101, // Electrode + 239, // Elekid + 244, // Entei + 196, // Espeon + 102, // Exeggcute + 103, // Exeggutor + 295, // Exploud + 83, // Farfetch'd + 22, // Fearow + 349, // Feebas + 160, // Feraligatr + 180, // Flaaffy + 136, // Flareon + 330, // Flygon + 205, // Forretress + 162, // Furret + 282, // Gardevoir + 92, // Gastly + 94, // Gengar + 74, // Geodude + 203, // Girafarig + 362, // Glalie + 207, // Gligar + 44, // Gloom + 42, // Golbat + 118, // Goldeen + 55, // Golduck + 76, // Golem + 368, // Gorebyss + 210, // Granbull + 75, // Graveler + 88, // Grimer + 383, // Groudon + 253, // Grovyle + 58, // Growlithe + 326, // Grumpig + 316, // Gulpin + 130, // Gyarados + 297, // Hariyama + 93, // Haunter + 214, // Heracross + 107, // Hitmonchan + 106, // Hitmonlee + 237, // Hitmontop + 250, // Ho-Oh + 163, // Hoothoot + 187, // Hoppip + 116, // Horsea + 229, // Houndoom + 228, // Houndour + 367, // Huntail + 97, // Hypno + 174, // Igglybuff + 314, // Illumise + 2, // Ivysaur + 39, // Jigglypuff + 385, // Jirachi + 135, // Jolteon + 189, // Jumpluff + 124, // Jynx + 140, // Kabuto + 141, // Kabutops + 64, // Kadabra + 14, // Kakuna + 115, // Kangaskhan + 352, // Kecleon + 230, // Kingdra + 99, // Kingler + 281, // Kirlia + 109, // Koffing + 98, // Krabby + 382, // Kyogre + 305, // Lairon + 171, // Lanturn + 131, // Lapras + 246, // Larvitar + 380, // Latias + 381, // Latios + 166, // Ledian + 165, // Ledyba + 108, // Lickitung + 345, // Lileep + 264, // Linoone + 271, // Lombre + 270, // Lotad + 294, // Loudred + 272, // Ludicolo + 249, // Lugia + 337, // Lunatone + 370, // Luvdisc + 68, // Machamp + 67, // Machoke + 66, // Machop + 240, // Magby + 219, // Magcargo + 129, // Magikarp + 126, // Magmar + 81, // Magnemite + 82, // Magneton + 296, // Makuhita + 310, // Manectric + 56, // Mankey + 226, // Mantine + 179, // Mareep + 183, // Marill + 105, // Marowak + 259, // Marshtomp + 284, // Masquerain + 303, // Mawile + 308, // Medicham + 307, // Meditite + 154, // Meganium + 52, // Meowth + 376, // Metagross + 375, // Metang + 11, // Metapod + 151, // Mew + 150, // Mewtwo + 262, // Mightyena + 350, // Milotic + 241, // Miltank + 312, // Minun + 200, // Misdreavus + 146, // Moltres + 122, // Mr. mime + 258, // Mudkip + 89, // Muk + 198, // Murkrow + 177, // Natu + 34, // Nidoking + 31, // Nidoqueen + 29, // Nidoran? + 32, // Nidoran? + 30, // Nidorina + 33, // Nidorino + 290, // Nincada + 38, // Ninetales + 291, // Ninjask + 164, // Noctowl + 299, // Nosepass + 322, // Numel + 274, // Nuzleaf + 224, // Octillery + 43, // Oddish + 138, // Omanyte + 139, // Omastar + 95, // Onix + 46, // Paras + 47, // Parasect + 279, // Pelipper + 53, // Persian + 231, // Phanpy + 172, // Pichu + 18, // Pidgeot + 17, // Pidgeotto + 16, // Pidgey + 25, // Pikachu + 221, // Piloswine + 204, // Pineco + 127, // Pinsir + 311, // Plusle + 186, // Politoed + 60, // Poliwag + 61, // Poliwhirl + 62, // Poliwrath + 77, // Ponyta + 261, // Poochyena + 137, // Porygon + 233, // Porygon2 + 57, // Primeape + 54, // Psyduck + 247, // Pupitar + 195, // Quagsire + 156, // Quilava + 211, // Qwilfish + 26, // Raichu + 243, // Raikou + 280, // Ralts + 78, // Rapidash + 20, // Raticate + 19, // Rattata + 384, // Rayquaza + 378, // Regice + 377, // Regirock + 379, // Registeel + 369, // Relicanth + 223, // Remoraid + 112, // Rhydon + 111, // Rhyhorn + 315, // Roselia + 302, // Sableye + 373, // Salamence + 27, // Sandshrew + 28, // Sandslash + 254, // Sceptile + 212, // Scizor + 123, // Scyther + 117, // Seadra + 119, // Seaking + 364, // Sealeo + 273, // Seedot + 86, // Seel + 161, // Sentret + 336, // Seviper + 319, // Sharpedo + 292, // Shedinja + 372, // Shelgon + 90, // Shellder + 275, // Shiftry + 285, // Shroomish + 213, // Shuckle + 353, // Shuppet + 266, // Silcoon + 227, // Skarmory + 188, // Skiploom + 300, // Skitty + 289, // Slaking + 287, // Slakoth + 80, // Slowbro + 199, // Slowking + 79, // Slowpoke + 218, // Slugma + 235, // Smeargle + 238, // Smoochum + 215, // Sneasel + 143, // Snorlax + 361, // Snorunt + 209, // Snubbull + 338, // Solrock + 21, // Spearow + 363, // Spheal + 167, // Spinarak + 327, // Spinda + 325, // Spoink + 7, // Squirtle + 234, // Stantler + 121, // Starmie + 120, // Staryu + 208, // Steelix + 185, // Sudowoodo + 245, // Suicune + 192, // Sunflora + 191, // Sunkern + 283, // Surskit + 333, // Swablu + 317, // Swalot + 260, // Swampert + 277, // Swellow + 220, // Swinub + 276, // Taillow + 114, // Tangela + 128, // Tauros + 216, // Teddiursa + 72, // Tentacool + 73, // Tentacruel + 175, // Togepi + 176, // Togetic + 255, // Torchic + 324, // Torkoal + 158, // Totodile + 328, // Trapinch + 252, // Treecko + 357, // Tropius + 157, // Typhlosion + 248, // Tyranitar + 236, // Tyrogue + 197, // Umbreon + 201, // Unown + 217, // Ursaring + 134, // Vaporeon + 49, // Venomoth + 48, // Venonat + 3, // Venusaur + 329, // Vibrava + 71, // Victreebel + 288, // Vigoroth + 45, // Vileplume + 313, // Volbeat + 100, // Voltorb + 37, // Vulpix + 320, // Wailmer + 321, // Wailord + 365, // Walrein + 8, // Wartortle + 13, // Weedle + 70, // Weepinbell + 110, // Weezing + 340, // Whiscash + 293, // Whismur + 40, // Wigglytuff + 278, // Wingull + 202, // Wobbuffet + 194, // Wooper + 265, // Wurmple + 360, // Wynaut + 178, // Xatu + 193, // Yanma + 335, // Zangoose + 145, // Zapdos + 263, // Zigzagoon + 41, // Zubat +}; + +const u16 gPokedexOrder_Weight[] = +{ + 92, // Gastly + 93, // Haunter + 187, // Hoppip + 50, // Diglett + 351, // Castform + 109, // Koffing + 174, // Igglybuff + 200, // Misdreavus + 358, // Chimecho + 188, // Skiploom + 385, // Jirachi + 333, // Swablu + 292, // Shedinja + 175, // Togepi + 283, // Surskit + 16, // Pidgey + 191, // Sunkern + 339, // Barboach + 172, // Pichu + 298, // Azurill + 315, // Roselia + 177, // Natu + 21, // Spearow + 198, // Murkrow + 353, // Shuppet + 276, // Taillow + 102, // Exeggcute + 255, // Torchic + 270, // Lotad + 10, // Caterpie + 189, // Jumpluff + 173, // Cleffa + 13, // Weedle + 176, // Togetic + 147, // Dratini + 19, // Rattata + 284, // Masquerain + 265, // Wurmple + 211, // Qwilfish + 151, // Mew + 90, // Shellder + 273, // Seedot + 132, // Ditto + 69, // Bellsprout + 311, // Plusle + 52, // Meowth + 312, // Minun + 285, // Shroomish + 251, // Celebi + 222, // Corsola + 252, // Treecko + 327, // Spinda + 201, // Unown + 46, // Paras + 43, // Oddish + 39, // Jigglypuff + 290, // Nincada + 182, // Bellossom + 81, // Magnemite + 25, // Pikachu + 238, // Smoochum + 161, // Sentret + 70, // Weepinbell + 152, // Chikorita + 220, // Swinub + 133, // Eevee + 98, // Krabby + 104, // Cubone + 280, // Ralts + 1, // Bulbasaur + 23, // Ekans + 29, // Nidoran? + 204, // Pineco + 349, // Feebas + 138, // Omanyte + 41, // Zubat + 35, // Clefairy + 258, // Mudkip + 209, // Snubbull + 179, // Mareep + 155, // Cyndaquil + 116, // Horsea + 4, // Charmander + 192, // Sunflora + 183, // Marill + 194, // Wooper + 167, // Spinarak + 44, // Gloom + 370, // Luvdisc + 216, // Teddiursa + 32, // Nidoran? + 7, // Squirtle + 278, // Wingull + 158, // Totodile + 110, // Weezing + 37, // Vulpix + 11, // Metapod + 266, // Silcoon + 129, // Magikarp + 14, // Kakuna + 316, // Gulpin + 100, // Voltorb + 165, // Ledyba + 228, // Houndour + 300, // Skitty + 302, // Sableye + 307, // Meditite + 341, // Corphish + 190, // Aipom + 268, // Cascoon + 303, // Mawile + 140, // Kabuto + 40, // Wigglytuff + 27, // Sandshrew + 223, // Remoraid + 291, // Ninjask + 170, // Chinchou + 60, // Poliwag + 347, // Anorith + 49, // Venomoth + 354, // Banette + 2, // Ivysaur + 180, // Flaaffy + 261, // Poochyena + 360, // Wynaut + 206, // Dunsparce + 178, // Xatu + 355, // Duskull + 83, // Farfetch'd + 328, // Trapinch + 118, // Goldeen + 309, // Electrike + 329, // Vibrava + 71, // Victreebel + 153, // Bayleef + 225, // Delibird + 293, // Whismur + 148, // Dragonair + 361, // Snorunt + 263, // Zigzagoon + 314, // Illumise + 313, // Volbeat + 20, // Raticate + 45, // Vileplume + 156, // Quilava + 5, // Charmeleon + 58, // Growlithe + 256, // Combusken + 66, // Machop + 63, // Abra + 33, // Nidorino + 54, // Psyduck + 277, // Swellow + 38, // Ninetales + 30, // Nidorina + 61, // Poliwhirl + 74, // Geodude + 281, // Kirlia + 213, // Shuckle + 334, // Altaria + 318, // Carvanha + 236, // Tyrogue + 163, // Hoothoot + 240, // Magby + 343, // Baltoy + 253, // Grovyle + 352, // Kecleon + 171, // Lanturn + 8, // Wartortle + 368, // Gorebyss + 369, // Relicanth + 239, // Elekid + 340, // Whiscash + 345, // Lileep + 322, // Numel + 287, // Slakoth + 135, // Jolteon + 159, // Croconaw + 136, // Flareon + 117, // Seadra + 196, // Espeon + 367, // Huntail + 197, // Umbreon + 259, // Marshtomp + 274, // Nuzleaf + 215, // Sneasel + 56, // Mankey + 279, // Pelipper + 267, // Beautifly + 224, // Octillery + 184, // Azumarill + 202, // Wobbuffet + 134, // Vaporeon + 28, // Sandslash + 47, // Parasect + 15, // Beedrill + 89, // Muk + 17, // Pidgeotto + 88, // Grimer + 26, // Raichu + 77, // Ponyta + 125, // Electabuzz + 48, // Venonat + 325, // Spoink + 356, // Dusclops + 308, // Medicham + 269, // Dustox + 53, // Persian + 12, // Butterfree + 57, // Primeape + 96, // Drowzee + 162, // Furret + 233, // Porygon2 + 271, // Lombre + 264, // Linoone + 301, // Delcatty + 342, // Crawdaunt + 51, // Dugtrio + 168, // Ariados + 231, // Phanpy + 186, // Politoed + 120, // Staryu + 113, // Chansey + 139, // Omastar + 114, // Tangela + 218, // Slugma + 229, // Houndoom + 166, // Ledian + 79, // Slowpoke + 137, // Porygon + 262, // Mightyena + 193, // Yanma + 22, // Fearow + 185, // Sudowoodo + 119, // Seaking + 286, // Breloom + 84, // Doduo + 18, // Pidgeot + 363, // Spheal + 36, // Clefable + 380, // Latias + 310, // Manectric + 335, // Zangoose + 141, // Kabutops + 94, // Gengar + 294, // Loudred + 124, // Jynx + 164, // Noctowl + 203, // Girafarig + 371, // Bagon + 126, // Magmar + 105, // Marowak + 72, // Tentacool + 288, // Vigoroth + 242, // Blissey + 359, // Absol + 65, // Alakazam + 237, // Hitmontop + 282, // Gardevoir + 210, // Granbull + 106, // Hitmonlee + 107, // Hitmonchan + 227, // Skarmory + 331, // Cacnea + 257, // Blaziken + 254, // Sceptile + 336, // Seviper + 366, // Clamperl + 145, // Zapdos + 214, // Heracross + 62, // Poliwrath + 122, // Mr. mime + 127, // Pinsir + 272, // Ludicolo + 73, // Tentacruel + 42, // Golbat + 219, // Magcargo + 144, // Articuno + 221, // Piloswine + 123, // Scyther + 64, // Kadabra + 235, // Smeargle + 142, // Aerodactyl + 275, // Shiftry + 99, // Kingler + 31, // Nidoqueen + 82, // Magneton + 304, // Aron + 381, // Latios + 146, // Moltres + 346, // Cradily + 386, // Deoxys + 181, // Ampharos + 34, // Nidoking + 207, // Gligar + 24, // Arbok + 108, // Lickitung + 101, // Electrode + 348, // Armaldo + 67, // Machoke + 234, // Stantler + 326, // Grumpig + 246, // Larvitar + 169, // Crobat + 195, // Quagsire + 241, // Miltank + 97, // Hypno + 55, // Golduck + 332, // Cacturne + 80, // Slowbro + 157, // Typhlosion + 199, // Slowking + 115, // Kangaskhan + 121, // Starmie + 317, // Swalot + 324, // Torkoal + 260, // Swampert + 330, // Flygon + 295, // Exploud + 85, // Dodrio + 9, // Blastoise + 296, // Makuhita + 364, // Sealeo + 128, // Tauros + 319, // Sharpedo + 160, // Feraligatr + 86, // Seel + 6, // Charizard + 78, // Rapidash + 374, // Beldum + 299, // Nosepass + 3, // Venusaur + 357, // Tropius + 154, // Meganium + 373, // Salamence + 75, // Graveler + 344, // Claydol + 372, // Shelgon + 111, // Rhyhorn + 212, // Scizor + 87, // Dewgong + 112, // Rhydon + 232, // Donphan + 103, // Exeggutor + 305, // Lairon + 150, // Mewtwo + 217, // Ursaring + 205, // Forretress + 68, // Machamp + 320, // Wailmer + 289, // Slaking + 91, // Cloyster + 365, // Walrein + 247, // Pupitar + 230, // Kingdra + 338, // Solrock + 59, // Arcanine + 350, // Milotic + 337, // Lunatone + 378, // Regice + 243, // Raikou + 245, // Suicune + 244, // Entei + 250, // Ho-Oh + 248, // Tyranitar + 375, // Metang + 379, // Registeel + 384, // Rayquaza + 95, // Onix + 149, // Dragonite + 249, // Lugia + 131, // Lapras + 323, // Camerupt + 226, // Mantine + 377, // Regirock + 130, // Gyarados + 297, // Hariyama + 362, // Glalie + 76, // Golem + 382, // Kyogre + 306, // Aggron + 321, // Wailord + 208, // Steelix + 143, // Snorlax + 376, // Metagross + 383, // Groudon +}; + +const u16 gPokedexOrder_Height[] = +{ + 50, // Diglett + 298, // Azurill + 177, // Natu + 13, // Weedle + 172, // Pichu + 173, // Cleffa + 175, // Togepi + 351, // Castform + 174, // Igglybuff + 10, // Caterpie + 276, // Taillow + 132, // Ditto + 133, // Eevee + 315, // Roselia + 21, // Spearow + 16, // Pidgey + 191, // Sunkern + 90, // Shellder + 19, // Rattata + 81, // Magnemite + 46, // Paras + 265, // Wurmple + 385, // Jirachi + 104, // Cubone + 258, // Mudkip + 194, // Wooper + 116, // Horsea + 52, // Meowth + 29, // Nidoran? + 220, // Swinub + 151, // Mew + 333, // Swablu + 304, // Aron + 311, // Plusle + 312, // Minun + 102, // Exeggcute + 25, // Pikachu + 182, // Bellossom + 316, // Gulpin + 263, // Zigzagoon + 285, // Shroomish + 138, // Omanyte + 331, // Cacnea + 98, // Krabby + 280, // Ralts + 187, // Hoppip + 255, // Torchic + 366, // Clamperl + 74, // Geodude + 183, // Marill + 339, // Barboach + 238, // Smoochum + 100, // Voltorb + 290, // Nincada + 302, // Sableye + 198, // Murkrow + 211, // Qwilfish + 7, // Squirtle + 252, // Treecko + 343, // Baltoy + 43, // Oddish + 270, // Lotad + 39, // Jigglypuff + 283, // Surskit + 155, // Cyndaquil + 140, // Kabuto + 264, // Linoone + 324, // Torkoal + 32, // Nidoran? + 167, // Spinarak + 56, // Mankey + 273, // Seedot + 261, // Poochyena + 231, // Phanpy + 201, // Unown + 170, // Chinchou + 233, // Porygon2 + 60, // Poliwag + 371, // Bagon + 349, // Feebas + 353, // Shuppet + 158, // Totodile + 251, // Celebi + 360, // Wynaut + 27, // Sandshrew + 358, // Chimecho + 370, // Luvdisc + 228, // Houndour + 266, // Silcoon + 309, // Electrike + 4, // Charmander + 307, // Meditite + 278, // Wingull + 223, // Remoraid + 341, // Corphish + 222, // Corsola + 314, // Illumise + 209, // Snubbull + 37, // Vulpix + 246, // Larvitar + 374, // Beldum + 293, // Whismur + 204, // Pineco + 239, // Elekid + 35, // Clefairy + 213, // Shuckle + 216, // Teddiursa + 14, // Kakuna + 300, // Skitty + 176, // Togetic + 118, // Goldeen + 303, // Mawile + 179, // Mareep + 188, // Skiploom + 109, // Koffing + 51, // Dugtrio + 268, // Cascoon + 322, // Numel + 347, // Anorith + 313, // Volbeat + 163, // Hoothoot + 328, // Trapinch + 325, // Spoink + 11, // Metapod + 69, // Bellsprout + 361, // Snorunt + 20, // Raticate + 259, // Marshtomp + 277, // Swellow + 240, // Magby + 58, // Growlithe + 200, // Misdreavus + 1, // Bulbasaur + 236, // Tyrogue + 218, // Slugma + 287, // Slakoth + 281, // Kirlia + 190, // Aipom + 135, // Jolteon + 30, // Nidorina + 184, // Azumarill + 292, // Shedinja + 66, // Machop + 291, // Ninjask + 284, // Masquerain + 355, // Duskull + 192, // Sunflora + 189, // Jumpluff + 120, // Staryu + 180, // Flaaffy + 363, // Spheal + 54, // Psyduck + 219, // Magcargo + 83, // Farfetch'd + 41, // Zubat + 137, // Porygon + 161, // Sentret + 318, // Carvanha + 44, // Gloom + 26, // Raichu + 129, // Magikarp + 215, // Sneasel + 305, // Lairon + 256, // Combusken + 224, // Octillery + 33, // Nidorino + 136, // Flareon + 225, // Delibird + 72, // Tentacool + 63, // Abra + 253, // Grovyle + 340, // Whiscash + 156, // Quilava + 196, // Espeon + 88, // Grimer + 152, // Chikorita + 326, // Grumpig + 299, // Nosepass + 53, // Persian + 262, // Mightyena + 48, // Venonat + 82, // Magneton + 77, // Ponyta + 296, // Makuhita + 337, // Lunatone + 28, // Sandslash + 96, // Drowzee + 114, // Tangela + 57, // Primeape + 165, // Ledyba + 40, // Wigglytuff + 47, // Parasect + 139, // Omastar + 294, // Loudred + 8, // Wartortle + 75, // Graveler + 197, // Umbreon + 345, // Lileep + 61, // Poliwhirl + 134, // Vaporeon + 15, // Beedrill + 105, // Marowak + 70, // Weepinbell + 369, // Relicanth + 111, // Rhyhorn + 2, // Ivysaur + 352, // Kecleon + 274, // Nuzleaf + 267, // Beautifly + 17, // Pidgeotto + 168, // Ariados + 86, // Seel + 186, // Politoed + 159, // Croconaw + 113, // Chansey + 354, // Banette + 232, // Donphan + 121, // Starmie + 5, // Charmeleon + 221, // Piloswine + 12, // Butterfree + 329, // Vibrava + 125, // Electabuzz + 342, // Crawdaunt + 301, // Delcatty + 334, // Altaria + 372, // Shelgon + 38, // Ninetales + 207, // Gligar + 364, // Sealeo + 327, // Spinda + 247, // Pupitar + 79, // Slowpoke + 338, // Solrock + 241, // Miltank + 22, // Fearow + 45, // Vileplume + 89, // Muk + 205, // Forretress + 185, // Sudowoodo + 359, // Absol + 193, // Yanma + 269, // Dustox + 108, // Lickitung + 235, // Smeargle + 171, // Lanturn + 101, // Electrode + 271, // Lombre + 286, // Breloom + 153, // Bayleef + 117, // Seadra + 110, // Weezing + 279, // Pelipper + 375, // Metang + 31, // Nidoqueen + 332, // Cacturne + 275, // Shiftry + 308, // Medicham + 335, // Zangoose + 141, // Kabutops + 99, // Kingler + 64, // Kadabra + 119, // Seaking + 36, // Clefable + 126, // Magmar + 202, // Wobbuffet + 92, // Gastly + 122, // Mr. mime + 62, // Poliwrath + 128, // Tauros + 380, // Latias + 181, // Ampharos + 288, // Vigoroth + 166, // Ledian + 76, // Golem + 365, // Walrein + 84, // Doduo + 229, // Houndoom + 34, // Nidoking + 124, // Jynx + 107, // Hitmonchan + 234, // Stantler + 210, // Granbull + 237, // Hitmontop + 195, // Quagsire + 344, // Claydol + 260, // Swampert + 242, // Blissey + 272, // Ludicolo + 295, // Exploud + 206, // Dunsparce + 127, // Pinsir + 91, // Cloyster + 67, // Machoke + 203, // Girafarig + 18, // Pidgeot + 178, // Xatu + 346, // Cradily + 106, // Hitmonlee + 49, // Venomoth + 94, // Gengar + 214, // Heracross + 362, // Glalie + 123, // Scyther + 373, // Salamence + 310, // Manectric + 348, // Armaldo + 65, // Alakazam + 97, // Hypno + 164, // Noctowl + 73, // Tentacruel + 356, // Dusclops + 145, // Zapdos + 42, // Golbat + 376, // Metagross + 282, // Gardevoir + 9, // Blastoise + 80, // Slowbro + 93, // Haunter + 68, // Machamp + 377, // Regirock + 317, // Swalot + 254, // Sceptile + 227, // Skarmory + 55, // Golduck + 386, // Deoxys + 71, // Victreebel + 78, // Rapidash + 6, // Charizard + 367, // Huntail + 87, // Dewgong + 144, // Articuno + 157, // Typhlosion + 142, // Aerodactyl + 368, // Gorebyss + 217, // Ursaring + 154, // Meganium + 378, // Regice + 212, // Scizor + 230, // Kingdra + 147, // Dratini + 85, // Dodrio + 319, // Sharpedo + 169, // Crobat + 162, // Furret + 59, // Arcanine + 243, // Raikou + 257, // Blaziken + 323, // Camerupt + 112, // Rhydon + 379, // Registeel + 23, // Ekans + 330, // Flygon + 357, // Tropius + 381, // Latios + 245, // Suicune + 146, // Moltres + 3, // Venusaur + 103, // Exeggutor + 199, // Slowking + 248, // Tyranitar + 289, // Slaking + 320, // Wailmer + 150, // Mewtwo + 306, // Aggron + 143, // Snorlax + 226, // Mantine + 244, // Entei + 149, // Dragonite + 115, // Kangaskhan + 297, // Hariyama + 160, // Feraligatr + 131, // Lapras + 336, // Seviper + 24, // Arbok + 383, // Groudon + 250, // Ho-Oh + 148, // Dragonair + 382, // Kyogre + 249, // Lugia + 350, // Milotic + 130, // Gyarados + 384, // Rayquaza + 95, // Onix + 208, // Steelix + 321, // Wailord +}; + +#endif // GUARD_DATA_POKEDEX_ORDERS diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h new file mode 100644 index 000000000..bc6572b46 --- /dev/null +++ b/src/data/pokemon/base_stats.h @@ -0,0 +1,13576 @@ +#ifndef GUARD_BASE_STATS_H +#define GUARD_BASE_STATS_H + +// Maximum value for a female pokemon is 254 (MON_FEMALE) which is 100% female. +// 255 (MON_GENDERLESS) is reserved for genderless pokemon. +#define PERCENT_FEMALE(percent) min(254, ((percent * 255) / 100)) + +const struct BaseStats gBaseStats[] = +{ + [SPECIES_NONE] = {0}, + + [SPECIES_BULBASAUR] = + { + .baseHP = 45, + .baseAttack = 49, + .baseDefense = 49, + .baseSpeed = 45, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_IVYSAUR] = + { + .baseHP = 60, + .baseAttack = 62, + .baseDefense = 63, + .baseSpeed = 60, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_VENUSAUR] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 83, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CHARMANDER] = + { + .baseHP = 39, + .baseAttack = 52, + .baseDefense = 43, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CHARMELEON] = + { + .baseHP = 58, + .baseAttack = 64, + .baseDefense = 58, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CHARIZARD] = + { + .baseHP = 78, + .baseAttack = 84, + .baseDefense = 78, + .baseSpeed = 100, + .baseSpAttack = 109, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SQUIRTLE] = + { + .baseHP = 44, + .baseAttack = 48, + .baseDefense = 65, + .baseSpeed = 43, + .baseSpAttack = 50, + .baseSpDefense = 64, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 66, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WARTORTLE] = + { + .baseHP = 59, + .baseAttack = 63, + .baseDefense = 80, + .baseSpeed = 58, + .baseSpAttack = 65, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_BLASTOISE] = + { + .baseHP = 79, + .baseAttack = 83, + .baseDefense = 100, + .baseSpeed = 78, + .baseSpAttack = 85, + .baseSpDefense = 105, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CATERPIE] = + { + .baseHP = 45, + .baseAttack = 30, + .baseDefense = 35, + .baseSpeed = 45, + .baseSpAttack = 20, + .baseSpDefense = 20, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 255, + .expYield = 53, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_METAPOD] = + { + .baseHP = 50, + .baseAttack = 20, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 72, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BUTTERFREE] = + { + .baseHP = 60, + .baseAttack = 45, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 160, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_WEEDLE] = + { + .baseHP = 40, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 50, + .baseSpAttack = 20, + .baseSpDefense = 20, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 52, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KAKUNA] = + { + .baseHP = 45, + .baseAttack = 25, + .baseDefense = 50, + .baseSpeed = 35, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 71, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_BEEDRILL] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 40, + .baseSpeed = 75, + .baseSpAttack = 45, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 159, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEY] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 40, + .baseSpeed = 56, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 55, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEOTTO] = + { + .baseHP = 63, + .baseAttack = 60, + .baseDefense = 55, + .baseSpeed = 71, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 113, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PIDGEOT] = + { + .baseHP = 83, + .baseAttack = 80, + .baseDefense = 75, + .baseSpeed = 91, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 172, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_RATTATA] = + { + .baseHP = 30, + .baseAttack = 56, + .baseDefense = 35, + .baseSpeed = 72, + .baseSpAttack = 25, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 57, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_RATICATE] = + { + .baseHP = 55, + .baseAttack = 81, + .baseDefense = 60, + .baseSpeed = 97, + .baseSpAttack = 50, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 127, + .expYield = 116, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SPEAROW] = + { + .baseHP = 40, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 70, + .baseSpAttack = 31, + .baseSpDefense = 31, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_FEAROW] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 65, + .baseSpeed = 100, + .baseSpAttack = 61, + .baseSpDefense = 61, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 162, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_EKANS] = + { + .baseHP = 35, + .baseAttack = 60, + .baseDefense = 44, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 54, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 62, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_SHED_SKIN, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ARBOK] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 69, + .baseSpeed = 80, + .baseSpAttack = 65, + .baseSpDefense = 79, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_SHED_SKIN, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_PIKACHU] = + { + .baseHP = 35, + .baseAttack = 55, + .baseDefense = 30, + .baseSpeed = 90, + .baseSpAttack = 50, + .baseSpDefense = 40, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 82, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_LIGHT_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_RAICHU] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 55, + .baseSpeed = 100, + .baseSpAttack = 90, + .baseSpDefense = 80, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 75, + .expYield = 122, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SANDSHREW] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 85, + .baseSpeed = 40, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 93, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SANDSLASH] = + { + .baseHP = 75, + .baseAttack = 100, + .baseDefense = 110, + .baseSpeed = 65, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 90, + .expYield = 163, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_NIDORAN_F] = + { + .baseHP = 55, + .baseAttack = 47, + .baseDefense = 52, + .baseSpeed = 41, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 235, + .expYield = 59, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORINA] = + { + .baseHP = 70, + .baseAttack = 62, + .baseDefense = 67, + .baseSpeed = 56, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 117, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDOQUEEN] = + { + .baseHP = 90, + .baseAttack = 82, + .baseDefense = 87, + .baseSpeed = 76, + .baseSpAttack = 75, + .baseSpDefense = 85, + .type1 = TYPE_POISON, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 194, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORAN_M] = + { + .baseHP = 46, + .baseAttack = 57, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 235, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_NIDORINO] = + { + .baseHP = 61, + .baseAttack = 72, + .baseDefense = 57, + .baseSpeed = 65, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 118, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_NIDOKING] = + { + .baseHP = 81, + .baseAttack = 92, + .baseDefense = 77, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_POISON, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 195, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CLEFAIRY] = + { + .baseHP = 70, + .baseAttack = 45, + .baseDefense = 48, + .baseSpeed = 35, + .baseSpAttack = 60, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 68, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CLEFABLE] = + { + .baseHP = 95, + .baseAttack = 70, + .baseDefense = 73, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 90, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 25, + .expYield = 129, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_VULPIX] = + { + .baseHP = 38, + .baseAttack = 41, + .baseDefense = 40, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NINETALES] = + { + .baseHP = 73, + .baseAttack = 76, + .baseDefense = 75, + .baseSpeed = 100, + .baseSpAttack = 81, + .baseSpDefense = 100, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 75, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_JIGGLYPUFF] = + { + .baseHP = 115, + .baseAttack = 45, + .baseDefense = 20, + .baseSpeed = 20, + .baseSpAttack = 45, + .baseSpDefense = 25, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 170, + .expYield = 76, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_WIGGLYTUFF] = + { + .baseHP = 140, + .baseAttack = 70, + .baseDefense = 45, + .baseSpeed = 45, + .baseSpAttack = 75, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 50, + .expYield = 109, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ZUBAT] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 55, + .baseSpAttack = 30, + .baseSpDefense = 40, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GOLBAT] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 70, + .baseSpeed = 90, + .baseSpAttack = 65, + .baseSpDefense = 75, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 171, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ODDISH] = + { + .baseHP = 45, + .baseAttack = 50, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 75, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GLOOM] = + { + .baseHP = 60, + .baseAttack = 65, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_VILEPLUME] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 100, + .baseSpDefense = 90, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PARAS] = + { + .baseHP = 35, + .baseAttack = 70, + .baseDefense = 55, + .baseSpeed = 25, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_BUG, + .type2 = TYPE_GRASS, + .catchRate = 190, + .expYield = 70, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_TINY_MUSHROOM, + .item2 = ITEM_BIG_MUSHROOM, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PARASECT] = + { + .baseHP = 60, + .baseAttack = 95, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 60, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_GRASS, + .catchRate = 75, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_TINY_MUSHROOM, + .item2 = ITEM_BIG_MUSHROOM, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_VENONAT] = + { + .baseHP = 60, + .baseAttack = 55, + .baseDefense = 50, + .baseSpeed = 45, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 75, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_VENOMOTH] = + { + .baseHP = 70, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 90, + .baseSpAttack = 90, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 138, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DIGLETT] = + { + .baseHP = 10, + .baseAttack = 55, + .baseDefense = 25, + .baseSpeed = 95, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 81, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DUGTRIO] = + { + .baseHP = 35, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 120, + .baseSpAttack = 50, + .baseSpDefense = 70, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 50, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MEOWTH] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 69, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PERSIAN] = + { + .baseHP = 65, + .baseAttack = 70, + .baseDefense = 60, + .baseSpeed = 115, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 148, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PSYDUCK] = + { + .baseHP = 50, + .baseAttack = 52, + .baseDefense = 48, + .baseSpeed = 55, + .baseSpAttack = 65, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 80, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_CLOUD_NINE, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_GOLDUCK] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 78, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 174, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_CLOUD_NINE, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MANKEY] = + { + .baseHP = 40, + .baseAttack = 80, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PRIMEAPE] = + { + .baseHP = 65, + .baseAttack = 105, + .baseDefense = 60, + .baseSpeed = 95, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 75, + .expYield = 149, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GROWLITHE] = + { + .baseHP = 55, + .baseAttack = 70, + .baseDefense = 45, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ARCANINE] = + { + .baseHP = 90, + .baseAttack = 110, + .baseDefense = 80, + .baseSpeed = 95, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 75, + .expYield = 213, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_POLIWAG] = + { + .baseHP = 40, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 77, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_POLIWHIRL] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 90, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 120, + .expYield = 131, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_POLIWRATH] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 90, + .type1 = TYPE_WATER, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 185, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_ABRA] = + { + .baseHP = 25, + .baseAttack = 20, + .baseDefense = 15, + .baseSpeed = 90, + .baseSpAttack = 105, + .baseSpDefense = 55, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 200, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KADABRA] = + { + .baseHP = 40, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 105, + .baseSpAttack = 120, + .baseSpDefense = 70, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 100, + .expYield = 145, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ALAKAZAM] = + { + .baseHP = 55, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 120, + .baseSpAttack = 135, + .baseSpDefense = 85, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 50, + .expYield = 186, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_TWISTED_SPOON, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MACHOP] = + { + .baseHP = 70, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 35, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 180, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MACHOKE] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 50, + .baseSpDefense = 60, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 90, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MACHAMP] = + { + .baseHP = 90, + .baseAttack = 130, + .baseDefense = 80, + .baseSpeed = 55, + .baseSpAttack = 65, + .baseSpDefense = 85, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 193, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_BELLSPROUT] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 35, + .baseSpeed = 40, + .baseSpAttack = 70, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 84, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_WEEPINBELL] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 50, + .baseSpeed = 55, + .baseSpAttack = 85, + .baseSpDefense = 45, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 120, + .expYield = 151, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_VICTREEBEL] = + { + .baseHP = 80, + .baseAttack = 105, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 100, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 191, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_TENTACOOL] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 50, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 105, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_LIQUID_OOZE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_TENTACRUEL] = + { + .baseHP = 80, + .baseAttack = 70, + .baseDefense = 65, + .baseSpeed = 100, + .baseSpAttack = 80, + .baseSpDefense = 120, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 60, + .expYield = 205, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_LIQUID_OOZE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GEODUDE] = + { + .baseHP = 40, + .baseAttack = 80, + .baseDefense = 100, + .baseSpeed = 20, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 86, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GRAVELER] = + { + .baseHP = 55, + .baseAttack = 95, + .baseDefense = 115, + .baseSpeed = 35, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 120, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GOLEM] = + { + .baseHP = 80, + .baseAttack = 110, + .baseDefense = 130, + .baseSpeed = 45, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 177, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_EVERSTONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PONYTA] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 55, + .baseSpeed = 90, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_RAPIDASH] = + { + .baseHP = 65, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 105, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 60, + .expYield = 192, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SLOWPOKE] = + { + .baseHP = 90, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 15, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 190, + .expYield = 99, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SLOWBRO] = + { + .baseHP = 95, + .baseAttack = 75, + .baseDefense = 110, + .baseSpeed = 30, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 75, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_MAGNEMITE] = + { + .baseHP = 25, + .baseAttack = 35, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 95, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_STEEL, + .catchRate = 190, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_MAGNET_PULL, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MAGNETON] = + { + .baseHP = 50, + .baseAttack = 60, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 120, + .baseSpDefense = 70, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_STEEL, + .catchRate = 60, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_MAGNET_PULL, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_FARFETCHD] = + { + .baseHP = 52, + .baseAttack = 65, + .baseDefense = 55, + .baseSpeed = 60, + .baseSpAttack = 58, + .baseSpDefense = 62, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 94, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_STICK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_INNER_FOCUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DODUO] = + { + .baseHP = 35, + .baseAttack = 85, + .baseDefense = 45, + .baseSpeed = 75, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 96, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_DODRIO] = + { + .baseHP = 60, + .baseAttack = 110, + .baseDefense = 70, + .baseSpeed = 100, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 158, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SHARP_BEAK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 10, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SEEL] = + { + .baseHP = 65, + .baseAttack = 45, + .baseDefense = 55, + .baseSpeed = 45, + .baseSpAttack = 45, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 100, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_DEWGONG] = + { + .baseHP = 90, + .baseAttack = 70, + .baseDefense = 80, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 75, + .expYield = 176, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_GRIMER] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 25, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 90, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NUGGET, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_STENCH, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MUK] = + { + .baseHP = 105, + .baseAttack = 105, + .baseDefense = 75, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 100, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 157, + .evYield_HP = 1, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NUGGET, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_STENCH, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SHELLDER] = + { + .baseHP = 30, + .baseAttack = 65, + .baseDefense = 100, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_PEARL, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CLOYSTER] = + { + .baseHP = 50, + .baseAttack = 95, + .baseDefense = 180, + .baseSpeed = 70, + .baseSpAttack = 85, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 60, + .expYield = 203, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_PEARL, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GASTLY] = + { + .baseHP = 30, + .baseAttack = 35, + .baseDefense = 30, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 35, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 95, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_HAUNTER] = + { + .baseHP = 45, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 115, + .baseSpDefense = 55, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_GENGAR] = + { + .baseHP = 60, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 75, + .type1 = TYPE_GHOST, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 190, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_ONIX] = + { + .baseHP = 35, + .baseAttack = 45, + .baseDefense = 160, + .baseSpeed = 70, + .baseSpAttack = 30, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_DROWZEE] = + { + .baseHP = 60, + .baseAttack = 48, + .baseDefense = 45, + .baseSpeed = 42, + .baseSpAttack = 43, + .baseSpDefense = 90, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 190, + .expYield = 102, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HYPNO] = + { + .baseHP = 85, + .baseAttack = 73, + .baseDefense = 70, + .baseSpeed = 67, + .baseSpAttack = 73, + .baseSpDefense = 115, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 75, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_KRABBY] = + { + .baseHP = 30, + .baseAttack = 105, + .baseDefense = 90, + .baseSpeed = 50, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 115, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_KINGLER] = + { + .baseHP = 55, + .baseAttack = 130, + .baseDefense = 115, + .baseSpeed = 75, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 206, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = TRUE, + }, + + [SPECIES_VOLTORB] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 50, + .baseSpeed = 100, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 103, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_STATIC, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_ELECTRODE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 140, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 60, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_STATIC, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_EXEGGCUTE] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 80, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 45, + .type1 = TYPE_GRASS, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_EXEGGUTOR] = + { + .baseHP = 95, + .baseAttack = 95, + .baseDefense = 85, + .baseSpeed = 55, + .baseSpAttack = 125, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 212, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CUBONE] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 95, + .baseSpeed = 35, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 190, + .expYield = 87, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_THICK_CLUB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MAROWAK] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 110, + .baseSpeed = 45, + .baseSpAttack = 50, + .baseSpDefense = 80, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 124, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_THICK_CLUB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HITMONLEE] = + { + .baseHP = 50, + .baseAttack = 120, + .baseDefense = 53, + .baseSpeed = 87, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 139, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HITMONCHAN] = + { + .baseHP = 50, + .baseAttack = 105, + .baseDefense = 79, + .baseSpeed = 76, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 140, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LICKITUNG] = + { + .baseHP = 90, + .baseAttack = 55, + .baseDefense = 75, + .baseSpeed = 30, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 127, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_KOFFING] = + { + .baseHP = 40, + .baseAttack = 65, + .baseDefense = 95, + .baseSpeed = 35, + .baseSpAttack = 60, + .baseSpDefense = 45, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 190, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SMOKE_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_WEEZING] = + { + .baseHP = 65, + .baseAttack = 90, + .baseDefense = 120, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 60, + .expYield = 173, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SMOKE_BALL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_RHYHORN] = + { + .baseHP = 80, + .baseAttack = 85, + .baseDefense = 95, + .baseSpeed = 25, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GROUND, + .type2 = TYPE_ROCK, + .catchRate = 120, + .expYield = 135, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIGHTNING_ROD, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_RHYDON] = + { + .baseHP = 105, + .baseAttack = 130, + .baseDefense = 120, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_ROCK, + .catchRate = 60, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_LIGHTNING_ROD, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_CHANSEY] = + { + .baseHP = 250, + .baseAttack = 5, + .baseDefense = 5, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 105, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 30, + .expYield = 255, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LUCKY_EGG, + .genderRatio = MON_FEMALE, + .eggCycles = 40, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_TANGELA] = + { + .baseHP = 65, + .baseAttack = 55, + .baseDefense = 115, + .baseSpeed = 60, + .baseSpAttack = 100, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 166, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_KANGASKHAN] = + { + .baseHP = 105, + .baseAttack = 95, + .baseDefense = 80, + .baseSpeed = 90, + .baseSpAttack = 40, + .baseSpDefense = 80, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 175, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HORSEA] = + { + .baseHP = 30, + .baseAttack = 40, + .baseDefense = 70, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 83, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SEADRA] = + { + .baseHP = 55, + .baseAttack = 65, + .baseDefense = 95, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 155, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GOLDEEN] = + { + .baseHP = 45, + .baseAttack = 67, + .baseDefense = 60, + .baseSpeed = 63, + .baseSpAttack = 35, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 111, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_VEIL, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SEAKING] = + { + .baseHP = 80, + .baseAttack = 92, + .baseDefense = 65, + .baseSpeed = 68, + .baseSpAttack = 65, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 170, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_VEIL, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_STARYU] = + { + .baseHP = 30, + .baseAttack = 45, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 70, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STARDUST, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_STARMIE] = + { + .baseHP = 60, + .baseAttack = 75, + .baseDefense = 85, + .baseSpeed = 115, + .baseSpAttack = 100, + .baseSpDefense = 85, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 207, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STARDUST, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MR_MIME] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 65, + .baseSpeed = 90, + .baseSpAttack = 100, + .baseSpDefense = 120, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 136, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SCYTHER] = + { + .baseHP = 70, + .baseAttack = 110, + .baseDefense = 80, + .baseSpeed = 105, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 187, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_JYNX] = + { + .baseHP = 65, + .baseAttack = 50, + .baseDefense = 35, + .baseSpeed = 95, + .baseSpAttack = 115, + .baseSpDefense = 95, + .type1 = TYPE_ICE, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 137, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_ASPEAR_BERRY, + .item2 = ITEM_ASPEAR_BERRY, + .genderRatio = MON_FEMALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_ELECTABUZZ] = + { + .baseHP = 65, + .baseAttack = 83, + .baseDefense = 57, + .baseSpeed = 105, + .baseSpAttack = 95, + .baseSpDefense = 85, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 156, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = TRUE, + }, + + [SPECIES_MAGMAR] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 57, + .baseSpeed = 93, + .baseSpAttack = 100, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 167, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_FLAME_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PINSIR] = + { + .baseHP = 65, + .baseAttack = 125, + .baseDefense = 100, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 70, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_TAUROS] = + { + .baseHP = 75, + .baseAttack = 100, + .baseDefense = 95, + .baseSpeed = 110, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MAGIKARP] = + { + .baseHP = 20, + .baseAttack = 10, + .baseDefense = 55, + .baseSpeed = 80, + .baseSpAttack = 15, + .baseSpDefense = 20, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 20, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 5, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_GYARADOS] = + { + .baseHP = 95, + .baseAttack = 125, + .baseDefense = 79, + .baseSpeed = 81, + .baseSpAttack = 60, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 214, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 5, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LAPRAS] = + { + .baseHP = 130, + .baseAttack = 85, + .baseDefense = 80, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_ICE, + .catchRate = 45, + .expYield = 219, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DITTO] = + { + .baseHP = 48, + .baseAttack = 48, + .baseDefense = 48, + .baseSpeed = 48, + .baseSpAttack = 48, + .baseSpDefense = 48, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 35, + .expYield = 61, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_POWDER, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_DITTO, + .eggGroup2 = EGG_GROUP_DITTO, + .ability1 = ABILITY_LIMBER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_EEVEE] = + { + .baseHP = 55, + .baseAttack = 55, + .baseDefense = 50, + .baseSpeed = 55, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 92, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VAPOREON] = + { + .baseHP = 130, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 110, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 196, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_JOLTEON] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 130, + .baseSpAttack = 110, + .baseSpDefense = 95, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_FLAREON] = + { + .baseHP = 65, + .baseAttack = 130, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 110, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 198, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_FLASH_FIRE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_PORYGON] = + { + .baseHP = 65, + .baseAttack = 60, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 130, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_TRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_OMANYTE] = + { + .baseHP = 35, + .baseAttack = 40, + .baseDefense = 100, + .baseSpeed = 35, + .baseSpAttack = 90, + .baseSpDefense = 55, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_OMASTAR] = + { + .baseHP = 70, + .baseAttack = 60, + .baseDefense = 125, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 199, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_KABUTO] = + { + .baseHP = 30, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 55, + .baseSpAttack = 55, + .baseSpDefense = 45, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 119, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_BATTLE_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_KABUTOPS] = + { + .baseHP = 60, + .baseAttack = 115, + .baseDefense = 105, + .baseSpeed = 80, + .baseSpAttack = 65, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 201, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_BATTLE_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_AERODACTYL] = + { + .baseHP = 80, + .baseAttack = 105, + .baseDefense = 65, + .baseSpeed = 130, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_ROCK, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 202, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_PRESSURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SNORLAX] = + { + .baseHP = 160, + .baseAttack = 110, + .baseDefense = 65, + .baseSpeed = 30, + .baseSpAttack = 65, + .baseSpDefense = 110, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 25, + .expYield = 154, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LEFTOVERS, + .item2 = ITEM_LEFTOVERS, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_IMMUNITY, + .ability2 = ABILITY_THICK_FAT, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_ARTICUNO] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 100, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 125, + .type1 = TYPE_ICE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ZAPDOS] = + { + .baseHP = 90, + .baseAttack = 90, + .baseDefense = 85, + .baseSpeed = 100, + .baseSpAttack = 125, + .baseSpDefense = 90, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MOLTRES] = + { + .baseHP = 90, + .baseAttack = 100, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 125, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_DRATINI] = + { + .baseHP = 41, + .baseAttack = 64, + .baseDefense = 45, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 67, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DRAGONAIR] = + { + .baseHP = 61, + .baseAttack = 84, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DRAGONITE] = + { + .baseHP = 91, + .baseAttack = 134, + .baseDefense = 95, + .baseSpeed = 80, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MEWTWO] = + { + .baseHP = 106, + .baseAttack = 110, + .baseDefense = 90, + .baseSpeed = 130, + .baseSpAttack = 154, + .baseSpDefense = 90, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_MEW] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LUM_BERRY, + .item2 = ITEM_LUM_BERRY, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CHIKORITA] = + { + .baseHP = 45, + .baseAttack = 49, + .baseDefense = 65, + .baseSpeed = 45, + .baseSpAttack = 49, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BAYLEEF] = + { + .baseHP = 60, + .baseAttack = 62, + .baseDefense = 80, + .baseSpeed = 60, + .baseSpAttack = 63, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MEGANIUM] = + { + .baseHP = 80, + .baseAttack = 82, + .baseDefense = 100, + .baseSpeed = 80, + .baseSpAttack = 83, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CYNDAQUIL] = + { + .baseHP = 39, + .baseAttack = 52, + .baseDefense = 43, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_QUILAVA] = + { + .baseHP = 58, + .baseAttack = 64, + .baseDefense = 58, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 65, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_TYPHLOSION] = + { + .baseHP = 78, + .baseAttack = 84, + .baseDefense = 78, + .baseSpeed = 100, + .baseSpAttack = 109, + .baseSpDefense = 85, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_TOTODILE] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 64, + .baseSpeed = 43, + .baseSpAttack = 44, + .baseSpDefense = 48, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 66, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CROCONAW] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 58, + .baseSpAttack = 59, + .baseSpDefense = 63, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = TRUE, + }, + + [SPECIES_FERALIGATR] = + { + .baseHP = 85, + .baseAttack = 105, + .baseDefense = 100, + .baseSpeed = 78, + .baseSpAttack = 79, + .baseSpDefense = 83, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SENTRET] = + { + .baseHP = 35, + .baseAttack = 46, + .baseDefense = 34, + .baseSpeed = 20, + .baseSpAttack = 35, + .baseSpDefense = 45, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 57, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_FURRET] = + { + .baseHP = 85, + .baseAttack = 76, + .baseDefense = 64, + .baseSpeed = 90, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 116, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_SITRUS_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_HOOTHOOT] = + { + .baseHP = 60, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 50, + .baseSpAttack = 36, + .baseSpDefense = 56, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NOCTOWL] = + { + .baseHP = 100, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 76, + .baseSpDefense = 96, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 162, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LEDYBA] = + { + .baseHP = 40, + .baseAttack = 20, + .baseDefense = 30, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_LEDIAN] = + { + .baseHP = 55, + .baseAttack = 35, + .baseDefense = 50, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 110, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SPINARAK] = + { + .baseHP = 40, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_INSOMNIA, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_ARIADOS] = + { + .baseHP = 70, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 134, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_INSOMNIA, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CROBAT] = + { + .baseHP = 85, + .baseAttack = 90, + .baseDefense = 80, + .baseSpeed = 130, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_POISON, + .type2 = TYPE_FLYING, + .catchRate = 90, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CHINCHOU] = + { + .baseHP = 75, + .baseAttack = 38, + .baseDefense = 38, + .baseSpeed = 67, + .baseSpAttack = 56, + .baseSpDefense = 56, + .type1 = TYPE_WATER, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 90, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_YELLOW_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_ILLUMINATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LANTURN] = + { + .baseHP = 125, + .baseAttack = 58, + .baseDefense = 58, + .baseSpeed = 67, + .baseSpAttack = 76, + .baseSpDefense = 76, + .type1 = TYPE_WATER, + .type2 = TYPE_ELECTRIC, + .catchRate = 75, + .expYield = 156, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_YELLOW_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_VOLT_ABSORB, + .ability2 = ABILITY_ILLUMINATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_PICHU] = + { + .baseHP = 20, + .baseAttack = 40, + .baseDefense = 15, + .baseSpeed = 60, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 190, + .expYield = 42, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CLEFFA] = + { + .baseHP = 50, + .baseAttack = 25, + .baseDefense = 28, + .baseSpeed = 15, + .baseSpAttack = 45, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 37, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_LEPPA_BERRY, + .item2 = ITEM_MOON_STONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_IGGLYBUFF] = + { + .baseHP = 90, + .baseAttack = 30, + .baseDefense = 15, + .baseSpeed = 15, + .baseSpAttack = 40, + .baseSpDefense = 20, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 170, + .expYield = 39, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = TRUE, + }, + + [SPECIES_TOGEPI] = + { + .baseHP = 35, + .baseAttack = 20, + .baseDefense = 65, + .baseSpeed = 20, + .baseSpAttack = 40, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_TOGETIC] = + { + .baseHP = 55, + .baseAttack = 40, + .baseDefense = 85, + .baseSpeed = 40, + .baseSpAttack = 80, + .baseSpDefense = 105, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_NATU] = + { + .baseHP = 40, + .baseAttack = 50, + .baseDefense = 45, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 45, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 6, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_XATU] = + { + .baseHP = 65, + .baseAttack = 75, + .baseDefense = 70, + .baseSpeed = 95, + .baseSpAttack = 95, + .baseSpDefense = 70, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 171, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MAREEP] = + { + .baseHP = 55, + .baseAttack = 40, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 235, + .expYield = 59, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_FLAAFFY] = + { + .baseHP = 70, + .baseAttack = 55, + .baseDefense = 55, + .baseSpeed = 45, + .baseSpAttack = 80, + .baseSpDefense = 60, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 120, + .expYield = 117, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_AMPHAROS] = + { + .baseHP = 90, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 90, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 194, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_BELLOSSOM] = + { + .baseHP = 75, + .baseAttack = 80, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MARILL] = + { + .baseHP = 70, + .baseAttack = 20, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 20, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 58, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_AZUMARILL] = + { + .baseHP = 100, + .baseAttack = 50, + .baseDefense = 80, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 80, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 153, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SUDOWOODO] = + { + .baseHP = 70, + .baseAttack = 100, + .baseDefense = 115, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 65, + .expYield = 135, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_POLITOED] = + { + .baseHP = 90, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 70, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 185, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_WATER_ABSORB, + .ability2 = ABILITY_DAMP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = TRUE, + }, + + [SPECIES_HOPPIP] = + { + .baseHP = 35, + .baseAttack = 35, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 55, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_SKIPLOOM] = + { + .baseHP = 55, + .baseAttack = 45, + .baseDefense = 50, + .baseSpeed = 80, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 136, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_JUMPLUFF] = + { + .baseHP = 75, + .baseAttack = 55, + .baseDefense = 70, + .baseSpeed = 110, + .baseSpAttack = 55, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 176, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_AIPOM] = + { + .baseHP = 55, + .baseAttack = 70, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 94, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_PICKUP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SUNKERN] = + { + .baseHP = 30, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 235, + .expYield = 52, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SUNFLORA] = + { + .baseHP = 75, + .baseAttack = 75, + .baseDefense = 55, + .baseSpeed = 30, + .baseSpAttack = 105, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 120, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_YANMA] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 75, + .baseSpDefense = 45, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SPEED_BOOST, + .ability2 = ABILITY_COMPOUND_EYES, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_WOOPER] = + { + .baseHP = 55, + .baseAttack = 45, + .baseDefense = 45, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 52, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_QUAGSIRE] = + { + .baseHP = 95, + .baseAttack = 85, + .baseDefense = 85, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 90, + .expYield = 137, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_DAMP, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ESPEON] = + { + .baseHP = 65, + .baseAttack = 65, + .baseDefense = 60, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 95, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_UMBREON] = + { + .baseHP = 95, + .baseAttack = 65, + .baseDefense = 110, + .baseSpeed = 65, + .baseSpAttack = 60, + .baseSpDefense = 130, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_MURKROW] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 42, + .baseSpeed = 91, + .baseSpAttack = 85, + .baseSpDefense = 42, + .type1 = TYPE_DARK, + .type2 = TYPE_FLYING, + .catchRate = 30, + .expYield = 107, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_SLOWKING] = + { + .baseHP = 95, + .baseAttack = 75, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 100, + .baseSpDefense = 110, + .type1 = TYPE_WATER, + .type2 = TYPE_PSYCHIC, + .catchRate = 70, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_MISDREAVUS] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 85, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_UNOWN] = + { + .baseHP = 48, + .baseAttack = 72, + .baseDefense = 48, + .baseSpeed = 48, + .baseSpAttack = 72, + .baseSpDefense = 48, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 225, + .expYield = 61, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_WOBBUFFET] = + { + .baseHP = 190, + .baseAttack = 33, + .baseDefense = 58, + .baseSpeed = 33, + .baseSpAttack = 33, + .baseSpDefense = 58, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 177, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SHADOW_TAG, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GIRAFARIG] = + { + .baseHP = 70, + .baseAttack = 80, + .baseDefense = 65, + .baseSpeed = 85, + .baseSpAttack = 90, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 149, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PERSIM_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 4, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_PINECO] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 90, + .baseSpeed = 15, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 190, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_FORRETRESS] = + { + .baseHP = 75, + .baseAttack = 90, + .baseDefense = 140, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_BUG, + .type2 = TYPE_STEEL, + .catchRate = 75, + .expYield = 118, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DUNSPARCE] = + { + .baseHP = 100, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SERENE_GRACE, + .ability2 = ABILITY_RUN_AWAY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_GLIGAR] = + { + .baseHP = 65, + .baseAttack = 75, + .baseDefense = 105, + .baseSpeed = 85, + .baseSpAttack = 35, + .baseSpDefense = 65, + .type1 = TYPE_GROUND, + .type2 = TYPE_FLYING, + .catchRate = 60, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SAND_VEIL, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_STEELIX] = + { + .baseHP = 75, + .baseAttack = 85, + .baseDefense = 200, + .baseSpeed = 30, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_STEEL, + .type2 = TYPE_GROUND, + .catchRate = 25, + .expYield = 196, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_SNUBBULL] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_RUN_AWAY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_GRANBULL] = + { + .baseHP = 90, + .baseAttack = 120, + .baseDefense = 75, + .baseSpeed = 45, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 75, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_INTIMIDATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_QWILFISH] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 75, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 100, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_POISON_POINT, + .ability2 = ABILITY_SWIFT_SWIM, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_SCIZOR] = + { + .baseHP = 70, + .baseAttack = 130, + .baseDefense = 100, + .baseSpeed = 65, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_BUG, + .type2 = TYPE_STEEL, + .catchRate = 25, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SHUCKLE] = + { + .baseHP = 20, + .baseAttack = 10, + .baseDefense = 230, + .baseSpeed = 5, + .baseSpAttack = 10, + .baseSpDefense = 230, + .type1 = TYPE_BUG, + .type2 = TYPE_ROCK, + .catchRate = 190, + .expYield = 80, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HERACROSS] = + { + .baseHP = 80, + .baseAttack = 125, + .baseDefense = 75, + .baseSpeed = 85, + .baseSpAttack = 40, + .baseSpDefense = 95, + .type1 = TYPE_BUG, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 8, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SNEASEL] = + { + .baseHP = 55, + .baseAttack = 95, + .baseDefense = 55, + .baseSpeed = 115, + .baseSpAttack = 35, + .baseSpDefense = 75, + .type1 = TYPE_DARK, + .type2 = TYPE_ICE, + .catchRate = 60, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_QUICK_CLAW, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_KEEN_EYE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_TEDDIURSA] = + { + .baseHP = 60, + .baseAttack = 80, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 124, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = TRUE, + }, + + [SPECIES_URSARING] = + { + .baseHP = 90, + .baseAttack = 130, + .baseDefense = 75, + .baseSpeed = 55, + .baseSpAttack = 75, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 60, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SLUGMA] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 40, + .baseSpeed = 20, + .baseSpAttack = 70, + .baseSpDefense = 40, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 190, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_FLAME_BODY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MAGCARGO] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 120, + .baseSpeed = 30, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_FIRE, + .type2 = TYPE_ROCK, + .catchRate = 75, + .expYield = 154, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_FLAME_BODY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SWINUB] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 50, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_ICE, + .type2 = TYPE_GROUND, + .catchRate = 225, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_PILOSWINE] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 80, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_ICE, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 160, + .evYield_HP = 1, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_CORSOLA] = + { + .baseHP = 55, + .baseAttack = 55, + .baseDefense = 85, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 85, + .type1 = TYPE_WATER, + .type2 = TYPE_ROCK, + .catchRate = 60, + .expYield = 113, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_RED_SHARD, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_NATURAL_CURE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_REMORAID] = + { + .baseHP = 35, + .baseAttack = 65, + .baseDefense = 35, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 190, + .expYield = 78, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_HUSTLE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_OCTILLERY] = + { + .baseHP = 75, + .baseAttack = 105, + .baseDefense = 75, + .baseSpeed = 45, + .baseSpAttack = 105, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 75, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_DELIBIRD] = + { + .baseHP = 45, + .baseAttack = 55, + .baseDefense = 45, + .baseSpeed = 75, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_ICE, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 183, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_HUSTLE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MANTINE] = + { + .baseHP = 65, + .baseAttack = 40, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 80, + .baseSpDefense = 140, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 25, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_WATER_ABSORB, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_SKARMORY] = + { + .baseHP = 65, + .baseAttack = 80, + .baseDefense = 140, + .baseSpeed = 70, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_STEEL, + .type2 = TYPE_FLYING, + .catchRate = 25, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_STURDY, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_HOUNDOUR] = + { + .baseHP = 45, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 65, + .baseSpAttack = 80, + .baseSpDefense = 50, + .type1 = TYPE_DARK, + .type2 = TYPE_FIRE, + .catchRate = 120, + .expYield = 114, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_HOUNDOOM] = + { + .baseHP = 75, + .baseAttack = 90, + .baseDefense = 50, + .baseSpeed = 95, + .baseSpAttack = 110, + .baseSpDefense = 80, + .type1 = TYPE_DARK, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 204, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_EARLY_BIRD, + .ability2 = ABILITY_FLASH_FIRE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_KINGDRA] = + { + .baseHP = 75, + .baseAttack = 95, + .baseDefense = 95, + .baseSpeed = 85, + .baseSpAttack = 95, + .baseSpDefense = 95, + .type1 = TYPE_WATER, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 207, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_PHANPY] = + { + .baseHP = 90, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 40, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 120, + .expYield = 124, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 10, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DONPHAN] = + { + .baseHP = 90, + .baseAttack = 120, + .baseDefense = 120, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 60, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_PORYGON2] = + { + .baseHP = 85, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 60, + .baseSpAttack = 105, + .baseSpDefense = 95, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 180, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_TRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_STANTLER] = + { + .baseHP = 73, + .baseAttack = 95, + .baseDefense = 62, + .baseSpeed = 85, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SMEARGLE] = + { + .baseHP = 55, + .baseAttack = 20, + .baseDefense = 35, + .baseSpeed = 75, + .baseSpAttack = 20, + .baseSpDefense = 45, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_TYROGUE] = + { + .baseHP = 35, + .baseAttack = 35, + .baseDefense = 35, + .baseSpeed = 35, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 75, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_HITMONTOP] = + { + .baseHP = 50, + .baseAttack = 95, + .baseDefense = 95, + .baseSpeed = 70, + .baseSpAttack = 35, + .baseSpDefense = 110, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 138, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SMOOCHUM] = + { + .baseHP = 45, + .baseAttack = 30, + .baseDefense = 15, + .baseSpeed = 65, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_ICE, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 87, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_ASPEAR_BERRY, + .item2 = ITEM_ASPEAR_BERRY, + .genderRatio = MON_FEMALE, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ELEKID] = + { + .baseHP = 45, + .baseAttack = 63, + .baseDefense = 37, + .baseSpeed = 95, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 106, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = TRUE, + }, + + [SPECIES_MAGBY] = + { + .baseHP = 45, + .baseAttack = 75, + .baseDefense = 37, + .baseSpeed = 83, + .baseSpAttack = 70, + .baseSpDefense = 55, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 117, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_FLAME_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MILTANK] = + { + .baseHP = 95, + .baseAttack = 80, + .baseDefense = 105, + .baseSpeed = 100, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_MOOMOO_MILK, + .item2 = ITEM_MOOMOO_MILK, + .genderRatio = MON_FEMALE, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_BLISSEY] = + { + .baseHP = 255, + .baseAttack = 10, + .baseDefense = 10, + .baseSpeed = 55, + .baseSpAttack = 75, + .baseSpDefense = 135, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 30, + .expYield = 255, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LUCKY_EGG, + .genderRatio = MON_FEMALE, + .eggCycles = 40, + .friendship = 140, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_SERENE_GRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_RAIKOU] = + { + .baseHP = 90, + .baseAttack = 85, + .baseDefense = 75, + .baseSpeed = 115, + .baseSpAttack = 115, + .baseSpDefense = 100, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_ENTEI] = + { + .baseHP = 115, + .baseAttack = 115, + .baseDefense = 85, + .baseSpeed = 100, + .baseSpAttack = 90, + .baseSpDefense = 75, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 1, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SUICUNE] = + { + .baseHP = 100, + .baseAttack = 75, + .baseDefense = 115, + .baseSpeed = 85, + .baseSpAttack = 90, + .baseSpDefense = 115, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LARVITAR] = + { + .baseHP = 50, + .baseAttack = 64, + .baseDefense = 50, + .baseSpeed = 41, + .baseSpAttack = 45, + .baseSpDefense = 50, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 67, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_PUPITAR] = + { + .baseHP = 70, + .baseAttack = 84, + .baseDefense = 70, + .baseSpeed = 51, + .baseSpAttack = 65, + .baseSpDefense = 70, + .type1 = TYPE_ROCK, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_TYRANITAR] = + { + .baseHP = 100, + .baseAttack = 134, + .baseDefense = 110, + .baseSpeed = 61, + .baseSpAttack = 95, + .baseSpDefense = 100, + .type1 = TYPE_ROCK, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_SAND_STREAM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LUGIA] = + { + .baseHP = 106, + .baseAttack = 90, + .baseDefense = 130, + .baseSpeed = 110, + .baseSpAttack = 90, + .baseSpDefense = 154, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_HO_OH] = + { + .baseHP = 106, + .baseAttack = 130, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 110, + .baseSpDefense = 154, + .type1 = TYPE_FIRE, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_SACRED_ASH, + .item2 = ITEM_SACRED_ASH, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CELEBI] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 64, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_LUM_BERRY, + .item2 = ITEM_LUM_BERRY, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_B] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_C] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_D] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_E] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_F] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_G] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_H] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_I] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_J] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_K] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_L] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_M] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_N] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_O] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_P] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Q] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_R] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_S] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_T] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_U] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_V] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_W] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_X] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Y] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_OLD_UNOWN_Z] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 3, + .expYield = 1, + .evYield_HP = 2, + .evYield_Attack = 2, + .evYield_Defense = 2, + .evYield_Speed = 2, + .evYield_SpAttack = 2, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_NONE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_TREECKO] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 70, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_GROVYLE] = + { + .baseHP = 50, + .baseAttack = 65, + .baseDefense = 45, + .baseSpeed = 95, + .baseSpAttack = 85, + .baseSpDefense = 65, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SCEPTILE] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 65, + .baseSpeed = 120, + .baseSpAttack = 105, + .baseSpDefense = 85, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 3, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_OVERGROW, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_TORCHIC] = + { + .baseHP = 45, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 45, + .baseSpAttack = 70, + .baseSpDefense = 50, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_COMBUSKEN] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 60, + .baseSpeed = 55, + .baseSpAttack = 85, + .baseSpDefense = 60, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_BLAZIKEN] = + { + .baseHP = 80, + .baseAttack = 120, + .baseDefense = 70, + .baseSpeed = 80, + .baseSpAttack = 110, + .baseSpDefense = 70, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIGHTING, + .catchRate = 45, + .expYield = 209, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_BLAZE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_MUDKIP] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MARSHTOMP] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 70, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 143, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SWAMPERT] = + { + .baseHP = 100, + .baseAttack = 110, + .baseDefense = 90, + .baseSpeed = 60, + .baseSpAttack = 85, + .baseSpDefense = 90, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_TORRENT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_POOCHYENA] = + { + .baseHP = 35, + .baseAttack = 55, + .baseDefense = 35, + .baseSpeed = 35, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 255, + .expYield = 55, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PECHA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_RUN_AWAY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_MIGHTYENA] = + { + .baseHP = 70, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 127, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_PECHA_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ZIGZAGOON] = + { + .baseHP = 38, + .baseAttack = 30, + .baseDefense = 41, + .baseSpeed = 60, + .baseSpAttack = 30, + .baseSpDefense = 41, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 60, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_ORAN_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_LINOONE] = + { + .baseHP = 78, + .baseAttack = 70, + .baseDefense = 61, + .baseSpeed = 100, + .baseSpAttack = 50, + .baseSpDefense = 61, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_ORAN_BERRY, + .item2 = ITEM_SITRUS_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PICKUP, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_WURMPLE] = + { + .baseHP = 45, + .baseAttack = 45, + .baseDefense = 35, + .baseSpeed = 20, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 255, + .expYield = 54, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SILCOON] = + { + .baseHP = 50, + .baseAttack = 35, + .baseDefense = 55, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 71, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_BEAUTIFLY] = + { + .baseHP = 60, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 65, + .baseSpAttack = 90, + .baseSpDefense = 50, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CASCOON] = + { + .baseHP = 50, + .baseAttack = 35, + .baseDefense = 55, + .baseSpeed = 15, + .baseSpAttack = 25, + .baseSpDefense = 25, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 120, + .expYield = 72, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_DUSTOX] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 90, + .type1 = TYPE_BUG, + .type2 = TYPE_POISON, + .catchRate = 45, + .expYield = 160, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SHIELD_DUST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LOTAD] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LOMBRE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 120, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LUDICOLO] = + { + .baseHP = 80, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 90, + .baseSpDefense = 100, + .type1 = TYPE_WATER, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 181, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_RAIN_DISH, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SEEDOT] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 30, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NUZLEAF] = + { + .baseHP = 70, + .baseAttack = 70, + .baseDefense = 40, + .baseSpeed = 60, + .baseSpAttack = 60, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 120, + .expYield = 141, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SHIFTRY] = + { + .baseHP = 90, + .baseAttack = 100, + .baseDefense = 60, + .baseSpeed = 80, + .baseSpAttack = 90, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 45, + .expYield = 181, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_EARLY_BIRD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_NINCADA] = + { + .baseHP = 31, + .baseAttack = 45, + .baseDefense = 90, + .baseSpeed = 40, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_COMPOUND_EYES, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_NINJASK] = + { + .baseHP = 61, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 160, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 120, + .expYield = 155, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SPEED_BOOST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SHEDINJA] = + { + .baseHP = 1, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 40, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_BUG, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 95, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_WONDER_GUARD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_TAILLOW] = + { + .baseHP = 40, + .baseAttack = 55, + .baseDefense = 30, + .baseSpeed = 85, + .baseSpAttack = 30, + .baseSpDefense = 30, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 200, + .expYield = 59, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SWELLOW] = + { + .baseHP = 60, + .baseAttack = 85, + .baseDefense = 60, + .baseSpeed = 125, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 162, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_GUTS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SHROOMISH] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 60, + .baseSpeed = 35, + .baseSpAttack = 40, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_BRELOOM] = + { + .baseHP = 60, + .baseAttack = 130, + .baseDefense = 80, + .baseSpeed = 70, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_FIGHTING, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_EFFECT_SPORE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SPINDA] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 60, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 85, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OWN_TEMPO, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = TRUE, + }, + + [SPECIES_WINGULL] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 30, + .baseSpeed = 85, + .baseSpAttack = 55, + .baseSpDefense = 30, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 190, + .expYield = 64, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_PELIPPER] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 100, + .baseSpeed = 65, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_WATER, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FLYING, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SURSKIT] = + { + .baseHP = 40, + .baseAttack = 30, + .baseDefense = 32, + .baseSpeed = 65, + .baseSpAttack = 50, + .baseSpDefense = 52, + .type1 = TYPE_BUG, + .type2 = TYPE_WATER, + .catchRate = 200, + .expYield = 63, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MASQUERAIN] = + { + .baseHP = 70, + .baseAttack = 60, + .baseDefense = 62, + .baseSpeed = 60, + .baseSpAttack = 80, + .baseSpDefense = 82, + .type1 = TYPE_BUG, + .type2 = TYPE_FLYING, + .catchRate = 75, + .expYield = 128, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SILVER_POWDER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WAILMER] = + { + .baseHP = 130, + .baseAttack = 70, + .baseDefense = 35, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 125, + .expYield = 137, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_WATER_VEIL, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WAILORD] = + { + .baseHP = 170, + .baseAttack = 90, + .baseDefense = 45, + .baseSpeed = 60, + .baseSpAttack = 90, + .baseSpDefense = 45, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 206, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_WATER_VEIL, + .ability2 = ABILITY_OBLIVIOUS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SKITTY] = + { + .baseHP = 50, + .baseAttack = 45, + .baseDefense = 45, + .baseSpeed = 50, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 65, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_DELCATTY] = + { + .baseHP = 70, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 60, + .expYield = 138, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_LEPPA_BERRY, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_CUTE_CHARM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_KECLEON] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 60, + .baseSpDefense = 120, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 200, + .expYield = 132, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_PERSIM_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_COLOR_CHANGE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_BALTOY] = + { + .baseHP = 40, + .baseAttack = 40, + .baseDefense = 55, + .baseSpeed = 55, + .baseSpAttack = 40, + .baseSpDefense = 70, + .type1 = TYPE_GROUND, + .type2 = TYPE_PSYCHIC, + .catchRate = 255, + .expYield = 58, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_CLAYDOL] = + { + .baseHP = 60, + .baseAttack = 70, + .baseDefense = 105, + .baseSpeed = 75, + .baseSpAttack = 70, + .baseSpDefense = 120, + .type1 = TYPE_GROUND, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 189, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_NOSEPASS] = + { + .baseHP = 30, + .baseAttack = 45, + .baseDefense = 135, + .baseSpeed = 30, + .baseSpAttack = 45, + .baseSpDefense = 90, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 255, + .expYield = 108, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_MAGNET_PULL, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_TORKOAL] = + { + .baseHP = 70, + .baseAttack = 85, + .baseDefense = 140, + .baseSpeed = 20, + .baseSpAttack = 85, + .baseSpDefense = 70, + .type1 = TYPE_FIRE, + .type2 = TYPE_FIRE, + .catchRate = 90, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_WHITE_SMOKE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_SABLEYE] = + { + .baseHP = 50, + .baseAttack = 75, + .baseDefense = 75, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 65, + .type1 = TYPE_DARK, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_KEEN_EYE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_BARBOACH] = + { + .baseHP = 50, + .baseAttack = 48, + .baseDefense = 43, + .baseSpeed = 60, + .baseSpAttack = 46, + .baseSpDefense = 41, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 190, + .expYield = 92, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_WHISCASH] = + { + .baseHP = 110, + .baseAttack = 78, + .baseDefense = 73, + .baseSpeed = 60, + .baseSpAttack = 76, + .baseSpDefense = 71, + .type1 = TYPE_WATER, + .type2 = TYPE_GROUND, + .catchRate = 75, + .expYield = 158, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_LUVDISC] = + { + .baseHP = 43, + .baseAttack = 30, + .baseDefense = 55, + .baseSpeed = 97, + .baseSpAttack = 40, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 225, + .expYield = 110, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_HEART_SCALE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CORPHISH] = + { + .baseHP = 43, + .baseAttack = 80, + .baseDefense = 65, + .baseSpeed = 35, + .baseSpAttack = 50, + .baseSpDefense = 35, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 205, + .expYield = 111, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_CRAWDAUNT] = + { + .baseHP = 63, + .baseAttack = 120, + .baseDefense = 85, + .baseSpeed = 55, + .baseSpAttack = 90, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 155, + .expYield = 161, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_SHELL_ARMOR, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_FEEBAS] = + { + .baseHP = 20, + .baseAttack = 15, + .baseDefense = 20, + .baseSpeed = 80, + .baseSpAttack = 10, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 61, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_MILOTIC] = + { + .baseHP = 95, + .baseAttack = 60, + .baseDefense = 79, + .baseSpeed = 81, + .baseSpAttack = 100, + .baseSpDefense = 125, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 213, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_MARVEL_SCALE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_CARVANHA] = + { + .baseHP = 45, + .baseAttack = 90, + .baseDefense = 20, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 20, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 225, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_ROUGH_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SHARPEDO] = + { + .baseHP = 70, + .baseAttack = 120, + .baseDefense = 40, + .baseSpeed = 95, + .baseSpAttack = 95, + .baseSpDefense = 40, + .type1 = TYPE_WATER, + .type2 = TYPE_DARK, + .catchRate = 60, + .expYield = 175, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_2, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_ROUGH_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_TRAPINCH] = + { + .baseHP = 45, + .baseAttack = 100, + .baseDefense = 45, + .baseSpeed = 10, + .baseSpAttack = 45, + .baseSpDefense = 45, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 73, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SOFT_SAND, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_ARENA_TRAP, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VIBRAVA] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 50, + .baseSpeed = 70, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_GROUND, + .type2 = TYPE_DRAGON, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_LEVITATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_FLYGON] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 80, + .baseSpeed = 100, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_GROUND, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 197, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_BUG, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_LEVITATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MAKUHITA] = + { + .baseHP = 72, + .baseAttack = 60, + .baseDefense = 30, + .baseSpeed = 25, + .baseSpAttack = 20, + .baseSpDefense = 30, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 180, + .expYield = 87, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_HARIYAMA] = + { + .baseHP = 144, + .baseAttack = 120, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 60, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_FIGHTING, + .catchRate = 200, + .expYield = 184, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_KINGS_ROCK, + .genderRatio = PERCENT_FEMALE(25), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_GUTS, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_ELECTRIKE] = + { + .baseHP = 40, + .baseAttack = 45, + .baseDefense = 40, + .baseSpeed = 65, + .baseSpAttack = 65, + .baseSpDefense = 40, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 120, + .expYield = 104, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_MANECTRIC] = + { + .baseHP = 70, + .baseAttack = 75, + .baseDefense = 60, + .baseSpeed = 105, + .baseSpAttack = 105, + .baseSpDefense = 60, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 45, + .expYield = 168, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_STATIC, + .ability2 = ABILITY_LIGHTNING_ROD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_NUMEL] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 65, + .baseSpDefense = 45, + .type1 = TYPE_FIRE, + .type2 = TYPE_GROUND, + .catchRate = 255, + .expYield = 88, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_CAMERUPT] = + { + .baseHP = 70, + .baseAttack = 100, + .baseDefense = 70, + .baseSpeed = 40, + .baseSpAttack = 105, + .baseSpDefense = 75, + .type1 = TYPE_FIRE, + .type2 = TYPE_GROUND, + .catchRate = 150, + .expYield = 175, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_RAWST_BERRY, + .item2 = ITEM_RAWST_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_MAGMA_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SPHEAL] = + { + .baseHP = 70, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 25, + .baseSpAttack = 55, + .baseSpDefense = 50, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SEALEO] = + { + .baseHP = 90, + .baseAttack = 60, + .baseDefense = 70, + .baseSpeed = 45, + .baseSpAttack = 75, + .baseSpDefense = 70, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 120, + .expYield = 128, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WALREIN] = + { + .baseHP = 110, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 90, + .type1 = TYPE_ICE, + .type2 = TYPE_WATER, + .catchRate = 45, + .expYield = 192, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CACNEA] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 40, + .baseSpeed = 35, + .baseSpAttack = 85, + .baseSpDefense = 40, + .type1 = TYPE_GRASS, + .type2 = TYPE_GRASS, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_CACTURNE] = + { + .baseHP = 70, + .baseAttack = 115, + .baseDefense = 60, + .baseSpeed = 55, + .baseSpAttack = 115, + .baseSpDefense = 60, + .type1 = TYPE_GRASS, + .type2 = TYPE_DARK, + .catchRate = 60, + .expYield = 177, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_GRASS, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_SAND_VEIL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SNORUNT] = + { + .baseHP = 50, + .baseAttack = 50, + .baseDefense = 50, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 190, + .expYield = 74, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_GLALIE] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 80, + .baseSpAttack = 80, + .baseSpDefense = 80, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 75, + .expYield = 187, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NEVER_MELT_ICE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_INNER_FOCUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_LUNATONE] = + { + .baseHP = 70, + .baseAttack = 55, + .baseDefense = 65, + .baseSpeed = 70, + .baseSpAttack = 95, + .baseSpDefense = 85, + .type1 = TYPE_ROCK, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_MOON_STONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_SOLROCK] = + { + .baseHP = 70, + .baseAttack = 95, + .baseDefense = 85, + .baseSpeed = 70, + .baseSpAttack = 55, + .baseSpDefense = 65, + .type1 = TYPE_ROCK, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 150, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SUN_STONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_AZURILL] = + { + .baseHP = 50, + .baseAttack = 20, + .baseDefense = 40, + .baseSpeed = 20, + .baseSpAttack = 20, + .baseSpDefense = 40, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 150, + .expYield = 33, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(75), + .eggCycles = 10, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_HUGE_POWER, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SPOINK] = + { + .baseHP = 60, + .baseAttack = 25, + .baseDefense = 35, + .baseSpeed = 60, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 255, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_GRUMPIG] = + { + .baseHP = 80, + .baseAttack = 45, + .baseDefense = 65, + .baseSpeed = 80, + .baseSpAttack = 90, + .baseSpDefense = 110, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 60, + .expYield = 164, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_THICK_FAT, + .ability2 = ABILITY_OWN_TEMPO, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_PLUSLE] = + { + .baseHP = 60, + .baseAttack = 50, + .baseDefense = 40, + .baseSpeed = 95, + .baseSpAttack = 85, + .baseSpDefense = 75, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 200, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_PLUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MINUN] = + { + .baseHP = 60, + .baseAttack = 40, + .baseDefense = 50, + .baseSpeed = 95, + .baseSpAttack = 75, + .baseSpDefense = 85, + .type1 = TYPE_ELECTRIC, + .type2 = TYPE_ELECTRIC, + .catchRate = 200, + .expYield = 120, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_MINUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_MAWILE] = + { + .baseHP = 50, + .baseAttack = 85, + .baseDefense = 85, + .baseSpeed = 50, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_STEEL, + .type2 = TYPE_STEEL, + .catchRate = 45, + .expYield = 98, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FAIRY, + .ability1 = ABILITY_HYPER_CUTTER, + .ability2 = ABILITY_INTIMIDATE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_MEDITITE] = + { + .baseHP = 30, + .baseAttack = 40, + .baseDefense = 55, + .baseSpeed = 60, + .baseSpAttack = 40, + .baseSpDefense = 55, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_PSYCHIC, + .catchRate = 180, + .expYield = 91, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_PURE_POWER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_MEDICHAM] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 75, + .baseSpeed = 80, + .baseSpAttack = 60, + .baseSpDefense = 75, + .type1 = TYPE_FIGHTING, + .type2 = TYPE_PSYCHIC, + .catchRate = 90, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_HUMAN_LIKE, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_PURE_POWER, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_SWABLU] = + { + .baseHP = 45, + .baseAttack = 40, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 75, + .type1 = TYPE_NORMAL, + .type2 = TYPE_FLYING, + .catchRate = 255, + .expYield = 74, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_ALTARIA] = + { + .baseHP = 75, + .baseAttack = 70, + .baseDefense = 90, + .baseSpeed = 80, + .baseSpAttack = 70, + .baseSpDefense = 105, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 188, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FLYING, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_WYNAUT] = + { + .baseHP = 95, + .baseAttack = 23, + .baseDefense = 48, + .baseSpeed = 23, + .baseSpAttack = 23, + .baseSpDefense = 48, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 125, + .expYield = 44, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SHADOW_TAG, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_DUSKULL] = + { + .baseHP = 20, + .baseAttack = 40, + .baseDefense = 90, + .baseSpeed = 25, + .baseSpAttack = 30, + .baseSpDefense = 90, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 190, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_DUSCLOPS] = + { + .baseHP = 40, + .baseAttack = 70, + .baseDefense = 130, + .baseSpeed = 25, + .baseSpAttack = 60, + .baseSpDefense = 130, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 90, + .expYield = 179, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_ROSELIA] = + { + .baseHP = 50, + .baseAttack = 60, + .baseDefense = 45, + .baseSpeed = 65, + .baseSpAttack = 100, + .baseSpDefense = 80, + .type1 = TYPE_GRASS, + .type2 = TYPE_POISON, + .catchRate = 150, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_POISON_BARB, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_NATURAL_CURE, + .ability2 = ABILITY_POISON_POINT, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = TRUE, + }, + + [SPECIES_SLAKOTH] = + { + .baseHP = 60, + .baseAttack = 60, + .baseDefense = 60, + .baseSpeed = 30, + .baseSpAttack = 35, + .baseSpDefense = 35, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 255, + .expYield = 83, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_TRUANT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_VIGOROTH] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 80, + .baseSpeed = 90, + .baseSpAttack = 55, + .baseSpDefense = 55, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 2, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_VITAL_SPIRIT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_SLAKING] = + { + .baseHP = 150, + .baseAttack = 160, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 95, + .baseSpDefense = 65, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 210, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_TRUANT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_GULPIN] = + { + .baseHP = 70, + .baseAttack = 43, + .baseDefense = 53, + .baseSpeed = 40, + .baseSpAttack = 43, + .baseSpDefense = 53, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 225, + .expYield = 75, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LIQUID_OOZE, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_SWALOT] = + { + .baseHP = 100, + .baseAttack = 73, + .baseDefense = 83, + .baseSpeed = 55, + .baseSpAttack = 73, + .baseSpDefense = 83, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 75, + .expYield = 168, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BIG_PEARL, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LIQUID_OOZE, + .ability2 = ABILITY_STICKY_HOLD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_TROPIUS] = + { + .baseHP = 99, + .baseAttack = 68, + .baseDefense = 83, + .baseSpeed = 51, + .baseSpAttack = 72, + .baseSpDefense = 87, + .type1 = TYPE_GRASS, + .type2 = TYPE_FLYING, + .catchRate = 200, + .expYield = 169, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_GRASS, + .ability1 = ABILITY_CHLOROPHYLL, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_WHISMUR] = + { + .baseHP = 64, + .baseAttack = 51, + .baseDefense = 23, + .baseSpeed = 28, + .baseSpAttack = 51, + .baseSpDefense = 23, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 190, + .expYield = 68, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_LOUDRED] = + { + .baseHP = 84, + .baseAttack = 71, + .baseDefense = 43, + .baseSpeed = 48, + .baseSpAttack = 71, + .baseSpDefense = 43, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 120, + .expYield = 126, + .evYield_HP = 2, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_EXPLOUD] = + { + .baseHP = 104, + .baseAttack = 91, + .baseDefense = 63, + .baseSpeed = 68, + .baseSpAttack = 91, + .baseSpDefense = 63, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 184, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_CHESTO_BERRY, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_SOUNDPROOF, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_CLAMPERL] = + { + .baseHP = 35, + .baseAttack = 64, + .baseDefense = 85, + .baseSpeed = 32, + .baseSpAttack = 74, + .baseSpDefense = 55, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 255, + .expYield = 142, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_BLUE_SHARD, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SHELL_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_HUNTAIL] = + { + .baseHP = 55, + .baseAttack = 104, + .baseDefense = 105, + .baseSpeed = 52, + .baseSpAttack = 94, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GOREBYSS] = + { + .baseHP = 55, + .baseAttack = 84, + .baseDefense = 105, + .baseSpeed = 52, + .baseSpAttack = 114, + .baseSpDefense = 75, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 60, + .expYield = 178, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_1, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PINK, + .noFlip = FALSE, + }, + + [SPECIES_ABSOL] = + { + .baseHP = 65, + .baseAttack = 130, + .baseDefense = 60, + .baseSpeed = 75, + .baseSpAttack = 75, + .baseSpDefense = 60, + .type1 = TYPE_DARK, + .type2 = TYPE_DARK, + .catchRate = 30, + .expYield = 174, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_MEDIUM_SLOW, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = TRUE, + }, + + [SPECIES_SHUPPET] = + { + .baseHP = 44, + .baseAttack = 75, + .baseDefense = 35, + .baseSpeed = 45, + .baseSpAttack = 63, + .baseSpDefense = 33, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 225, + .expYield = 97, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_BANETTE] = + { + .baseHP = 64, + .baseAttack = 115, + .baseDefense = 65, + .baseSpeed = 65, + .baseSpAttack = 83, + .baseSpDefense = 63, + .type1 = TYPE_GHOST, + .type2 = TYPE_GHOST, + .catchRate = 45, + .expYield = 179, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_SPELL_TAG, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 35, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_INSOMNIA, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = FALSE, + }, + + [SPECIES_SEVIPER] = + { + .baseHP = 73, + .baseAttack = 100, + .baseDefense = 60, + .baseSpeed = 65, + .baseSpAttack = 100, + .baseSpDefense = 60, + .type1 = TYPE_POISON, + .type2 = TYPE_POISON, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_SHED_SKIN, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLACK, + .noFlip = TRUE, + }, + + [SPECIES_ZANGOOSE] = + { + .baseHP = 73, + .baseAttack = 115, + .baseDefense = 60, + .baseSpeed = 90, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 90, + .expYield = 165, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_FIELD, + .eggGroup2 = EGG_GROUP_FIELD, + .ability1 = ABILITY_IMMUNITY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = TRUE, + }, + + [SPECIES_RELICANTH] = + { + .baseHP = 100, + .baseAttack = 90, + .baseDefense = 130, + .baseSpeed = 55, + .baseSpAttack = 45, + .baseSpDefense = 65, + .type1 = TYPE_WATER, + .type2 = TYPE_ROCK, + .catchRate = 25, + .expYield = 198, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_GREEN_SHARD, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 40, + .friendship = 70, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_WATER_1, + .eggGroup2 = EGG_GROUP_WATER_2, + .ability1 = ABILITY_SWIFT_SWIM, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ARON] = + { + .baseHP = 50, + .baseAttack = 70, + .baseDefense = 100, + .baseSpeed = 30, + .baseSpAttack = 40, + .baseSpDefense = 40, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 180, + .expYield = 96, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_LAIRON] = + { + .baseHP = 60, + .baseAttack = 90, + .baseDefense = 140, + .baseSpeed = 40, + .baseSpAttack = 50, + .baseSpDefense = 50, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 90, + .expYield = 152, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_AGGRON] = + { + .baseHP = 70, + .baseAttack = 110, + .baseDefense = 180, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 60, + .type1 = TYPE_STEEL, + .type2 = TYPE_ROCK, + .catchRate = 45, + .expYield = 205, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_HARD_STONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 35, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MONSTER, + .eggGroup2 = EGG_GROUP_MONSTER, + .ability1 = ABILITY_STURDY, + .ability2 = ABILITY_ROCK_HEAD, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_CASTFORM] = + { + .baseHP = 70, + .baseAttack = 70, + .baseDefense = 70, + .baseSpeed = 70, + .baseSpAttack = 70, + .baseSpDefense = 70, + .type1 = TYPE_NORMAL, + .type2 = TYPE_NORMAL, + .catchRate = 45, + .expYield = 145, + .evYield_HP = 1, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_MYSTIC_WATER, + .item2 = ITEM_MYSTIC_WATER, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_MEDIUM_FAST, + .eggGroup1 = EGG_GROUP_FAIRY, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_FORECAST, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_VOLBEAT] = + { + .baseHP = 65, + .baseAttack = 73, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 47, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 150, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_ILLUMINATE, + .ability2 = ABILITY_SWARM, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ILLUMISE] = + { + .baseHP = 65, + .baseAttack = 47, + .baseDefense = 55, + .baseSpeed = 85, + .baseSpAttack = 73, + .baseSpDefense = 75, + .type1 = TYPE_BUG, + .type2 = TYPE_BUG, + .catchRate = 150, + .expYield = 146, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 15, + .friendship = 70, + .growthRate = GROWTH_FLUCTUATING, + .eggGroup1 = EGG_GROUP_BUG, + .eggGroup2 = EGG_GROUP_HUMAN_LIKE, + .ability1 = ABILITY_OBLIVIOUS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_LILEEP] = + { + .baseHP = 66, + .baseAttack = 41, + .baseDefense = 77, + .baseSpeed = 23, + .baseSpAttack = 61, + .baseSpDefense = 87, + .type1 = TYPE_ROCK, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 121, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_PURPLE, + .noFlip = FALSE, + }, + + [SPECIES_CRADILY] = + { + .baseHP = 86, + .baseAttack = 81, + .baseDefense = 97, + .baseSpeed = 43, + .baseSpAttack = 81, + .baseSpDefense = 107, + .type1 = TYPE_ROCK, + .type2 = TYPE_GRASS, + .catchRate = 45, + .expYield = 201, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 2, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_SUCTION_CUPS, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_ANORITH] = + { + .baseHP = 45, + .baseAttack = 95, + .baseDefense = 50, + .baseSpeed = 75, + .baseSpAttack = 40, + .baseSpDefense = 50, + .type1 = TYPE_ROCK, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 119, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_BATTLE_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_ARMALDO] = + { + .baseHP = 75, + .baseAttack = 125, + .baseDefense = 100, + .baseSpeed = 45, + .baseSpAttack = 70, + .baseSpDefense = 80, + .type1 = TYPE_ROCK, + .type2 = TYPE_BUG, + .catchRate = 45, + .expYield = 200, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(12.5), + .eggCycles = 30, + .friendship = 70, + .growthRate = GROWTH_ERRATIC, + .eggGroup1 = EGG_GROUP_WATER_3, + .eggGroup2 = EGG_GROUP_WATER_3, + .ability1 = ABILITY_BATTLE_ARMOR, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_RALTS] = + { + .baseHP = 28, + .baseAttack = 25, + .baseDefense = 25, + .baseSpeed = 40, + .baseSpAttack = 45, + .baseSpDefense = 35, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 235, + .expYield = 70, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_KIRLIA] = + { + .baseHP = 38, + .baseAttack = 35, + .baseDefense = 35, + .baseSpeed = 50, + .baseSpAttack = 65, + .baseSpDefense = 55, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 120, + .expYield = 140, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 2, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_GARDEVOIR] = + { + .baseHP = 68, + .baseAttack = 65, + .baseDefense = 65, + .baseSpeed = 80, + .baseSpAttack = 125, + .baseSpDefense = 115, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 208, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 20, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_SYNCHRONIZE, + .ability2 = ABILITY_TRACE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_BAGON] = + { + .baseHP = 45, + .baseAttack = 75, + .baseDefense = 60, + .baseSpeed = 50, + .baseSpAttack = 40, + .baseSpDefense = 30, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 89, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_SHELGON] = + { + .baseHP = 65, + .baseAttack = 95, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 60, + .baseSpDefense = 50, + .type1 = TYPE_DRAGON, + .type2 = TYPE_DRAGON, + .catchRate = 45, + .expYield = 144, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_ROCK_HEAD, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_WHITE, + .noFlip = FALSE, + }, + + [SPECIES_SALAMENCE] = + { + .baseHP = 95, + .baseAttack = 135, + .baseDefense = 80, + .baseSpeed = 100, + .baseSpAttack = 110, + .baseSpDefense = 80, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 45, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_DRAGON_SCALE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_DRAGON, + .eggGroup2 = EGG_GROUP_DRAGON, + .ability1 = ABILITY_INTIMIDATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_BELDUM] = + { + .baseHP = 40, + .baseAttack = 55, + .baseDefense = 80, + .baseSpeed = 30, + .baseSpAttack = 35, + .baseSpDefense = 60, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 103, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 1, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_METANG] = + { + .baseHP = 60, + .baseAttack = 75, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 55, + .baseSpDefense = 80, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 153, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_METAGROSS] = + { + .baseHP = 80, + .baseAttack = 135, + .baseDefense = 130, + .baseSpeed = 70, + .baseSpAttack = 95, + .baseSpDefense = 90, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 210, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_METAL_COAT, + .genderRatio = MON_GENDERLESS, + .eggCycles = 40, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_MINERAL, + .eggGroup2 = EGG_GROUP_MINERAL, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_REGIROCK] = + { + .baseHP = 80, + .baseAttack = 100, + .baseDefense = 200, + .baseSpeed = 50, + .baseSpAttack = 50, + .baseSpDefense = 100, + .type1 = TYPE_ROCK, + .type2 = TYPE_ROCK, + .catchRate = 3, + .expYield = 217, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 3, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BROWN, + .noFlip = FALSE, + }, + + [SPECIES_REGICE] = + { + .baseHP = 80, + .baseAttack = 50, + .baseDefense = 100, + .baseSpeed = 50, + .baseSpAttack = 100, + .baseSpDefense = 200, + .type1 = TYPE_ICE, + .type2 = TYPE_ICE, + .catchRate = 3, + .expYield = 216, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_REGISTEEL] = + { + .baseHP = 80, + .baseAttack = 75, + .baseDefense = 150, + .baseSpeed = 50, + .baseSpAttack = 75, + .baseSpDefense = 150, + .type1 = TYPE_STEEL, + .type2 = TYPE_STEEL, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 2, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 80, + .friendship = 35, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_CLEAR_BODY, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GRAY, + .noFlip = FALSE, + }, + + [SPECIES_KYOGRE] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 90, + .baseSpeed = 90, + .baseSpAttack = 150, + .baseSpDefense = 140, + .type1 = TYPE_WATER, + .type2 = TYPE_WATER, + .catchRate = 5, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_DRIZZLE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_GROUDON] = + { + .baseHP = 100, + .baseAttack = 150, + .baseDefense = 140, + .baseSpeed = 90, + .baseSpAttack = 100, + .baseSpDefense = 90, + .type1 = TYPE_GROUND, + .type2 = TYPE_GROUND, + .catchRate = 5, + .expYield = 218, + .evYield_HP = 0, + .evYield_Attack = 3, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_DROUGHT, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_RAYQUAZA] = + { + .baseHP = 105, + .baseAttack = 150, + .baseDefense = 90, + .baseSpeed = 95, + .baseSpAttack = 150, + .baseSpDefense = 90, + .type1 = TYPE_DRAGON, + .type2 = TYPE_FLYING, + .catchRate = 3, + .expYield = 220, + .evYield_HP = 0, + .evYield_Attack = 2, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_AIR_LOCK, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_GREEN, + .noFlip = FALSE, + }, + + [SPECIES_LATIAS] = + { + .baseHP = 80, + .baseAttack = 80, + .baseDefense = 90, + .baseSpeed = 110, + .baseSpAttack = 110, + .baseSpDefense = 130, + .type1 = TYPE_DRAGON, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 3, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_FEMALE, + .eggCycles = 120, + .friendship = 90, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = FALSE, + }, + + [SPECIES_LATIOS] = + { + .baseHP = 80, + .baseAttack = 90, + .baseDefense = 80, + .baseSpeed = 110, + .baseSpAttack = 130, + .baseSpDefense = 110, + .type1 = TYPE_DRAGON, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 211, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 3, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_MALE, + .eggCycles = 120, + .friendship = 90, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + }, + + [SPECIES_JIRACHI] = + { + .baseHP = 100, + .baseAttack = 100, + .baseDefense = 100, + .baseSpeed = 100, + .baseSpAttack = 100, + .baseSpDefense = 100, + .type1 = TYPE_STEEL, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 3, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 0, + .evYield_SpDefense = 0, + .item1 = ITEM_STAR_PIECE, + .item2 = ITEM_STAR_PIECE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 100, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_SERENE_GRACE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_YELLOW, + .noFlip = FALSE, + }, + + [SPECIES_DEOXYS] = + { + .baseHP = 50, + .baseAttack = 150, + .baseDefense = 50, + .baseSpeed = 150, + .baseSpAttack = 150, + .baseSpDefense = 50, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 3, + .expYield = 215, + .evYield_HP = 0, + .evYield_Attack = 1, + .evYield_Defense = 0, + .evYield_Speed = 1, + .evYield_SpAttack = 1, + .evYield_SpDefense = 0, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = MON_GENDERLESS, + .eggCycles = 120, + .friendship = 0, + .growthRate = GROWTH_SLOW, + .eggGroup1 = EGG_GROUP_UNDISCOVERED, + .eggGroup2 = EGG_GROUP_UNDISCOVERED, + .ability1 = ABILITY_PRESSURE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_RED, + .noFlip = TRUE, + }, + + [SPECIES_CHIMECHO] = + { + .baseHP = 65, + .baseAttack = 50, + .baseDefense = 70, + .baseSpeed = 65, + .baseSpAttack = 95, + .baseSpDefense = 80, + .type1 = TYPE_PSYCHIC, + .type2 = TYPE_PSYCHIC, + .catchRate = 45, + .expYield = 147, + .evYield_HP = 0, + .evYield_Attack = 0, + .evYield_Defense = 0, + .evYield_Speed = 0, + .evYield_SpAttack = 1, + .evYield_SpDefense = 1, + .item1 = ITEM_NONE, + .item2 = ITEM_NONE, + .genderRatio = PERCENT_FEMALE(50), + .eggCycles = 25, + .friendship = 70, + .growthRate = GROWTH_FAST, + .eggGroup1 = EGG_GROUP_AMORPHOUS, + .eggGroup2 = EGG_GROUP_AMORPHOUS, + .ability1 = ABILITY_LEVITATE, + .ability2 = ABILITY_NONE, + .safariZoneFleeRate = 0, + .bodyColor = BODY_COLOR_BLUE, + .noFlip = FALSE, + } +}; + +#endif //GUARD_BASE_STATS_H diff --git a/src/data/pokemon/cry_ids.h b/src/data/pokemon/cry_ids.h new file mode 100644 index 000000000..1c1c32dde --- /dev/null +++ b/src/data/pokemon/cry_ids.h @@ -0,0 +1,143 @@ +#ifndef POKEEMERALD_CRY_IDS_H +#define POKEEMERALD_CRY_IDS_H + +const u16 gSpeciesIdToCryId[] = +{ + 273, // TREECKO + 274, // GROVYLE + 275, // SCEPTILE + 270, // TORCHIC + 271, // COMBUSKEN + 272, // BLAZIKEN + 276, // MUDKIP + 277, // MARSHTOMP + 278, // SWAMPERT + 359, // POOCHYENA + 360, // MIGHTYENA + 378, // ZIGZAGOON + 375, // LINOONE + 290, // WURMPLE + 291, // SILCOON + 292, // BEAUTIFLY + 293, // CASCOON + 294, // DUSTOX + 283, // LOTAD + 284, // LOMBRE + 285, // LUDICOLO + 286, // SEEDOT + 287, // NUZLEAF + 288, // SHIFTRY + 301, // NINCADA + 302, // NINJASK + 303, // SHEDINJA + 266, // TAILLOW + 267, // SWELLOW + 374, // SHROOMISH + 373, // BRELOOM + 269, // SPINDA + 280, // WINGULL + 279, // PELIPPER + 310, // SURSKIT + 311, // MASQUERAIN + 377, // WAILMER + 381, // WAILORD + 312, // SKITTY + 313, // DELCATTY + 251, // KECLEON + 329, // BALTOY + 330, // CLAYDOL + 306, // NOSEPASS + 253, // TORKOAL + 362, // SABLEYE + 318, // BARBOACH + 319, // WHISCASH + 368, // LUVDISC + 320, // CORPHISH + 321, // CRAWDAUNT + 333, // FEEBAS + 334, // MILOTIC + 289, // CARVANHA + 260, // SHARPEDO + 324, // TRAPINCH + 325, // VIBRAVA + 326, // FLYGON + 304, // MAKUHITA + 305, // HARIYAMA + 254, // ELECTRIKE + 255, // MANECTRIC + 316, // NUMEL + 317, // CAMERUPT + 338, // SPHEAL + 339, // SEALEO + 340, // WALREIN + 327, // CACNEA + 328, // CACTURNE + 383, // SNORUNT + 307, // GLALIE + 331, // LUNATONE + 332, // SOLROCK + 262, // AZURILL + 322, // SPOINK + 323, // GRUMPIG + 308, // PLUSLE + 309, // MINUN + 363, // MAWILE + 336, // MEDITITE + 337, // MEDICHAM + 263, // SWABLU + 264, // ALTARIA + 258, // WYNAUT + 256, // DUSKULL + 361, // DUSCLOPS + 252, // ROSELIA + 298, // SLAKOTH + 299, // VIGOROTH + 300, // SLAKING + 314, // GULPIN + 315, // SWALOT + 376, // TROPIUS + 382, // WHISMUR + 380, // LOUDRED + 379, // EXPLOUD + 341, // CLAMPERL + 342, // HUNTAIL + 343, // GOREBYSS + 335, // ABSOL + 282, // SHUPPET + 281, // BANETTE + 259, // SEVIPER + 261, // ZANGOOSE + 367, // RELICANTH + 364, // ARON + 365, // LAIRON + 366, // AGGRON + 356, // CASTFORM + 357, // VOLBEAT + 358, // ILLUMISE + 344, // LILEEP + 345, // CRADILY + 346, // ANORITH + 347, // ARMALDO + 295, // RALTS + 296, // KIRLIA + 297, // GARDEVOIR + 351, // BAGON + 352, // SHELGON + 372, // SALAMENCE + 348, // BELDUM + 349, // METANG + 350, // METAGROSS + 353, // REGIROCK + 354, // REGICE + 355, // REGISTEEL + 370, // KYOGRE + 369, // GROUDON + 371, // RAYQUAZA + 257, // LATIAS + 384, // LATIOS + 385, // JIRACHI + 386, // DEOXYS + 387 // CHIMECHO +}; + +#endif //POKEEMERALD_CRY_IDS_H diff --git a/src/data/pokemon/egg_moves.h b/src/data/pokemon/egg_moves.h new file mode 100644 index 000000000..3d74868b4 --- /dev/null +++ b/src/data/pokemon/egg_moves.h @@ -0,0 +1,1315 @@ +#ifndef POKEEMERALD_DAYCARE_H +#define POKEEMERALD_DAYCARE_H + +#define EGG_MOVES_SPECIES_OFFSET 20000 +#define EGG_MOVES_TERMINATOR 0xFFFF +#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves + +#endif // POKEEMERALD_DAYCARE_H + +const u16 gEggMoves[] = { + egg_moves(BULBASAUR, + MOVE_LIGHT_SCREEN, + MOVE_SKULL_BASH, + MOVE_SAFEGUARD, + MOVE_CHARM, + MOVE_PETAL_DANCE, + MOVE_MAGICAL_LEAF, + MOVE_GRASS_WHISTLE, + MOVE_CURSE), + + egg_moves(CHARMANDER, + MOVE_BELLY_DRUM, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_BITE, + MOVE_OUTRAGE, + MOVE_BEAT_UP, + MOVE_SWORDS_DANCE, + MOVE_DRAGON_DANCE), + + egg_moves(SQUIRTLE, + MOVE_MIRROR_COAT, + MOVE_HAZE, + MOVE_MIST, + MOVE_FORESIGHT, + MOVE_FLAIL, + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_YAWN), + + egg_moves(PIDGEY, + MOVE_PURSUIT, + MOVE_FAINT_ATTACK, + MOVE_FORESIGHT, + MOVE_STEEL_WING, + MOVE_AIR_CUTTER), + + egg_moves(RATTATA, + MOVE_SCREECH, + MOVE_FLAME_WHEEL, + MOVE_FURY_SWIPES, + MOVE_BITE, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_UPROAR, + MOVE_SWAGGER), + + egg_moves(SPEAROW, + MOVE_FAINT_ATTACK, + MOVE_FALSE_SWIPE, + MOVE_SCARY_FACE, + MOVE_QUICK_ATTACK, + MOVE_TRI_ATTACK, + MOVE_ASTONISH, + MOVE_SKY_ATTACK), + + egg_moves(EKANS, + MOVE_PURSUIT, + MOVE_SLAM, + MOVE_SPITE, + MOVE_BEAT_UP, + MOVE_POISON_FANG), + + egg_moves(SANDSHREW, + MOVE_FLAIL, + MOVE_SAFEGUARD, + MOVE_COUNTER, + MOVE_RAPID_SPIN, + MOVE_ROCK_SLIDE, + MOVE_METAL_CLAW, + MOVE_SWORDS_DANCE, + MOVE_CRUSH_CLAW), + + egg_moves(NIDORAN_F, + MOVE_SUPERSONIC, + MOVE_DISABLE, + MOVE_TAKE_DOWN, + MOVE_FOCUS_ENERGY, + MOVE_CHARM, + MOVE_COUNTER, + MOVE_BEAT_UP), + + egg_moves(NIDORAN_M, + MOVE_COUNTER, + MOVE_DISABLE, + MOVE_SUPERSONIC, + MOVE_TAKE_DOWN, + MOVE_AMNESIA, + MOVE_CONFUSION, + MOVE_BEAT_UP), + + egg_moves(VULPIX, + MOVE_FAINT_ATTACK, + MOVE_HYPNOSIS, + MOVE_FLAIL, + MOVE_SPITE, + MOVE_DISABLE, + MOVE_HOWL, + MOVE_PSYCH_UP, + MOVE_HEAT_WAVE), + + egg_moves(ZUBAT, + MOVE_QUICK_ATTACK, + MOVE_PURSUIT, + MOVE_FAINT_ATTACK, + MOVE_GUST, + MOVE_WHIRLWIND, + MOVE_CURSE), + + egg_moves(ODDISH, + MOVE_SWORDS_DANCE, + MOVE_RAZOR_LEAF, + MOVE_FLAIL, + MOVE_SYNTHESIS, + MOVE_CHARM, + MOVE_INGRAIN), + + egg_moves(PARAS, + MOVE_FALSE_SWIPE, + MOVE_SCREECH, + MOVE_COUNTER, + MOVE_PSYBEAM, + MOVE_FLAIL, + MOVE_SWEET_SCENT, + MOVE_LIGHT_SCREEN, + MOVE_PURSUIT), + + egg_moves(VENONAT, + MOVE_BATON_PASS, + MOVE_SCREECH, + MOVE_GIGA_DRAIN, + MOVE_SIGNAL_BEAM), + + egg_moves(DIGLETT, + MOVE_FAINT_ATTACK, + MOVE_SCREECH, + MOVE_ANCIENT_POWER, + MOVE_PURSUIT, + MOVE_BEAT_UP, + MOVE_UPROAR, + MOVE_ROCK_SLIDE), + + egg_moves(MEOWTH, + MOVE_SPITE, + MOVE_CHARM, + MOVE_HYPNOSIS, + MOVE_AMNESIA, + MOVE_PSYCH_UP, + MOVE_ASSIST), + + egg_moves(PSYDUCK, + MOVE_HYPNOSIS, + MOVE_PSYBEAM, + MOVE_FORESIGHT, + MOVE_LIGHT_SCREEN, + MOVE_FUTURE_SIGHT, + MOVE_PSYCHIC, + MOVE_CROSS_CHOP, + MOVE_REFRESH), + + egg_moves(MANKEY, + MOVE_ROCK_SLIDE, + MOVE_FORESIGHT, + MOVE_MEDITATE, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_BEAT_UP, + MOVE_REVENGE, + MOVE_SMELLING_SALT), + + egg_moves(GROWLITHE, + MOVE_BODY_SLAM, + MOVE_SAFEGUARD, + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_FIRE_SPIN, + MOVE_HOWL, + MOVE_HEAT_WAVE), + + egg_moves(POLIWAG, + MOVE_MIST, + MOVE_SPLASH, + MOVE_BUBBLE_BEAM, + MOVE_HAZE, + MOVE_MIND_READER, + MOVE_WATER_SPORT, + MOVE_ICE_BALL), + + egg_moves(ABRA, + MOVE_ENCORE, + MOVE_BARRIER, + MOVE_KNOCK_OFF, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(MACHOP, + MOVE_LIGHT_SCREEN, + MOVE_MEDITATE, + MOVE_ROLLING_KICK, + MOVE_ENCORE, + MOVE_SMELLING_SALT, + MOVE_COUNTER, + MOVE_ROCK_SLIDE), + + egg_moves(BELLSPROUT, + MOVE_SWORDS_DANCE, + MOVE_ENCORE, + MOVE_REFLECT, + MOVE_SYNTHESIS, + MOVE_LEECH_LIFE, + MOVE_INGRAIN, + MOVE_MAGICAL_LEAF), + + egg_moves(TENTACOOL, + MOVE_AURORA_BEAM, + MOVE_MIRROR_COAT, + MOVE_RAPID_SPIN, + MOVE_HAZE, + MOVE_SAFEGUARD, + MOVE_CONFUSE_RAY), + + egg_moves(GEODUDE, + MOVE_MEGA_PUNCH, + MOVE_ROCK_SLIDE, + MOVE_BLOCK), + + egg_moves(PONYTA, + MOVE_FLAME_WHEEL, + MOVE_THRASH, + MOVE_DOUBLE_KICK, + MOVE_HYPNOSIS, + MOVE_CHARM, + MOVE_DOUBLE_EDGE), + + egg_moves(SLOWPOKE, + MOVE_SAFEGUARD, + MOVE_BELLY_DRUM, + MOVE_FUTURE_SIGHT, + MOVE_STOMP, + MOVE_MUD_SPORT, + MOVE_SLEEP_TALK, + MOVE_SNORE), + + egg_moves(FARFETCHD, + MOVE_STEEL_WING, + MOVE_FORESIGHT, + MOVE_MIRROR_MOVE, + MOVE_GUST, + MOVE_QUICK_ATTACK, + MOVE_FLAIL, + MOVE_FEATHER_DANCE, + MOVE_CURSE), + + egg_moves(DODUO, + MOVE_QUICK_ATTACK, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_FAINT_ATTACK, + MOVE_FLAIL, + MOVE_ENDEAVOR), + + egg_moves(SEEL, + MOVE_LICK, + MOVE_PERISH_SONG, + MOVE_DISABLE, + MOVE_HORN_DRILL, + MOVE_SLAM, + MOVE_ENCORE, + MOVE_FAKE_OUT, + MOVE_ICICLE_SPEAR), + + egg_moves(GRIMER, + MOVE_HAZE, + MOVE_MEAN_LOOK, + MOVE_LICK, + MOVE_IMPRISON, + MOVE_CURSE, + MOVE_SHADOW_PUNCH, + MOVE_EXPLOSION), + + egg_moves(SHELLDER, + MOVE_BUBBLE_BEAM, + MOVE_TAKE_DOWN, + MOVE_BARRIER, + MOVE_RAPID_SPIN, + MOVE_SCREECH, + MOVE_ICICLE_SPEAR), + + egg_moves(GASTLY, + MOVE_PSYWAVE, + MOVE_PERISH_SONG, + MOVE_HAZE, + MOVE_ASTONISH, + MOVE_WILL_O_WISP, + MOVE_GRUDGE, + MOVE_EXPLOSION), + + egg_moves(ONIX, + MOVE_ROCK_SLIDE, + MOVE_FLAIL, + MOVE_EXPLOSION, + MOVE_BLOCK), + + egg_moves(DROWZEE, + MOVE_BARRIER, + MOVE_ASSIST, + MOVE_ROLE_PLAY, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(KRABBY, + MOVE_DIG, + MOVE_HAZE, + MOVE_AMNESIA, + MOVE_FLAIL, + MOVE_SLAM, + MOVE_KNOCK_OFF, + MOVE_SWORDS_DANCE), + + egg_moves(EXEGGCUTE, + MOVE_SYNTHESIS, + MOVE_MOONLIGHT, + MOVE_REFLECT, + MOVE_ANCIENT_POWER, + MOVE_PSYCH_UP, + MOVE_INGRAIN, + MOVE_CURSE), + + egg_moves(CUBONE, + MOVE_ROCK_SLIDE, + MOVE_ANCIENT_POWER, + MOVE_BELLY_DRUM, + MOVE_SCREECH, + MOVE_SKULL_BASH, + MOVE_PERISH_SONG, + MOVE_SWORDS_DANCE), + + egg_moves(LICKITUNG, + MOVE_BELLY_DRUM, + MOVE_MAGNITUDE, + MOVE_BODY_SLAM, + MOVE_CURSE, + MOVE_SMELLING_SALT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE), + + egg_moves(KOFFING, + MOVE_SCREECH, + MOVE_PSYWAVE, + MOVE_PSYBEAM, + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_WILL_O_WISP), + + egg_moves(RHYHORN, + MOVE_CRUNCH, + MOVE_REVERSAL, + MOVE_ROCK_SLIDE, + MOVE_COUNTER, + MOVE_MAGNITUDE, + MOVE_SWORDS_DANCE, + MOVE_CURSE, + MOVE_CRUSH_CLAW), + + egg_moves(CHANSEY, + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_HEAL_BELL, + MOVE_AROMATHERAPY, + MOVE_SUBSTITUTE), + + egg_moves(TANGELA, + MOVE_FLAIL, + MOVE_CONFUSION, + MOVE_MEGA_DRAIN, + MOVE_REFLECT, + MOVE_AMNESIA, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER), + + egg_moves(KANGASKHAN, + MOVE_STOMP, + MOVE_FORESIGHT, + MOVE_FOCUS_ENERGY, + MOVE_SAFEGUARD, + MOVE_DISABLE, + MOVE_COUNTER, + MOVE_CRUSH_CLAW, + MOVE_SUBSTITUTE), + + egg_moves(HORSEA, + MOVE_FLAIL, + MOVE_AURORA_BEAM, + MOVE_OCTAZOOKA, + MOVE_DISABLE, + MOVE_SPLASH, + MOVE_DRAGON_RAGE, + MOVE_DRAGON_BREATH), + + egg_moves(GOLDEEN, + MOVE_PSYBEAM, + MOVE_HAZE, + MOVE_HYDRO_PUMP, + MOVE_SLEEP_TALK, + MOVE_MUD_SPORT), + + egg_moves(MR_MIME, + MOVE_FUTURE_SIGHT, + MOVE_HYPNOSIS, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_FAKE_OUT, + MOVE_TRICK), + + egg_moves(SCYTHER, + MOVE_COUNTER, + MOVE_SAFEGUARD, + MOVE_BATON_PASS, + MOVE_RAZOR_WIND, + MOVE_REVERSAL, + MOVE_LIGHT_SCREEN, + MOVE_ENDURE, + MOVE_SILVER_WIND), + + egg_moves(PINSIR, + MOVE_FURY_ATTACK, + MOVE_FLAIL, + MOVE_FALSE_SWIPE, + MOVE_FAINT_ATTACK), + + egg_moves(LAPRAS, + MOVE_FORESIGHT, + MOVE_SUBSTITUTE, + MOVE_TICKLE, + MOVE_REFRESH, + MOVE_DRAGON_DANCE, + MOVE_CURSE, + MOVE_SLEEP_TALK, + MOVE_HORN_DRILL), + + egg_moves(EEVEE, + MOVE_CHARM, + MOVE_FLAIL, + MOVE_ENDURE, + MOVE_CURSE, + MOVE_TICKLE, + MOVE_WISH), + + egg_moves(OMANYTE, + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_SLAM, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_ROCK_SLIDE, + MOVE_SPIKES), + + egg_moves(KABUTO, + MOVE_BUBBLE_BEAM, + MOVE_AURORA_BEAM, + MOVE_RAPID_SPIN, + MOVE_DIG, + MOVE_FLAIL, + MOVE_KNOCK_OFF, + MOVE_CONFUSE_RAY), + + egg_moves(AERODACTYL, + MOVE_WHIRLWIND, + MOVE_PURSUIT, + MOVE_FORESIGHT, + MOVE_STEEL_WING, + MOVE_DRAGON_BREATH, + MOVE_CURSE), + + egg_moves(SNORLAX, + MOVE_LICK, + MOVE_CHARM, + MOVE_DOUBLE_EDGE, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_SUBSTITUTE), + + egg_moves(DRATINI, + MOVE_LIGHT_SCREEN, + MOVE_MIST, + MOVE_HAZE, + MOVE_SUPERSONIC, + MOVE_DRAGON_BREATH, + MOVE_DRAGON_DANCE), + + egg_moves(CHIKORITA, + MOVE_VINE_WHIP, + MOVE_LEECH_SEED, + MOVE_COUNTER, + MOVE_ANCIENT_POWER, + MOVE_FLAIL, + MOVE_NATURE_POWER, + MOVE_INGRAIN, + MOVE_GRASS_WHISTLE), + + egg_moves(CYNDAQUIL, + MOVE_FURY_SWIPES, + MOVE_QUICK_ATTACK, + MOVE_REVERSAL, + MOVE_THRASH, + MOVE_FORESIGHT, + MOVE_COVET, + MOVE_HOWL, + MOVE_CRUSH_CLAW), + + egg_moves(TOTODILE, + MOVE_CRUNCH, + MOVE_THRASH, + MOVE_HYDRO_PUMP, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_MUD_SPORT, + MOVE_WATER_SPORT, + MOVE_DRAGON_CLAW), + + egg_moves(SENTRET, + MOVE_DOUBLE_EDGE, + MOVE_PURSUIT, + MOVE_SLASH, + MOVE_FOCUS_ENERGY, + MOVE_REVERSAL, + MOVE_SUBSTITUTE, + MOVE_TRICK, + MOVE_ASSIST), + + egg_moves(HOOTHOOT, + MOVE_MIRROR_MOVE, + MOVE_SUPERSONIC, + MOVE_FAINT_ATTACK, + MOVE_WING_ATTACK, + MOVE_WHIRLWIND, + MOVE_SKY_ATTACK, + MOVE_FEATHER_DANCE), + + egg_moves(LEDYBA, + MOVE_PSYBEAM, + MOVE_BIDE, + MOVE_SILVER_WIND), + + egg_moves(SPINARAK, + MOVE_PSYBEAM, + MOVE_DISABLE, + MOVE_SONIC_BOOM, + MOVE_BATON_PASS, + MOVE_PURSUIT, + MOVE_SIGNAL_BEAM), + + egg_moves(CHINCHOU, + MOVE_FLAIL, + MOVE_SCREECH, + MOVE_AMNESIA), + + egg_moves(PICHU, + MOVE_REVERSAL, + MOVE_BIDE, + MOVE_PRESENT, + MOVE_ENCORE, + MOVE_DOUBLE_SLAP, + MOVE_WISH, + MOVE_CHARGE), + + egg_moves(CLEFFA, + MOVE_PRESENT, + MOVE_METRONOME, + MOVE_AMNESIA, + MOVE_BELLY_DRUM, + MOVE_SPLASH, + MOVE_MIMIC, + MOVE_WISH, + MOVE_SUBSTITUTE), + + egg_moves(IGGLYBUFF, + MOVE_PERISH_SONG, + MOVE_PRESENT, + MOVE_FAINT_ATTACK, + MOVE_WISH, + MOVE_FAKE_TEARS), + + egg_moves(TOGEPI, + MOVE_PRESENT, + MOVE_MIRROR_MOVE, + MOVE_PECK, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_SUBSTITUTE, + MOVE_PSYCH_UP), + + egg_moves(NATU, + MOVE_HAZE, + MOVE_DRILL_PECK, + MOVE_QUICK_ATTACK, + MOVE_FAINT_ATTACK, + MOVE_STEEL_WING, + MOVE_PSYCH_UP, + MOVE_FEATHER_DANCE, + MOVE_REFRESH), + + egg_moves(MAREEP, + MOVE_TAKE_DOWN, + MOVE_BODY_SLAM, + MOVE_SAFEGUARD, + MOVE_SCREECH, + MOVE_REFLECT, + MOVE_ODOR_SLEUTH, + MOVE_CHARGE), + + egg_moves(MARILL, + MOVE_LIGHT_SCREEN, + MOVE_PRESENT, + MOVE_AMNESIA, + MOVE_FUTURE_SIGHT, + MOVE_BELLY_DRUM, + MOVE_PERISH_SONG, + MOVE_SUPERSONIC, + MOVE_SUBSTITUTE), + + egg_moves(SUDOWOODO, + MOVE_SELF_DESTRUCT), + + egg_moves(HOPPIP, + MOVE_CONFUSION, + MOVE_ENCORE, + MOVE_DOUBLE_EDGE, + MOVE_REFLECT, + MOVE_AMNESIA, + MOVE_HELPING_HAND, + MOVE_PSYCH_UP), + + egg_moves(AIPOM, + MOVE_COUNTER, + MOVE_SCREECH, + MOVE_PURSUIT, + MOVE_AGILITY, + MOVE_SPITE, + MOVE_SLAM, + MOVE_DOUBLE_SLAP, + MOVE_BEAT_UP), + + egg_moves(SUNKERN, + MOVE_GRASS_WHISTLE, + MOVE_ENCORE, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER, + MOVE_CURSE, + MOVE_HELPING_HAND), + + egg_moves(YANMA, + MOVE_WHIRLWIND, + MOVE_REVERSAL, + MOVE_LEECH_LIFE, + MOVE_SIGNAL_BEAM, + MOVE_SILVER_WIND), + + egg_moves(WOOPER, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_SAFEGUARD, + MOVE_CURSE, + MOVE_MUD_SPORT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP), + + egg_moves(MURKROW, + MOVE_WHIRLWIND, + MOVE_DRILL_PECK, + MOVE_MIRROR_MOVE, + MOVE_WING_ATTACK, + MOVE_SKY_ATTACK, + MOVE_CONFUSE_RAY, + MOVE_FEATHER_DANCE, + MOVE_PERISH_SONG), + + egg_moves(MISDREAVUS, + MOVE_SCREECH, + MOVE_DESTINY_BOND, + MOVE_PSYCH_UP, + MOVE_IMPRISON), + + egg_moves(GIRAFARIG, + MOVE_TAKE_DOWN, + MOVE_AMNESIA, + MOVE_FORESIGHT, + MOVE_FUTURE_SIGHT, + MOVE_BEAT_UP, + MOVE_PSYCH_UP, + MOVE_WISH, + MOVE_MAGIC_COAT), + + egg_moves(PINECO, + MOVE_REFLECT, + MOVE_PIN_MISSILE, + MOVE_FLAIL, + MOVE_SWIFT, + MOVE_COUNTER, + MOVE_SAND_TOMB), + + egg_moves(DUNSPARCE, + MOVE_BIDE, + MOVE_ANCIENT_POWER, + MOVE_ROCK_SLIDE, + MOVE_BITE, + MOVE_HEADBUTT, + MOVE_ASTONISH, + MOVE_CURSE), + + egg_moves(GLIGAR, + MOVE_METAL_CLAW, + MOVE_WING_ATTACK, + MOVE_RAZOR_WIND, + MOVE_COUNTER, + MOVE_SAND_TOMB), + + egg_moves(SNUBBULL, + MOVE_METRONOME, + MOVE_FAINT_ATTACK, + MOVE_REFLECT, + MOVE_PRESENT, + MOVE_CRUNCH, + MOVE_HEAL_BELL, + MOVE_SNORE, + MOVE_SMELLING_SALT), + + egg_moves(QWILFISH, + MOVE_FLAIL, + MOVE_HAZE, + MOVE_BUBBLE_BEAM, + MOVE_SUPERSONIC, + MOVE_ASTONISH), + + egg_moves(SHUCKLE, + MOVE_SWEET_SCENT), + + egg_moves(HERACROSS, + MOVE_HARDEN, + MOVE_BIDE, + MOVE_FLAIL, + MOVE_FALSE_SWIPE), + + egg_moves(SNEASEL, + MOVE_COUNTER, + MOVE_SPITE, + MOVE_FORESIGHT, + MOVE_REFLECT, + MOVE_BITE, + MOVE_CRUSH_CLAW, + MOVE_FAKE_OUT), + + egg_moves(TEDDIURSA, + MOVE_CRUNCH, + MOVE_TAKE_DOWN, + MOVE_SEISMIC_TOSS, + MOVE_COUNTER, + MOVE_METAL_CLAW, + MOVE_FAKE_TEARS, + MOVE_YAWN, + MOVE_SLEEP_TALK), + + egg_moves(SLUGMA, + MOVE_ACID_ARMOR, + MOVE_HEAT_WAVE), + + egg_moves(SWINUB, + MOVE_TAKE_DOWN, + MOVE_BITE, + MOVE_BODY_SLAM, + MOVE_ROCK_SLIDE, + MOVE_ANCIENT_POWER, + MOVE_MUD_SHOT, + MOVE_ICICLE_SPEAR, + MOVE_DOUBLE_EDGE), + + egg_moves(CORSOLA, + MOVE_ROCK_SLIDE, + MOVE_SCREECH, + MOVE_MIST, + MOVE_AMNESIA, + MOVE_BARRIER, + MOVE_INGRAIN, + MOVE_CONFUSE_RAY, + MOVE_ICICLE_SPEAR), + + egg_moves(REMORAID, + MOVE_AURORA_BEAM, + MOVE_OCTAZOOKA, + MOVE_SUPERSONIC, + MOVE_HAZE, + MOVE_SCREECH, + MOVE_THUNDER_WAVE, + MOVE_ROCK_BLAST), + + egg_moves(DELIBIRD, + MOVE_AURORA_BEAM, + MOVE_QUICK_ATTACK, + MOVE_FUTURE_SIGHT, + MOVE_SPLASH, + MOVE_RAPID_SPIN, + MOVE_ICE_BALL), + + egg_moves(MANTINE, + MOVE_TWISTER, + MOVE_HYDRO_PUMP, + MOVE_HAZE, + MOVE_SLAM, + MOVE_MUD_SPORT, + MOVE_ROCK_SLIDE), + + egg_moves(SKARMORY, + MOVE_DRILL_PECK, + MOVE_PURSUIT, + MOVE_WHIRLWIND, + MOVE_SKY_ATTACK, + MOVE_CURSE), + + egg_moves(HOUNDOUR, + MOVE_FIRE_SPIN, + MOVE_RAGE, + MOVE_PURSUIT, + MOVE_COUNTER, + MOVE_SPITE, + MOVE_REVERSAL, + MOVE_BEAT_UP, + MOVE_WILL_O_WISP), + + egg_moves(PHANPY, + MOVE_FOCUS_ENERGY, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER, + MOVE_SNORE, + MOVE_COUNTER, + MOVE_FISSURE), + + egg_moves(STANTLER, + MOVE_SPITE, + MOVE_DISABLE, + MOVE_BITE, + MOVE_SWAGGER, + MOVE_PSYCH_UP, + MOVE_EXTRASENSORY), + + egg_moves(TYROGUE, + MOVE_RAPID_SPIN, + MOVE_HI_JUMP_KICK, + MOVE_MACH_PUNCH, + MOVE_MIND_READER, + MOVE_HELPING_HAND), + + egg_moves(SMOOCHUM, + MOVE_MEDITATE, + MOVE_PSYCH_UP, + MOVE_FAKE_OUT, + MOVE_WISH, + MOVE_ICE_PUNCH), + + egg_moves(ELEKID, + MOVE_KARATE_CHOP, + MOVE_BARRIER, + MOVE_ROLLING_KICK, + MOVE_MEDITATE, + MOVE_CROSS_CHOP, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH), + + egg_moves(MAGBY, + MOVE_KARATE_CHOP, + MOVE_MEGA_PUNCH, + MOVE_BARRIER, + MOVE_SCREECH, + MOVE_CROSS_CHOP, + MOVE_THUNDER_PUNCH), + + egg_moves(MILTANK, + MOVE_PRESENT, + MOVE_REVERSAL, + MOVE_SEISMIC_TOSS, + MOVE_ENDURE, + MOVE_PSYCH_UP, + MOVE_CURSE, + MOVE_HELPING_HAND, + MOVE_SLEEP_TALK), + + egg_moves(LARVITAR, + MOVE_PURSUIT, + MOVE_STOMP, + MOVE_OUTRAGE, + MOVE_FOCUS_ENERGY, + MOVE_ANCIENT_POWER, + MOVE_DRAGON_DANCE, + MOVE_CURSE), + + egg_moves(TREECKO, + MOVE_CRUNCH, + MOVE_MUD_SPORT, + MOVE_ENDEAVOR, + MOVE_LEECH_SEED, + MOVE_DRAGON_BREATH, + MOVE_CRUSH_CLAW), + + egg_moves(TORCHIC, + MOVE_COUNTER, + MOVE_REVERSAL, + MOVE_ENDURE, + MOVE_SWAGGER, + MOVE_ROCK_SLIDE, + MOVE_SMELLING_SALT), + + egg_moves(MUDKIP, + MOVE_REFRESH, + MOVE_UPROAR, + MOVE_CURSE, + MOVE_STOMP, + MOVE_ICE_BALL, + MOVE_MIRROR_COAT), + + egg_moves(POOCHYENA, + MOVE_ASTONISH, + MOVE_POISON_FANG, + MOVE_COVET, + MOVE_LEER, + MOVE_YAWN), + + egg_moves(ZIGZAGOON, + MOVE_CHARM, + MOVE_PURSUIT, + MOVE_SUBSTITUTE, + MOVE_TICKLE, + MOVE_TRICK), + + egg_moves(LOTAD, + MOVE_SYNTHESIS, + MOVE_RAZOR_LEAF, + MOVE_SWEET_SCENT, + MOVE_LEECH_SEED, + MOVE_FLAIL, + MOVE_WATER_GUN), + + egg_moves(SEEDOT, + MOVE_LEECH_SEED, + MOVE_AMNESIA, + MOVE_QUICK_ATTACK, + MOVE_RAZOR_WIND, + MOVE_TAKE_DOWN, + MOVE_FALSE_SWIPE), + + egg_moves(NINCADA, + MOVE_ENDURE, + MOVE_FAINT_ATTACK, + MOVE_GUST, + MOVE_SILVER_WIND), + + egg_moves(TAILLOW, + MOVE_PURSUIT, + MOVE_SUPERSONIC, + MOVE_REFRESH, + MOVE_MIRROR_MOVE, + MOVE_RAGE, + MOVE_SKY_ATTACK), + + egg_moves(SHROOMISH, + MOVE_FAKE_TEARS, + MOVE_SWAGGER, + MOVE_CHARM, + MOVE_FALSE_SWIPE, + MOVE_HELPING_HAND), + + egg_moves(SPINDA, + MOVE_ENCORE, + MOVE_ROCK_SLIDE, + MOVE_ASSIST, + MOVE_DISABLE, + MOVE_BATON_PASS, + MOVE_WISH, + MOVE_TRICK, + MOVE_SMELLING_SALT), + + egg_moves(WINGULL, + MOVE_MIST, + MOVE_TWISTER, + MOVE_AGILITY, + MOVE_GUST, + MOVE_WATER_SPORT), + + egg_moves(SURSKIT, + MOVE_FORESIGHT, + MOVE_MUD_SHOT, + MOVE_PSYBEAM, + MOVE_HYDRO_PUMP, + MOVE_MIND_READER), + + egg_moves(WAILMER, + MOVE_DOUBLE_EDGE, + MOVE_THRASH, + MOVE_SWAGGER, + MOVE_SNORE, + MOVE_SLEEP_TALK, + MOVE_CURSE, + MOVE_FISSURE, + MOVE_TICKLE), + + egg_moves(SKITTY, + MOVE_HELPING_HAND, + MOVE_PSYCH_UP, + MOVE_UPROAR, + MOVE_FAKE_TEARS, + MOVE_WISH, + MOVE_BATON_PASS, + MOVE_SUBSTITUTE, + MOVE_TICKLE), + + egg_moves(KECLEON, + MOVE_DISABLE, + MOVE_MAGIC_COAT, + MOVE_TRICK), + + egg_moves(NOSEPASS, + MOVE_MAGNITUDE, + MOVE_ROLLOUT, + MOVE_EXPLOSION), + + egg_moves(TORKOAL, + MOVE_ERUPTION, + MOVE_ENDURE, + MOVE_SLEEP_TALK, + MOVE_YAWN), + + egg_moves(SABLEYE, + MOVE_PSYCH_UP, + MOVE_RECOVER, + MOVE_MOONLIGHT), + + egg_moves(BARBOACH, + MOVE_THRASH, + MOVE_WHIRLPOOL, + MOVE_SPARK), + + egg_moves(LUVDISC, + MOVE_SPLASH, + MOVE_SUPERSONIC, + MOVE_WATER_SPORT, + MOVE_MUD_SPORT), + + egg_moves(CORPHISH, + MOVE_MUD_SPORT, + MOVE_ENDEAVOR, + MOVE_BODY_SLAM, + MOVE_ANCIENT_POWER), + + egg_moves(FEEBAS, + MOVE_MIRROR_COAT, + MOVE_DRAGON_BREATH, + MOVE_MUD_SPORT, + MOVE_HYPNOSIS, + MOVE_LIGHT_SCREEN, + MOVE_CONFUSE_RAY), + + egg_moves(CARVANHA, + MOVE_HYDRO_PUMP, + MOVE_DOUBLE_EDGE, + MOVE_THRASH), + + egg_moves(TRAPINCH, + MOVE_FOCUS_ENERGY, + MOVE_QUICK_ATTACK, + MOVE_GUST), + + egg_moves(MAKUHITA, + MOVE_FAINT_ATTACK, + MOVE_DETECT, + MOVE_FORESIGHT, + MOVE_HELPING_HAND, + MOVE_CROSS_CHOP, + MOVE_REVENGE, + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER), + + egg_moves(ELECTRIKE, + MOVE_CRUNCH, + MOVE_HEADBUTT, + MOVE_UPROAR, + MOVE_CURSE, + MOVE_SWIFT), + + egg_moves(NUMEL, + MOVE_HOWL, + MOVE_SCARY_FACE, + MOVE_BODY_SLAM, + MOVE_ROLLOUT, + MOVE_DEFENSE_CURL, + MOVE_STOMP), + + egg_moves(SPHEAL, + MOVE_WATER_SPORT, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_YAWN, + MOVE_ROCK_SLIDE, + MOVE_CURSE, + MOVE_FISSURE), + + egg_moves(CACNEA, + MOVE_GRASS_WHISTLE, + MOVE_ACID, + MOVE_TEETER_DANCE, + MOVE_DYNAMIC_PUNCH, + MOVE_COUNTER), + + egg_moves(SNORUNT, + MOVE_BLOCK, + MOVE_SPIKES), + + egg_moves(AZURILL, + MOVE_ENCORE, + MOVE_SING, + MOVE_REFRESH, + MOVE_SLAM, + MOVE_TICKLE), + + egg_moves(SPOINK, + MOVE_FUTURE_SIGHT, + MOVE_EXTRASENSORY, + MOVE_SUBSTITUTE, + MOVE_TRICK), + + egg_moves(PLUSLE, + MOVE_SUBSTITUTE, + MOVE_WISH), + + egg_moves(MINUN, + MOVE_SUBSTITUTE, + MOVE_WISH), + + egg_moves(MAWILE, + MOVE_SWORDS_DANCE, + MOVE_FALSE_SWIPE, + MOVE_POISON_FANG, + MOVE_PSYCH_UP, + MOVE_ANCIENT_POWER, + MOVE_TICKLE), + + egg_moves(MEDITITE, + MOVE_FIRE_PUNCH, + MOVE_THUNDER_PUNCH, + MOVE_ICE_PUNCH, + MOVE_FORESIGHT, + MOVE_FAKE_OUT, + MOVE_BATON_PASS, + MOVE_DYNAMIC_PUNCH), + + egg_moves(SWABLU, + MOVE_AGILITY, + MOVE_HAZE, + MOVE_PURSUIT, + MOVE_RAGE), + + egg_moves(DUSKULL, + MOVE_IMPRISON, + MOVE_DESTINY_BOND, + MOVE_PAIN_SPLIT, + MOVE_GRUDGE, + MOVE_MEMENTO, + MOVE_FAINT_ATTACK), + + egg_moves(ROSELIA, + MOVE_SPIKES, + MOVE_SYNTHESIS, + MOVE_PIN_MISSILE, + MOVE_COTTON_SPORE), + + egg_moves(SLAKOTH, + MOVE_PURSUIT, + MOVE_SLASH, + MOVE_BODY_SLAM, + MOVE_SNORE, + MOVE_CRUSH_CLAW, + MOVE_CURSE, + MOVE_SLEEP_TALK), + + egg_moves(GULPIN, + MOVE_DREAM_EATER, + MOVE_ACID_ARMOR, + MOVE_SMOG, + MOVE_PAIN_SPLIT), + + egg_moves(TROPIUS, + MOVE_HEADBUTT, + MOVE_SLAM, + MOVE_RAZOR_WIND, + MOVE_LEECH_SEED, + MOVE_NATURE_POWER), + + egg_moves(WHISMUR, + MOVE_TAKE_DOWN, + MOVE_SNORE, + MOVE_SWAGGER, + MOVE_EXTRASENSORY, + MOVE_SMELLING_SALT), + + egg_moves(CLAMPERL, + MOVE_REFRESH, + MOVE_MUD_SPORT, + MOVE_BODY_SLAM, + MOVE_SUPERSONIC, + MOVE_BARRIER, + MOVE_CONFUSE_RAY), + + egg_moves(ABSOL, + MOVE_BATON_PASS, + MOVE_FAINT_ATTACK, + MOVE_DOUBLE_EDGE, + MOVE_MAGIC_COAT, + MOVE_CURSE, + MOVE_SUBSTITUTE), + + egg_moves(SHUPPET, + MOVE_DISABLE, + MOVE_DESTINY_BOND, + MOVE_FORESIGHT, + MOVE_ASTONISH, + MOVE_IMPRISON), + + egg_moves(SEVIPER, + MOVE_STOCKPILE, + MOVE_SWALLOW, + MOVE_SPIT_UP, + MOVE_BODY_SLAM), + + egg_moves(ZANGOOSE, + MOVE_FLAIL, + MOVE_DOUBLE_KICK, + MOVE_RAZOR_WIND, + MOVE_COUNTER, + MOVE_ROAR, + MOVE_CURSE), + + egg_moves(RELICANTH, + MOVE_MAGNITUDE, + MOVE_SKULL_BASH, + MOVE_WATER_SPORT, + MOVE_AMNESIA, + MOVE_SLEEP_TALK, + MOVE_ROCK_SLIDE), + + egg_moves(ARON, + MOVE_ENDEAVOR, + MOVE_BODY_SLAM, + MOVE_STOMP, + MOVE_SMELLING_SALT), + + egg_moves(CASTFORM, + MOVE_FUTURE_SIGHT, + MOVE_PSYCH_UP), + + egg_moves(VOLBEAT, + MOVE_BATON_PASS, + MOVE_SILVER_WIND, + MOVE_TRICK), + + egg_moves(ILLUMISE, + MOVE_BATON_PASS, + MOVE_SILVER_WIND, + MOVE_GROWTH), + + egg_moves(LILEEP, + MOVE_BARRIER, + MOVE_RECOVER, + MOVE_MIRROR_COAT, + MOVE_ROCK_SLIDE), + + egg_moves(ANORITH, + MOVE_RAPID_SPIN, + MOVE_KNOCK_OFF, + MOVE_SWORDS_DANCE, + MOVE_ROCK_SLIDE), + + egg_moves(RALTS, + MOVE_DISABLE, + MOVE_WILL_O_WISP, + MOVE_MEAN_LOOK, + MOVE_MEMENTO, + MOVE_DESTINY_BOND), + + egg_moves(BAGON, + MOVE_HYDRO_PUMP, + MOVE_THRASH, + MOVE_DRAGON_RAGE, + MOVE_TWISTER, + MOVE_DRAGON_DANCE), + + egg_moves(CHIMECHO, + MOVE_DISABLE, + MOVE_CURSE, + MOVE_HYPNOSIS, + MOVE_DREAM_EATER), + + EGG_MOVES_TERMINATOR +}; diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h new file mode 100644 index 000000000..8629ac9b1 --- /dev/null +++ b/src/data/pokemon/evolution.h @@ -0,0 +1,192 @@ +#ifndef POKEEMERALD_EVOLUTION_H +#define POKEEMERALD_EVOLUTION_H + +const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = +{ + [SPECIES_BULBASAUR] = {{EVO_LEVEL, 16, SPECIES_IVYSAUR}}, + [SPECIES_IVYSAUR] = {{EVO_LEVEL, 32, SPECIES_VENUSAUR}}, + [SPECIES_CHARMANDER] = {{EVO_LEVEL, 16, SPECIES_CHARMELEON}}, + [SPECIES_CHARMELEON] = {{EVO_LEVEL, 36, SPECIES_CHARIZARD}}, + [SPECIES_SQUIRTLE] = {{EVO_LEVEL, 16, SPECIES_WARTORTLE}}, + [SPECIES_WARTORTLE] = {{EVO_LEVEL, 36, SPECIES_BLASTOISE}}, + [SPECIES_CATERPIE] = {{EVO_LEVEL, 7, SPECIES_METAPOD}}, + [SPECIES_METAPOD] = {{EVO_LEVEL, 10, SPECIES_BUTTERFREE}}, + [SPECIES_WEEDLE] = {{EVO_LEVEL, 7, SPECIES_KAKUNA}}, + [SPECIES_KAKUNA] = {{EVO_LEVEL, 10, SPECIES_BEEDRILL}}, + [SPECIES_PIDGEY] = {{EVO_LEVEL, 18, SPECIES_PIDGEOTTO}}, + [SPECIES_PIDGEOTTO] = {{EVO_LEVEL, 36, SPECIES_PIDGEOT}}, + [SPECIES_RATTATA] = {{EVO_LEVEL, 20, SPECIES_RATICATE}}, + [SPECIES_SPEAROW] = {{EVO_LEVEL, 20, SPECIES_FEAROW}}, + [SPECIES_EKANS] = {{EVO_LEVEL, 22, SPECIES_ARBOK}}, + [SPECIES_PIKACHU] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_RAICHU}}, + [SPECIES_SANDSHREW] = {{EVO_LEVEL, 22, SPECIES_SANDSLASH}}, + [SPECIES_NIDORAN_F] = {{EVO_LEVEL, 16, SPECIES_NIDORINA}}, + [SPECIES_NIDORINA] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOQUEEN}}, + [SPECIES_NIDORAN_M] = {{EVO_LEVEL, 16, SPECIES_NIDORINO}}, + [SPECIES_NIDORINO] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_NIDOKING}}, + [SPECIES_CLEFAIRY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_CLEFABLE}}, + [SPECIES_VULPIX] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_NINETALES}}, + [SPECIES_JIGGLYPUFF] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_WIGGLYTUFF}}, + [SPECIES_ZUBAT] = {{EVO_LEVEL, 22, SPECIES_GOLBAT}}, + [SPECIES_GOLBAT] = {{EVO_FRIENDSHIP, 0, SPECIES_CROBAT}}, + [SPECIES_ODDISH] = {{EVO_LEVEL, 21, SPECIES_GLOOM}}, + [SPECIES_GLOOM] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VILEPLUME}, + {EVO_ITEM, ITEM_SUN_STONE, SPECIES_BELLOSSOM}}, + [SPECIES_PARAS] = {{EVO_LEVEL, 24, SPECIES_PARASECT}}, + [SPECIES_VENONAT] = {{EVO_LEVEL, 31, SPECIES_VENOMOTH}}, + [SPECIES_DIGLETT] = {{EVO_LEVEL, 26, SPECIES_DUGTRIO}}, + [SPECIES_MEOWTH] = {{EVO_LEVEL, 28, SPECIES_PERSIAN}}, + [SPECIES_PSYDUCK] = {{EVO_LEVEL, 33, SPECIES_GOLDUCK}}, + [SPECIES_MANKEY] = {{EVO_LEVEL, 28, SPECIES_PRIMEAPE}}, + [SPECIES_GROWLITHE] = {{EVO_ITEM, ITEM_FIRE_STONE, SPECIES_ARCANINE}}, + [SPECIES_POLIWAG] = {{EVO_LEVEL, 25, SPECIES_POLIWHIRL}}, + [SPECIES_POLIWHIRL] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_POLIWRATH}, + {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_POLITOED}}, + [SPECIES_ABRA] = {{EVO_LEVEL, 16, SPECIES_KADABRA}}, + [SPECIES_KADABRA] = {{EVO_TRADE, 0, SPECIES_ALAKAZAM}}, + [SPECIES_MACHOP] = {{EVO_LEVEL, 28, SPECIES_MACHOKE}}, + [SPECIES_MACHOKE] = {{EVO_TRADE, 0, SPECIES_MACHAMP}}, + [SPECIES_BELLSPROUT] = {{EVO_LEVEL, 21, SPECIES_WEEPINBELL}}, + [SPECIES_WEEPINBELL] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_VICTREEBEL}}, + [SPECIES_TENTACOOL] = {{EVO_LEVEL, 30, SPECIES_TENTACRUEL}}, + [SPECIES_GEODUDE] = {{EVO_LEVEL, 25, SPECIES_GRAVELER}}, + [SPECIES_GRAVELER] = {{EVO_TRADE, 0, SPECIES_GOLEM}}, + [SPECIES_PONYTA] = {{EVO_LEVEL, 40, SPECIES_RAPIDASH}}, + [SPECIES_SLOWPOKE] = {{EVO_LEVEL, 37, SPECIES_SLOWBRO}, + {EVO_TRADE_ITEM, ITEM_KINGS_ROCK, SPECIES_SLOWKING}}, + [SPECIES_MAGNEMITE] = {{EVO_LEVEL, 30, SPECIES_MAGNETON}}, + [SPECIES_DODUO] = {{EVO_LEVEL, 31, SPECIES_DODRIO}}, + [SPECIES_SEEL] = {{EVO_LEVEL, 34, SPECIES_DEWGONG}}, + [SPECIES_GRIMER] = {{EVO_LEVEL, 38, SPECIES_MUK}}, + [SPECIES_SHELLDER] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_CLOYSTER}}, + [SPECIES_GASTLY] = {{EVO_LEVEL, 25, SPECIES_HAUNTER}}, + [SPECIES_HAUNTER] = {{EVO_TRADE, 0, SPECIES_GENGAR}}, + [SPECIES_ONIX] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_STEELIX}}, + [SPECIES_DROWZEE] = {{EVO_LEVEL, 26, SPECIES_HYPNO}}, + [SPECIES_KRABBY] = {{EVO_LEVEL, 28, SPECIES_KINGLER}}, + [SPECIES_VOLTORB] = {{EVO_LEVEL, 30, SPECIES_ELECTRODE}}, + [SPECIES_EXEGGCUTE] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_EXEGGUTOR}}, + [SPECIES_CUBONE] = {{EVO_LEVEL, 28, SPECIES_MAROWAK}}, + [SPECIES_KOFFING] = {{EVO_LEVEL, 35, SPECIES_WEEZING}}, + [SPECIES_RHYHORN] = {{EVO_LEVEL, 42, SPECIES_RHYDON}}, + [SPECIES_CHANSEY] = {{EVO_FRIENDSHIP, 0, SPECIES_BLISSEY}}, + [SPECIES_HORSEA] = {{EVO_LEVEL, 32, SPECIES_SEADRA}}, + [SPECIES_SEADRA] = {{EVO_TRADE_ITEM, ITEM_DRAGON_SCALE, SPECIES_KINGDRA}}, + [SPECIES_GOLDEEN] = {{EVO_LEVEL, 33, SPECIES_SEAKING}}, + [SPECIES_STARYU] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_STARMIE}}, + [SPECIES_SCYTHER] = {{EVO_TRADE_ITEM, ITEM_METAL_COAT, SPECIES_SCIZOR}}, + [SPECIES_MAGIKARP] = {{EVO_LEVEL, 20, SPECIES_GYARADOS}}, + [SPECIES_EEVEE] = {{EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_JOLTEON}, + {EVO_ITEM, ITEM_WATER_STONE, SPECIES_VAPOREON}, + {EVO_ITEM, ITEM_FIRE_STONE, SPECIES_FLAREON}, + {EVO_FRIENDSHIP_DAY, 0, SPECIES_ESPEON}, + {EVO_FRIENDSHIP_NIGHT, 0, SPECIES_UMBREON}}, + [SPECIES_PORYGON] = {{EVO_TRADE_ITEM, ITEM_UP_GRADE, SPECIES_PORYGON2}}, + [SPECIES_OMANYTE] = {{EVO_LEVEL, 40, SPECIES_OMASTAR}}, + [SPECIES_KABUTO] = {{EVO_LEVEL, 40, SPECIES_KABUTOPS}}, + [SPECIES_DRATINI] = {{EVO_LEVEL, 30, SPECIES_DRAGONAIR}}, + [SPECIES_DRAGONAIR] = {{EVO_LEVEL, 55, SPECIES_DRAGONITE}}, + [SPECIES_CHIKORITA] = {{EVO_LEVEL, 16, SPECIES_BAYLEEF}}, + [SPECIES_BAYLEEF] = {{EVO_LEVEL, 32, SPECIES_MEGANIUM}}, + [SPECIES_CYNDAQUIL] = {{EVO_LEVEL, 14, SPECIES_QUILAVA}}, + [SPECIES_QUILAVA] = {{EVO_LEVEL, 36, SPECIES_TYPHLOSION}}, + [SPECIES_TOTODILE] = {{EVO_LEVEL, 18, SPECIES_CROCONAW}}, + [SPECIES_CROCONAW] = {{EVO_LEVEL, 30, SPECIES_FERALIGATR}}, + [SPECIES_SENTRET] = {{EVO_LEVEL, 15, SPECIES_FURRET}}, + [SPECIES_HOOTHOOT] = {{EVO_LEVEL, 20, SPECIES_NOCTOWL}}, + [SPECIES_LEDYBA] = {{EVO_LEVEL, 18, SPECIES_LEDIAN}}, + [SPECIES_SPINARAK] = {{EVO_LEVEL, 22, SPECIES_ARIADOS}}, + [SPECIES_CHINCHOU] = {{EVO_LEVEL, 27, SPECIES_LANTURN}}, + [SPECIES_PICHU] = {{EVO_FRIENDSHIP, 0, SPECIES_PIKACHU}}, + [SPECIES_CLEFFA] = {{EVO_FRIENDSHIP, 0, SPECIES_CLEFAIRY}}, + [SPECIES_IGGLYBUFF] = {{EVO_FRIENDSHIP, 0, SPECIES_JIGGLYPUFF}}, + [SPECIES_TOGEPI] = {{EVO_FRIENDSHIP, 0, SPECIES_TOGETIC}}, + [SPECIES_NATU] = {{EVO_LEVEL, 25, SPECIES_XATU}}, + [SPECIES_MAREEP] = {{EVO_LEVEL, 15, SPECIES_FLAAFFY}}, + [SPECIES_FLAAFFY] = {{EVO_LEVEL, 30, SPECIES_AMPHAROS}}, + [SPECIES_MARILL] = {{EVO_LEVEL, 18, SPECIES_AZUMARILL}}, + [SPECIES_HOPPIP] = {{EVO_LEVEL, 18, SPECIES_SKIPLOOM}}, + [SPECIES_SKIPLOOM] = {{EVO_LEVEL, 27, SPECIES_JUMPLUFF}}, + [SPECIES_SUNKERN] = {{EVO_ITEM, ITEM_SUN_STONE, SPECIES_SUNFLORA}}, + [SPECIES_WOOPER] = {{EVO_LEVEL, 20, SPECIES_QUAGSIRE}}, + [SPECIES_PINECO] = {{EVO_LEVEL, 31, SPECIES_FORRETRESS}}, + [SPECIES_SNUBBULL] = {{EVO_LEVEL, 23, SPECIES_GRANBULL}}, + [SPECIES_TEDDIURSA] = {{EVO_LEVEL, 30, SPECIES_URSARING}}, + [SPECIES_SLUGMA] = {{EVO_LEVEL, 38, SPECIES_MAGCARGO}}, + [SPECIES_SWINUB] = {{EVO_LEVEL, 33, SPECIES_PILOSWINE}}, + [SPECIES_REMORAID] = {{EVO_LEVEL, 25, SPECIES_OCTILLERY}}, + [SPECIES_HOUNDOUR] = {{EVO_LEVEL, 24, SPECIES_HOUNDOOM}}, + [SPECIES_PHANPY] = {{EVO_LEVEL, 25, SPECIES_DONPHAN}}, + [SPECIES_TYROGUE] = {{EVO_LEVEL_ATK_LT_DEF, 20, SPECIES_HITMONCHAN}, + {EVO_LEVEL_ATK_GT_DEF, 20, SPECIES_HITMONLEE}, + {EVO_LEVEL_ATK_EQ_DEF, 20, SPECIES_HITMONTOP}}, + [SPECIES_SMOOCHUM] = {{EVO_LEVEL, 30, SPECIES_JYNX}}, + [SPECIES_ELEKID] = {{EVO_LEVEL, 30, SPECIES_ELECTABUZZ}}, + [SPECIES_MAGBY] = {{EVO_LEVEL, 30, SPECIES_MAGMAR}}, + [SPECIES_LARVITAR] = {{EVO_LEVEL, 30, SPECIES_PUPITAR}}, + [SPECIES_PUPITAR] = {{EVO_LEVEL, 55, SPECIES_TYRANITAR}}, + [SPECIES_TREECKO] = {{EVO_LEVEL, 16, SPECIES_GROVYLE}}, + [SPECIES_GROVYLE] = {{EVO_LEVEL, 36, SPECIES_SCEPTILE}}, + [SPECIES_TORCHIC] = {{EVO_LEVEL, 16, SPECIES_COMBUSKEN}}, + [SPECIES_COMBUSKEN] = {{EVO_LEVEL, 36, SPECIES_BLAZIKEN}}, + [SPECIES_MUDKIP] = {{EVO_LEVEL, 16, SPECIES_MARSHTOMP}}, + [SPECIES_MARSHTOMP] = {{EVO_LEVEL, 36, SPECIES_SWAMPERT}}, + [SPECIES_POOCHYENA] = {{EVO_LEVEL, 18, SPECIES_MIGHTYENA}}, + [SPECIES_ZIGZAGOON] = {{EVO_LEVEL, 20, SPECIES_LINOONE}}, + [SPECIES_WURMPLE] = {{EVO_LEVEL_SILCOON, 7, SPECIES_SILCOON}, + {EVO_LEVEL_CASCOON, 7, SPECIES_CASCOON}}, + [SPECIES_SILCOON] = {{EVO_LEVEL, 10, SPECIES_BEAUTIFLY}}, + [SPECIES_CASCOON] = {{EVO_LEVEL, 10, SPECIES_DUSTOX}}, + [SPECIES_LOTAD] = {{EVO_LEVEL, 14, SPECIES_LOMBRE}}, + [SPECIES_LOMBRE] = {{EVO_ITEM, ITEM_WATER_STONE, SPECIES_LUDICOLO}}, + [SPECIES_SEEDOT] = {{EVO_LEVEL, 14, SPECIES_NUZLEAF}}, + [SPECIES_NUZLEAF] = {{EVO_ITEM, ITEM_LEAF_STONE, SPECIES_SHIFTRY}}, + [SPECIES_NINCADA] = {{EVO_LEVEL_NINJASK, 20, SPECIES_NINJASK}, + {EVO_LEVEL_SHEDINJA, 20, SPECIES_SHEDINJA}}, + [SPECIES_TAILLOW] = {{EVO_LEVEL, 22, SPECIES_SWELLOW}}, + [SPECIES_SHROOMISH] = {{EVO_LEVEL, 23, SPECIES_BRELOOM}}, + [SPECIES_WINGULL] = {{EVO_LEVEL, 25, SPECIES_PELIPPER}}, + [SPECIES_SURSKIT] = {{EVO_LEVEL, 22, SPECIES_MASQUERAIN}}, + [SPECIES_WAILMER] = {{EVO_LEVEL, 40, SPECIES_WAILORD}}, + [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, + [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, + [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}}, + [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}}, + [SPECIES_FEEBAS] = {{EVO_BEAUTY, 170, SPECIES_MILOTIC}}, + [SPECIES_CARVANHA] = {{EVO_LEVEL, 30, SPECIES_SHARPEDO}}, + [SPECIES_TRAPINCH] = {{EVO_LEVEL, 35, SPECIES_VIBRAVA}}, + [SPECIES_VIBRAVA] = {{EVO_LEVEL, 45, SPECIES_FLYGON}}, + [SPECIES_MAKUHITA] = {{EVO_LEVEL, 24, SPECIES_HARIYAMA}}, + [SPECIES_ELECTRIKE] = {{EVO_LEVEL, 26, SPECIES_MANECTRIC}}, + [SPECIES_NUMEL] = {{EVO_LEVEL, 33, SPECIES_CAMERUPT}}, + [SPECIES_SPHEAL] = {{EVO_LEVEL, 32, SPECIES_SEALEO}}, + [SPECIES_SEALEO] = {{EVO_LEVEL, 44, SPECIES_WALREIN}}, + [SPECIES_CACNEA] = {{EVO_LEVEL, 32, SPECIES_CACTURNE}}, + [SPECIES_SNORUNT] = {{EVO_LEVEL, 42, SPECIES_GLALIE}}, + [SPECIES_AZURILL] = {{EVO_FRIENDSHIP, 0, SPECIES_MARILL}}, + [SPECIES_SPOINK] = {{EVO_LEVEL, 32, SPECIES_GRUMPIG}}, + [SPECIES_MEDITITE] = {{EVO_LEVEL, 37, SPECIES_MEDICHAM}}, + [SPECIES_SWABLU] = {{EVO_LEVEL, 35, SPECIES_ALTARIA}}, + [SPECIES_WYNAUT] = {{EVO_LEVEL, 15, SPECIES_WOBBUFFET}}, + [SPECIES_DUSKULL] = {{EVO_LEVEL, 37, SPECIES_DUSCLOPS}}, + [SPECIES_SLAKOTH] = {{EVO_LEVEL, 18, SPECIES_VIGOROTH}}, + [SPECIES_VIGOROTH] = {{EVO_LEVEL, 36, SPECIES_SLAKING}}, + [SPECIES_GULPIN] = {{EVO_LEVEL, 26, SPECIES_SWALOT}}, + [SPECIES_WHISMUR] = {{EVO_LEVEL, 20, SPECIES_LOUDRED}}, + [SPECIES_LOUDRED] = {{EVO_LEVEL, 40, SPECIES_EXPLOUD}}, + [SPECIES_CLAMPERL] = {{EVO_TRADE_ITEM, ITEM_DEEP_SEA_TOOTH, SPECIES_HUNTAIL}, + {EVO_TRADE_ITEM, ITEM_DEEP_SEA_SCALE, SPECIES_GOREBYSS}}, + [SPECIES_SHUPPET] = {{EVO_LEVEL, 37, SPECIES_BANETTE}}, + [SPECIES_ARON] = {{EVO_LEVEL, 32, SPECIES_LAIRON}}, + [SPECIES_LAIRON] = {{EVO_LEVEL, 42, SPECIES_AGGRON}}, + [SPECIES_LILEEP] = {{EVO_LEVEL, 40, SPECIES_CRADILY}}, + [SPECIES_ANORITH] = {{EVO_LEVEL, 40, SPECIES_ARMALDO}}, + [SPECIES_RALTS] = {{EVO_LEVEL, 20, SPECIES_KIRLIA}}, + [SPECIES_KIRLIA] = {{EVO_LEVEL, 30, SPECIES_GARDEVOIR}}, + [SPECIES_BAGON] = {{EVO_LEVEL, 30, SPECIES_SHELGON}}, + [SPECIES_SHELGON] = {{EVO_LEVEL, 50, SPECIES_SALAMENCE}}, + [SPECIES_BELDUM] = {{EVO_LEVEL, 20, SPECIES_METANG}}, + [SPECIES_METANG] = {{EVO_LEVEL, 45, SPECIES_METAGROSS}}, +}; + +#endif //POKEEMERALD_EVOLUTION_H diff --git a/src/data/pokemon/experience_tables.h b/src/data/pokemon/experience_tables.h new file mode 100644 index 000000000..58474b6f1 --- /dev/null +++ b/src/data/pokemon/experience_tables.h @@ -0,0 +1,849 @@ +#ifndef POKEEMERALD_EXPERIENCE_TABLES_H +#define POKEEMERALD_EXPERIENCE_TABLES_H + +#define SQUARE(n)(n * n) +#define CUBE(n)(n * n * n) + +#define EXP_SLOW(n)((5 * CUBE(n)) / 4) // (5 * (n)^3) / 4 +#define EXP_FAST(n)((4 * CUBE(n)) / 5) // (4 * (n)^3) / 5 +#define EXP_MEDIUM_FAST(n)(CUBE(n)) // (n)^3 +#define EXP_MEDIUM_SLOW(n)((6 * CUBE(n)) / 5 - (15 * SQUARE(n)) + (100 * n) - 140) // (6 * (n)^3) / 5 - (15 * (n)^2) + (100 * n) - 140 +#define EXP_ERRATIC(n) \ + (n <= 50) ? ((100 - n) * CUBE(n) / 50) \ + :(n <= 68) ? ((150 - n) * CUBE(n) / 100) \ + :(n <= 98) ? (((1911 - 10 * n) / 3) * CUBE(n) / 500) \ + : ((160 - n) * CUBE(n) / 100) +#define EXP_FLUCTUATING(n) \ + (n <= 15) ? (((n + 1) / 3 + 24) * CUBE(n) / 50) \ + :(n <= 36) ? ((n + 14) * CUBE(n) / 50) \ + : (((n / 2) + 32) * CUBE(n) / 50) + +const u32 gExperienceTables[][MAX_MON_LEVEL + 1] = +{ + { // Medium Fast + 0, // 0 + 1, // 1 + EXP_MEDIUM_FAST(2), + EXP_MEDIUM_FAST(3), + EXP_MEDIUM_FAST(4), + EXP_MEDIUM_FAST(5), + EXP_MEDIUM_FAST(6), + EXP_MEDIUM_FAST(7), + EXP_MEDIUM_FAST(8), + EXP_MEDIUM_FAST(9), + EXP_MEDIUM_FAST(10), + EXP_MEDIUM_FAST(11), + EXP_MEDIUM_FAST(12), + EXP_MEDIUM_FAST(13), + EXP_MEDIUM_FAST(14), + EXP_MEDIUM_FAST(15), + EXP_MEDIUM_FAST(16), + EXP_MEDIUM_FAST(17), + EXP_MEDIUM_FAST(18), + EXP_MEDIUM_FAST(19), + EXP_MEDIUM_FAST(20), + EXP_MEDIUM_FAST(21), + EXP_MEDIUM_FAST(22), + EXP_MEDIUM_FAST(23), + EXP_MEDIUM_FAST(24), + EXP_MEDIUM_FAST(25), + EXP_MEDIUM_FAST(26), + EXP_MEDIUM_FAST(27), + EXP_MEDIUM_FAST(28), + EXP_MEDIUM_FAST(29), + EXP_MEDIUM_FAST(30), + EXP_MEDIUM_FAST(31), + EXP_MEDIUM_FAST(32), + EXP_MEDIUM_FAST(33), + EXP_MEDIUM_FAST(34), + EXP_MEDIUM_FAST(35), + EXP_MEDIUM_FAST(36), + EXP_MEDIUM_FAST(37), + EXP_MEDIUM_FAST(38), + EXP_MEDIUM_FAST(39), + EXP_MEDIUM_FAST(40), + EXP_MEDIUM_FAST(41), + EXP_MEDIUM_FAST(42), + EXP_MEDIUM_FAST(43), + EXP_MEDIUM_FAST(44), + EXP_MEDIUM_FAST(45), + EXP_MEDIUM_FAST(46), + EXP_MEDIUM_FAST(47), + EXP_MEDIUM_FAST(48), + EXP_MEDIUM_FAST(49), + EXP_MEDIUM_FAST(50), + EXP_MEDIUM_FAST(51), + EXP_MEDIUM_FAST(52), + EXP_MEDIUM_FAST(53), + EXP_MEDIUM_FAST(54), + EXP_MEDIUM_FAST(55), + EXP_MEDIUM_FAST(56), + EXP_MEDIUM_FAST(57), + EXP_MEDIUM_FAST(58), + EXP_MEDIUM_FAST(59), + EXP_MEDIUM_FAST(60), + EXP_MEDIUM_FAST(61), + EXP_MEDIUM_FAST(62), + EXP_MEDIUM_FAST(63), + EXP_MEDIUM_FAST(64), + EXP_MEDIUM_FAST(65), + EXP_MEDIUM_FAST(66), + EXP_MEDIUM_FAST(67), + EXP_MEDIUM_FAST(68), + EXP_MEDIUM_FAST(69), + EXP_MEDIUM_FAST(70), + EXP_MEDIUM_FAST(71), + EXP_MEDIUM_FAST(72), + EXP_MEDIUM_FAST(73), + EXP_MEDIUM_FAST(74), + EXP_MEDIUM_FAST(75), + EXP_MEDIUM_FAST(76), + EXP_MEDIUM_FAST(77), + EXP_MEDIUM_FAST(78), + EXP_MEDIUM_FAST(79), + EXP_MEDIUM_FAST(80), + EXP_MEDIUM_FAST(81), + EXP_MEDIUM_FAST(82), + EXP_MEDIUM_FAST(83), + EXP_MEDIUM_FAST(84), + EXP_MEDIUM_FAST(85), + EXP_MEDIUM_FAST(86), + EXP_MEDIUM_FAST(87), + EXP_MEDIUM_FAST(88), + EXP_MEDIUM_FAST(89), + EXP_MEDIUM_FAST(90), + EXP_MEDIUM_FAST(91), + EXP_MEDIUM_FAST(92), + EXP_MEDIUM_FAST(93), + EXP_MEDIUM_FAST(94), + EXP_MEDIUM_FAST(95), + EXP_MEDIUM_FAST(96), + EXP_MEDIUM_FAST(97), + EXP_MEDIUM_FAST(98), + EXP_MEDIUM_FAST(99), + EXP_MEDIUM_FAST(100), + }, + { // Erratic + 0, // 0 + 1, // 1 + EXP_ERRATIC(2), + EXP_ERRATIC(3), + EXP_ERRATIC(4), + EXP_ERRATIC(5), + EXP_ERRATIC(6), + EXP_ERRATIC(7), + EXP_ERRATIC(8), + EXP_ERRATIC(9), + EXP_ERRATIC(10), + EXP_ERRATIC(11), + EXP_ERRATIC(12), + EXP_ERRATIC(13), + EXP_ERRATIC(14), + EXP_ERRATIC(15), + EXP_ERRATIC(16), + EXP_ERRATIC(17), + EXP_ERRATIC(18), + EXP_ERRATIC(19), + EXP_ERRATIC(20), + EXP_ERRATIC(21), + EXP_ERRATIC(22), + EXP_ERRATIC(23), + EXP_ERRATIC(24), + EXP_ERRATIC(25), + EXP_ERRATIC(26), + EXP_ERRATIC(27), + EXP_ERRATIC(28), + EXP_ERRATIC(29), + EXP_ERRATIC(30), + EXP_ERRATIC(31), + EXP_ERRATIC(32), + EXP_ERRATIC(33), + EXP_ERRATIC(34), + EXP_ERRATIC(35), + EXP_ERRATIC(36), + EXP_ERRATIC(37), + EXP_ERRATIC(38), + EXP_ERRATIC(39), + EXP_ERRATIC(40), + EXP_ERRATIC(41), + EXP_ERRATIC(42), + EXP_ERRATIC(43), + EXP_ERRATIC(44), + EXP_ERRATIC(45), + EXP_ERRATIC(46), + EXP_ERRATIC(47), + EXP_ERRATIC(48), + EXP_ERRATIC(49), + EXP_ERRATIC(50), + EXP_ERRATIC(51), + EXP_ERRATIC(52), + EXP_ERRATIC(53), + EXP_ERRATIC(54), + EXP_ERRATIC(55), + EXP_ERRATIC(56), + EXP_ERRATIC(57), + EXP_ERRATIC(58), + EXP_ERRATIC(59), + EXP_ERRATIC(60), + EXP_ERRATIC(61), + EXP_ERRATIC(62), + EXP_ERRATIC(63), + EXP_ERRATIC(64), + EXP_ERRATIC(65), + EXP_ERRATIC(66), + EXP_ERRATIC(67), + EXP_ERRATIC(68), + EXP_ERRATIC(69), + EXP_ERRATIC(70), + EXP_ERRATIC(71), + EXP_ERRATIC(72), + EXP_ERRATIC(73), + EXP_ERRATIC(74), + EXP_ERRATIC(75), + EXP_ERRATIC(76), + EXP_ERRATIC(77), + EXP_ERRATIC(78), + EXP_ERRATIC(79), + EXP_ERRATIC(80), + EXP_ERRATIC(81), + EXP_ERRATIC(82), + EXP_ERRATIC(83), + EXP_ERRATIC(84), + EXP_ERRATIC(85), + EXP_ERRATIC(86), + EXP_ERRATIC(87), + EXP_ERRATIC(88), + EXP_ERRATIC(89), + EXP_ERRATIC(90), + EXP_ERRATIC(91), + EXP_ERRATIC(92), + EXP_ERRATIC(93), + EXP_ERRATIC(94), + EXP_ERRATIC(95), + EXP_ERRATIC(96), + EXP_ERRATIC(97), + EXP_ERRATIC(98), + EXP_ERRATIC(99), + EXP_ERRATIC(100), + }, + { // Fluctuating + 0, // 0 + 1, // 1 + EXP_FLUCTUATING(2), + EXP_FLUCTUATING(3), + EXP_FLUCTUATING(4), + EXP_FLUCTUATING(5), + EXP_FLUCTUATING(6), + EXP_FLUCTUATING(7), + EXP_FLUCTUATING(8), + EXP_FLUCTUATING(9), + EXP_FLUCTUATING(10), + EXP_FLUCTUATING(11), + EXP_FLUCTUATING(12), + EXP_FLUCTUATING(13), + EXP_FLUCTUATING(14), + EXP_FLUCTUATING(15), + EXP_FLUCTUATING(16), + EXP_FLUCTUATING(17), + EXP_FLUCTUATING(18), + EXP_FLUCTUATING(19), + EXP_FLUCTUATING(20), + EXP_FLUCTUATING(21), + EXP_FLUCTUATING(22), + EXP_FLUCTUATING(23), + EXP_FLUCTUATING(24), + EXP_FLUCTUATING(25), + EXP_FLUCTUATING(26), + EXP_FLUCTUATING(27), + EXP_FLUCTUATING(28), + EXP_FLUCTUATING(29), + EXP_FLUCTUATING(30), + EXP_FLUCTUATING(31), + EXP_FLUCTUATING(32), + EXP_FLUCTUATING(33), + EXP_FLUCTUATING(34), + EXP_FLUCTUATING(35), + EXP_FLUCTUATING(36), + EXP_FLUCTUATING(37), + EXP_FLUCTUATING(38), + EXP_FLUCTUATING(39), + EXP_FLUCTUATING(40), + EXP_FLUCTUATING(41), + EXP_FLUCTUATING(42), + EXP_FLUCTUATING(43), + EXP_FLUCTUATING(44), + EXP_FLUCTUATING(45), + EXP_FLUCTUATING(46), + EXP_FLUCTUATING(47), + EXP_FLUCTUATING(48), + EXP_FLUCTUATING(49), + EXP_FLUCTUATING(50), + EXP_FLUCTUATING(51), + EXP_FLUCTUATING(52), + EXP_FLUCTUATING(53), + EXP_FLUCTUATING(54), + EXP_FLUCTUATING(55), + EXP_FLUCTUATING(56), + EXP_FLUCTUATING(57), + EXP_FLUCTUATING(58), + EXP_FLUCTUATING(59), + EXP_FLUCTUATING(60), + EXP_FLUCTUATING(61), + EXP_FLUCTUATING(62), + EXP_FLUCTUATING(63), + EXP_FLUCTUATING(64), + EXP_FLUCTUATING(65), + EXP_FLUCTUATING(66), + EXP_FLUCTUATING(67), + EXP_FLUCTUATING(68), + EXP_FLUCTUATING(69), + EXP_FLUCTUATING(70), + EXP_FLUCTUATING(71), + EXP_FLUCTUATING(72), + EXP_FLUCTUATING(73), + EXP_FLUCTUATING(74), + EXP_FLUCTUATING(75), + EXP_FLUCTUATING(76), + EXP_FLUCTUATING(77), + EXP_FLUCTUATING(78), + EXP_FLUCTUATING(79), + EXP_FLUCTUATING(80), + EXP_FLUCTUATING(81), + EXP_FLUCTUATING(82), + EXP_FLUCTUATING(83), + EXP_FLUCTUATING(84), + EXP_FLUCTUATING(85), + EXP_FLUCTUATING(86), + EXP_FLUCTUATING(87), + EXP_FLUCTUATING(88), + EXP_FLUCTUATING(89), + EXP_FLUCTUATING(90), + EXP_FLUCTUATING(91), + EXP_FLUCTUATING(92), + EXP_FLUCTUATING(93), + EXP_FLUCTUATING(94), + EXP_FLUCTUATING(95), + EXP_FLUCTUATING(96), + EXP_FLUCTUATING(97), + EXP_FLUCTUATING(98), + EXP_FLUCTUATING(99), + EXP_FLUCTUATING(100), + }, + { // Medium Slow + 0, // 0 + 1, // 1 + EXP_MEDIUM_SLOW(2), + EXP_MEDIUM_SLOW(3), + EXP_MEDIUM_SLOW(4), + EXP_MEDIUM_SLOW(5), + EXP_MEDIUM_SLOW(6), + EXP_MEDIUM_SLOW(7), + EXP_MEDIUM_SLOW(8), + EXP_MEDIUM_SLOW(9), + EXP_MEDIUM_SLOW(10), + EXP_MEDIUM_SLOW(11), + EXP_MEDIUM_SLOW(12), + EXP_MEDIUM_SLOW(13), + EXP_MEDIUM_SLOW(14), + EXP_MEDIUM_SLOW(15), + EXP_MEDIUM_SLOW(16), + EXP_MEDIUM_SLOW(17), + EXP_MEDIUM_SLOW(18), + EXP_MEDIUM_SLOW(19), + EXP_MEDIUM_SLOW(20), + EXP_MEDIUM_SLOW(21), + EXP_MEDIUM_SLOW(22), + EXP_MEDIUM_SLOW(23), + EXP_MEDIUM_SLOW(24), + EXP_MEDIUM_SLOW(25), + EXP_MEDIUM_SLOW(26), + EXP_MEDIUM_SLOW(27), + EXP_MEDIUM_SLOW(28), + EXP_MEDIUM_SLOW(29), + EXP_MEDIUM_SLOW(30), + EXP_MEDIUM_SLOW(31), + EXP_MEDIUM_SLOW(32), + EXP_MEDIUM_SLOW(33), + EXP_MEDIUM_SLOW(34), + EXP_MEDIUM_SLOW(35), + EXP_MEDIUM_SLOW(36), + EXP_MEDIUM_SLOW(37), + EXP_MEDIUM_SLOW(38), + EXP_MEDIUM_SLOW(39), + EXP_MEDIUM_SLOW(40), + EXP_MEDIUM_SLOW(41), + EXP_MEDIUM_SLOW(42), + EXP_MEDIUM_SLOW(43), + EXP_MEDIUM_SLOW(44), + EXP_MEDIUM_SLOW(45), + EXP_MEDIUM_SLOW(46), + EXP_MEDIUM_SLOW(47), + EXP_MEDIUM_SLOW(48), + EXP_MEDIUM_SLOW(49), + EXP_MEDIUM_SLOW(50), + EXP_MEDIUM_SLOW(51), + EXP_MEDIUM_SLOW(52), + EXP_MEDIUM_SLOW(53), + EXP_MEDIUM_SLOW(54), + EXP_MEDIUM_SLOW(55), + EXP_MEDIUM_SLOW(56), + EXP_MEDIUM_SLOW(57), + EXP_MEDIUM_SLOW(58), + EXP_MEDIUM_SLOW(59), + EXP_MEDIUM_SLOW(60), + EXP_MEDIUM_SLOW(61), + EXP_MEDIUM_SLOW(62), + EXP_MEDIUM_SLOW(63), + EXP_MEDIUM_SLOW(64), + EXP_MEDIUM_SLOW(65), + EXP_MEDIUM_SLOW(66), + EXP_MEDIUM_SLOW(67), + EXP_MEDIUM_SLOW(68), + EXP_MEDIUM_SLOW(69), + EXP_MEDIUM_SLOW(70), + EXP_MEDIUM_SLOW(71), + EXP_MEDIUM_SLOW(72), + EXP_MEDIUM_SLOW(73), + EXP_MEDIUM_SLOW(74), + EXP_MEDIUM_SLOW(75), + EXP_MEDIUM_SLOW(76), + EXP_MEDIUM_SLOW(77), + EXP_MEDIUM_SLOW(78), + EXP_MEDIUM_SLOW(79), + EXP_MEDIUM_SLOW(80), + EXP_MEDIUM_SLOW(81), + EXP_MEDIUM_SLOW(82), + EXP_MEDIUM_SLOW(83), + EXP_MEDIUM_SLOW(84), + EXP_MEDIUM_SLOW(85), + EXP_MEDIUM_SLOW(86), + EXP_MEDIUM_SLOW(87), + EXP_MEDIUM_SLOW(88), + EXP_MEDIUM_SLOW(89), + EXP_MEDIUM_SLOW(90), + EXP_MEDIUM_SLOW(91), + EXP_MEDIUM_SLOW(92), + EXP_MEDIUM_SLOW(93), + EXP_MEDIUM_SLOW(94), + EXP_MEDIUM_SLOW(95), + EXP_MEDIUM_SLOW(96), + EXP_MEDIUM_SLOW(97), + EXP_MEDIUM_SLOW(98), + EXP_MEDIUM_SLOW(99), + EXP_MEDIUM_SLOW(100), + }, + { // Fast + 0, // 0 + 1, // 1 + EXP_FAST(2), + EXP_FAST(3), + EXP_FAST(4), + EXP_FAST(5), + EXP_FAST(6), + EXP_FAST(7), + EXP_FAST(8), + EXP_FAST(9), + EXP_FAST(10), + EXP_FAST(11), + EXP_FAST(12), + EXP_FAST(13), + EXP_FAST(14), + EXP_FAST(15), + EXP_FAST(16), + EXP_FAST(17), + EXP_FAST(18), + EXP_FAST(19), + EXP_FAST(20), + EXP_FAST(21), + EXP_FAST(22), + EXP_FAST(23), + EXP_FAST(24), + EXP_FAST(25), + EXP_FAST(26), + EXP_FAST(27), + EXP_FAST(28), + EXP_FAST(29), + EXP_FAST(30), + EXP_FAST(31), + EXP_FAST(32), + EXP_FAST(33), + EXP_FAST(34), + EXP_FAST(35), + EXP_FAST(36), + EXP_FAST(37), + EXP_FAST(38), + EXP_FAST(39), + EXP_FAST(40), + EXP_FAST(41), + EXP_FAST(42), + EXP_FAST(43), + EXP_FAST(44), + EXP_FAST(45), + EXP_FAST(46), + EXP_FAST(47), + EXP_FAST(48), + EXP_FAST(49), + EXP_FAST(50), + EXP_FAST(51), + EXP_FAST(52), + EXP_FAST(53), + EXP_FAST(54), + EXP_FAST(55), + EXP_FAST(56), + EXP_FAST(57), + EXP_FAST(58), + EXP_FAST(59), + EXP_FAST(60), + EXP_FAST(61), + EXP_FAST(62), + EXP_FAST(63), + EXP_FAST(64), + EXP_FAST(65), + EXP_FAST(66), + EXP_FAST(67), + EXP_FAST(68), + EXP_FAST(69), + EXP_FAST(70), + EXP_FAST(71), + EXP_FAST(72), + EXP_FAST(73), + EXP_FAST(74), + EXP_FAST(75), + EXP_FAST(76), + EXP_FAST(77), + EXP_FAST(78), + EXP_FAST(79), + EXP_FAST(80), + EXP_FAST(81), + EXP_FAST(82), + EXP_FAST(83), + EXP_FAST(84), + EXP_FAST(85), + EXP_FAST(86), + EXP_FAST(87), + EXP_FAST(88), + EXP_FAST(89), + EXP_FAST(90), + EXP_FAST(91), + EXP_FAST(92), + EXP_FAST(93), + EXP_FAST(94), + EXP_FAST(95), + EXP_FAST(96), + EXP_FAST(97), + EXP_FAST(98), + EXP_FAST(99), + EXP_FAST(100), + }, + { // Slow + 0, // 0 + 1, // 1 + EXP_SLOW(2), + EXP_SLOW(3), + EXP_SLOW(4), + EXP_SLOW(5), + EXP_SLOW(6), + EXP_SLOW(7), + EXP_SLOW(8), + EXP_SLOW(9), + EXP_SLOW(10), + EXP_SLOW(11), + EXP_SLOW(12), + EXP_SLOW(13), + EXP_SLOW(14), + EXP_SLOW(15), + EXP_SLOW(16), + EXP_SLOW(17), + EXP_SLOW(18), + EXP_SLOW(19), + EXP_SLOW(20), + EXP_SLOW(21), + EXP_SLOW(22), + EXP_SLOW(23), + EXP_SLOW(24), + EXP_SLOW(25), + EXP_SLOW(26), + EXP_SLOW(27), + EXP_SLOW(28), + EXP_SLOW(29), + EXP_SLOW(30), + EXP_SLOW(31), + EXP_SLOW(32), + EXP_SLOW(33), + EXP_SLOW(34), + EXP_SLOW(35), + EXP_SLOW(36), + EXP_SLOW(37), + EXP_SLOW(38), + EXP_SLOW(39), + EXP_SLOW(40), + EXP_SLOW(41), + EXP_SLOW(42), + EXP_SLOW(43), + EXP_SLOW(44), + EXP_SLOW(45), + EXP_SLOW(46), + EXP_SLOW(47), + EXP_SLOW(48), + EXP_SLOW(49), + EXP_SLOW(50), + EXP_SLOW(51), + EXP_SLOW(52), + EXP_SLOW(53), + EXP_SLOW(54), + EXP_SLOW(55), + EXP_SLOW(56), + EXP_SLOW(57), + EXP_SLOW(58), + EXP_SLOW(59), + EXP_SLOW(60), + EXP_SLOW(61), + EXP_SLOW(62), + EXP_SLOW(63), + EXP_SLOW(64), + EXP_SLOW(65), + EXP_SLOW(66), + EXP_SLOW(67), + EXP_SLOW(68), + EXP_SLOW(69), + EXP_SLOW(70), + EXP_SLOW(71), + EXP_SLOW(72), + EXP_SLOW(73), + EXP_SLOW(74), + EXP_SLOW(75), + EXP_SLOW(76), + EXP_SLOW(77), + EXP_SLOW(78), + EXP_SLOW(79), + EXP_SLOW(80), + EXP_SLOW(81), + EXP_SLOW(82), + EXP_SLOW(83), + EXP_SLOW(84), + EXP_SLOW(85), + EXP_SLOW(86), + EXP_SLOW(87), + EXP_SLOW(88), + EXP_SLOW(89), + EXP_SLOW(90), + EXP_SLOW(91), + EXP_SLOW(92), + EXP_SLOW(93), + EXP_SLOW(94), + EXP_SLOW(95), + EXP_SLOW(96), + EXP_SLOW(97), + EXP_SLOW(98), + EXP_SLOW(99), + EXP_SLOW(100), + }, + { // Medium Fast copy 2 (unused? to-do: investigate) + 0, // 0 + 1, // 1 + EXP_MEDIUM_FAST(2), + EXP_MEDIUM_FAST(3), + EXP_MEDIUM_FAST(4), + EXP_MEDIUM_FAST(5), + EXP_MEDIUM_FAST(6), + EXP_MEDIUM_FAST(7), + EXP_MEDIUM_FAST(8), + EXP_MEDIUM_FAST(9), + EXP_MEDIUM_FAST(10), + EXP_MEDIUM_FAST(11), + EXP_MEDIUM_FAST(12), + EXP_MEDIUM_FAST(13), + EXP_MEDIUM_FAST(14), + EXP_MEDIUM_FAST(15), + EXP_MEDIUM_FAST(16), + EXP_MEDIUM_FAST(17), + EXP_MEDIUM_FAST(18), + EXP_MEDIUM_FAST(19), + EXP_MEDIUM_FAST(20), + EXP_MEDIUM_FAST(21), + EXP_MEDIUM_FAST(22), + EXP_MEDIUM_FAST(23), + EXP_MEDIUM_FAST(24), + EXP_MEDIUM_FAST(25), + EXP_MEDIUM_FAST(26), + EXP_MEDIUM_FAST(27), + EXP_MEDIUM_FAST(28), + EXP_MEDIUM_FAST(29), + EXP_MEDIUM_FAST(30), + EXP_MEDIUM_FAST(31), + EXP_MEDIUM_FAST(32), + EXP_MEDIUM_FAST(33), + EXP_MEDIUM_FAST(34), + EXP_MEDIUM_FAST(35), + EXP_MEDIUM_FAST(36), + EXP_MEDIUM_FAST(37), + EXP_MEDIUM_FAST(38), + EXP_MEDIUM_FAST(39), + EXP_MEDIUM_FAST(40), + EXP_MEDIUM_FAST(41), + EXP_MEDIUM_FAST(42), + EXP_MEDIUM_FAST(43), + EXP_MEDIUM_FAST(44), + EXP_MEDIUM_FAST(45), + EXP_MEDIUM_FAST(46), + EXP_MEDIUM_FAST(47), + EXP_MEDIUM_FAST(48), + EXP_MEDIUM_FAST(49), + EXP_MEDIUM_FAST(50), + EXP_MEDIUM_FAST(51), + EXP_MEDIUM_FAST(52), + EXP_MEDIUM_FAST(53), + EXP_MEDIUM_FAST(54), + EXP_MEDIUM_FAST(55), + EXP_MEDIUM_FAST(56), + EXP_MEDIUM_FAST(57), + EXP_MEDIUM_FAST(58), + EXP_MEDIUM_FAST(59), + EXP_MEDIUM_FAST(60), + EXP_MEDIUM_FAST(61), + EXP_MEDIUM_FAST(62), + EXP_MEDIUM_FAST(63), + EXP_MEDIUM_FAST(64), + EXP_MEDIUM_FAST(65), + EXP_MEDIUM_FAST(66), + EXP_MEDIUM_FAST(67), + EXP_MEDIUM_FAST(68), + EXP_MEDIUM_FAST(69), + EXP_MEDIUM_FAST(70), + EXP_MEDIUM_FAST(71), + EXP_MEDIUM_FAST(72), + EXP_MEDIUM_FAST(73), + EXP_MEDIUM_FAST(74), + EXP_MEDIUM_FAST(75), + EXP_MEDIUM_FAST(76), + EXP_MEDIUM_FAST(77), + EXP_MEDIUM_FAST(78), + EXP_MEDIUM_FAST(79), + EXP_MEDIUM_FAST(80), + EXP_MEDIUM_FAST(81), + EXP_MEDIUM_FAST(82), + EXP_MEDIUM_FAST(83), + EXP_MEDIUM_FAST(84), + EXP_MEDIUM_FAST(85), + EXP_MEDIUM_FAST(86), + EXP_MEDIUM_FAST(87), + EXP_MEDIUM_FAST(88), + EXP_MEDIUM_FAST(89), + EXP_MEDIUM_FAST(90), + EXP_MEDIUM_FAST(91), + EXP_MEDIUM_FAST(92), + EXP_MEDIUM_FAST(93), + EXP_MEDIUM_FAST(94), + EXP_MEDIUM_FAST(95), + EXP_MEDIUM_FAST(96), + EXP_MEDIUM_FAST(97), + EXP_MEDIUM_FAST(98), + EXP_MEDIUM_FAST(99), + EXP_MEDIUM_FAST(100), + }, + { // Medium Fast copy 3 (unused? to-do: investigate) + 0, // 0 + 1, // 1 + EXP_MEDIUM_FAST(2), + EXP_MEDIUM_FAST(3), + EXP_MEDIUM_FAST(4), + EXP_MEDIUM_FAST(5), + EXP_MEDIUM_FAST(6), + EXP_MEDIUM_FAST(7), + EXP_MEDIUM_FAST(8), + EXP_MEDIUM_FAST(9), + EXP_MEDIUM_FAST(10), + EXP_MEDIUM_FAST(11), + EXP_MEDIUM_FAST(12), + EXP_MEDIUM_FAST(13), + EXP_MEDIUM_FAST(14), + EXP_MEDIUM_FAST(15), + EXP_MEDIUM_FAST(16), + EXP_MEDIUM_FAST(17), + EXP_MEDIUM_FAST(18), + EXP_MEDIUM_FAST(19), + EXP_MEDIUM_FAST(20), + EXP_MEDIUM_FAST(21), + EXP_MEDIUM_FAST(22), + EXP_MEDIUM_FAST(23), + EXP_MEDIUM_FAST(24), + EXP_MEDIUM_FAST(25), + EXP_MEDIUM_FAST(26), + EXP_MEDIUM_FAST(27), + EXP_MEDIUM_FAST(28), + EXP_MEDIUM_FAST(29), + EXP_MEDIUM_FAST(30), + EXP_MEDIUM_FAST(31), + EXP_MEDIUM_FAST(32), + EXP_MEDIUM_FAST(33), + EXP_MEDIUM_FAST(34), + EXP_MEDIUM_FAST(35), + EXP_MEDIUM_FAST(36), + EXP_MEDIUM_FAST(37), + EXP_MEDIUM_FAST(38), + EXP_MEDIUM_FAST(39), + EXP_MEDIUM_FAST(40), + EXP_MEDIUM_FAST(41), + EXP_MEDIUM_FAST(42), + EXP_MEDIUM_FAST(43), + EXP_MEDIUM_FAST(44), + EXP_MEDIUM_FAST(45), + EXP_MEDIUM_FAST(46), + EXP_MEDIUM_FAST(47), + EXP_MEDIUM_FAST(48), + EXP_MEDIUM_FAST(49), + EXP_MEDIUM_FAST(50), + EXP_MEDIUM_FAST(51), + EXP_MEDIUM_FAST(52), + EXP_MEDIUM_FAST(53), + EXP_MEDIUM_FAST(54), + EXP_MEDIUM_FAST(55), + EXP_MEDIUM_FAST(56), + EXP_MEDIUM_FAST(57), + EXP_MEDIUM_FAST(58), + EXP_MEDIUM_FAST(59), + EXP_MEDIUM_FAST(60), + EXP_MEDIUM_FAST(61), + EXP_MEDIUM_FAST(62), + EXP_MEDIUM_FAST(63), + EXP_MEDIUM_FAST(64), + EXP_MEDIUM_FAST(65), + EXP_MEDIUM_FAST(66), + EXP_MEDIUM_FAST(67), + EXP_MEDIUM_FAST(68), + EXP_MEDIUM_FAST(69), + EXP_MEDIUM_FAST(70), + EXP_MEDIUM_FAST(71), + EXP_MEDIUM_FAST(72), + EXP_MEDIUM_FAST(73), + EXP_MEDIUM_FAST(74), + EXP_MEDIUM_FAST(75), + EXP_MEDIUM_FAST(76), + EXP_MEDIUM_FAST(77), + EXP_MEDIUM_FAST(78), + EXP_MEDIUM_FAST(79), + EXP_MEDIUM_FAST(80), + EXP_MEDIUM_FAST(81), + EXP_MEDIUM_FAST(82), + EXP_MEDIUM_FAST(83), + EXP_MEDIUM_FAST(84), + EXP_MEDIUM_FAST(85), + EXP_MEDIUM_FAST(86), + EXP_MEDIUM_FAST(87), + EXP_MEDIUM_FAST(88), + EXP_MEDIUM_FAST(89), + EXP_MEDIUM_FAST(90), + EXP_MEDIUM_FAST(91), + EXP_MEDIUM_FAST(92), + EXP_MEDIUM_FAST(93), + EXP_MEDIUM_FAST(94), + EXP_MEDIUM_FAST(95), + EXP_MEDIUM_FAST(96), + EXP_MEDIUM_FAST(97), + EXP_MEDIUM_FAST(98), + EXP_MEDIUM_FAST(99), + EXP_MEDIUM_FAST(100), + } +}; + +#endif //POKEEMERALD_EXPERIENCE_TABLES_H diff --git a/src/data/pokemon/item_effects.h b/src/data/pokemon/item_effects.h new file mode 100644 index 000000000..6ba0d694e --- /dev/null +++ b/src/data/pokemon/item_effects.h @@ -0,0 +1,241 @@ +#ifndef GUARD_ITEM_EFFECTS_H +#define GUARD_ITEM_EFFECTS_H + +const u8 gItemEffect_Potion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; +const u8 gItemEffect_Antidote[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; +const u8 gItemEffect_BurnHeal[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; +const u8 gItemEffect_IceHeal[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; +const u8 gItemEffect_Awakening[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_ParalyzeHeal[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; +const u8 gItemEffect_FullRestore[] = {0x00, 0x00, 0x00, 0x3f, 0x04, 0x00, 0xff}; +const u8 gItemEffect_MaxPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xff}; +const u8 gItemEffect_HyperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 200}; +const u8 gItemEffect_SuperPotion[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; +const u8 gItemEffect_FullHeal[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_Revive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xfe}; +const u8 gItemEffect_MaxRevive[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; +const u8 gItemEffect_FreshWater[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 50}; +const u8 gItemEffect_SodaPop[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 60}; +const u8 gItemEffect_Lemonade[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 80}; +const u8 gItemEffect_MoomooMilk[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 100}; +const u8 gItemEffect_EnergyPowder[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 50, 0xfb, 0xfb, 0xf6}; +const u8 gItemEffect_EnergyRoot[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0xe0, 200, 0xf6, 0xf6, 0xf1}; +const u8 gItemEffect_HealPowder[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0xe0, 0xfb, 0xfb, 0xf6}; +const u8 gItemEffect_RevivalHerb[] = {0x00, 0x00, 0x00, 0x00, 0x44, 0xe0, 0xff, 0xf1, 0xf1, 0xec}; +const u8 gItemEffect_Ether[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; +const u8 gItemEffect_MaxEther[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x7f}; +const u8 gItemEffect_Elixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a}; +const u8 gItemEffect_MaxElixir[] = {0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x7f}; +const u8 gItemEffect_LavaCookie[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_BlueFlute[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_YellowFlute[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; +const u8 gItemEffect_RedFlute[] = {0x80, 0x00, 0x00, 0x00, 0x00, 0x00}; +const u8 gItemEffect_BerryJuice[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 20}; +const u8 gItemEffect_SacredAsh[] = {0x40, 0x00, 0x00, 0x00, 0x44, 0x00, 0xff}; +const u8 gItemEffect_HPUp[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Protein[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Iron[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Carbos[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Calcium[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_RareCandy[] = {0x00, 0x00, 0x00, 0x40, 0x44, 0xe0, 253, 0x05, 0x03, 0x02}; +const u8 gItemEffect_PPUp[] = {0x00, 0x00, 0x00, 0x00, 0x20, 0xe0, 0x05, 0x03, 0x02}; +const u8 gItemEffect_Zinc[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x0a, 0x05, 0x03, 0x02}; +const u8 gItemEffect_PPMax[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x05, 0x03, 0x02}; +const u8 gItemEffect_GuardSpec[] = {0x00, 0x00, 0x00, 0x80, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_DireHit[] = {0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XAttack[] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XDefend[] = {0x00, 0x10, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XSpeed[] = {0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XAccuracy[] = {0x00, 0x00, 0x10, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_XSpecial[] = {0x00, 0x00, 0x01, 0x00, 0x00, 0x60, 0x01, 0x01}; +const u8 gItemEffect_SunStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_MoonStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_FireStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_ThunderStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_WaterStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_LeafStone[] = {0x00, 0x00, 0x00, 0x00, 0x80, 0x00}; +const u8 gItemEffect_CheriBerry[] = {0x00, 0x00, 0x00, 0x02, 0x00, 0x00}; +const u8 gItemEffect_ChestoBerry[] = {0x00, 0x00, 0x00, 0x20, 0x00, 0x00}; +const u8 gItemEffect_PechaBerry[] = {0x00, 0x00, 0x00, 0x10, 0x00, 0x00}; +const u8 gItemEffect_RawstBerry[] = {0x00, 0x00, 0x00, 0x08, 0x00, 0x00}; +const u8 gItemEffect_AspearBerry[] = {0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; +const u8 gItemEffect_LeppaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x0a}; +const u8 gItemEffect_OranBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 10}; +const u8 gItemEffect_PersimBerry[] = {0x00, 0x00, 0x00, 0x01, 0x00, 0x00}; +const u8 gItemEffect_LumBerry[] = {0x00, 0x00, 0x00, 0x3f, 0x00, 0x00}; +const u8 gItemEffect_SitrusBerry[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 30}; +const u8 gItemEffect_PomegBerry[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_KelpsyBerry[] = {0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_QualotBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_HondrewBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_GrepaBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0xf6, 0x0a, 0x05, 0x02}; +const u8 gItemEffect_TamatoBerry[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0xe2, 0xf6, 0x0a, 0x05, 0x02}; + +const u8 *const gItemEffectTable[] = +{ + gItemEffect_Potion, + gItemEffect_Antidote, + gItemEffect_BurnHeal, + gItemEffect_IceHeal, + gItemEffect_Awakening, + gItemEffect_ParalyzeHeal, + gItemEffect_FullRestore, + gItemEffect_MaxPotion, + gItemEffect_HyperPotion, + gItemEffect_SuperPotion, + gItemEffect_FullHeal, + gItemEffect_Revive, + gItemEffect_MaxRevive, + gItemEffect_FreshWater, + gItemEffect_SodaPop, + gItemEffect_Lemonade, + gItemEffect_MoomooMilk, + gItemEffect_EnergyPowder, + gItemEffect_EnergyRoot, + gItemEffect_HealPowder, + gItemEffect_RevivalHerb, + gItemEffect_Ether, + gItemEffect_MaxEther, + gItemEffect_Elixir, + gItemEffect_MaxElixir, + gItemEffect_LavaCookie, + gItemEffect_BlueFlute, + gItemEffect_YellowFlute, + gItemEffect_RedFlute, + NULL, + NULL, + gItemEffect_BerryJuice, + gItemEffect_SacredAsh, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gItemEffect_HPUp, + gItemEffect_Protein, + gItemEffect_Iron, + gItemEffect_Carbos, + gItemEffect_Calcium, + gItemEffect_RareCandy, + gItemEffect_PPUp, + gItemEffect_Zinc, + gItemEffect_PPMax, + NULL, + gItemEffect_GuardSpec, + gItemEffect_DireHit, + gItemEffect_XAttack, + gItemEffect_XDefend, + gItemEffect_XSpeed, + gItemEffect_XAccuracy, + gItemEffect_XSpecial, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gItemEffect_SunStone, + gItemEffect_MoonStone, + gItemEffect_FireStone, + gItemEffect_ThunderStone, + gItemEffect_WaterStone, + gItemEffect_LeafStone, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gItemEffect_CheriBerry, + gItemEffect_ChestoBerry, + gItemEffect_PechaBerry, + gItemEffect_RawstBerry, + gItemEffect_AspearBerry, + gItemEffect_LeppaBerry, + gItemEffect_OranBerry, + gItemEffect_PersimBerry, + gItemEffect_LumBerry, + gItemEffect_SitrusBerry, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gItemEffect_PomegBerry, + gItemEffect_KelpsyBerry, + gItemEffect_QualotBerry, + gItemEffect_HondrewBerry, + gItemEffect_GrepaBerry, + gItemEffect_TamatoBerry, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL +}; + +#endif //GUARD_ITEM_EFFECTS_H diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h new file mode 100644 index 000000000..0f648526c --- /dev/null +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -0,0 +1,420 @@ +#ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H +#define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H + +const u16 *const gLevelUpLearnsets[NUM_SPECIES] = +{ + [SPECIES_NONE] = sBulbasaurLevelUpLearnset, + [SPECIES_BULBASAUR] = sBulbasaurLevelUpLearnset, + [SPECIES_IVYSAUR] = sIvysaurLevelUpLearnset, + [SPECIES_VENUSAUR] = sVenusaurLevelUpLearnset, + [SPECIES_CHARMANDER] = sCharmanderLevelUpLearnset, + [SPECIES_CHARMELEON] = sCharmeleonLevelUpLearnset, + [SPECIES_CHARIZARD] = sCharizardLevelUpLearnset, + [SPECIES_SQUIRTLE] = sSquirtleLevelUpLearnset, + [SPECIES_WARTORTLE] = sWartortleLevelUpLearnset, + [SPECIES_BLASTOISE] = sBlastoiseLevelUpLearnset, + [SPECIES_CATERPIE] = sCaterpieLevelUpLearnset, + [SPECIES_METAPOD] = sMetapodLevelUpLearnset, + [SPECIES_BUTTERFREE] = sButterfreeLevelUpLearnset, + [SPECIES_WEEDLE] = sWeedleLevelUpLearnset, + [SPECIES_KAKUNA] = sKakunaLevelUpLearnset, + [SPECIES_BEEDRILL] = sBeedrillLevelUpLearnset, + [SPECIES_PIDGEY] = sPidgeyLevelUpLearnset, + [SPECIES_PIDGEOTTO] = sPidgeottoLevelUpLearnset, + [SPECIES_PIDGEOT] = sPidgeotLevelUpLearnset, + [SPECIES_RATTATA] = sRattataLevelUpLearnset, + [SPECIES_RATICATE] = sRaticateLevelUpLearnset, + [SPECIES_SPEAROW] = sSpearowLevelUpLearnset, + [SPECIES_FEAROW] = sFearowLevelUpLearnset, + [SPECIES_EKANS] = sEkansLevelUpLearnset, + [SPECIES_ARBOK] = sArbokLevelUpLearnset, + [SPECIES_PIKACHU] = sPikachuLevelUpLearnset, + [SPECIES_RAICHU] = sRaichuLevelUpLearnset, + [SPECIES_SANDSHREW] = sSandshrewLevelUpLearnset, + [SPECIES_SANDSLASH] = sSandslashLevelUpLearnset, + [SPECIES_NIDORAN_F] = sNidoranFLevelUpLearnset, + [SPECIES_NIDORINA] = sNidorinaLevelUpLearnset, + [SPECIES_NIDOQUEEN] = sNidoqueenLevelUpLearnset, + [SPECIES_NIDORAN_M] = sNidoranMLevelUpLearnset, + [SPECIES_NIDORINO] = sNidorinoLevelUpLearnset, + [SPECIES_NIDOKING] = sNidokingLevelUpLearnset, + [SPECIES_CLEFAIRY] = sClefairyLevelUpLearnset, + [SPECIES_CLEFABLE] = sClefableLevelUpLearnset, + [SPECIES_VULPIX] = sVulpixLevelUpLearnset, + [SPECIES_NINETALES] = sNinetalesLevelUpLearnset, + [SPECIES_JIGGLYPUFF] = sJigglypuffLevelUpLearnset, + [SPECIES_WIGGLYTUFF] = sWigglytuffLevelUpLearnset, + [SPECIES_ZUBAT] = sZubatLevelUpLearnset, + [SPECIES_GOLBAT] = sGolbatLevelUpLearnset, + [SPECIES_ODDISH] = sOddishLevelUpLearnset, + [SPECIES_GLOOM] = sGloomLevelUpLearnset, + [SPECIES_VILEPLUME] = sVileplumeLevelUpLearnset, + [SPECIES_PARAS] = sParasLevelUpLearnset, + [SPECIES_PARASECT] = sParasectLevelUpLearnset, + [SPECIES_VENONAT] = sVenonatLevelUpLearnset, + [SPECIES_VENOMOTH] = sVenomothLevelUpLearnset, + [SPECIES_DIGLETT] = sDiglettLevelUpLearnset, + [SPECIES_DUGTRIO] = sDugtrioLevelUpLearnset, + [SPECIES_MEOWTH] = sMeowthLevelUpLearnset, + [SPECIES_PERSIAN] = sPersianLevelUpLearnset, + [SPECIES_PSYDUCK] = sPsyduckLevelUpLearnset, + [SPECIES_GOLDUCK] = sGolduckLevelUpLearnset, + [SPECIES_MANKEY] = sMankeyLevelUpLearnset, + [SPECIES_PRIMEAPE] = sPrimeapeLevelUpLearnset, + [SPECIES_GROWLITHE] = sGrowlitheLevelUpLearnset, + [SPECIES_ARCANINE] = sArcanineLevelUpLearnset, + [SPECIES_POLIWAG] = sPoliwagLevelUpLearnset, + [SPECIES_POLIWHIRL] = sPoliwhirlLevelUpLearnset, + [SPECIES_POLIWRATH] = sPoliwrathLevelUpLearnset, + [SPECIES_ABRA] = sAbraLevelUpLearnset, + [SPECIES_KADABRA] = sKadabraLevelUpLearnset, + [SPECIES_ALAKAZAM] = sAlakazamLevelUpLearnset, + [SPECIES_MACHOP] = sMachopLevelUpLearnset, + [SPECIES_MACHOKE] = sMachokeLevelUpLearnset, + [SPECIES_MACHAMP] = sMachampLevelUpLearnset, + [SPECIES_BELLSPROUT] = sBellsproutLevelUpLearnset, + [SPECIES_WEEPINBELL] = sWeepinbellLevelUpLearnset, + [SPECIES_VICTREEBEL] = sVictreebelLevelUpLearnset, + [SPECIES_TENTACOOL] = sTentacoolLevelUpLearnset, + [SPECIES_TENTACRUEL] = sTentacruelLevelUpLearnset, + [SPECIES_GEODUDE] = sGeodudeLevelUpLearnset, + [SPECIES_GRAVELER] = sGravelerLevelUpLearnset, + [SPECIES_GOLEM] = sGolemLevelUpLearnset, + [SPECIES_PONYTA] = sPonytaLevelUpLearnset, + [SPECIES_RAPIDASH] = sRapidashLevelUpLearnset, + [SPECIES_SLOWPOKE] = sSlowpokeLevelUpLearnset, + [SPECIES_SLOWBRO] = sSlowbroLevelUpLearnset, + [SPECIES_MAGNEMITE] = sMagnemiteLevelUpLearnset, + [SPECIES_MAGNETON] = sMagnetonLevelUpLearnset, + [SPECIES_FARFETCHD] = sFarfetchdLevelUpLearnset, + [SPECIES_DODUO] = sDoduoLevelUpLearnset, + [SPECIES_DODRIO] = sDodrioLevelUpLearnset, + [SPECIES_SEEL] = sSeelLevelUpLearnset, + [SPECIES_DEWGONG] = sDewgongLevelUpLearnset, + [SPECIES_GRIMER] = sGrimerLevelUpLearnset, + [SPECIES_MUK] = sMukLevelUpLearnset, + [SPECIES_SHELLDER] = sShellderLevelUpLearnset, + [SPECIES_CLOYSTER] = sCloysterLevelUpLearnset, + [SPECIES_GASTLY] = sGastlyLevelUpLearnset, + [SPECIES_HAUNTER] = sHaunterLevelUpLearnset, + [SPECIES_GENGAR] = sGengarLevelUpLearnset, + [SPECIES_ONIX] = sOnixLevelUpLearnset, + [SPECIES_DROWZEE] = sDrowzeeLevelUpLearnset, + [SPECIES_HYPNO] = sHypnoLevelUpLearnset, + [SPECIES_KRABBY] = sKrabbyLevelUpLearnset, + [SPECIES_KINGLER] = sKinglerLevelUpLearnset, + [SPECIES_VOLTORB] = sVoltorbLevelUpLearnset, + [SPECIES_ELECTRODE] = sElectrodeLevelUpLearnset, + [SPECIES_EXEGGCUTE] = sExeggcuteLevelUpLearnset, + [SPECIES_EXEGGUTOR] = sExeggutorLevelUpLearnset, + [SPECIES_CUBONE] = sCuboneLevelUpLearnset, + [SPECIES_MAROWAK] = sMarowakLevelUpLearnset, + [SPECIES_HITMONLEE] = sHitmonleeLevelUpLearnset, + [SPECIES_HITMONCHAN] = sHitmonchanLevelUpLearnset, + [SPECIES_LICKITUNG] = sLickitungLevelUpLearnset, + [SPECIES_KOFFING] = sKoffingLevelUpLearnset, + [SPECIES_WEEZING] = sWeezingLevelUpLearnset, + [SPECIES_RHYHORN] = sRhyhornLevelUpLearnset, + [SPECIES_RHYDON] = sRhydonLevelUpLearnset, + [SPECIES_CHANSEY] = sChanseyLevelUpLearnset, + [SPECIES_TANGELA] = sTangelaLevelUpLearnset, + [SPECIES_KANGASKHAN] = sKangaskhanLevelUpLearnset, + [SPECIES_HORSEA] = sHorseaLevelUpLearnset, + [SPECIES_SEADRA] = sSeadraLevelUpLearnset, + [SPECIES_GOLDEEN] = sGoldeenLevelUpLearnset, + [SPECIES_SEAKING] = sSeakingLevelUpLearnset, + [SPECIES_STARYU] = sStaryuLevelUpLearnset, + [SPECIES_STARMIE] = sStarmieLevelUpLearnset, + [SPECIES_MR_MIME] = sMrmimeLevelUpLearnset, + [SPECIES_SCYTHER] = sScytherLevelUpLearnset, + [SPECIES_JYNX] = sJynxLevelUpLearnset, + [SPECIES_ELECTABUZZ] = sElectabuzzLevelUpLearnset, + [SPECIES_MAGMAR] = sMagmarLevelUpLearnset, + [SPECIES_PINSIR] = sPinsirLevelUpLearnset, + [SPECIES_TAUROS] = sTaurosLevelUpLearnset, + [SPECIES_MAGIKARP] = sMagikarpLevelUpLearnset, + [SPECIES_GYARADOS] = sGyaradosLevelUpLearnset, + [SPECIES_LAPRAS] = sLaprasLevelUpLearnset, + [SPECIES_DITTO] = sDittoLevelUpLearnset, + [SPECIES_EEVEE] = sEeveeLevelUpLearnset, + [SPECIES_VAPOREON] = sVaporeonLevelUpLearnset, + [SPECIES_JOLTEON] = sJolteonLevelUpLearnset, + [SPECIES_FLAREON] = sFlareonLevelUpLearnset, + [SPECIES_PORYGON] = sPorygonLevelUpLearnset, + [SPECIES_OMANYTE] = sOmanyteLevelUpLearnset, + [SPECIES_OMASTAR] = sOmastarLevelUpLearnset, + [SPECIES_KABUTO] = sKabutoLevelUpLearnset, + [SPECIES_KABUTOPS] = sKabutopsLevelUpLearnset, + [SPECIES_AERODACTYL] = sAerodactylLevelUpLearnset, + [SPECIES_SNORLAX] = sSnorlaxLevelUpLearnset, + [SPECIES_ARTICUNO] = sArticunoLevelUpLearnset, + [SPECIES_ZAPDOS] = sZapdosLevelUpLearnset, + [SPECIES_MOLTRES] = sMoltresLevelUpLearnset, + [SPECIES_DRATINI] = sDratiniLevelUpLearnset, + [SPECIES_DRAGONAIR] = sDragonairLevelUpLearnset, + [SPECIES_DRAGONITE] = sDragoniteLevelUpLearnset, + [SPECIES_MEWTWO] = sMewtwoLevelUpLearnset, + [SPECIES_MEW] = sMewLevelUpLearnset, + [SPECIES_CHIKORITA] = sChikoritaLevelUpLearnset, + [SPECIES_BAYLEEF] = sBayleefLevelUpLearnset, + [SPECIES_MEGANIUM] = sMeganiumLevelUpLearnset, + [SPECIES_CYNDAQUIL] = sCyndaquilLevelUpLearnset, + [SPECIES_QUILAVA] = sQuilavaLevelUpLearnset, + [SPECIES_TYPHLOSION] = sTyphlosionLevelUpLearnset, + [SPECIES_TOTODILE] = sTotodileLevelUpLearnset, + [SPECIES_CROCONAW] = sCroconawLevelUpLearnset, + [SPECIES_FERALIGATR] = sFeraligatrLevelUpLearnset, + [SPECIES_SENTRET] = sSentretLevelUpLearnset, + [SPECIES_FURRET] = sFurretLevelUpLearnset, + [SPECIES_HOOTHOOT] = sHoothootLevelUpLearnset, + [SPECIES_NOCTOWL] = sNoctowlLevelUpLearnset, + [SPECIES_LEDYBA] = sLedybaLevelUpLearnset, + [SPECIES_LEDIAN] = sLedianLevelUpLearnset, + [SPECIES_SPINARAK] = sSpinarakLevelUpLearnset, + [SPECIES_ARIADOS] = sAriadosLevelUpLearnset, + [SPECIES_CROBAT] = sCrobatLevelUpLearnset, + [SPECIES_CHINCHOU] = sChinchouLevelUpLearnset, + [SPECIES_LANTURN] = sLanturnLevelUpLearnset, + [SPECIES_PICHU] = sPichuLevelUpLearnset, + [SPECIES_CLEFFA] = sCleffaLevelUpLearnset, + [SPECIES_IGGLYBUFF] = sIgglybuffLevelUpLearnset, + [SPECIES_TOGEPI] = sTogepiLevelUpLearnset, + [SPECIES_TOGETIC] = sTogeticLevelUpLearnset, + [SPECIES_NATU] = sNatuLevelUpLearnset, + [SPECIES_XATU] = sXatuLevelUpLearnset, + [SPECIES_MAREEP] = sMareepLevelUpLearnset, + [SPECIES_FLAAFFY] = sFlaaffyLevelUpLearnset, + [SPECIES_AMPHAROS] = sAmpharosLevelUpLearnset, + [SPECIES_BELLOSSOM] = sBellossomLevelUpLearnset, + [SPECIES_MARILL] = sMarillLevelUpLearnset, + [SPECIES_AZUMARILL] = sAzumarillLevelUpLearnset, + [SPECIES_SUDOWOODO] = sSudowoodoLevelUpLearnset, + [SPECIES_POLITOED] = sPolitoedLevelUpLearnset, + [SPECIES_HOPPIP] = sHoppipLevelUpLearnset, + [SPECIES_SKIPLOOM] = sSkiploomLevelUpLearnset, + [SPECIES_JUMPLUFF] = sJumpluffLevelUpLearnset, + [SPECIES_AIPOM] = sAipomLevelUpLearnset, + [SPECIES_SUNKERN] = sSunkernLevelUpLearnset, + [SPECIES_SUNFLORA] = sSunfloraLevelUpLearnset, + [SPECIES_YANMA] = sYanmaLevelUpLearnset, + [SPECIES_WOOPER] = sWooperLevelUpLearnset, + [SPECIES_QUAGSIRE] = sQuagsireLevelUpLearnset, + [SPECIES_ESPEON] = sEspeonLevelUpLearnset, + [SPECIES_UMBREON] = sUmbreonLevelUpLearnset, + [SPECIES_MURKROW] = sMurkrowLevelUpLearnset, + [SPECIES_SLOWKING] = sSlowkingLevelUpLearnset, + [SPECIES_MISDREAVUS] = sMisdreavusLevelUpLearnset, + [SPECIES_UNOWN] = sUnownLevelUpLearnset, + [SPECIES_WOBBUFFET] = sWobbuffetLevelUpLearnset, + [SPECIES_GIRAFARIG] = sGirafarigLevelUpLearnset, + [SPECIES_PINECO] = sPinecoLevelUpLearnset, + [SPECIES_FORRETRESS] = sForretressLevelUpLearnset, + [SPECIES_DUNSPARCE] = sDunsparceLevelUpLearnset, + [SPECIES_GLIGAR] = sGligarLevelUpLearnset, + [SPECIES_STEELIX] = sSteelixLevelUpLearnset, + [SPECIES_SNUBBULL] = sSnubbullLevelUpLearnset, + [SPECIES_GRANBULL] = sGranbullLevelUpLearnset, + [SPECIES_QWILFISH] = sQwilfishLevelUpLearnset, + [SPECIES_SCIZOR] = sScizorLevelUpLearnset, + [SPECIES_SHUCKLE] = sShuckleLevelUpLearnset, + [SPECIES_HERACROSS] = sHeracrossLevelUpLearnset, + [SPECIES_SNEASEL] = sSneaselLevelUpLearnset, + [SPECIES_TEDDIURSA] = sTeddiursaLevelUpLearnset, + [SPECIES_URSARING] = sUrsaringLevelUpLearnset, + [SPECIES_SLUGMA] = sSlugmaLevelUpLearnset, + [SPECIES_MAGCARGO] = sMagcargoLevelUpLearnset, + [SPECIES_SWINUB] = sSwinubLevelUpLearnset, + [SPECIES_PILOSWINE] = sPiloswineLevelUpLearnset, + [SPECIES_CORSOLA] = sCorsolaLevelUpLearnset, + [SPECIES_REMORAID] = sRemoraidLevelUpLearnset, + [SPECIES_OCTILLERY] = sOctilleryLevelUpLearnset, + [SPECIES_DELIBIRD] = sDelibirdLevelUpLearnset, + [SPECIES_MANTINE] = sMantineLevelUpLearnset, + [SPECIES_SKARMORY] = sSkarmoryLevelUpLearnset, + [SPECIES_HOUNDOUR] = sHoundourLevelUpLearnset, + [SPECIES_HOUNDOOM] = sHoundoomLevelUpLearnset, + [SPECIES_KINGDRA] = sKingdraLevelUpLearnset, + [SPECIES_PHANPY] = sPhanpyLevelUpLearnset, + [SPECIES_DONPHAN] = sDonphanLevelUpLearnset, + [SPECIES_PORYGON2] = sPorygon2LevelUpLearnset, + [SPECIES_STANTLER] = sStantlerLevelUpLearnset, + [SPECIES_SMEARGLE] = sSmeargleLevelUpLearnset, + [SPECIES_TYROGUE] = sTyrogueLevelUpLearnset, + [SPECIES_HITMONTOP] = sHitmontopLevelUpLearnset, + [SPECIES_SMOOCHUM] = sSmoochumLevelUpLearnset, + [SPECIES_ELEKID] = sElekidLevelUpLearnset, + [SPECIES_MAGBY] = sMagbyLevelUpLearnset, + [SPECIES_MILTANK] = sMiltankLevelUpLearnset, + [SPECIES_BLISSEY] = sBlisseyLevelUpLearnset, + [SPECIES_RAIKOU] = sRaikouLevelUpLearnset, + [SPECIES_ENTEI] = sEnteiLevelUpLearnset, + [SPECIES_SUICUNE] = sSuicuneLevelUpLearnset, + [SPECIES_LARVITAR] = sLarvitarLevelUpLearnset, + [SPECIES_PUPITAR] = sPupitarLevelUpLearnset, + [SPECIES_TYRANITAR] = sTyranitarLevelUpLearnset, + [SPECIES_LUGIA] = sLugiaLevelUpLearnset, + [SPECIES_HO_OH] = sHoOhLevelUpLearnset, + [SPECIES_CELEBI] = sCelebiLevelUpLearnset, + [SPECIES_OLD_UNOWN_B] = sSpecies252LevelUpLearnset, + [SPECIES_OLD_UNOWN_C] = sSpecies253LevelUpLearnset, + [SPECIES_OLD_UNOWN_D] = sSpecies254LevelUpLearnset, + [SPECIES_OLD_UNOWN_E] = sSpecies255LevelUpLearnset, + [SPECIES_OLD_UNOWN_F] = sSpecies256LevelUpLearnset, + [SPECIES_OLD_UNOWN_G] = sSpecies257LevelUpLearnset, + [SPECIES_OLD_UNOWN_H] = sSpecies258LevelUpLearnset, + [SPECIES_OLD_UNOWN_I] = sSpecies259LevelUpLearnset, + [SPECIES_OLD_UNOWN_J] = sSpecies260LevelUpLearnset, + [SPECIES_OLD_UNOWN_K] = sSpecies261LevelUpLearnset, + [SPECIES_OLD_UNOWN_L] = sSpecies262LevelUpLearnset, + [SPECIES_OLD_UNOWN_M] = sSpecies263LevelUpLearnset, + [SPECIES_OLD_UNOWN_N] = sSpecies264LevelUpLearnset, + [SPECIES_OLD_UNOWN_O] = sSpecies265LevelUpLearnset, + [SPECIES_OLD_UNOWN_P] = sSpecies266LevelUpLearnset, + [SPECIES_OLD_UNOWN_Q] = sSpecies267LevelUpLearnset, + [SPECIES_OLD_UNOWN_R] = sSpecies268LevelUpLearnset, + [SPECIES_OLD_UNOWN_S] = sSpecies269LevelUpLearnset, + [SPECIES_OLD_UNOWN_T] = sSpecies270LevelUpLearnset, + [SPECIES_OLD_UNOWN_U] = sSpecies271LevelUpLearnset, + [SPECIES_OLD_UNOWN_V] = sSpecies272LevelUpLearnset, + [SPECIES_OLD_UNOWN_W] = sSpecies273LevelUpLearnset, + [SPECIES_OLD_UNOWN_X] = sSpecies274LevelUpLearnset, + [SPECIES_OLD_UNOWN_Y] = sSpecies275LevelUpLearnset, + [SPECIES_OLD_UNOWN_Z] = sSpecies276LevelUpLearnset, + [SPECIES_TREECKO] = sTreeckoLevelUpLearnset, + [SPECIES_GROVYLE] = sGrovyleLevelUpLearnset, + [SPECIES_SCEPTILE] = sSceptileLevelUpLearnset, + [SPECIES_TORCHIC] = sTorchicLevelUpLearnset, + [SPECIES_COMBUSKEN] = sCombuskenLevelUpLearnset, + [SPECIES_BLAZIKEN] = sBlazikenLevelUpLearnset, + [SPECIES_MUDKIP] = sMudkipLevelUpLearnset, + [SPECIES_MARSHTOMP] = sMarshtompLevelUpLearnset, + [SPECIES_SWAMPERT] = sSwampertLevelUpLearnset, + [SPECIES_POOCHYENA] = sPoochyenaLevelUpLearnset, + [SPECIES_MIGHTYENA] = sMightyenaLevelUpLearnset, + [SPECIES_ZIGZAGOON] = sZigzagoonLevelUpLearnset, + [SPECIES_LINOONE] = sLinooneLevelUpLearnset, + [SPECIES_WURMPLE] = sWurmpleLevelUpLearnset, + [SPECIES_SILCOON] = sSilcoonLevelUpLearnset, + [SPECIES_BEAUTIFLY] = sBeautiflyLevelUpLearnset, + [SPECIES_CASCOON] = sCascoonLevelUpLearnset, + [SPECIES_DUSTOX] = sDustoxLevelUpLearnset, + [SPECIES_LOTAD] = sLotadLevelUpLearnset, + [SPECIES_LOMBRE] = sLombreLevelUpLearnset, + [SPECIES_LUDICOLO] = sLudicoloLevelUpLearnset, + [SPECIES_SEEDOT] = sSeedotLevelUpLearnset, + [SPECIES_NUZLEAF] = sNuzleafLevelUpLearnset, + [SPECIES_SHIFTRY] = sShiftryLevelUpLearnset, + [SPECIES_NINCADA] = sNincadaLevelUpLearnset, + [SPECIES_NINJASK] = sNinjaskLevelUpLearnset, + [SPECIES_SHEDINJA] = sShedinjaLevelUpLearnset, + [SPECIES_TAILLOW] = sTaillowLevelUpLearnset, + [SPECIES_SWELLOW] = sSwellowLevelUpLearnset, + [SPECIES_SHROOMISH] = sShroomishLevelUpLearnset, + [SPECIES_BRELOOM] = sBreloomLevelUpLearnset, + [SPECIES_SPINDA] = sSpindaLevelUpLearnset, + [SPECIES_WINGULL] = sWingullLevelUpLearnset, + [SPECIES_PELIPPER] = sPelipperLevelUpLearnset, + [SPECIES_SURSKIT] = sSurskitLevelUpLearnset, + [SPECIES_MASQUERAIN] = sMasquerainLevelUpLearnset, + [SPECIES_WAILMER] = sWailmerLevelUpLearnset, + [SPECIES_WAILORD] = sWailordLevelUpLearnset, + [SPECIES_SKITTY] = sSkittyLevelUpLearnset, + [SPECIES_DELCATTY] = sDelcattyLevelUpLearnset, + [SPECIES_KECLEON] = sKecleonLevelUpLearnset, + [SPECIES_BALTOY] = sBaltoyLevelUpLearnset, + [SPECIES_CLAYDOL] = sClaydolLevelUpLearnset, + [SPECIES_NOSEPASS] = sNosepassLevelUpLearnset, + [SPECIES_TORKOAL] = sTorkoalLevelUpLearnset, + [SPECIES_SABLEYE] = sSableyeLevelUpLearnset, + [SPECIES_BARBOACH] = sBarboachLevelUpLearnset, + [SPECIES_WHISCASH] = sWhiscashLevelUpLearnset, + [SPECIES_LUVDISC] = sLuvdiscLevelUpLearnset, + [SPECIES_CORPHISH] = sCorphishLevelUpLearnset, + [SPECIES_CRAWDAUNT] = sCrawdauntLevelUpLearnset, + [SPECIES_FEEBAS] = sFeebasLevelUpLearnset, + [SPECIES_MILOTIC] = sMiloticLevelUpLearnset, + [SPECIES_CARVANHA] = sCarvanhaLevelUpLearnset, + [SPECIES_SHARPEDO] = sSharpedoLevelUpLearnset, + [SPECIES_TRAPINCH] = sTrapinchLevelUpLearnset, + [SPECIES_VIBRAVA] = sVibravaLevelUpLearnset, + [SPECIES_FLYGON] = sFlygonLevelUpLearnset, + [SPECIES_MAKUHITA] = sMakuhitaLevelUpLearnset, + [SPECIES_HARIYAMA] = sHariyamaLevelUpLearnset, + [SPECIES_ELECTRIKE] = sElectrikeLevelUpLearnset, + [SPECIES_MANECTRIC] = sManectricLevelUpLearnset, + [SPECIES_NUMEL] = sNumelLevelUpLearnset, + [SPECIES_CAMERUPT] = sCameruptLevelUpLearnset, + [SPECIES_SPHEAL] = sSphealLevelUpLearnset, + [SPECIES_SEALEO] = sSealeoLevelUpLearnset, + [SPECIES_WALREIN] = sWalreinLevelUpLearnset, + [SPECIES_CACNEA] = sCacneaLevelUpLearnset, + [SPECIES_CACTURNE] = sCacturneLevelUpLearnset, + [SPECIES_SNORUNT] = sSnoruntLevelUpLearnset, + [SPECIES_GLALIE] = sGlalieLevelUpLearnset, + [SPECIES_LUNATONE] = sLunatoneLevelUpLearnset, + [SPECIES_SOLROCK] = sSolrockLevelUpLearnset, + [SPECIES_AZURILL] = sAzurillLevelUpLearnset, + [SPECIES_SPOINK] = sSpoinkLevelUpLearnset, + [SPECIES_GRUMPIG] = sGrumpigLevelUpLearnset, + [SPECIES_PLUSLE] = sPlusleLevelUpLearnset, + [SPECIES_MINUN] = sMinunLevelUpLearnset, + [SPECIES_MAWILE] = sMawileLevelUpLearnset, + [SPECIES_MEDITITE] = sMedititeLevelUpLearnset, + [SPECIES_MEDICHAM] = sMedichamLevelUpLearnset, + [SPECIES_SWABLU] = sSwabluLevelUpLearnset, + [SPECIES_ALTARIA] = sAltariaLevelUpLearnset, + [SPECIES_WYNAUT] = sWynautLevelUpLearnset, + [SPECIES_DUSKULL] = sDuskullLevelUpLearnset, + [SPECIES_DUSCLOPS] = sDusclopsLevelUpLearnset, + [SPECIES_ROSELIA] = sRoseliaLevelUpLearnset, + [SPECIES_SLAKOTH] = sSlakothLevelUpLearnset, + [SPECIES_VIGOROTH] = sVigorothLevelUpLearnset, + [SPECIES_SLAKING] = sSlakingLevelUpLearnset, + [SPECIES_GULPIN] = sGulpinLevelUpLearnset, + [SPECIES_SWALOT] = sSwalotLevelUpLearnset, + [SPECIES_TROPIUS] = sTropiusLevelUpLearnset, + [SPECIES_WHISMUR] = sWhismurLevelUpLearnset, + [SPECIES_LOUDRED] = sLoudredLevelUpLearnset, + [SPECIES_EXPLOUD] = sExploudLevelUpLearnset, + [SPECIES_CLAMPERL] = sClamperlLevelUpLearnset, + [SPECIES_HUNTAIL] = sHuntailLevelUpLearnset, + [SPECIES_GOREBYSS] = sGorebyssLevelUpLearnset, + [SPECIES_ABSOL] = sAbsolLevelUpLearnset, + [SPECIES_SHUPPET] = sShuppetLevelUpLearnset, + [SPECIES_BANETTE] = sBanetteLevelUpLearnset, + [SPECIES_SEVIPER] = sSeviperLevelUpLearnset, + [SPECIES_ZANGOOSE] = sZangooseLevelUpLearnset, + [SPECIES_RELICANTH] = sRelicanthLevelUpLearnset, + [SPECIES_ARON] = sAronLevelUpLearnset, + [SPECIES_LAIRON] = sLaironLevelUpLearnset, + [SPECIES_AGGRON] = sAggronLevelUpLearnset, + [SPECIES_CASTFORM] = sCastformLevelUpLearnset, + [SPECIES_VOLBEAT] = sVolbeatLevelUpLearnset, + [SPECIES_ILLUMISE] = sIllumiseLevelUpLearnset, + [SPECIES_LILEEP] = sLileepLevelUpLearnset, + [SPECIES_CRADILY] = sCradilyLevelUpLearnset, + [SPECIES_ANORITH] = sAnorithLevelUpLearnset, + [SPECIES_ARMALDO] = sArmaldoLevelUpLearnset, + [SPECIES_RALTS] = sRaltsLevelUpLearnset, + [SPECIES_KIRLIA] = sKirliaLevelUpLearnset, + [SPECIES_GARDEVOIR] = sGardevoirLevelUpLearnset, + [SPECIES_BAGON] = sBagonLevelUpLearnset, + [SPECIES_SHELGON] = sShelgonLevelUpLearnset, + [SPECIES_SALAMENCE] = sSalamenceLevelUpLearnset, + [SPECIES_BELDUM] = sBeldumLevelUpLearnset, + [SPECIES_METANG] = sMetangLevelUpLearnset, + [SPECIES_METAGROSS] = sMetagrossLevelUpLearnset, + [SPECIES_REGIROCK] = sRegirockLevelUpLearnset, + [SPECIES_REGICE] = sRegiceLevelUpLearnset, + [SPECIES_REGISTEEL] = sRegisteelLevelUpLearnset, + [SPECIES_KYOGRE] = sKyogreLevelUpLearnset, + [SPECIES_GROUDON] = sGroudonLevelUpLearnset, + [SPECIES_RAYQUAZA] = sRayquazaLevelUpLearnset, + [SPECIES_LATIAS] = sLatiasLevelUpLearnset, + [SPECIES_LATIOS] = sLatiosLevelUpLearnset, + [SPECIES_JIRACHI] = sJirachiLevelUpLearnset, + [SPECIES_DEOXYS] = sDeoxysLevelUpLearnset, + [SPECIES_CHIMECHO] = sChimechoLevelUpLearnset, +}; + +#endif //POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h new file mode 100644 index 000000000..062873aee --- /dev/null +++ b/src/data/pokemon/level_up_learnsets.h @@ -0,0 +1,5623 @@ +#ifndef POKEEMERALD_LEVEL_UP_LEARNSETS_H +#define POKEEMERALD_LEVEL_UP_LEARNSETS_H + +#define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move) +#define LEVEL_UP_END 0xffff + +static const u16 sBulbasaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(10, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(25, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(32, MOVE_GROWTH), + LEVEL_UP_MOVE(39, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(46, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sIvysaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(10, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(22, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(29, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(38, MOVE_GROWTH), + LEVEL_UP_MOVE(47, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(56, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sVenusaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(10, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(22, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(29, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(41, MOVE_GROWTH), + LEVEL_UP_MOVE(53, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sCharmanderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(19, MOVE_RAGE), + LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(31, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(49, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +static const u16 sCharmeleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(20, MOVE_RAGE), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(41, MOVE_SLASH), + LEVEL_UP_MOVE(48, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(55, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +static const u16 sCharizardLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(20, MOVE_RAGE), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(36, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(44, MOVE_SLASH), + LEVEL_UP_MOVE(54, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(64, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +static const u16 sSquirtleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(18, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(28, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(40, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(47, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sWartortleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(25, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(53, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sBlastoiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(25, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(42, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(55, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(68, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sCaterpieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_END +}; + +static const u16 sMetapodLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const u16 sButterfreeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(14, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(18, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(23, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(28, MOVE_GUST), + LEVEL_UP_MOVE(34, MOVE_PSYBEAM), + LEVEL_UP_MOVE(40, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(47, MOVE_SILVER_WIND), + LEVEL_UP_END +}; + +static const u16 sWeedleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_END +}; + +static const u16 sKakunaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const u16 sBeedrillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(10, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(20, MOVE_TWINEEDLE), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(30, MOVE_PURSUIT), + LEVEL_UP_MOVE(35, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const u16 sPidgeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(19, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(25, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(31, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(39, MOVE_AGILITY), + LEVEL_UP_MOVE(47, MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +static const u16 sPidgeottoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(27, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(34, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE(52, MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +static const u16 sPidgeotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(27, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(34, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(48, MOVE_AGILITY), + LEVEL_UP_MOVE(62, MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +static const u16 sRattataLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(20, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(27, MOVE_PURSUIT), + LEVEL_UP_MOVE(34, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(41, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const u16 sRaticateLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_PURSUIT), + LEVEL_UP_MOVE(40, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(50, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const u16 sSpearowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(19, MOVE_PURSUIT), + LEVEL_UP_MOVE(25, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(31, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(37, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sFearowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(26, MOVE_PURSUIT), + LEVEL_UP_MOVE(32, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(40, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sEkansLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_POISON_STING), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_GLARE), + LEVEL_UP_MOVE(25, MOVE_SCREECH), + LEVEL_UP_MOVE(32, MOVE_ACID), + LEVEL_UP_MOVE(37, MOVE_STOCKPILE), + LEVEL_UP_MOVE(37, MOVE_SWALLOW), + LEVEL_UP_MOVE(37, MOVE_SPIT_UP), + LEVEL_UP_MOVE(44, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sArbokLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 8, MOVE_POISON_STING), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_GLARE), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(38, MOVE_ACID), + LEVEL_UP_MOVE(46, MOVE_STOCKPILE), + LEVEL_UP_MOVE(46, MOVE_SWALLOW), + LEVEL_UP_MOVE(46, MOVE_SPIT_UP), + LEVEL_UP_MOVE(56, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sPikachuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(20, MOVE_SLAM), + LEVEL_UP_MOVE(26, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_THUNDER), + LEVEL_UP_MOVE(50, MOVE_LIGHT_SCREEN), + LEVEL_UP_END +}; + +static const u16 sRaichuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_THUNDERBOLT), + LEVEL_UP_END +}; + +static const u16 sSandshrewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(23, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_SWIFT), + LEVEL_UP_MOVE(37, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(45, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(53, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +static const u16 sSandslashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_SWIFT), + LEVEL_UP_MOVE(42, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(52, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(62, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +static const u16 sNidoranFLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(38, MOVE_FLATTER), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const u16 sNidorinaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(18, MOVE_POISON_STING), + LEVEL_UP_MOVE(22, MOVE_BITE), + LEVEL_UP_MOVE(26, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(34, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(43, MOVE_FLATTER), + LEVEL_UP_MOVE(53, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const u16 sNidoqueenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE(23, MOVE_BODY_SLAM), + LEVEL_UP_END +}; + +static const u16 sNidoranMLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(20, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(23, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(30, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(38, MOVE_FLATTER), + LEVEL_UP_MOVE(47, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +static const u16 sNidorinoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(18, MOVE_POISON_STING), + LEVEL_UP_MOVE(22, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(26, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(34, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(43, MOVE_FLATTER), + LEVEL_UP_MOVE(53, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +static const u16 sNidokingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE(23, MOVE_THRASH), + LEVEL_UP_END +}; + +static const u16 sClefairyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_ENCORE), + LEVEL_UP_MOVE( 9, MOVE_SING), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(17, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(21, MOVE_MINIMIZE), + LEVEL_UP_MOVE(25, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(29, MOVE_METRONOME), + LEVEL_UP_MOVE(33, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(37, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(45, MOVE_METEOR_MASH), + LEVEL_UP_END +}; + +static const u16 sClefableLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_END +}; + +static const u16 sVulpixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_ROAR), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(21, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(25, MOVE_IMPRISON), + LEVEL_UP_MOVE(29, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(33, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(37, MOVE_GRUDGE), + LEVEL_UP_MOVE(41, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +static const u16 sNinetalesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(45, MOVE_FIRE_SPIN), + LEVEL_UP_END +}; + +static const u16 sJigglypuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 9, MOVE_POUND), + LEVEL_UP_MOVE(14, MOVE_DISABLE), + LEVEL_UP_MOVE(19, MOVE_ROLLOUT), + LEVEL_UP_MOVE(24, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(34, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(39, MOVE_MIMIC), + LEVEL_UP_MOVE(44, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sWigglytuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_END +}; + +static const u16 sZubatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(26, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(31, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(36, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(41, MOVE_POISON_FANG), + LEVEL_UP_MOVE(46, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sGolbatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(35, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(49, MOVE_POISON_FANG), + LEVEL_UP_MOVE(56, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sOddishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(16, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(23, MOVE_ACID), + LEVEL_UP_MOVE(32, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(39, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +static const u16 sGloomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(16, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(24, MOVE_ACID), + LEVEL_UP_MOVE(35, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +static const u16 sVileplumeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +static const u16 sParasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(19, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(25, MOVE_SPORE), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_GROWTH), + LEVEL_UP_MOVE(43, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(49, MOVE_AROMATHERAPY), + LEVEL_UP_END +}; + +static const u16 sParasectLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(19, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(27, MOVE_SPORE), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_GROWTH), + LEVEL_UP_MOVE(51, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(59, MOVE_AROMATHERAPY), + LEVEL_UP_END +}; + +static const u16 sVenonatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(17, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(28, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(33, MOVE_PSYBEAM), + LEVEL_UP_MOVE(36, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(41, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sVenomothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SILVER_WIND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(17, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(28, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(31, MOVE_GUST), + LEVEL_UP_MOVE(36, MOVE_PSYBEAM), + LEVEL_UP_MOVE(42, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(52, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sDiglettLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(17, MOVE_DIG), + LEVEL_UP_MOVE(25, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(33, MOVE_SLASH), + LEVEL_UP_MOVE(41, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(49, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const u16 sDugtrioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(17, MOVE_DIG), + LEVEL_UP_MOVE(25, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(26, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(38, MOVE_SLASH), + LEVEL_UP_MOVE(51, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(64, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const u16 sMeowthLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_PAY_DAY), + LEVEL_UP_MOVE(28, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(35, MOVE_SCREECH), + LEVEL_UP_MOVE(41, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(46, MOVE_SLASH), + LEVEL_UP_MOVE(50, MOVE_FAKE_OUT), + LEVEL_UP_END +}; + +static const u16 sPersianLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_PAY_DAY), + LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(38, MOVE_SCREECH), + LEVEL_UP_MOVE(46, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(53, MOVE_SLASH), + LEVEL_UP_MOVE(59, MOVE_FAKE_OUT), + LEVEL_UP_END +}; + +static const u16 sPsyduckLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(23, MOVE_SCREECH), + LEVEL_UP_MOVE(31, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(40, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sGolduckLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(23, MOVE_SCREECH), + LEVEL_UP_MOVE(31, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(44, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sMankeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), + LEVEL_UP_MOVE(15, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(21, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(27, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(33, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(39, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(51, MOVE_THRASH), + LEVEL_UP_END +}; + +static const u16 sPrimeapeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), + LEVEL_UP_MOVE(15, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(21, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(27, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(28, MOVE_RAGE), + LEVEL_UP_MOVE(36, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(45, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(54, MOVE_SCREECH), + LEVEL_UP_MOVE(63, MOVE_THRASH), + LEVEL_UP_END +}; + +static const u16 sGrowlitheLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_ROAR), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(19, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(37, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +static const u16 sArcanineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(49, MOVE_EXTREME_SPEED), + LEVEL_UP_END +}; + +static const u16 sPoliwagLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(25, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(37, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sPoliwhirlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(27, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(35, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(43, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sPoliwrathLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), + LEVEL_UP_MOVE(35, MOVE_SUBMISSION), + LEVEL_UP_MOVE(51, MOVE_MIND_READER), + LEVEL_UP_END +}; + +static const u16 sAbraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_END +}; + +static const u16 sKadabraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_KINESIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(18, MOVE_DISABLE), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_REFLECT), + LEVEL_UP_MOVE(25, MOVE_RECOVER), + LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(33, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_TRICK), + LEVEL_UP_END +}; + +static const u16 sAlakazamLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_KINESIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(18, MOVE_DISABLE), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_REFLECT), + LEVEL_UP_MOVE(25, MOVE_RECOVER), + LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(33, MOVE_CALM_MIND), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_TRICK), + LEVEL_UP_END +}; + +static const u16 sMachopLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(22, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_REVENGE), + LEVEL_UP_MOVE(31, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(37, MOVE_SUBMISSION), + LEVEL_UP_MOVE(40, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(43, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(49, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +static const u16 sMachokeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(22, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_REVENGE), + LEVEL_UP_MOVE(33, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(41, MOVE_SUBMISSION), + LEVEL_UP_MOVE(46, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(51, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(59, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +static const u16 sMachampLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(22, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_REVENGE), + LEVEL_UP_MOVE(33, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(41, MOVE_SUBMISSION), + LEVEL_UP_MOVE(46, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(51, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(59, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +static const u16 sBellsproutLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE(11, MOVE_WRAP), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(17, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(19, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(23, MOVE_ACID), + LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(37, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(45, MOVE_SLAM), + LEVEL_UP_END +}; + +static const u16 sWeepinbellLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE(11, MOVE_WRAP), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(17, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(19, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(24, MOVE_ACID), + LEVEL_UP_MOVE(33, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(42, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(54, MOVE_SLAM), + LEVEL_UP_END +}; + +static const u16 sVictreebelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_END +}; + +static const u16 sTentacoolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_CONSTRICT), + LEVEL_UP_MOVE(19, MOVE_ACID), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_WRAP), + LEVEL_UP_MOVE(36, MOVE_BARRIER), + LEVEL_UP_MOVE(43, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sTentacruelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_CONSTRICT), + LEVEL_UP_MOVE(19, MOVE_ACID), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_WRAP), + LEVEL_UP_MOVE(38, MOVE_BARRIER), + LEVEL_UP_MOVE(47, MOVE_SCREECH), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sGeodudeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(26, MOVE_ROLLOUT), + LEVEL_UP_MOVE(31, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(41, MOVE_EXPLOSION), + LEVEL_UP_MOVE(46, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sGravelerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(29, MOVE_ROLLOUT), + LEVEL_UP_MOVE(37, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(53, MOVE_EXPLOSION), + LEVEL_UP_MOVE(62, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sGolemLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(29, MOVE_ROLLOUT), + LEVEL_UP_MOVE(37, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(53, MOVE_EXPLOSION), + LEVEL_UP_MOVE(62, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sPonytaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(14, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_BOUNCE), + LEVEL_UP_MOVE(53, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const u16 sRapidashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(14, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(50, MOVE_BOUNCE), + LEVEL_UP_MOVE(63, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const u16 sSlowpokeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(29, MOVE_DISABLE), + LEVEL_UP_MOVE(34, MOVE_HEADBUTT), + LEVEL_UP_MOVE(43, MOVE_AMNESIA), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sSlowbroLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(29, MOVE_DISABLE), + LEVEL_UP_MOVE(34, MOVE_HEADBUTT), + LEVEL_UP_MOVE(37, MOVE_WITHDRAW), + LEVEL_UP_MOVE(46, MOVE_AMNESIA), + LEVEL_UP_MOVE(54, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sMagnemiteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(11, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(16, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(21, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(26, MOVE_SPARK), + LEVEL_UP_MOVE(32, MOVE_LOCK_ON), + LEVEL_UP_MOVE(38, MOVE_SWIFT), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(50, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +static const u16 sMagnetonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(11, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(16, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(21, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(26, MOVE_SPARK), + LEVEL_UP_MOVE(35, MOVE_LOCK_ON), + LEVEL_UP_MOVE(44, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(53, MOVE_SCREECH), + LEVEL_UP_MOVE(62, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +static const u16 sFarfetchdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(11, MOVE_LEER), + LEVEL_UP_MOVE(16, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(26, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(31, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_SLASH), + LEVEL_UP_MOVE(46, MOVE_FALSE_SWIPE), + LEVEL_UP_END +}; + +static const u16 sDoduoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_PURSUIT), + LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(33, MOVE_UPROAR), + LEVEL_UP_MOVE(37, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(45, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sDodrioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PURSUIT), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_PURSUIT), + LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(38, MOVE_UPROAR), + LEVEL_UP_MOVE(47, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(60, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sSeelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 9, MOVE_GROWL), + LEVEL_UP_MOVE(17, MOVE_ICY_WIND), + LEVEL_UP_MOVE(21, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(49, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +static const u16 sDewgongLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 9, MOVE_GROWL), + LEVEL_UP_MOVE(17, MOVE_ICY_WIND), + LEVEL_UP_MOVE(21, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(34, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(51, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(64, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +static const u16 sGrimerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_DISABLE), + LEVEL_UP_MOVE(13, MOVE_SLUDGE), + LEVEL_UP_MOVE(19, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(43, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(53, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const u16 sMukLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_DISABLE), + LEVEL_UP_MOVE(13, MOVE_SLUDGE), + LEVEL_UP_MOVE(19, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(47, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(61, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const u16 sShellderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(17, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_LEER), + LEVEL_UP_MOVE(41, MOVE_CLAMP), + LEVEL_UP_MOVE(49, MOVE_ICE_BEAM), + LEVEL_UP_END +}; + +static const u16 sCloysterLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_SPIKES), + LEVEL_UP_MOVE(41, MOVE_SPIKE_CANNON), + LEVEL_UP_END +}; + +static const u16 sGastlyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 8, MOVE_SPITE), + LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(33, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(36, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const u16 sHaunterLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 8, MOVE_SPITE), + LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(25, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(39, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const u16 sGengarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 8, MOVE_SPITE), + LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(25, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(39, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const u16 sOnixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 9, MOVE_BIND), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(21, MOVE_HARDEN), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(33, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_SLAM), + LEVEL_UP_MOVE(45, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(49, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sDrowzeeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_HEADBUTT), + LEVEL_UP_MOVE(31, MOVE_POISON_GAS), + LEVEL_UP_MOVE(36, MOVE_MEDITATE), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(45, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const u16 sHypnoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_HEADBUTT), + LEVEL_UP_MOVE(33, MOVE_POISON_GAS), + LEVEL_UP_MOVE(40, MOVE_MEDITATE), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(55, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(60, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const u16 sKrabbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(16, MOVE_HARDEN), + LEVEL_UP_MOVE(23, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(27, MOVE_STOMP), + LEVEL_UP_MOVE(34, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(41, MOVE_PROTECT), + LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), + LEVEL_UP_END +}; + +static const u16 sKinglerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(16, MOVE_HARDEN), + LEVEL_UP_MOVE(23, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(27, MOVE_STOMP), + LEVEL_UP_MOVE(38, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(49, MOVE_PROTECT), + LEVEL_UP_MOVE(57, MOVE_CRABHAMMER), + LEVEL_UP_END +}; + +static const u16 sVoltorbLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_SCREECH), + LEVEL_UP_MOVE(15, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(21, MOVE_SPARK), + LEVEL_UP_MOVE(27, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(32, MOVE_ROLLOUT), + LEVEL_UP_MOVE(37, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(42, MOVE_SWIFT), + LEVEL_UP_MOVE(46, MOVE_EXPLOSION), + LEVEL_UP_MOVE(49, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +static const u16 sElectrodeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE( 8, MOVE_SCREECH), + LEVEL_UP_MOVE(15, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(21, MOVE_SPARK), + LEVEL_UP_MOVE(27, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(34, MOVE_ROLLOUT), + LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(48, MOVE_SWIFT), + LEVEL_UP_MOVE(54, MOVE_EXPLOSION), + LEVEL_UP_MOVE(59, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +static const u16 sExeggcuteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BARRAGE), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 7, MOVE_REFLECT), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(19, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(31, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(37, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(43, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sExeggutorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BARRAGE), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE(31, MOVE_EGG_BOMB), + LEVEL_UP_END +}; + +static const u16 sCuboneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), + LEVEL_UP_MOVE(13, MOVE_HEADBUTT), + LEVEL_UP_MOVE(17, MOVE_LEER), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_BONEMERANG), + LEVEL_UP_MOVE(29, MOVE_RAGE), + LEVEL_UP_MOVE(33, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(37, MOVE_THRASH), + LEVEL_UP_MOVE(41, MOVE_BONE_RUSH), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sMarowakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), + LEVEL_UP_MOVE(13, MOVE_HEADBUTT), + LEVEL_UP_MOVE(17, MOVE_LEER), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_BONEMERANG), + LEVEL_UP_MOVE(32, MOVE_RAGE), + LEVEL_UP_MOVE(39, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(46, MOVE_THRASH), + LEVEL_UP_MOVE(53, MOVE_BONE_RUSH), + LEVEL_UP_MOVE(61, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sHitmonleeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 6, MOVE_MEDITATE), + LEVEL_UP_MOVE(11, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE(16, MOVE_JUMP_KICK), + LEVEL_UP_MOVE(20, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(26, MOVE_HI_JUMP_KICK), + LEVEL_UP_MOVE(31, MOVE_MIND_READER), + LEVEL_UP_MOVE(36, MOVE_FORESIGHT), + LEVEL_UP_MOVE(41, MOVE_ENDURE), + LEVEL_UP_MOVE(46, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(51, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const u16 sHitmonchanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE( 7, MOVE_AGILITY), + LEVEL_UP_MOVE(13, MOVE_PURSUIT), + LEVEL_UP_MOVE(20, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE(26, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(26, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(26, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(32, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(38, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(44, MOVE_DETECT), + LEVEL_UP_MOVE(50, MOVE_COUNTER), + LEVEL_UP_END +}; + +static const u16 sLickitungLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(18, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(23, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_WRAP), + LEVEL_UP_MOVE(34, MOVE_DISABLE), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(51, MOVE_REFRESH), + LEVEL_UP_END +}; + +static const u16 sKoffingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 9, MOVE_SMOG), + LEVEL_UP_MOVE(17, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(21, MOVE_SLUDGE), + LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(33, MOVE_HAZE), + LEVEL_UP_MOVE(41, MOVE_EXPLOSION), + LEVEL_UP_MOVE(45, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(49, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const u16 sWeezingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 9, MOVE_SMOG), + LEVEL_UP_MOVE(17, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(21, MOVE_SLUDGE), + LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(33, MOVE_HAZE), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_MOVE(51, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(58, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const u16 sRhyhornLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_STOMP), + LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(29, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(38, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(57, MOVE_MEGAHORN), + LEVEL_UP_END +}; + +static const u16 sRhydonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(10, MOVE_STOMP), + LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(29, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(38, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(46, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(58, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(66, MOVE_MEGAHORN), + LEVEL_UP_END +}; + +static const u16 sChanseyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_REFRESH), + LEVEL_UP_MOVE(13, MOVE_SOFT_BOILED), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(23, MOVE_MINIMIZE), + LEVEL_UP_MOVE(29, MOVE_SING), + LEVEL_UP_MOVE(35, MOVE_EGG_BOMB), + LEVEL_UP_MOVE(41, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(49, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sTangelaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_INGRAIN), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 4, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(10, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_GROWTH), + LEVEL_UP_MOVE(19, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(22, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(28, MOVE_BIND), + LEVEL_UP_MOVE(31, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(37, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(46, MOVE_TICKLE), + LEVEL_UP_END +}; + +static const u16 sKangaskhanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(25, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(31, MOVE_RAGE), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(43, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const u16 sHorseaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(15, MOVE_LEER), + LEVEL_UP_MOVE(22, MOVE_WATER_GUN), + LEVEL_UP_MOVE(29, MOVE_TWISTER), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_END +}; + +static const u16 sSeadraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(15, MOVE_LEER), + LEVEL_UP_MOVE(22, MOVE_WATER_GUN), + LEVEL_UP_MOVE(29, MOVE_TWISTER), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(62, MOVE_DRAGON_DANCE), + LEVEL_UP_END +}; + +static const u16 sGoldeenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(10, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(29, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(38, MOVE_WATERFALL), + LEVEL_UP_MOVE(43, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(52, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sSeakingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(10, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(29, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(41, MOVE_WATERFALL), + LEVEL_UP_MOVE(49, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(61, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sStaryuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(15, MOVE_RECOVER), + LEVEL_UP_MOVE(19, MOVE_CAMOUFLAGE), + LEVEL_UP_MOVE(24, MOVE_SWIFT), + LEVEL_UP_MOVE(28, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(33, MOVE_MINIMIZE), + LEVEL_UP_MOVE(37, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(42, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sStarmieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE(33, MOVE_CONFUSE_RAY), + LEVEL_UP_END +}; + +static const u16 sMrmimeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BARRIER), + LEVEL_UP_MOVE( 5, MOVE_CONFUSION), + LEVEL_UP_MOVE( 9, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(13, MOVE_MEDITATE), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(21, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(21, MOVE_REFLECT), + LEVEL_UP_MOVE(25, MOVE_ENCORE), + LEVEL_UP_MOVE(29, MOVE_PSYBEAM), + LEVEL_UP_MOVE(33, MOVE_RECYCLE), + LEVEL_UP_MOVE(37, MOVE_TRICK), + LEVEL_UP_MOVE(41, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(45, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_BATON_PASS), + LEVEL_UP_MOVE(53, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +static const u16 sScytherLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(11, MOVE_PURSUIT), + LEVEL_UP_MOVE(16, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(21, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(41, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), + LEVEL_UP_END +}; + +static const u16 sJynxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_LOVELY_KISS), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 9, MOVE_LOVELY_KISS), + LEVEL_UP_MOVE(13, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(21, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(25, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(35, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(41, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(51, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(57, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(67, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const u16 sElectabuzzLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(17, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(25, MOVE_SWIFT), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(47, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(58, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const u16 sMagmarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_SMOG), + LEVEL_UP_MOVE(19, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(33, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(41, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(57, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const u16 sPinsirLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_BIND), + LEVEL_UP_MOVE(13, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(19, MOVE_HARDEN), + LEVEL_UP_MOVE(25, MOVE_REVENGE), + LEVEL_UP_MOVE(31, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(37, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(43, MOVE_SUBMISSION), + LEVEL_UP_MOVE(49, MOVE_SWORDS_DANCE), + LEVEL_UP_END +}; + +static const u16 sTaurosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(26, MOVE_PURSUIT), + LEVEL_UP_MOVE(34, MOVE_REST), + LEVEL_UP_MOVE(43, MOVE_THRASH), + LEVEL_UP_MOVE(53, MOVE_TAKE_DOWN), + LEVEL_UP_END +}; + +static const u16 sMagikarpLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE(15, MOVE_TACKLE), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_END +}; + +static const u16 sGyaradosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(25, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(30, MOVE_LEER), + LEVEL_UP_MOVE(35, MOVE_TWISTER), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(55, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sLaprasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 7, MOVE_MIST), + LEVEL_UP_MOVE(13, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(19, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(25, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(31, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(37, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(55, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const u16 sDittoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRANSFORM), + LEVEL_UP_END +}; + +static const u16 sEeveeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_GROWL), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_BITE), + LEVEL_UP_MOVE(36, MOVE_BATON_PASS), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_END +}; + +static const u16 sVaporeonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_WATER_GUN), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_BITE), + LEVEL_UP_MOVE(36, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(42, MOVE_HAZE), + LEVEL_UP_MOVE(47, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sJolteonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(36, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(42, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_MOVE(52, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const u16 sFlareonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_EMBER), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_BITE), + LEVEL_UP_MOVE(36, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(42, MOVE_SMOG), + LEVEL_UP_MOVE(47, MOVE_LEER), + LEVEL_UP_MOVE(52, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +static const u16 sPorygonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), + LEVEL_UP_MOVE( 9, MOVE_AGILITY), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_RECOVER), + LEVEL_UP_MOVE(24, MOVE_SHARPEN), + LEVEL_UP_MOVE(32, MOVE_LOCK_ON), + LEVEL_UP_MOVE(36, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(44, MOVE_RECYCLE), + LEVEL_UP_MOVE(48, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +static const u16 sOmanyteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_LEER), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(43, MOVE_TICKLE), + LEVEL_UP_MOVE(49, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sOmastarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_LEER), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(40, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE(46, MOVE_TICKLE), + LEVEL_UP_MOVE(55, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(65, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sKabutoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE(13, MOVE_ABSORB), + LEVEL_UP_MOVE(19, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(43, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(49, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(55, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +static const u16 sKabutopsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_ABSORB), + LEVEL_UP_MOVE(19, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(40, MOVE_SLASH), + LEVEL_UP_MOVE(46, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(55, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(65, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +static const u16 sAerodactylLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_AGILITY), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(29, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(50, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sSnorlaxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_AMNESIA), + LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(15, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(19, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_YAWN), + LEVEL_UP_MOVE(28, MOVE_REST), + LEVEL_UP_MOVE(28, MOVE_SNORE), + LEVEL_UP_MOVE(33, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(37, MOVE_BLOCK), + LEVEL_UP_MOVE(42, MOVE_COVET), + LEVEL_UP_MOVE(46, MOVE_ROLLOUT), + LEVEL_UP_MOVE(51, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sArticunoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(13, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_MIND_READER), + LEVEL_UP_MOVE(49, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(61, MOVE_REFLECT), + LEVEL_UP_MOVE(73, MOVE_BLIZZARD), + LEVEL_UP_MOVE(85, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const u16 sZapdosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_DETECT), + LEVEL_UP_MOVE(49, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(61, MOVE_CHARGE), + LEVEL_UP_MOVE(73, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(85, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const u16 sMoltresLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(61, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(73, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(85, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; + +static const u16 sDratiniLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_TWISTER), + LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(29, MOVE_SLAM), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(50, MOVE_OUTRAGE), + LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sDragonairLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_TWISTER), + LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(29, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(56, MOVE_OUTRAGE), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sDragoniteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_TWISTER), + LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(29, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(55, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(61, MOVE_OUTRAGE), + LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sMewtwoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE(11, MOVE_BARRIER), + LEVEL_UP_MOVE(22, MOVE_SWIFT), + LEVEL_UP_MOVE(33, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(55, MOVE_MIST), + LEVEL_UP_MOVE(66, MOVE_PSYCHIC), + LEVEL_UP_MOVE(77, MOVE_AMNESIA), + LEVEL_UP_MOVE(88, MOVE_RECOVER), + LEVEL_UP_MOVE(99, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +static const u16 sMewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE(10, MOVE_TRANSFORM), + LEVEL_UP_MOVE(20, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(30, MOVE_METRONOME), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(50, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +static const u16 sChikoritaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(22, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(29, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(50, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sBayleefLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(23, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(39, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(55, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sMeganiumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(23, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(51, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(61, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sCyndaquilLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(27, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(36, MOVE_SWIFT), + LEVEL_UP_MOVE(46, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +static const u16 sQuilavaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_EMBER), + LEVEL_UP_MOVE(21, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(42, MOVE_SWIFT), + LEVEL_UP_MOVE(54, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +static const u16 sTyphlosionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_EMBER), + LEVEL_UP_MOVE(21, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(45, MOVE_SWIFT), + LEVEL_UP_MOVE(60, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +static const u16 sTotodileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_SCREECH), + LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sCroconawLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sFeraligatrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(38, MOVE_SLASH), + LEVEL_UP_MOVE(47, MOVE_SCREECH), + LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sSentretLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(31, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(40, MOVE_REST), + LEVEL_UP_MOVE(49, MOVE_AMNESIA), + LEVEL_UP_END +}; + +static const u16 sFurretLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(37, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(48, MOVE_REST), + LEVEL_UP_MOVE(59, MOVE_AMNESIA), + LEVEL_UP_END +}; + +static const u16 sHoothootLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), + LEVEL_UP_MOVE(11, MOVE_PECK), + LEVEL_UP_MOVE(16, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(22, MOVE_REFLECT), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(34, MOVE_CONFUSION), + LEVEL_UP_MOVE(48, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const u16 sNoctowlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), + LEVEL_UP_MOVE(11, MOVE_PECK), + LEVEL_UP_MOVE(16, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(25, MOVE_REFLECT), + LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_CONFUSION), + LEVEL_UP_MOVE(57, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const u16 sLedybaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE(22, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(22, MOVE_REFLECT), + LEVEL_UP_MOVE(22, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(29, MOVE_BATON_PASS), + LEVEL_UP_MOVE(36, MOVE_SWIFT), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sLedianLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), + LEVEL_UP_MOVE(24, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(24, MOVE_REFLECT), + LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(33, MOVE_BATON_PASS), + LEVEL_UP_MOVE(42, MOVE_SWIFT), + LEVEL_UP_MOVE(51, MOVE_AGILITY), + LEVEL_UP_MOVE(60, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sSpinarakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(11, MOVE_CONSTRICT), + LEVEL_UP_MOVE(17, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(23, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(37, MOVE_SPIDER_WEB), + LEVEL_UP_MOVE(45, MOVE_AGILITY), + LEVEL_UP_MOVE(53, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sAriadosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(11, MOVE_CONSTRICT), + LEVEL_UP_MOVE(17, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(34, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(43, MOVE_SPIDER_WEB), + LEVEL_UP_MOVE(53, MOVE_AGILITY), + LEVEL_UP_MOVE(63, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sCrobatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(35, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(49, MOVE_POISON_FANG), + LEVEL_UP_MOVE(56, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sChinchouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_FLAIL), + LEVEL_UP_MOVE(17, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_SPARK), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(49, MOVE_CHARGE), + LEVEL_UP_END +}; + +static const u16 sLanturnLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_FLAIL), + LEVEL_UP_MOVE(17, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_SPARK), + LEVEL_UP_MOVE(32, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(61, MOVE_CHARGE), + LEVEL_UP_END +}; + +static const u16 sPichuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), + LEVEL_UP_END +}; + +static const u16 sCleffaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 4, MOVE_ENCORE), + LEVEL_UP_MOVE( 8, MOVE_SING), + LEVEL_UP_MOVE(13, MOVE_SWEET_KISS), + LEVEL_UP_END +}; + +static const u16 sIgglybuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 9, MOVE_POUND), + LEVEL_UP_MOVE(14, MOVE_SWEET_KISS), + LEVEL_UP_END +}; + +static const u16 sTogepiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 6, MOVE_METRONOME), + LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(16, MOVE_YAWN), + LEVEL_UP_MOVE(21, MOVE_ENCORE), + LEVEL_UP_MOVE(26, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(31, MOVE_WISH), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(41, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sTogeticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 6, MOVE_METRONOME), + LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(16, MOVE_YAWN), + LEVEL_UP_MOVE(21, MOVE_ENCORE), + LEVEL_UP_MOVE(26, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(31, MOVE_WISH), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(41, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sNatuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_TELEPORT), + LEVEL_UP_MOVE(30, MOVE_WISH), + LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(40, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(50, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sXatuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_TELEPORT), + LEVEL_UP_MOVE(35, MOVE_WISH), + LEVEL_UP_MOVE(35, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(50, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(65, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sMareepLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(16, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(23, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(30, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(37, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const u16 sFlaaffyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(18, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(27, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(45, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const u16 sAmpharosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(18, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(27, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(30, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(42, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(57, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const u16 sBellossomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(55, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sMarillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_ROLLOUT), + LEVEL_UP_MOVE(21, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(36, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sAzumarillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_ROLLOUT), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(34, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(57, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sSudowoodoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_MIMIC), + LEVEL_UP_MOVE( 9, MOVE_FLAIL), + LEVEL_UP_MOVE(17, MOVE_LOW_KICK), + LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(33, MOVE_BLOCK), + LEVEL_UP_MOVE(41, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(49, MOVE_SLAM), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sPolitoedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(35, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(51, MOVE_SWAGGER), + LEVEL_UP_END +}; + +static const u16 sHoppipLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(25, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(30, MOVE_MEGA_DRAIN), + LEVEL_UP_END +}; + +static const u16 sSkiploomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(22, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(29, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(36, MOVE_MEGA_DRAIN), + LEVEL_UP_END +}; + +static const u16 sJumpluffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(22, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(33, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(44, MOVE_MEGA_DRAIN), + LEVEL_UP_END +}; + +static const u16 sAipomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_ASTONISH), + LEVEL_UP_MOVE(18, MOVE_BATON_PASS), + LEVEL_UP_MOVE(25, MOVE_TICKLE), + LEVEL_UP_MOVE(31, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(38, MOVE_SWIFT), + LEVEL_UP_MOVE(43, MOVE_SCREECH), + LEVEL_UP_MOVE(50, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sSunkernLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(18, MOVE_INGRAIN), + LEVEL_UP_MOVE(25, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(30, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(37, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(42, MOVE_GIGA_DRAIN), + LEVEL_UP_END +}; + +static const u16 sSunfloraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(18, MOVE_INGRAIN), + LEVEL_UP_MOVE(25, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(30, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(37, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(42, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const u16 sYanmaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(19, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(25, MOVE_DETECT), + LEVEL_UP_MOVE(31, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(37, MOVE_UPROAR), + LEVEL_UP_MOVE(43, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(49, MOVE_SCREECH), + LEVEL_UP_END +}; + +static const u16 sWooperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(11, MOVE_SLAM), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(21, MOVE_AMNESIA), + LEVEL_UP_MOVE(31, MOVE_YAWN), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(41, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(51, MOVE_MIST), + LEVEL_UP_MOVE(51, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sQuagsireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(11, MOVE_SLAM), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(23, MOVE_AMNESIA), + LEVEL_UP_MOVE(35, MOVE_YAWN), + LEVEL_UP_MOVE(42, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(49, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(61, MOVE_MIST), + LEVEL_UP_MOVE(61, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sEspeonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_CONFUSION), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_SWIFT), + LEVEL_UP_MOVE(36, MOVE_PSYBEAM), + LEVEL_UP_MOVE(42, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(47, MOVE_PSYCHIC), + LEVEL_UP_MOVE(52, MOVE_MORNING_SUN), + LEVEL_UP_END +}; + +static const u16 sUmbreonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PURSUIT), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(30, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(36, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(47, MOVE_SCREECH), + LEVEL_UP_MOVE(52, MOVE_MOONLIGHT), + LEVEL_UP_END +}; + +static const u16 sMurkrowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(14, MOVE_PURSUIT), + LEVEL_UP_MOVE(22, MOVE_HAZE), + LEVEL_UP_MOVE(27, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(35, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(40, MOVE_TAUNT), + LEVEL_UP_MOVE(48, MOVE_MEAN_LOOK), + LEVEL_UP_END +}; + +static const u16 sSlowkingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(29, MOVE_DISABLE), + LEVEL_UP_MOVE(34, MOVE_HEADBUTT), + LEVEL_UP_MOVE(43, MOVE_SWAGGER), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const u16 sMisdreavusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 6, MOVE_SPITE), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(23, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(30, MOVE_PSYBEAM), + LEVEL_UP_MOVE(37, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(45, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(53, MOVE_GRUDGE), + LEVEL_UP_END +}; + +static const u16 sUnownLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HIDDEN_POWER), + LEVEL_UP_END +}; + +static const u16 sWobbuffetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const u16 sGirafarigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(13, MOVE_CONFUSION), + LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_BATON_PASS), + LEVEL_UP_MOVE(43, MOVE_PSYBEAM), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const u16 sPinecoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(22, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(29, MOVE_BIDE), + LEVEL_UP_MOVE(36, MOVE_EXPLOSION), + LEVEL_UP_MOVE(43, MOVE_SPIKES), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sForretressLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(22, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(29, MOVE_BIDE), + LEVEL_UP_MOVE(39, MOVE_EXPLOSION), + LEVEL_UP_MOVE(49, MOVE_SPIKES), + LEVEL_UP_MOVE(59, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sDunsparceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(11, MOVE_YAWN), + LEVEL_UP_MOVE(14, MOVE_GLARE), + LEVEL_UP_MOVE(21, MOVE_SPITE), + LEVEL_UP_MOVE(24, MOVE_PURSUIT), + LEVEL_UP_MOVE(31, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const u16 sGligarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HARDEN), + LEVEL_UP_MOVE(20, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(28, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(52, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +static const u16 sSteelixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 9, MOVE_BIND), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(21, MOVE_HARDEN), + LEVEL_UP_MOVE(25, MOVE_RAGE), + LEVEL_UP_MOVE(33, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_SLAM), + LEVEL_UP_MOVE(45, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sSnubbullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_CHARM), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_LICK), + LEVEL_UP_MOVE(26, MOVE_ROAR), + LEVEL_UP_MOVE(34, MOVE_RAGE), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(53, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const u16 sGranbullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_CHARM), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_LICK), + LEVEL_UP_MOVE(28, MOVE_ROAR), + LEVEL_UP_MOVE(38, MOVE_RAGE), + LEVEL_UP_MOVE(49, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(61, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const u16 sQwilfishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE(10, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_MINIMIZE), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(28, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sScizorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(11, MOVE_PURSUIT), + LEVEL_UP_MOVE(16, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(21, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(41, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), + LEVEL_UP_END +}; + +static const u16 sShuckleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 9, MOVE_WRAP), + LEVEL_UP_MOVE(14, MOVE_ENCORE), + LEVEL_UP_MOVE(23, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_BIDE), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_END +}; + +static const u16 sHeracrossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(11, MOVE_ENDURE), + LEVEL_UP_MOVE(17, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(23, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(30, MOVE_COUNTER), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_REVERSAL), + LEVEL_UP_MOVE(53, MOVE_MEGAHORN), + LEVEL_UP_END +}; + +static const u16 sSneaselLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_ICY_WIND), + LEVEL_UP_MOVE(50, MOVE_SLASH), + LEVEL_UP_MOVE(57, MOVE_BEAT_UP), + LEVEL_UP_MOVE(64, MOVE_METAL_CLAW), + LEVEL_UP_END +}; + +static const u16 sTeddiursaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(25, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(31, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_SNORE), + LEVEL_UP_MOVE(49, MOVE_THRASH), + LEVEL_UP_END +}; + +static const u16 sUrsaringLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(25, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(31, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_SNORE), + LEVEL_UP_MOVE(49, MOVE_THRASH), + LEVEL_UP_END +}; + +static const u16 sSlugmaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 8, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(22, MOVE_HARDEN), + LEVEL_UP_MOVE(29, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(43, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(50, MOVE_BODY_SLAM), + LEVEL_UP_END +}; + +static const u16 sMagcargoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 8, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(22, MOVE_HARDEN), + LEVEL_UP_MOVE(29, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(48, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(60, MOVE_BODY_SLAM), + LEVEL_UP_END +}; + +static const u16 sSwinubLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(19, MOVE_ENDURE), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_MIST), + LEVEL_UP_MOVE(46, MOVE_BLIZZARD), + LEVEL_UP_MOVE(55, MOVE_AMNESIA), + LEVEL_UP_END +}; + +static const u16 sPiloswineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(19, MOVE_ENDURE), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(42, MOVE_MIST), + LEVEL_UP_MOVE(56, MOVE_BLIZZARD), + LEVEL_UP_MOVE(70, MOVE_AMNESIA), + LEVEL_UP_END +}; + +static const u16 sCorsolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_HARDEN), + LEVEL_UP_MOVE(12, MOVE_BUBBLE), + LEVEL_UP_MOVE(17, MOVE_RECOVER), + LEVEL_UP_MOVE(17, MOVE_REFRESH), + LEVEL_UP_MOVE(23, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(39, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(45, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +static const u16 sRemoraidLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(11, MOVE_LOCK_ON), + LEVEL_UP_MOVE(22, MOVE_PSYBEAM), + LEVEL_UP_MOVE(22, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(22, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(33, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(44, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(55, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sOctilleryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(11, MOVE_CONSTRICT), + LEVEL_UP_MOVE(22, MOVE_PSYBEAM), + LEVEL_UP_MOVE(22, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(22, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(25, MOVE_OCTAZOOKA), + LEVEL_UP_MOVE(38, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(54, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(70, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sDelibirdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PRESENT), + LEVEL_UP_END +}; + +static const u16 sMantineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(22, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(43, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(50, MOVE_CONFUSE_RAY), + LEVEL_UP_END +}; + +static const u16 sSkarmoryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_SWIFT), + LEVEL_UP_MOVE(16, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(29, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(32, MOVE_STEEL_WING), + LEVEL_UP_MOVE(42, MOVE_SPIKES), + LEVEL_UP_MOVE(45, MOVE_METAL_SOUND), + LEVEL_UP_END +}; + +static const u16 sHoundourLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_HOWL), + LEVEL_UP_MOVE(13, MOVE_SMOG), + LEVEL_UP_MOVE(19, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_BITE), + LEVEL_UP_MOVE(31, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(37, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const u16 sHoundoomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 7, MOVE_HOWL), + LEVEL_UP_MOVE(13, MOVE_SMOG), + LEVEL_UP_MOVE(19, MOVE_ROAR), + LEVEL_UP_MOVE(27, MOVE_BITE), + LEVEL_UP_MOVE(35, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(43, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(51, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(59, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const u16 sKingdraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(15, MOVE_LEER), + LEVEL_UP_MOVE(22, MOVE_WATER_GUN), + LEVEL_UP_MOVE(29, MOVE_TWISTER), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(62, MOVE_DRAGON_DANCE), + LEVEL_UP_END +}; + +static const u16 sPhanpyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(17, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_ROLLOUT), + LEVEL_UP_MOVE(41, MOVE_ENDURE), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sDonphanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(17, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(33, MOVE_ROLLOUT), + LEVEL_UP_MOVE(41, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(49, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; + +static const u16 sPorygon2LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), + LEVEL_UP_MOVE( 9, MOVE_AGILITY), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_RECOVER), + LEVEL_UP_MOVE(24, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(32, MOVE_LOCK_ON), + LEVEL_UP_MOVE(36, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(44, MOVE_RECYCLE), + LEVEL_UP_MOVE(48, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +static const u16 sStantlerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_ASTONISH), + LEVEL_UP_MOVE(19, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(43, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(49, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +static const u16 sSmeargleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SKETCH), + LEVEL_UP_MOVE(11, MOVE_SKETCH), + LEVEL_UP_MOVE(21, MOVE_SKETCH), + LEVEL_UP_MOVE(31, MOVE_SKETCH), + LEVEL_UP_MOVE(41, MOVE_SKETCH), + LEVEL_UP_MOVE(51, MOVE_SKETCH), + LEVEL_UP_MOVE(61, MOVE_SKETCH), + LEVEL_UP_MOVE(71, MOVE_SKETCH), + LEVEL_UP_MOVE(81, MOVE_SKETCH), + LEVEL_UP_MOVE(91, MOVE_SKETCH), + LEVEL_UP_END +}; + +static const u16 sTyrogueLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sHitmontopLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_PURSUIT), + LEVEL_UP_MOVE(19, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_TRIPLE_KICK), + LEVEL_UP_MOVE(25, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(31, MOVE_COUNTER), + LEVEL_UP_MOVE(37, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_DETECT), + LEVEL_UP_MOVE(49, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const u16 sSmoochumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(13, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(21, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_SING), + LEVEL_UP_MOVE(33, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(37, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(45, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(57, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const u16 sElekidLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(17, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(25, MOVE_SWIFT), + LEVEL_UP_MOVE(33, MOVE_SCREECH), + LEVEL_UP_MOVE(41, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(49, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const u16 sMagbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_SMOG), + LEVEL_UP_MOVE(19, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(31, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(37, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(43, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(49, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const u16 sMiltankLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(13, MOVE_STOMP), + LEVEL_UP_MOVE(19, MOVE_MILK_DRINK), + LEVEL_UP_MOVE(26, MOVE_BIDE), + LEVEL_UP_MOVE(34, MOVE_ROLLOUT), + LEVEL_UP_MOVE(43, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(53, MOVE_HEAL_BELL), + LEVEL_UP_END +}; + +static const u16 sBlisseyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_REFRESH), + LEVEL_UP_MOVE(10, MOVE_SOFT_BOILED), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(18, MOVE_MINIMIZE), + LEVEL_UP_MOVE(23, MOVE_SING), + LEVEL_UP_MOVE(28, MOVE_EGG_BOMB), + LEVEL_UP_MOVE(33, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sRaikouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(11, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(31, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(41, MOVE_SPARK), + LEVEL_UP_MOVE(51, MOVE_REFLECT), + LEVEL_UP_MOVE(61, MOVE_CRUNCH), + LEVEL_UP_MOVE(71, MOVE_THUNDER), + LEVEL_UP_MOVE(81, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +static const u16 sEnteiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(11, MOVE_EMBER), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(31, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(41, MOVE_STOMP), + LEVEL_UP_MOVE(51, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(61, MOVE_SWAGGER), + LEVEL_UP_MOVE(71, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(81, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +static const u16 sSuicuneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(11, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(21, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(31, MOVE_GUST), + LEVEL_UP_MOVE(41, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(51, MOVE_MIST), + LEVEL_UP_MOVE(61, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(71, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(81, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +static const u16 sLarvitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(29, MOVE_THRASH), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(43, MOVE_CRUNCH), + LEVEL_UP_MOVE(50, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sPupitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(29, MOVE_THRASH), + LEVEL_UP_MOVE(38, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_MOVE(56, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sTyranitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(29, MOVE_THRASH), + LEVEL_UP_MOVE(38, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_MOVE(61, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sLugiaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(22, MOVE_GUST), + LEVEL_UP_MOVE(33, MOVE_RECOVER), + LEVEL_UP_MOVE(44, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(55, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(66, MOVE_SWIFT), + LEVEL_UP_MOVE(77, MOVE_AEROBLAST), + LEVEL_UP_MOVE(88, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(99, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const u16 sHoOhLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(22, MOVE_GUST), + LEVEL_UP_MOVE(33, MOVE_RECOVER), + LEVEL_UP_MOVE(44, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(55, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(66, MOVE_SWIFT), + LEVEL_UP_MOVE(77, MOVE_SACRED_FIRE), + LEVEL_UP_MOVE(88, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(99, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const u16 sCelebiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(10, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(40, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_PERISH_SONG), + LEVEL_UP_END +}; + +static const u16 sSpecies252LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies253LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies254LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies255LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies256LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies257LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies258LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies259LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies260LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies261LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies262LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies263LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies264LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies265LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies266LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies267LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies268LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies269LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies270LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies271LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies272LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies273LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies274LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies275LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sSpecies276LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const u16 sTreeckoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PURSUIT), + LEVEL_UP_MOVE(21, MOVE_SCREECH), + LEVEL_UP_MOVE(26, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_SLAM), + LEVEL_UP_MOVE(41, MOVE_DETECT), + LEVEL_UP_MOVE(46, MOVE_GIGA_DRAIN), + LEVEL_UP_END +}; + +static const u16 sGrovyleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(17, MOVE_PURSUIT), + LEVEL_UP_MOVE(23, MOVE_SCREECH), + LEVEL_UP_MOVE(29, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_SLAM), + LEVEL_UP_MOVE(47, MOVE_DETECT), + LEVEL_UP_MOVE(53, MOVE_FALSE_SWIPE), + LEVEL_UP_END +}; + +static const u16 sSceptileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(17, MOVE_PURSUIT), + LEVEL_UP_MOVE(23, MOVE_SCREECH), + LEVEL_UP_MOVE(29, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_SLAM), + LEVEL_UP_MOVE(51, MOVE_DETECT), + LEVEL_UP_MOVE(59, MOVE_FALSE_SWIPE), + LEVEL_UP_END +}; + +static const u16 sTorchicLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(16, MOVE_PECK), + LEVEL_UP_MOVE(19, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(28, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +static const u16 sCombuskenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_EMBER), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_PECK), + LEVEL_UP_MOVE(21, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(28, MOVE_BULK_UP), + LEVEL_UP_MOVE(32, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(39, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(50, MOVE_SKY_UPPERCUT), + LEVEL_UP_END +}; + +static const u16 sBlazikenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_EMBER), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_PECK), + LEVEL_UP_MOVE(21, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(28, MOVE_BULK_UP), + LEVEL_UP_MOVE(32, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(36, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE(42, MOVE_SLASH), + LEVEL_UP_MOVE(49, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(59, MOVE_SKY_UPPERCUT), + LEVEL_UP_END +}; + +static const u16 sMudkipLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_BIDE), + LEVEL_UP_MOVE(19, MOVE_FORESIGHT), + LEVEL_UP_MOVE(24, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(42, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(46, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const u16 sMarshtompLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_BIDE), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(20, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(42, MOVE_PROTECT), + LEVEL_UP_MOVE(46, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(53, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const u16 sSwampertLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_BIDE), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(20, MOVE_FORESIGHT), + LEVEL_UP_MOVE(25, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(39, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(46, MOVE_PROTECT), + LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const u16 sPoochyenaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_HOWL), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_SWAGGER), + LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_TAUNT), + LEVEL_UP_MOVE(41, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_THIEF), + LEVEL_UP_END +}; + +static const u16 sMightyenaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 5, MOVE_HOWL), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(22, MOVE_ROAR), + LEVEL_UP_MOVE(27, MOVE_SWAGGER), + LEVEL_UP_MOVE(32, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(42, MOVE_TAUNT), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_MOVE(52, MOVE_THIEF), + LEVEL_UP_END +}; + +static const u16 sZigzagoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(21, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(25, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(29, MOVE_COVET), + LEVEL_UP_MOVE(33, MOVE_FLAIL), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_BELLY_DRUM), + LEVEL_UP_END +}; + +static const u16 sLinooneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(23, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(35, MOVE_COVET), + LEVEL_UP_MOVE(41, MOVE_SLASH), + LEVEL_UP_MOVE(47, MOVE_REST), + LEVEL_UP_MOVE(53, MOVE_BELLY_DRUM), + LEVEL_UP_END +}; + +static const u16 sWurmpleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 5, MOVE_POISON_STING), + LEVEL_UP_END +}; + +static const u16 sSilcoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const u16 sBeautiflyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE(10, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_GUST), + LEVEL_UP_MOVE(17, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(20, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(31, MOVE_ATTRACT), + LEVEL_UP_MOVE(34, MOVE_SILVER_WIND), + LEVEL_UP_MOVE(38, MOVE_GIGA_DRAIN), + LEVEL_UP_END +}; + +static const u16 sCascoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const u16 sDustoxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_GUST), + LEVEL_UP_MOVE(17, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(24, MOVE_PSYBEAM), + LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(31, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(34, MOVE_SILVER_WIND), + LEVEL_UP_MOVE(38, MOVE_TOXIC), + LEVEL_UP_END +}; + +static const u16 sLotadLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(21, MOVE_MIST), + LEVEL_UP_MOVE(31, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(43, MOVE_MEGA_DRAIN), + LEVEL_UP_END +}; + +static const u16 sLombreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(25, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(31, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(37, MOVE_THIEF), + LEVEL_UP_MOVE(43, MOVE_UPROAR), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sLudicoloLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), + LEVEL_UP_END +}; + +static const u16 sSeedotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 3, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(21, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(31, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(43, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const u16 sNuzleafLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 3, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(25, MOVE_TORMENT), + LEVEL_UP_MOVE(31, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(37, MOVE_RAZOR_WIND), + LEVEL_UP_MOVE(43, MOVE_SWAGGER), + LEVEL_UP_MOVE(49, MOVE_EXTRASENSORY), + LEVEL_UP_END +}; + +static const u16 sShiftryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), + LEVEL_UP_END +}; + +static const u16 sNincadaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_MIND_READER), + LEVEL_UP_MOVE(25, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(31, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(38, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(45, MOVE_DIG), + LEVEL_UP_END +}; + +static const u16 sNinjaskLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_MIND_READER), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(20, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(20, MOVE_SCREECH), + LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_BATON_PASS), + LEVEL_UP_END +}; + +static const u16 sShedinjaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_MIND_READER), + LEVEL_UP_MOVE(25, MOVE_SPITE), + LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(38, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(45, MOVE_GRUDGE), + LEVEL_UP_END +}; + +static const u16 sTaillowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(26, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(34, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sSwellowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(28, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(38, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(49, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sShroomishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(22, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(36, MOVE_GROWTH), + LEVEL_UP_MOVE(45, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(54, MOVE_SPORE), + LEVEL_UP_END +}; + +static const u16 sBreloomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(22, MOVE_HEADBUTT), + LEVEL_UP_MOVE(23, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE(28, MOVE_COUNTER), + LEVEL_UP_MOVE(36, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(45, MOVE_MIND_READER), + LEVEL_UP_MOVE(54, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +static const u16 sSpindaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_UPROAR), + LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(27, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE(34, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE(38, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(49, MOVE_FLAIL), + LEVEL_UP_MOVE(56, MOVE_THRASH), + LEVEL_UP_END +}; + +static const u16 sWingullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(21, MOVE_MIST), + LEVEL_UP_MOVE(31, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(43, MOVE_PURSUIT), + LEVEL_UP_MOVE(55, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sPelipperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 3, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(21, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_STOCKPILE), + LEVEL_UP_MOVE(33, MOVE_SWALLOW), + LEVEL_UP_MOVE(47, MOVE_SPIT_UP), + LEVEL_UP_MOVE(61, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sSurskitLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(19, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_MIST), + LEVEL_UP_MOVE(37, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sMasquerainLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(19, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(26, MOVE_GUST), + LEVEL_UP_MOVE(33, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(40, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(47, MOVE_SILVER_WIND), + LEVEL_UP_MOVE(53, MOVE_WHIRLWIND), + LEVEL_UP_END +}; + +static const u16 sWailmerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(14, MOVE_ROLLOUT), + LEVEL_UP_MOVE(19, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(23, MOVE_ASTONISH), + LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(32, MOVE_MIST), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_WATER_SPOUT), + LEVEL_UP_MOVE(46, MOVE_AMNESIA), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sWailordLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(14, MOVE_ROLLOUT), + LEVEL_UP_MOVE(19, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(23, MOVE_ASTONISH), + LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(32, MOVE_MIST), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(44, MOVE_WATER_SPOUT), + LEVEL_UP_MOVE(52, MOVE_AMNESIA), + LEVEL_UP_MOVE(59, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sSkittyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_ATTRACT), + LEVEL_UP_MOVE(13, MOVE_SING), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(19, MOVE_ASSIST), + LEVEL_UP_MOVE(25, MOVE_CHARM), + LEVEL_UP_MOVE(27, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(31, MOVE_COVET), + LEVEL_UP_MOVE(37, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(39, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sDelcattyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ATTRACT), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), + LEVEL_UP_END +}; + +static const u16 sKecleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THIEF), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_BIND), + LEVEL_UP_MOVE( 7, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(40, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(49, MOVE_ANCIENT_POWER), + LEVEL_UP_END +}; + +static const u16 sBaltoyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 3, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(11, MOVE_PSYBEAM), + LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(19, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(31, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(45, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const u16 sClaydolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 3, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(11, MOVE_PSYBEAM), + LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(19, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(31, MOVE_SANDSTORM), + LEVEL_UP_MOVE(36, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(42, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(55, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const u16 sNosepassLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_BLOCK), + LEVEL_UP_MOVE(22, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(31, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(46, MOVE_LOCK_ON), + LEVEL_UP_END +}; + +static const u16 sTorkoalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 4, MOVE_SMOG), + LEVEL_UP_MOVE( 7, MOVE_CURSE), + LEVEL_UP_MOVE(14, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(17, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(20, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(27, MOVE_PROTECT), + LEVEL_UP_MOVE(30, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(33, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(40, MOVE_AMNESIA), + LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_MOVE(46, MOVE_HEAT_WAVE), + LEVEL_UP_END +}; + +static const u16 sSableyeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 5, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 9, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_ASTONISH), + LEVEL_UP_MOVE(17, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(21, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(25, MOVE_DETECT), + LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(33, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(37, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(41, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(45, MOVE_MEAN_LOOK), + LEVEL_UP_END +}; + +static const u16 sBarboachLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(11, MOVE_WATER_GUN), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_AMNESIA), + LEVEL_UP_MOVE(26, MOVE_REST), + LEVEL_UP_MOVE(26, MOVE_SNORE), + LEVEL_UP_MOVE(31, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(36, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(41, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const u16 sWhiscashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TICKLE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(11, MOVE_WATER_GUN), + LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(21, MOVE_AMNESIA), + LEVEL_UP_MOVE(26, MOVE_REST), + LEVEL_UP_MOVE(26, MOVE_SNORE), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(46, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(56, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const u16 sLuvdiscLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_CHARM), + LEVEL_UP_MOVE(12, MOVE_WATER_GUN), + LEVEL_UP_MOVE(16, MOVE_AGILITY), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_ATTRACT), + LEVEL_UP_MOVE(36, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(40, MOVE_FLAIL), + LEVEL_UP_MOVE(48, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +static const u16 sCorphishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(23, MOVE_PROTECT), + LEVEL_UP_MOVE(26, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(32, MOVE_TAUNT), + LEVEL_UP_MOVE(35, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(38, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(44, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +static const u16 sCrawdauntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(23, MOVE_PROTECT), + LEVEL_UP_MOVE(26, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(34, MOVE_TAUNT), + LEVEL_UP_MOVE(39, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(44, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(52, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +static const u16 sFeebasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE(15, MOVE_TACKLE), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_END +}; + +static const u16 sMiloticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 5, MOVE_WRAP), + LEVEL_UP_MOVE(10, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(15, MOVE_REFRESH), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(25, MOVE_TWISTER), + LEVEL_UP_MOVE(30, MOVE_RECOVER), + LEVEL_UP_MOVE(35, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(45, MOVE_ATTRACT), + LEVEL_UP_MOVE(50, MOVE_SAFEGUARD), + LEVEL_UP_END +}; + +static const u16 sCarvanhaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(22, MOVE_CRUNCH), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_SWAGGER), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sSharpedoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(22, MOVE_CRUNCH), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(33, MOVE_SLASH), + LEVEL_UP_MOVE(38, MOVE_TAUNT), + LEVEL_UP_MOVE(43, MOVE_SWAGGER), + LEVEL_UP_MOVE(48, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(53, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sTrapinchLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_DIG), + LEVEL_UP_MOVE(49, MOVE_SANDSTORM), + LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sVibravaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(41, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_SANDSTORM), + LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sFlygonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(41, MOVE_SCREECH), + LEVEL_UP_MOVE(53, MOVE_SANDSTORM), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sMakuhitaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_ARM_THRUST), + LEVEL_UP_MOVE(13, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(22, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(28, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(31, MOVE_SMELLING_SALT), + LEVEL_UP_MOVE(37, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(40, MOVE_ENDURE), + LEVEL_UP_MOVE(46, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const u16 sHariyamaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_ARM_THRUST), + LEVEL_UP_MOVE(13, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(22, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(29, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(33, MOVE_SMELLING_SALT), + LEVEL_UP_MOVE(40, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(44, MOVE_ENDURE), + LEVEL_UP_MOVE(51, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(55, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const u16 sElectrikeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_HOWL), + LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(28, MOVE_ROAR), + LEVEL_UP_MOVE(33, MOVE_BITE), + LEVEL_UP_MOVE(36, MOVE_THUNDER), + LEVEL_UP_MOVE(41, MOVE_CHARGE), + LEVEL_UP_END +}; + +static const u16 sManectricLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_HOWL), + LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(31, MOVE_ROAR), + LEVEL_UP_MOVE(39, MOVE_BITE), + LEVEL_UP_MOVE(45, MOVE_THUNDER), + LEVEL_UP_MOVE(53, MOVE_CHARGE), + LEVEL_UP_END +}; + +static const u16 sNumelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(11, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(25, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_AMNESIA), + LEVEL_UP_MOVE(35, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(41, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sCameruptLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(11, MOVE_EMBER), + LEVEL_UP_MOVE(19, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(25, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_AMNESIA), + LEVEL_UP_MOVE(33, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(37, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_ERUPTION), + LEVEL_UP_MOVE(55, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const u16 sSphealLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_ICE_BALL), + LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(31, MOVE_HAIL), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SNORE), + LEVEL_UP_MOVE(43, MOVE_BLIZZARD), + LEVEL_UP_MOVE(49, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const u16 sSealeoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_ICE_BALL), + LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(31, MOVE_HAIL), + LEVEL_UP_MOVE(39, MOVE_REST), + LEVEL_UP_MOVE(39, MOVE_SNORE), + LEVEL_UP_MOVE(47, MOVE_BLIZZARD), + LEVEL_UP_MOVE(55, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const u16 sWalreinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_ICE_BALL), + LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(31, MOVE_HAIL), + LEVEL_UP_MOVE(39, MOVE_REST), + LEVEL_UP_MOVE(39, MOVE_SNORE), + LEVEL_UP_MOVE(50, MOVE_BLIZZARD), + LEVEL_UP_MOVE(61, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const u16 sCacneaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(17, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(21, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(25, MOVE_INGRAIN), + LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(33, MOVE_SPIKES), + LEVEL_UP_MOVE(37, MOVE_NEEDLE_ARM), + LEVEL_UP_MOVE(41, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(45, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +static const u16 sCacturneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(17, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(21, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(25, MOVE_INGRAIN), + LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(35, MOVE_SPIKES), + LEVEL_UP_MOVE(41, MOVE_NEEDLE_ARM), + LEVEL_UP_MOVE(47, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(53, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +static const u16 sSnoruntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_ICY_WIND), + LEVEL_UP_MOVE(19, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(37, MOVE_HAIL), + LEVEL_UP_MOVE(43, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const u16 sGlalieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_ICY_WIND), + LEVEL_UP_MOVE(19, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(42, MOVE_HAIL), + LEVEL_UP_MOVE(53, MOVE_BLIZZARD), + LEVEL_UP_MOVE(61, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const u16 sLunatoneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(19, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(25, MOVE_PSYWAVE), + LEVEL_UP_MOVE(31, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(37, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(49, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const u16 sSolrockLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(19, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(25, MOVE_PSYWAVE), + LEVEL_UP_MOVE(31, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(37, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(43, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(49, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const u16 sAzurillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 3, MOVE_CHARM), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_BUBBLE), + LEVEL_UP_MOVE(15, MOVE_SLAM), + LEVEL_UP_MOVE(21, MOVE_WATER_GUN), + LEVEL_UP_END +}; + +static const u16 sSpoinkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), + LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(25, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(28, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(34, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SNORE), + LEVEL_UP_MOVE(43, MOVE_BOUNCE), + LEVEL_UP_END +}; + +static const u16 sGrumpigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), + LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(25, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(28, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(37, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_REST), + LEVEL_UP_MOVE(43, MOVE_SNORE), + LEVEL_UP_MOVE(55, MOVE_BOUNCE), + LEVEL_UP_END +}; + +static const u16 sPlusleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(19, MOVE_SPARK), + LEVEL_UP_MOVE(22, MOVE_ENCORE), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(31, MOVE_CHARGE), + LEVEL_UP_MOVE(37, MOVE_THUNDER), + LEVEL_UP_MOVE(40, MOVE_BATON_PASS), + LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sMinunLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(19, MOVE_SPARK), + LEVEL_UP_MOVE(22, MOVE_ENCORE), + LEVEL_UP_MOVE(28, MOVE_CHARM), + LEVEL_UP_MOVE(31, MOVE_CHARGE), + LEVEL_UP_MOVE(37, MOVE_THUNDER), + LEVEL_UP_MOVE(40, MOVE_BATON_PASS), + LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_END +}; + +static const u16 sMawileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(21, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(26, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(31, MOVE_BATON_PASS), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(46, MOVE_STOCKPILE), + LEVEL_UP_MOVE(46, MOVE_SWALLOW), + LEVEL_UP_MOVE(46, MOVE_SPIT_UP), + LEVEL_UP_END +}; + +static const u16 sMedititeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 4, MOVE_MEDITATE), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(18, MOVE_HIDDEN_POWER), + LEVEL_UP_MOVE(22, MOVE_MIND_READER), + LEVEL_UP_MOVE(28, MOVE_CALM_MIND), + LEVEL_UP_MOVE(32, MOVE_HI_JUMP_KICK), + LEVEL_UP_MOVE(38, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(42, MOVE_REVERSAL), + LEVEL_UP_MOVE(48, MOVE_RECOVER), + LEVEL_UP_END +}; + +static const u16 sMedichamLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 1, MOVE_MEDITATE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DETECT), + LEVEL_UP_MOVE( 4, MOVE_MEDITATE), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(18, MOVE_HIDDEN_POWER), + LEVEL_UP_MOVE(22, MOVE_MIND_READER), + LEVEL_UP_MOVE(28, MOVE_CALM_MIND), + LEVEL_UP_MOVE(32, MOVE_HI_JUMP_KICK), + LEVEL_UP_MOVE(40, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(46, MOVE_REVERSAL), + LEVEL_UP_MOVE(54, MOVE_RECOVER), + LEVEL_UP_END +}; + +static const u16 sSwabluLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_SING), + LEVEL_UP_MOVE(18, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_MIST), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(41, MOVE_REFRESH), + LEVEL_UP_MOVE(48, MOVE_PERISH_SONG), + LEVEL_UP_END +}; + +static const u16 sAltariaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 8, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_SING), + LEVEL_UP_MOVE(18, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_MIST), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(40, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(45, MOVE_REFRESH), + LEVEL_UP_MOVE(54, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(59, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; + +static const u16 sWynautLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE(15, MOVE_COUNTER), + LEVEL_UP_MOVE(15, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const u16 sDuskullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 5, MOVE_DISABLE), + LEVEL_UP_MOVE(12, MOVE_FORESIGHT), + LEVEL_UP_MOVE(16, MOVE_ASTONISH), + LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(27, MOVE_PURSUIT), + LEVEL_UP_MOVE(34, MOVE_CURSE), + LEVEL_UP_MOVE(38, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(45, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(49, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const u16 sDusclopsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 5, MOVE_DISABLE), + LEVEL_UP_MOVE(12, MOVE_FORESIGHT), + LEVEL_UP_MOVE(16, MOVE_ASTONISH), + LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(27, MOVE_PURSUIT), + LEVEL_UP_MOVE(34, MOVE_CURSE), + LEVEL_UP_MOVE(37, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(41, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(51, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(58, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const u16 sRoseliaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 5, MOVE_GROWTH), + LEVEL_UP_MOVE( 9, MOVE_POISON_STING), + LEVEL_UP_MOVE(13, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(21, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(25, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(29, MOVE_GRASS_WHISTLE), + LEVEL_UP_MOVE(33, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(41, MOVE_INGRAIN), + LEVEL_UP_MOVE(45, MOVE_TOXIC), + LEVEL_UP_MOVE(49, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(53, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(57, MOVE_SYNTHESIS), + LEVEL_UP_END +}; + +static const u16 sSlakothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_AMNESIA), + LEVEL_UP_MOVE(31, MOVE_COVET), + LEVEL_UP_MOVE(37, MOVE_COUNTER), + LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_END +}; + +static const u16 sVigorothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_UPROAR), + LEVEL_UP_MOVE(19, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(25, MOVE_ENDURE), + LEVEL_UP_MOVE(31, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_COUNTER), + LEVEL_UP_MOVE(43, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const u16 sSlakingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), + LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_AMNESIA), + LEVEL_UP_MOVE(31, MOVE_COVET), + LEVEL_UP_MOVE(36, MOVE_SWAGGER), + LEVEL_UP_MOVE(37, MOVE_COUNTER), + LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_END +}; + +static const u16 sGulpinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 6, MOVE_YAWN), + LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), + LEVEL_UP_MOVE(14, MOVE_SLUDGE), + LEVEL_UP_MOVE(17, MOVE_AMNESIA), + LEVEL_UP_MOVE(23, MOVE_ENCORE), + LEVEL_UP_MOVE(28, MOVE_TOXIC), + LEVEL_UP_MOVE(34, MOVE_STOCKPILE), + LEVEL_UP_MOVE(34, MOVE_SPIT_UP), + LEVEL_UP_MOVE(34, MOVE_SWALLOW), + LEVEL_UP_MOVE(39, MOVE_SLUDGE_BOMB), + LEVEL_UP_END +}; + +static const u16 sSwalotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE), + LEVEL_UP_MOVE( 6, MOVE_YAWN), + LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), + LEVEL_UP_MOVE(14, MOVE_SLUDGE), + LEVEL_UP_MOVE(17, MOVE_AMNESIA), + LEVEL_UP_MOVE(23, MOVE_ENCORE), + LEVEL_UP_MOVE(26, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(31, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_STOCKPILE), + LEVEL_UP_MOVE(40, MOVE_SPIT_UP), + LEVEL_UP_MOVE(40, MOVE_SWALLOW), + LEVEL_UP_MOVE(48, MOVE_SLUDGE_BOMB), + LEVEL_UP_END +}; + +static const u16 sTropiusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(11, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(17, MOVE_STOMP), + LEVEL_UP_MOVE(21, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(31, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(37, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(41, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(47, MOVE_SYNTHESIS), + LEVEL_UP_END +}; + +static const u16 sWhismurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 5, MOVE_UPROAR), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(15, MOVE_HOWL), + LEVEL_UP_MOVE(21, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(31, MOVE_SCREECH), + LEVEL_UP_MOVE(35, MOVE_ROAR), + LEVEL_UP_MOVE(41, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(45, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const u16 sLoudredLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 5, MOVE_UPROAR), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(15, MOVE_HOWL), + LEVEL_UP_MOVE(23, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(29, MOVE_STOMP), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(43, MOVE_ROAR), + LEVEL_UP_MOVE(51, MOVE_REST), + LEVEL_UP_MOVE(51, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(57, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const u16 sExploudLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 5, MOVE_UPROAR), + LEVEL_UP_MOVE(11, MOVE_ASTONISH), + LEVEL_UP_MOVE(15, MOVE_HOWL), + LEVEL_UP_MOVE(23, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(29, MOVE_STOMP), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(45, MOVE_ROAR), + LEVEL_UP_MOVE(55, MOVE_REST), + LEVEL_UP_MOVE(55, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(63, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const u16 sClamperlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CLAMP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_END +}; + +static const u16 sHuntailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(43, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sGorebyssLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 8, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_AGILITY), + LEVEL_UP_MOVE(22, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(29, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sAbsolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE( 9, MOVE_TAUNT), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_RAZOR_WIND), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(26, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(31, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(41, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(46, MOVE_PERISH_SONG), + LEVEL_UP_END +}; + +static const u16 sShuppetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 8, MOVE_SCREECH), + LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SPITE), + LEVEL_UP_MOVE(32, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(37, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(44, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(49, MOVE_SNATCH), + LEVEL_UP_MOVE(56, MOVE_GRUDGE), + LEVEL_UP_END +}; + +static const u16 sBanetteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 8, MOVE_SCREECH), + LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SPITE), + LEVEL_UP_MOVE(32, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(39, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(55, MOVE_SNATCH), + LEVEL_UP_MOVE(64, MOVE_GRUDGE), + LEVEL_UP_END +}; + +static const u16 sSeviperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(19, MOVE_SCREECH), + LEVEL_UP_MOVE(25, MOVE_GLARE), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_POISON_FANG), + LEVEL_UP_MOVE(37, MOVE_SWAGGER), + LEVEL_UP_MOVE(43, MOVE_HAZE), + LEVEL_UP_END +}; + +static const u16 sZangooseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(13, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(19, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_PURSUIT), + LEVEL_UP_MOVE(31, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(37, MOVE_TAUNT), + LEVEL_UP_MOVE(46, MOVE_DETECT), + LEVEL_UP_MOVE(55, MOVE_FALSE_SWIPE), + LEVEL_UP_END +}; + +static const u16 sRelicanthLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(22, MOVE_YAWN), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(36, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(43, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(50, MOVE_REST), + LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(64, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const u16 sAronLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(34, MOVE_PROTECT), + LEVEL_UP_MOVE(39, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sLaironLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(45, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(53, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sAggronLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(21, MOVE_ROAR), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(50, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(63, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sCastformLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(20, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(20, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(20, MOVE_HAIL), + LEVEL_UP_MOVE(30, MOVE_WEATHER_BALL), + LEVEL_UP_END +}; + +static const u16 sVolbeatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 9, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(13, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(21, MOVE_TAIL_GLOW), + LEVEL_UP_MOVE(25, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE(29, MOVE_PROTECT), + LEVEL_UP_MOVE(33, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sIllumiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(13, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(21, MOVE_WISH), + LEVEL_UP_MOVE(25, MOVE_ENCORE), + LEVEL_UP_MOVE(29, MOVE_FLATTER), + LEVEL_UP_MOVE(33, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(37, MOVE_COVET), + LEVEL_UP_END +}; + +static const u16 sLileepLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), + LEVEL_UP_MOVE(15, MOVE_ACID), + LEVEL_UP_MOVE(22, MOVE_INGRAIN), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(43, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(50, MOVE_STOCKPILE), + LEVEL_UP_MOVE(50, MOVE_SPIT_UP), + LEVEL_UP_MOVE(50, MOVE_SWALLOW), + LEVEL_UP_END +}; + +static const u16 sCradilyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_INGRAIN), + LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), + LEVEL_UP_MOVE(15, MOVE_ACID), + LEVEL_UP_MOVE(22, MOVE_INGRAIN), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(48, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(60, MOVE_STOCKPILE), + LEVEL_UP_MOVE(60, MOVE_SPIT_UP), + LEVEL_UP_MOVE(60, MOVE_SWALLOW), + LEVEL_UP_END +}; + +static const u16 sAnorithLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(43, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(49, MOVE_SLASH), + LEVEL_UP_MOVE(55, MOVE_ROCK_BLAST), + LEVEL_UP_END +}; + +static const u16 sArmaldoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(19, MOVE_WATER_GUN), + LEVEL_UP_MOVE(25, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(55, MOVE_SLASH), + LEVEL_UP_MOVE(64, MOVE_ROCK_BLAST), + LEVEL_UP_END +}; + +static const u16 sRaltsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(16, MOVE_TELEPORT), + LEVEL_UP_MOVE(21, MOVE_CALM_MIND), + LEVEL_UP_MOVE(26, MOVE_PSYCHIC), + LEVEL_UP_MOVE(31, MOVE_IMPRISON), + LEVEL_UP_MOVE(36, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(41, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(46, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const u16 sKirliaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(16, MOVE_TELEPORT), + LEVEL_UP_MOVE(21, MOVE_CALM_MIND), + LEVEL_UP_MOVE(26, MOVE_PSYCHIC), + LEVEL_UP_MOVE(33, MOVE_IMPRISON), + LEVEL_UP_MOVE(40, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(47, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(54, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const u16 sGardevoirLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(16, MOVE_TELEPORT), + LEVEL_UP_MOVE(21, MOVE_CALM_MIND), + LEVEL_UP_MOVE(26, MOVE_PSYCHIC), + LEVEL_UP_MOVE(33, MOVE_IMPRISON), + LEVEL_UP_MOVE(42, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(51, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(60, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const u16 sBagonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(17, MOVE_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_EMBER), + LEVEL_UP_MOVE(33, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(37, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(41, MOVE_CRUNCH), + LEVEL_UP_MOVE(49, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(53, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sShelgonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(17, MOVE_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_EMBER), + LEVEL_UP_MOVE(30, MOVE_PROTECT), + LEVEL_UP_MOVE(38, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(47, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(56, MOVE_CRUNCH), + LEVEL_UP_MOVE(69, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(78, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sSalamenceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(17, MOVE_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_EMBER), + LEVEL_UP_MOVE(30, MOVE_PROTECT), + LEVEL_UP_MOVE(38, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(47, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(50, MOVE_FLY), + LEVEL_UP_MOVE(61, MOVE_CRUNCH), + LEVEL_UP_MOVE(79, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(93, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const u16 sBeldumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_END +}; + +static const u16 sMetangLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(26, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_PURSUIT), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(44, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(50, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(56, MOVE_AGILITY), + LEVEL_UP_MOVE(62, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sMetagrossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(26, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_PURSUIT), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(44, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(55, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(66, MOVE_AGILITY), + LEVEL_UP_MOVE(77, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sRegirockLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(57, MOVE_LOCK_ON), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sRegiceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 9, MOVE_ICY_WIND), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(41, MOVE_AMNESIA), + LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(57, MOVE_LOCK_ON), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sRegisteelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 9, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(41, MOVE_AMNESIA), + LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(57, MOVE_LOCK_ON), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sKyogreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(30, MOVE_CALM_MIND), + LEVEL_UP_MOVE(35, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_REST), + LEVEL_UP_MOVE(60, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(65, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(75, MOVE_WATER_SPOUT), + LEVEL_UP_END +}; + +static const u16 sGroudonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_BULK_UP), + LEVEL_UP_MOVE(35, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(50, MOVE_REST), + LEVEL_UP_MOVE(60, MOVE_FISSURE), + LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(75, MOVE_ERUPTION), + LEVEL_UP_END +}; + +static const u16 sRayquazaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(30, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(35, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_FLY), + LEVEL_UP_MOVE(50, MOVE_REST), + LEVEL_UP_MOVE(60, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE(65, MOVE_OUTRAGE), + LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const u16 sLatiasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 5, MOVE_WISH), + LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(25, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(30, MOVE_REFRESH), + LEVEL_UP_MOVE(35, MOVE_MIST_BALL), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_RECOVER), + LEVEL_UP_MOVE(50, MOVE_CHARM), + LEVEL_UP_END +}; + +static const u16 sLatiosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 5, MOVE_MEMENTO), + LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(30, MOVE_REFRESH), + LEVEL_UP_MOVE(35, MOVE_LUSTER_PURGE), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_RECOVER), + LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_END +}; + +static const u16 sJirachiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WISH), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 5, MOVE_REST), + LEVEL_UP_MOVE(10, MOVE_SWIFT), + LEVEL_UP_MOVE(15, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(20, MOVE_PSYCHIC), + LEVEL_UP_MOVE(25, MOVE_REFRESH), + LEVEL_UP_MOVE(30, MOVE_REST), + LEVEL_UP_MOVE(35, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(40, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(45, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(50, MOVE_DOOM_DESIRE), + LEVEL_UP_END +}; + +static const u16 sDeoxysLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 5, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(15, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(20, MOVE_PURSUIT), + LEVEL_UP_MOVE(25, MOVE_PSYCHIC), + LEVEL_UP_MOVE(30, MOVE_SWIFT), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_RECOVER), + LEVEL_UP_MOVE(45, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(50, MOVE_EXTREME_SPEED), + LEVEL_UP_END +}; + +static const u16 sChimechoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(14, MOVE_CONFUSION), + LEVEL_UP_MOVE(17, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(22, MOVE_UPROAR), + LEVEL_UP_MOVE(25, MOVE_YAWN), + LEVEL_UP_MOVE(30, MOVE_PSYWAVE), + LEVEL_UP_MOVE(33, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(38, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(41, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(46, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +#endif //POKEEMERALD_LEVEL_UP_LEARNSETS_H diff --git a/src/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h new file mode 100644 index 000000000..f14478863 --- /dev/null +++ b/src/data/pokemon/tmhm_learnsets.h @@ -0,0 +1,9393 @@ +#ifndef GUARD_TMHM_LEARNSETS_H +#define GUARD_TMHM_LEARNSETS_H + +#define TMHM_LEARNSET(moves) {(u32)(moves), ((u64)(moves) >> 32)} +#define TMHM(tmhm) ((u64)1 << (ITEM_##tmhm - ITEM_TM01_FOCUS_PUNCH)) + +// This table determines which TMs and HMs a species is capable of learning. +// Each entry is a 64-bit bit array spread across two 32-bit values, with +// each bit corresponding to a . +const u32 gTMHMLearnsets[][2] = +{ + [SPECIES_NONE] = TMHM_LEARNSET(0), + + [SPECIES_BULBASAUR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_IVYSAUR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_VENUSAUR] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHARMANDER] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHARMELEON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHARIZARD] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SQUIRTLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_WARTORTLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_BLASTOISE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CATERPIE] = TMHM_LEARNSET(0), + + [SPECIES_METAPOD] = TMHM_LEARNSET(0), + + [SPECIES_BUTTERFREE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_WEEDLE] = TMHM_LEARNSET(0), + + [SPECIES_KAKUNA] = TMHM_LEARNSET(0), + + [SPECIES_BEEDRILL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PIDGEY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_PIDGEOTTO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_PIDGEOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_RATTATA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RATICATE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SPEAROW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_FEAROW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_EKANS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH)), + + [SPECIES_ARBOK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH)), + + [SPECIES_PIKACHU] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RAICHU] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SANDSHREW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SANDSLASH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDORAN_F] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDORINA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDOQUEEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDORAN_M] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDORINO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NIDOKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CLEFAIRY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_CLEFABLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_VULPIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT)), + + [SPECIES_NINETALES] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT)), + + [SPECIES_JIGGLYPUFF] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_WIGGLYTUFF] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_ZUBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM49_SNATCH)), + + [SPECIES_GOLBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM49_SNATCH)), + + [SPECIES_ODDISH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_GLOOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_VILEPLUME] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_PARAS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PARASECT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_VENONAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_VENOMOTH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_DIGLETT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DUGTRIO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEOWTH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_PERSIAN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_PSYDUCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GOLDUCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MANKEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PRIMEAPE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GROWLITHE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ARCANINE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_POLIWAG] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_POLIWHIRL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_POLIWRATH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_ABRA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_KADABRA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_ALAKAZAM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_MACHOP] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MACHOKE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MACHAMP] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BELLSPROUT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_WEEPINBELL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_VICTREEBEL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_TENTACOOL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_TENTACRUEL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GEODUDE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GRAVELER] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GOLEM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PONYTA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH)), + + [SPECIES_RAPIDASH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH)), + + [SPECIES_SLOWPOKE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM08_DIVE)), + + [SPECIES_SLOWBRO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM08_DIVE)), + + [SPECIES_MAGNEMITE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM05_FLASH)), + + [SPECIES_MAGNETON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM05_FLASH)), + + [SPECIES_FARFETCHD] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY)), + + [SPECIES_DODUO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_DODRIO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_SEEL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_DEWGONG] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GRIMER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF)), + + [SPECIES_MUK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHELLDER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM08_DIVE)), + + [SPECIES_CLOYSTER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM08_DIVE)), + + [SPECIES_GASTLY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH)), + + [SPECIES_HAUNTER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH)), + + [SPECIES_GENGAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ONIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DROWZEE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_HYPNO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_KRABBY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM08_DIVE)), + + [SPECIES_KINGLER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM08_DIVE)), + + [SPECIES_VOLTORB] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_ELECTRODE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_EXEGGCUTE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_EXEGGUTOR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_CUBONE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAROWAK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HITMONLEE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HITMONCHAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_LICKITUNG] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KOFFING] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_WEEZING] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_RHYHORN] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RHYDON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHANSEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TANGELA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KANGASKHAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HORSEA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SEADRA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GOLDEEN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SEAKING] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_STARYU] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_STARMIE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MR_MIME] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_SCYTHER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_JYNX] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_ELECTABUZZ] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAGMAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PINSIR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TAUROS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAGIKARP] = TMHM_LEARNSET(0), + + [SPECIES_GYARADOS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LAPRAS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_DITTO] = TMHM_LEARNSET(0), + + [SPECIES_EEVEE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT)), + + [SPECIES_VAPOREON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_JOLTEON] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_FLAREON] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT)), + + [SPECIES_PORYGON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_OMANYTE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_OMASTAR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_KABUTO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL)), + + [SPECIES_KABUTOPS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_AERODACTYL] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SNORLAX] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH)), + + [SPECIES_ARTICUNO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ZAPDOS] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MOLTRES] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(TM50_OVERHEAT) + | TMHM(HM02_FLY) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DRATINI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL)), + + [SPECIES_DRAGONAIR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL)), + + [SPECIES_DRAGONITE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MEWTWO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM08_BULK_UP) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CHIKORITA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_BAYLEEF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEGANIUM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CYNDAQUIL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT)), + + [SPECIES_QUILAVA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TYPHLOSION] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TOTODILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CROCONAW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_FERALIGATR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SENTRET] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF)), + + [SPECIES_FURRET] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HOOTHOOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH)), + + [SPECIES_NOCTOWL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH)), + + [SPECIES_LEDYBA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_LEDIAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_SPINARAK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_ARIADOS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_CROBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM49_SNATCH) + | TMHM(HM02_FLY)), + + [SPECIES_CHINCHOU] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LANTURN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_PICHU] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_CLEFFA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_IGGLYBUFF] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_TOGEPI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TOGETIC] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NATU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_XATU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM02_FLY) + | TMHM(HM05_FLASH)), + + [SPECIES_MAREEP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_FLAAFFY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_AMPHAROS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BELLOSSOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_MARILL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_AZUMARILL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SUDOWOODO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_POLITOED] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_HOPPIP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_SKIPLOOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_JUMPLUFF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_AIPOM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SUNKERN] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_SUNFLORA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_YANMA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM05_FLASH)), + + [SPECIES_WOOPER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_QUAGSIRE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_ESPEON] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_UMBREON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_MURKROW] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(TM49_SNATCH) + | TMHM(HM02_FLY)), + + [SPECIES_SLOWKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM08_DIVE)), + + [SPECIES_MISDREAVUS] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_UNOWN] = TMHM_LEARNSET(0), + + [SPECIES_WOBBUFFET] = TMHM_LEARNSET(0), + + [SPECIES_GIRAFARIG] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PINECO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_FORRETRESS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DUNSPARCE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GLIGAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_STEELIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SNUBBULL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GRANBULL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_QWILFISH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SCIZOR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHUCKLE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HERACROSS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SNEASEL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TEDDIURSA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_URSARING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SLUGMA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAGCARGO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SWINUB] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PILOSWINE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CORSOLA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_REMORAID] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_OCTILLERY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_DELIBIRD] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM02_FLY)), + + [SPECIES_MANTINE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SKARMORY] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HOUNDOUR] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(TM50_OVERHEAT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HOUNDOOM] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KINGDRA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_PHANPY] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_DONPHAN] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PORYGON2] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_STANTLER] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_SMEARGLE] = TMHM_LEARNSET(0), + + [SPECIES_TYROGUE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HITMONTOP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SMOOCHUM] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_ELEKID] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAGBY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MILTANK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BLISSEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RAIKOU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ENTEI] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SUICUNE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LARVITAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_PUPITAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TYRANITAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_LUGIA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_HO_OH] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM47_STEEL_WING) + | TMHM(TM50_OVERHEAT) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CELEBI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_OLD_UNOWN_B] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_C] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_D] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_E] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_F] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_G] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_H] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_I] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_J] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_K] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_L] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_M] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_N] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_O] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_P] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_Q] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_R] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_S] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_T] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_U] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_V] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_W] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_X] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_Y] = TMHM_LEARNSET(0), + + [SPECIES_OLD_UNOWN_Z] = TMHM_LEARNSET(0), + + [SPECIES_TREECKO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GROVYLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SCEPTILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TORCHIC] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_COMBUSKEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BLAZIKEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MUDKIP] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MARSHTOMP] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SWAMPERT] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_POOCHYENA] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MIGHTYENA] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ZIGZAGOON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_LINOONE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_WURMPLE] = TMHM_LEARNSET(0), + + [SPECIES_SILCOON] = TMHM_LEARNSET(0), + + [SPECIES_BEAUTIFLY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_CASCOON] = TMHM_LEARNSET(0), + + [SPECIES_DUSTOX] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_LOTAD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH)), + + [SPECIES_LOMBRE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LUDICOLO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SEEDOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NUZLEAF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHIFTRY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NINCADA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_NINJASK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_SHEDINJA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM46_THIEF) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_TAILLOW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_SWELLOW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_SHROOMISH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_BRELOOM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SPINDA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_WINGULL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_PELIPPER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF)), + + [SPECIES_SURSKIT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_MASQUERAIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_WAILMER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_WAILORD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SKITTY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_DELCATTY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KECLEON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BALTOY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_CLAYDOL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_NOSEPASS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TORKOAL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SABLEYE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BARBOACH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_WHISCASH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LUVDISC] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CORPHISH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL)), + + [SPECIES_CRAWDAUNT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_FEEBAS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_MILOTIC] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CARVANHA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SHARPEDO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_TRAPINCH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_VIBRAVA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_FLYGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MAKUHITA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_HARIYAMA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ELECTRIKE] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_MANECTRIC] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_NUMEL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CAMERUPT] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SPHEAL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_SEALEO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_WALREIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_CACNEA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_CACTURNE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH)), + + [SPECIES_SNORUNT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_GLALIE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_LUNATONE] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_SOLROCK] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM50_OVERHEAT) + | TMHM(HM05_FLASH)), + + [SPECIES_AZURILL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL)), + + [SPECIES_SPOINK] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_GRUMPIG] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_PLUSLE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_MINUN] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM05_FLASH)), + + [SPECIES_MAWILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEDITITE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_MEDICHAM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SWABLU] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY)), + + [SPECIES_ALTARIA] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM47_STEEL_WING) + | TMHM(HM02_FLY) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_WYNAUT] = TMHM_LEARNSET(0), + + [SPECIES_DUSKULL] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_DUSCLOPS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ROSELIA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM05_FLASH)), + + [SPECIES_SLAKOTH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_VIGOROTH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SLAKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_GULPIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SWALOT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_TROPIUS] = TMHM_LEARNSET(TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_WHISMUR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT)), + + [SPECIES_LOUDRED] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_EXPLOUD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM50_OVERHEAT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CLAMPERL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_HUNTAIL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM49_SNATCH) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GOREBYSS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_ABSOL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHUPPET] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_BANETTE] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_SEVIPER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM49_SNATCH) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ZANGOOSE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RELICANTH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM03_SURF) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_ARON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_LAIRON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_AGGRON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CASTFORM] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_VOLBEAT] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_ILLUMISE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(HM05_FLASH)), + + [SPECIES_LILEEP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT)), + + [SPECIES_CRADILY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM09_BULLET_SEED) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM19_GIGA_DRAIN) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ANORITH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_ARMALDO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RALTS] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_KIRLIA] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_GARDEVOIR] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM46_THIEF) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + + [SPECIES_BAGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SHELGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_SALAMENCE] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_BELDUM] = TMHM_LEARNSET(0), + + [SPECIES_METANG] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_METAGROSS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM36_SLUDGE_BOMB) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_REGIROCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_REGICE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_REGISTEEL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_KYOGRE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM07_HAIL) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_GROUDON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM28_DIG) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM50_OVERHEAT) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_RAYQUAZA] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM08_BULK_UP) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM14_BLIZZARD) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM23_IRON_TAIL) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM35_FLAMETHROWER) + | TMHM(TM37_SANDSTORM) + | TMHM(TM38_FIRE_BLAST) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM50_OVERHEAT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM04_STRENGTH) + | TMHM(HM06_ROCK_SMASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LATIAS] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_LATIOS] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM05_ROAR) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM26_EARTHQUAKE) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM47_STEEL_WING) + | TMHM(HM01_CUT) + | TMHM(HM02_FLY) + | TMHM(HM03_SURF) + | TMHM(HM05_FLASH) + | TMHM(HM07_WATERFALL) + | TMHM(HM08_DIVE)), + + [SPECIES_JIRACHI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM37_SANDSTORM) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(HM05_FLASH)), + + [SPECIES_DEOXYS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) + | TMHM(TM03_WATER_PULSE) + | TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM13_ICE_BEAM) + | TMHM(TM15_HYPER_BEAM) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM22_SOLARBEAM) + | TMHM(TM24_THUNDERBOLT) + | TMHM(TM25_THUNDER) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM31_BRICK_BREAK) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM39_ROCK_TOMB) + | TMHM(TM40_AERIAL_ACE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM01_CUT) + | TMHM(HM04_STRENGTH) + | TMHM(HM05_FLASH) + | TMHM(HM06_ROCK_SMASH)), + + [SPECIES_CHIMECHO] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) + | TMHM(TM06_TOXIC) + | TMHM(TM10_HIDDEN_POWER) + | TMHM(TM11_SUNNY_DAY) + | TMHM(TM12_TAUNT) + | TMHM(TM16_LIGHT_SCREEN) + | TMHM(TM17_PROTECT) + | TMHM(TM18_RAIN_DANCE) + | TMHM(TM20_SAFEGUARD) + | TMHM(TM21_FRUSTRATION) + | TMHM(TM27_RETURN) + | TMHM(TM29_PSYCHIC) + | TMHM(TM30_SHADOW_BALL) + | TMHM(TM32_DOUBLE_TEAM) + | TMHM(TM33_REFLECT) + | TMHM(TM34_SHOCK_WAVE) + | TMHM(TM41_TORMENT) + | TMHM(TM42_FACADE) + | TMHM(TM43_SECRET_POWER) + | TMHM(TM44_REST) + | TMHM(TM45_ATTRACT) + | TMHM(TM48_SKILL_SWAP) + | TMHM(TM49_SNATCH) + | TMHM(HM05_FLASH)), + +}; + +#endif // GUARD_TMHM_LEARNSETS_H diff --git a/src/data/pokemon/trainer_class_lookups.h b/src/data/pokemon/trainer_class_lookups.h new file mode 100644 index 000000000..ec4dbf0fb --- /dev/null +++ b/src/data/pokemon/trainer_class_lookups.h @@ -0,0 +1,176 @@ +#ifndef POKEEMERALD_TRAINER_CLASS_LOOKUPS_H +#define POKEEMERALD_TRAINER_CLASS_LOOKUPS_H + +const u8 gFacilityClassToPicIndex[] = +{ + TRAINER_PIC_HIKER, // FACILITY_CLASS_HIKER + TRAINER_PIC_AQUA_GRUNT_M, // FACILITY_CLASS_TEAM_AQUA_1 + TRAINER_PIC_POKEMON_BREEDER_F, // FACILITY_CLASS_PKMN_BREEDER_1 + TRAINER_PIC_COOL_TRAINER_M, // FACILITY_CLASS_COOLTRAINER_M + TRAINER_PIC_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER + TRAINER_PIC_COLLECTOR, // FACILITY_CLASS_COLLECTOR + TRAINER_PIC_AQUA_GRUNT_F, // FACILITY_CLASS_TEAM_AQUA_2 + TRAINER_PIC_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M + TRAINER_PIC_MAGMA_GRUNT_M, // FACILITY_CLASS_TEAM_MAGMA_1 + TRAINER_PIC_EXPERT_M, // FACILITY_CLASS_EXPERT_M + TRAINER_PIC_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT + TRAINER_PIC_AQUA_LEADER_ARCHIE, // FACILITY_CLASS_AQUA_LEADER + TRAINER_PIC_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC + TRAINER_PIC_AROMA_LADY, // FACILITY_CLASS_AROMA_LADY + TRAINER_PIC_RUIN_MANIAC, // FACILITY_CLASS_RUIN_MANIAC + TRAINER_PIC_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER + TRAINER_PIC_TUBER_F, // FACILITY_CLASS_TUBER_1 + TRAINER_PIC_TUBER_M, // FACILITY_CLASS_TUBER_2 + TRAINER_PIC_COOL_TRAINER_F, // FACILITY_CLASS_COOLTRAINER_F + TRAINER_PIC_LADY, // FACILITY_CLASS_LADY + TRAINER_PIC_BEAUTY, // FACILITY_CLASS_BEAUTY + TRAINER_PIC_RICH_BOY, // FACILITY_CLASS_RICH_BOY + TRAINER_PIC_EXPERT_F, // FACILITY_CLASS_EXPERT_2 + TRAINER_PIC_POKEMANIAC, // FACILITY_CLASS_POKEMANIAC + TRAINER_PIC_MAGMA_GRUNT_F, // FACILITY_CLASS_TEAM_MAGMA_2 + TRAINER_PIC_GUITARIST, // FACILITY_CLASS_GUITARIST + TRAINER_PIC_KINDLER, // FACILITY_CLASS_KINDLER + TRAINER_PIC_CAMPER, // FACILITY_CLASS_CAMPER + TRAINER_PIC_PICNICKER, // FACILITY_CLASS_PICNICKER + TRAINER_PIC_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC + TRAINER_PIC_PSYCHIC_M, // FACILITY_CLASS_PSYCHIC_M + TRAINER_PIC_PSYCHIC_F, // FACILITY_CLASS_PSYCHIC_F + TRAINER_PIC_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN + TRAINER_PIC_ELITE_FOUR_SIDNEY, // FACILITY_CLASS_ELITE_FOUR_1 + TRAINER_PIC_ELITE_FOUR_PHOEBE, // FACILITY_CLASS_ELITE_FOUR_2 + TRAINER_PIC_LEADER_ROXANNE, // FACILITY_CLASS_LEADER_1 + TRAINER_PIC_LEADER_BRAWLY, // FACILITY_CLASS_LEADER_2 + TRAINER_PIC_LEADER_TATE_AND_LIZA, // FACILITY_CLASS_LEADER_3 + TRAINER_PIC_SCHOOL_KID_M, // FACILITY_CLASS_SCHOOL_KID_M + TRAINER_PIC_SCHOOL_KID_F, // FACILITY_CLASS_SCHOOL_KID_F + TRAINER_PIC_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR + TRAINER_PIC_WINSTRATE_M, // FACILITY_CLASS_POKEFAN_1 + TRAINER_PIC_WINSTRATE_F, // FACILITY_CLASS_POKEFAN_2 + TRAINER_PIC_YOUNGSTER, // FACILITY_CLASS_YOUNGSTER + TRAINER_PIC_CHAMPION_WALLACE, // FACILITY_CLASS_CHAMPION + TRAINER_PIC_FISHERMAN, // FACILITY_CLASS_FISHERMAN + TRAINER_PIC_CYCLING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_1 + TRAINER_PIC_CYCLING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_2 + TRAINER_PIC_RUNNING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_3 + TRAINER_PIC_RUNNING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_4 + TRAINER_PIC_SWIMMING_TRIATHLETE_M, // FACILITY_CLASS_TRIATHLETE_5 + TRAINER_PIC_SWIMMING_TRIATHLETE_F, // FACILITY_CLASS_TRIATHLETE_6 + TRAINER_PIC_DRAGON_TAMER, // FACILITY_CLASS_DRAGON_TAMER + TRAINER_PIC_NINJA_BOY, // FACILITY_CLASS_NINJA_BOY + TRAINER_PIC_BATTLE_GIRL, // FACILITY_CLASS_BATTLE_GIRL + TRAINER_PIC_PARASOL_LADY, // FACILITY_CLASS_PARASOL_LADY + TRAINER_PIC_SWIMMER_F, // FACILITY_CLASS_SWIMMER_F + TRAINER_PIC_TWINS, // FACILITY_CLASS_TWINS + TRAINER_PIC_SAILOR, // FACILITY_CLASS_SAILOR + TRAINER_PIC_WALLY, // FACILITY_CLASS_PKMN_TRAINER_1 + TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_MAY + TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_3 + TRAINER_PIC_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_4 + TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN + TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_6 + TRAINER_PIC_MAY, // FACILITY_CLASS_PKMN_TRAINER_7 + TRAINER_PIC_POKEMON_BREEDER_M, // FACILITY_CLASS_PKMN_BREEDER_2 + TRAINER_PIC_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER + TRAINER_PIC_POKEMON_RANGER_M, // FACILITY_CLASS_PKMN_RANGER_M + TRAINER_PIC_POKEMON_RANGER_F, // FACILITY_CLASS_PKMN_RANGER_F + TRAINER_PIC_MAGMA_LEADER_MAXIE, // FACILITY_CLASS_MAGMA_LEADER + TRAINER_PIC_LASS, // FACILITY_CLASS_LASS + TRAINER_PIC_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE + TRAINER_PIC_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE + TRAINER_PIC_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO + TRAINER_PIC_STEVEN, // FACILITY_CLASS_PKMN_TRAINER_STEVEN + TRAINER_PIC_SALON_MAIDEN_ANABEL, // FACILITY_CLASS_SALON_MAIDEN + TRAINER_PIC_DOME_ACE_TUCKER, // FACILITY_CLASS_DOME_ACE + TRAINER_PIC_RED, // FACILITY_CLASS_PKMN_TRAINER_RED + TRAINER_PIC_LEAF, // FACILITY_CLASS_PKMN_TRAINER_LEAF + TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN, // FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN + TRAINER_PIC_RUBY_SAPPHIRE_MAY, // FACILITY_CLASS_PKMN_TRAINER_RS_MAY +}; + +const u8 gFacilityClassToTrainerClass[] = +{ + TRAINER_CLASS_HIKER, // FACILITY_CLASS_HIKER + TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_1 + TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_1 + TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_M + TRAINER_CLASS_BIRD_KEEPER, // FACILITY_CLASS_BIRD_KEEPER + TRAINER_CLASS_COLLECTOR, // FACILITY_CLASS_COLLECTOR + TRAINER_CLASS_TEAM_AQUA, // FACILITY_CLASS_TEAM_AQUA_2 + TRAINER_CLASS_SWIMMER_M, // FACILITY_CLASS_SWIMMER_M + TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_1 + TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_M + TRAINER_CLASS_BLACK_BELT, // FACILITY_CLASS_BLACK_BELT + TRAINER_CLASS_AQUA_LEADER, // FACILITY_CLASS_AQUA_LEADER + TRAINER_CLASS_HEX_MANIAC, // FACILITY_CLASS_HEX_MANIAC + TRAINER_CLASS_AROMA_LADY, // FACILITY_CLASS_AROMA_LADY + TRAINER_CLASS_RUIN_MANIAC, // FACILITY_CLASS_RUIN_MANIAC + TRAINER_CLASS_INTERVIEWER, // FACILITY_CLASS_INTERVIEWER + TRAINER_CLASS_TUBER_1, // FACILITY_CLASS_TUBER_1 + TRAINER_CLASS_TUBER_2, // FACILITY_CLASS_TUBER_2 + TRAINER_CLASS_COOLTRAINER_1, // FACILITY_CLASS_COOLTRAINER_F + TRAINER_CLASS_LADY, // FACILITY_CLASS_LADY + TRAINER_CLASS_BEAUTY, // FACILITY_CLASS_BEAUTY + TRAINER_CLASS_RICH_BOY, // FACILITY_CLASS_RICH_BOY + TRAINER_CLASS_EXPERT, // FACILITY_CLASS_EXPERT_2 + TRAINER_CLASS_POKEMANIAC, // FACILITY_CLASS_POKEMANIAC + TRAINER_CLASS_TEAM_MAGMA, // FACILITY_CLASS_TEAM_MAGMA_2 + TRAINER_CLASS_GUITARIST, // FACILITY_CLASS_GUITARIST + TRAINER_CLASS_KINDLER, // FACILITY_CLASS_KINDLER + TRAINER_CLASS_CAMPER, // FACILITY_CLASS_CAMPER + TRAINER_CLASS_PICNICKER, // FACILITY_CLASS_PICNICKER + TRAINER_CLASS_BUG_MANIAC, // FACILITY_CLASS_BUG_MANIAC + TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_M + TRAINER_CLASS_PSYCHIC, // FACILITY_CLASS_PSYCHIC_F + TRAINER_CLASS_GENTLEMAN, // FACILITY_CLASS_GENTLEMAN + TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_1 + TRAINER_CLASS_ELITE_FOUR, // FACILITY_CLASS_ELITE_FOUR_2 + TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_1 + TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_2 + TRAINER_CLASS_LEADER, // FACILITY_CLASS_LEADER_3 + TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_M + TRAINER_CLASS_SCHOOL_KID, // FACILITY_CLASS_SCHOOL_KID_F + TRAINER_CLASS_SR_AND_JR, // FACILITY_CLASS_SR_AND_JR + TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_1 + TRAINER_CLASS_POKEFAN, // FACILITY_CLASS_POKEFAN_2 + TRAINER_CLASS_YOUNGSTER, // FACILITY_CLASS_YOUNGSTER + TRAINER_CLASS_CHAMPION, // FACILITY_CLASS_CHAMPION + TRAINER_CLASS_FISHERMAN, // FACILITY_CLASS_FISHERMAN + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_1 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_2 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_3 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_4 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_5 + TRAINER_CLASS_TRIATHLETE, // FACILITY_CLASS_TRIATHLETE_6 + TRAINER_CLASS_DRAGON_TAMER, // FACILITY_CLASS_DRAGON_TAMER + TRAINER_CLASS_NINJA_BOY, // FACILITY_CLASS_NINJA_BOY + TRAINER_CLASS_BATTLE_GIRL, // FACILITY_CLASS_BATTLE_GIRL + TRAINER_CLASS_PARASOL_LADY, // FACILITY_CLASS_PARASOL_LADY + TRAINER_CLASS_SWIMMER_F, // FACILITY_CLASS_SWIMMER_F + TRAINER_CLASS_TWINS, // FACILITY_CLASS_TWINS + TRAINER_CLASS_SAILOR, // FACILITY_CLASS_SAILOR + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_1 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_MAY + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_3 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_4 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_BRENDAN + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_6 + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_7 + TRAINER_CLASS_PKMN_BREEDER, // FACILITY_CLASS_PKMN_BREEDER_2 + TRAINER_CLASS_BUG_CATCHER, // FACILITY_CLASS_BUG_CATCHER + TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_M + TRAINER_CLASS_PKMN_RANGER, // FACILITY_CLASS_PKMN_RANGER_F + TRAINER_CLASS_MAGMA_LEADER, // FACILITY_CLASS_MAGMA_LEADER + TRAINER_CLASS_LASS, // FACILITY_CLASS_LASS + TRAINER_CLASS_YOUNG_COUPLE, // FACILITY_CLASS_YOUNG_COUPLE + TRAINER_CLASS_OLD_COUPLE, // FACILITY_CLASS_OLD_COUPLE + TRAINER_CLASS_SIS_AND_BRO, // FACILITY_CLASS_SIS_AND_BRO + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_STEVEN + TRAINER_CLASS_SALON_MAIDEN, // FACILITY_CLASS_SALON_MAIDEN + TRAINER_CLASS_DOME_ACE, // FACILITY_CLASS_DOME_ACE + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_RED + TRAINER_CLASS_PKMN_TRAINER_3, // FACILITY_CLASS_PKMN_TRAINER_LEAF + TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_RS_BRENDAN + TRAINER_CLASS_PKMN_TRAINER_4, // FACILITY_CLASS_PKMN_TRAINER_RS_MAY +}; + +#endif //POKEEMERALD_TRAINER_CLASS_LOOKUPS_H diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h new file mode 100644 index 000000000..7426a8dc4 --- /dev/null +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -0,0 +1,443 @@ +const struct CompressedSpriteSheet gMonBackPicTable[] = +{ + gMonBackPic_CircledQuestionMark, 0x800, 0, + gMonBackPic_Bulbasaur, 0x800, 1, + gMonBackPic_Ivysaur, 0x800, 2, + gMonBackPic_Venusaur, 0x800, 3, + gMonBackPic_Charmander, 0x800, 4, + gMonBackPic_Charmeleon, 0x800, 5, + gMonBackPic_Charizard, 0x800, 6, + gMonBackPic_Squirtle, 0x800, 7, + gMonBackPic_Wartortle, 0x800, 8, + gMonBackPic_Blastoise, 0x800, 9, + gMonBackPic_Caterpie, 0x800, 10, + gMonBackPic_Metapod, 0x800, 11, + gMonBackPic_Butterfree, 0x800, 12, + gMonBackPic_Weedle, 0x800, 13, + gMonBackPic_Kakuna, 0x800, 14, + gMonBackPic_Beedrill, 0x800, 15, + gMonBackPic_Pidgey, 0x800, 16, + gMonBackPic_Pidgeotto, 0x800, 17, + gMonBackPic_Pidgeot, 0x800, 18, + gMonBackPic_Rattata, 0x800, 19, + gMonBackPic_Raticate, 0x800, 20, + gMonBackPic_Spearow, 0x800, 21, + gMonBackPic_Fearow, 0x800, 22, + gMonBackPic_Ekans, 0x800, 23, + gMonBackPic_Arbok, 0x800, 24, + gMonBackPic_Pikachu, 0x800, 25, + gMonBackPic_Raichu, 0x800, 26, + gMonBackPic_Sandshrew, 0x800, 27, + gMonBackPic_Sandslash, 0x800, 28, + gMonBackPic_NidoranF, 0x800, 29, + gMonBackPic_Nidorina, 0x800, 30, + gMonBackPic_Nidoqueen, 0x800, 31, + gMonBackPic_NidoranM, 0x800, 32, + gMonBackPic_Nidorino, 0x800, 33, + gMonBackPic_Nidoking, 0x800, 34, + gMonBackPic_Clefairy, 0x800, 35, + gMonBackPic_Clefable, 0x800, 36, + gMonBackPic_Vulpix, 0x800, 37, + gMonBackPic_Ninetales, 0x800, 38, + gMonBackPic_Jigglypuff, 0x800, 39, + gMonBackPic_Wigglytuff, 0x800, 40, + gMonBackPic_Zubat, 0x800, 41, + gMonBackPic_Golbat, 0x800, 42, + gMonBackPic_Oddish, 0x800, 43, + gMonBackPic_Gloom, 0x800, 44, + gMonBackPic_Vileplume, 0x800, 45, + gMonBackPic_Paras, 0x800, 46, + gMonBackPic_Parasect, 0x800, 47, + gMonBackPic_Venonat, 0x800, 48, + gMonBackPic_Venomoth, 0x800, 49, + gMonBackPic_Diglett, 0x800, 50, + gMonBackPic_Dugtrio, 0x800, 51, + gMonBackPic_Meowth, 0x800, 52, + gMonBackPic_Persian, 0x800, 53, + gMonBackPic_Psyduck, 0x800, 54, + gMonBackPic_Golduck, 0x800, 55, + gMonBackPic_Mankey, 0x800, 56, + gMonBackPic_Primeape, 0x800, 57, + gMonBackPic_Growlithe, 0x800, 58, + gMonBackPic_Arcanine, 0x800, 59, + gMonBackPic_Poliwag, 0x800, 60, + gMonBackPic_Poliwhirl, 0x800, 61, + gMonBackPic_Poliwrath, 0x800, 62, + gMonBackPic_Abra, 0x800, 63, + gMonBackPic_Kadabra, 0x800, 64, + gMonBackPic_Alakazam, 0x800, 65, + gMonBackPic_Machop, 0x800, 66, + gMonBackPic_Machoke, 0x800, 67, + gMonBackPic_Machamp, 0x800, 68, + gMonBackPic_Bellsprout, 0x800, 69, + gMonBackPic_Weepinbell, 0x800, 70, + gMonBackPic_Victreebel, 0x800, 71, + gMonBackPic_Tentacool, 0x800, 72, + gMonBackPic_Tentacruel, 0x800, 73, + gMonBackPic_Geodude, 0x800, 74, + gMonBackPic_Graveler, 0x800, 75, + gMonBackPic_Golem, 0x800, 76, + gMonBackPic_Ponyta, 0x800, 77, + gMonBackPic_Rapidash, 0x800, 78, + gMonBackPic_Slowpoke, 0x800, 79, + gMonBackPic_Slowbro, 0x800, 80, + gMonBackPic_Magnemite, 0x800, 81, + gMonBackPic_Magneton, 0x800, 82, + gMonBackPic_Farfetchd, 0x800, 83, + gMonBackPic_Doduo, 0x800, 84, + gMonBackPic_Dodrio, 0x800, 85, + gMonBackPic_Seel, 0x800, 86, + gMonBackPic_Dewgong, 0x800, 87, + gMonBackPic_Grimer, 0x800, 88, + gMonBackPic_Muk, 0x800, 89, + gMonBackPic_Shellder, 0x800, 90, + gMonBackPic_Cloyster, 0x800, 91, + gMonBackPic_Gastly, 0x800, 92, + gMonBackPic_Haunter, 0x800, 93, + gMonBackPic_Gengar, 0x800, 94, + gMonBackPic_Onix, 0x800, 95, + gMonBackPic_Drowzee, 0x800, 96, + gMonBackPic_Hypno, 0x800, 97, + gMonBackPic_Krabby, 0x800, 98, + gMonBackPic_Kingler, 0x800, 99, + gMonBackPic_Voltorb, 0x800, 100, + gMonBackPic_Electrode, 0x800, 101, + gMonBackPic_Exeggcute, 0x800, 102, + gMonBackPic_Exeggutor, 0x800, 103, + gMonBackPic_Cubone, 0x800, 104, + gMonBackPic_Marowak, 0x800, 105, + gMonBackPic_Hitmonlee, 0x800, 106, + gMonBackPic_Hitmonchan, 0x800, 107, + gMonBackPic_Lickitung, 0x800, 108, + gMonBackPic_Koffing, 0x800, 109, + gMonBackPic_Weezing, 0x800, 110, + gMonBackPic_Rhyhorn, 0x800, 111, + gMonBackPic_Rhydon, 0x800, 112, + gMonBackPic_Chansey, 0x800, 113, + gMonBackPic_Tangela, 0x800, 114, + gMonBackPic_Kangaskhan, 0x800, 115, + gMonBackPic_Horsea, 0x800, 116, + gMonBackPic_Seadra, 0x800, 117, + gMonBackPic_Goldeen, 0x800, 118, + gMonBackPic_Seaking, 0x800, 119, + gMonBackPic_Staryu, 0x800, 120, + gMonBackPic_Starmie, 0x800, 121, + gMonBackPic_Mrmime, 0x800, 122, + gMonBackPic_Scyther, 0x800, 123, + gMonBackPic_Jynx, 0x800, 124, + gMonBackPic_Electabuzz, 0x800, 125, + gMonBackPic_Magmar, 0x800, 126, + gMonBackPic_Pinsir, 0x800, 127, + gMonBackPic_Tauros, 0x800, 128, + gMonBackPic_Magikarp, 0x800, 129, + gMonBackPic_Gyarados, 0x800, 130, + gMonBackPic_Lapras, 0x800, 131, + gMonBackPic_Ditto, 0x800, 132, + gMonBackPic_Eevee, 0x800, 133, + gMonBackPic_Vaporeon, 0x800, 134, + gMonBackPic_Jolteon, 0x800, 135, + gMonBackPic_Flareon, 0x800, 136, + gMonBackPic_Porygon, 0x800, 137, + gMonBackPic_Omanyte, 0x800, 138, + gMonBackPic_Omastar, 0x800, 139, + gMonBackPic_Kabuto, 0x800, 140, + gMonBackPic_Kabutops, 0x800, 141, + gMonBackPic_Aerodactyl, 0x800, 142, + gMonBackPic_Snorlax, 0x800, 143, + gMonBackPic_Articuno, 0x800, 144, + gMonBackPic_Zapdos, 0x800, 145, + gMonBackPic_Moltres, 0x800, 146, + gMonBackPic_Dratini, 0x800, 147, + gMonBackPic_Dragonair, 0x800, 148, + gMonBackPic_Dragonite, 0x800, 149, + gMonBackPic_Mewtwo, 0x800, 150, + gMonBackPic_Mew, 0x800, 151, + gMonBackPic_Chikorita, 0x800, 152, + gMonBackPic_Bayleef, 0x800, 153, + gMonBackPic_Meganium, 0x800, 154, + gMonBackPic_Cyndaquil, 0x800, 155, + gMonBackPic_Quilava, 0x800, 156, + gMonBackPic_Typhlosion, 0x800, 157, + gMonBackPic_Totodile, 0x800, 158, + gMonBackPic_Croconaw, 0x800, 159, + gMonBackPic_Feraligatr, 0x800, 160, + gMonBackPic_Sentret, 0x800, 161, + gMonBackPic_Furret, 0x800, 162, + gMonBackPic_Hoothoot, 0x800, 163, + gMonBackPic_Noctowl, 0x800, 164, + gMonBackPic_Ledyba, 0x800, 165, + gMonBackPic_Ledian, 0x800, 166, + gMonBackPic_Spinarak, 0x800, 167, + gMonBackPic_Ariados, 0x800, 168, + gMonBackPic_Crobat, 0x800, 169, + gMonBackPic_Chinchou, 0x800, 170, + gMonBackPic_Lanturn, 0x800, 171, + gMonBackPic_Pichu, 0x800, 172, + gMonBackPic_Cleffa, 0x800, 173, + gMonBackPic_Igglybuff, 0x800, 174, + gMonBackPic_Togepi, 0x800, 175, + gMonBackPic_Togetic, 0x800, 176, + gMonBackPic_Natu, 0x800, 177, + gMonBackPic_Xatu, 0x800, 178, + gMonBackPic_Mareep, 0x800, 179, + gMonBackPic_Flaaffy, 0x800, 180, + gMonBackPic_Ampharos, 0x800, 181, + gMonBackPic_Bellossom, 0x800, 182, + gMonBackPic_Marill, 0x800, 183, + gMonBackPic_Azumarill, 0x800, 184, + gMonBackPic_Sudowoodo, 0x800, 185, + gMonBackPic_Politoed, 0x800, 186, + gMonBackPic_Hoppip, 0x800, 187, + gMonBackPic_Skiploom, 0x800, 188, + gMonBackPic_Jumpluff, 0x800, 189, + gMonBackPic_Aipom, 0x800, 190, + gMonBackPic_Sunkern, 0x800, 191, + gMonBackPic_Sunflora, 0x800, 192, + gMonBackPic_Yanma, 0x800, 193, + gMonBackPic_Wooper, 0x800, 194, + gMonBackPic_Quagsire, 0x800, 195, + gMonBackPic_Espeon, 0x800, 196, + gMonBackPic_Umbreon, 0x800, 197, + gMonBackPic_Murkrow, 0x800, 198, + gMonBackPic_Slowking, 0x800, 199, + gMonBackPic_Misdreavus, 0x800, 200, + gMonBackPic_UnownA, 0x800, 201, + gMonBackPic_Wobbuffet, 0x800, 202, + gMonBackPic_Girafarig, 0x800, 203, + gMonBackPic_Pineco, 0x800, 204, + gMonBackPic_Forretress, 0x800, 205, + gMonBackPic_Dunsparce, 0x800, 206, + gMonBackPic_Gligar, 0x800, 207, + gMonBackPic_Steelix, 0x800, 208, + gMonBackPic_Snubbull, 0x800, 209, + gMonBackPic_Granbull, 0x800, 210, + gMonBackPic_Qwilfish, 0x800, 211, + gMonBackPic_Scizor, 0x800, 212, + gMonBackPic_Shuckle, 0x800, 213, + gMonBackPic_Heracross, 0x800, 214, + gMonBackPic_Sneasel, 0x800, 215, + gMonBackPic_Teddiursa, 0x800, 216, + gMonBackPic_Ursaring, 0x800, 217, + gMonBackPic_Slugma, 0x800, 218, + gMonBackPic_Magcargo, 0x800, 219, + gMonBackPic_Swinub, 0x800, 220, + gMonBackPic_Piloswine, 0x800, 221, + gMonBackPic_Corsola, 0x800, 222, + gMonBackPic_Remoraid, 0x800, 223, + gMonBackPic_Octillery, 0x800, 224, + gMonBackPic_Delibird, 0x800, 225, + gMonBackPic_Mantine, 0x800, 226, + gMonBackPic_Skarmory, 0x800, 227, + gMonBackPic_Houndour, 0x800, 228, + gMonBackPic_Houndoom, 0x800, 229, + gMonBackPic_Kingdra, 0x800, 230, + gMonBackPic_Phanpy, 0x800, 231, + gMonBackPic_Donphan, 0x800, 232, + gMonBackPic_Porygon2, 0x800, 233, + gMonBackPic_Stantler, 0x800, 234, + gMonBackPic_Smeargle, 0x800, 235, + gMonBackPic_Tyrogue, 0x800, 236, + gMonBackPic_Hitmontop, 0x800, 237, + gMonBackPic_Smoochum, 0x800, 238, + gMonBackPic_Elekid, 0x800, 239, + gMonBackPic_Magby, 0x800, 240, + gMonBackPic_Miltank, 0x800, 241, + gMonBackPic_Blissey, 0x800, 242, + gMonBackPic_Raikou, 0x800, 243, + gMonBackPic_Entei, 0x800, 244, + gMonBackPic_Suicune, 0x800, 245, + gMonBackPic_Larvitar, 0x800, 246, + gMonBackPic_Pupitar, 0x800, 247, + gMonBackPic_Tyranitar, 0x800, 248, + gMonBackPic_Lugia, 0x800, 249, + gMonBackPic_HoOh, 0x800, 250, + gMonBackPic_Celebi, 0x800, 251, + gMonBackPic_DoubleQuestionMark, 0x800, 252, + gMonBackPic_DoubleQuestionMark, 0x800, 253, + gMonBackPic_DoubleQuestionMark, 0x800, 254, + gMonBackPic_DoubleQuestionMark, 0x800, 255, + gMonBackPic_DoubleQuestionMark, 0x800, 256, + gMonBackPic_DoubleQuestionMark, 0x800, 257, + gMonBackPic_DoubleQuestionMark, 0x800, 258, + gMonBackPic_DoubleQuestionMark, 0x800, 259, + gMonBackPic_DoubleQuestionMark, 0x800, 260, + gMonBackPic_DoubleQuestionMark, 0x800, 261, + gMonBackPic_DoubleQuestionMark, 0x800, 262, + gMonBackPic_DoubleQuestionMark, 0x800, 263, + gMonBackPic_DoubleQuestionMark, 0x800, 264, + gMonBackPic_DoubleQuestionMark, 0x800, 265, + gMonBackPic_DoubleQuestionMark, 0x800, 266, + gMonBackPic_DoubleQuestionMark, 0x800, 267, + gMonBackPic_DoubleQuestionMark, 0x800, 268, + gMonBackPic_DoubleQuestionMark, 0x800, 269, + gMonBackPic_DoubleQuestionMark, 0x800, 270, + gMonBackPic_DoubleQuestionMark, 0x800, 271, + gMonBackPic_DoubleQuestionMark, 0x800, 272, + gMonBackPic_DoubleQuestionMark, 0x800, 273, + gMonBackPic_DoubleQuestionMark, 0x800, 274, + gMonBackPic_DoubleQuestionMark, 0x800, 275, + gMonBackPic_DoubleQuestionMark, 0x800, 276, + gMonBackPic_Treecko, 0x800, 277, + gMonBackPic_Grovyle, 0x800, 278, + gMonBackPic_Sceptile, 0x800, 279, + gMonBackPic_Torchic, 0x800, 280, + gMonBackPic_Combusken, 0x800, 281, + gMonBackPic_Blaziken, 0x800, 282, + gMonBackPic_Mudkip, 0x800, 283, + gMonBackPic_Marshtomp, 0x800, 284, + gMonBackPic_Swampert, 0x800, 285, + gMonBackPic_Poochyena, 0x800, 286, + gMonBackPic_Mightyena, 0x800, 287, + gMonBackPic_Zigzagoon, 0x800, 288, + gMonBackPic_Linoone, 0x800, 289, + gMonBackPic_Wurmple, 0x800, 290, + gMonBackPic_Silcoon, 0x800, 291, + gMonBackPic_Beautifly, 0x800, 292, + gMonBackPic_Cascoon, 0x800, 293, + gMonBackPic_Dustox, 0x800, 294, + gMonBackPic_Lotad, 0x800, 295, + gMonBackPic_Lombre, 0x800, 296, + gMonBackPic_Ludicolo, 0x800, 297, + gMonBackPic_Seedot, 0x800, 298, + gMonBackPic_Nuzleaf, 0x800, 299, + gMonBackPic_Shiftry, 0x800, 300, + gMonBackPic_Nincada, 0x800, 301, + gMonBackPic_Ninjask, 0x800, 302, + gMonBackPic_Shedinja, 0x800, 303, + gMonBackPic_Taillow, 0x800, 304, + gMonBackPic_Swellow, 0x800, 305, + gMonBackPic_Shroomish, 0x800, 306, + gMonBackPic_Breloom, 0x800, 307, + gMonBackPic_Spinda, 0x800, 308, + gMonBackPic_Wingull, 0x800, 309, + gMonBackPic_Pelipper, 0x800, 310, + gMonBackPic_Surskit, 0x800, 311, + gMonBackPic_Masquerain, 0x800, 312, + gMonBackPic_Wailmer, 0x800, 313, + gMonBackPic_Wailord, 0x800, 314, + gMonBackPic_Skitty, 0x800, 315, + gMonBackPic_Delcatty, 0x800, 316, + gMonBackPic_Kecleon, 0x800, 317, + gMonBackPic_Baltoy, 0x800, 318, + gMonBackPic_Claydol, 0x800, 319, + gMonBackPic_Nosepass, 0x800, 320, + gMonBackPic_Torkoal, 0x800, 321, + gMonBackPic_Sableye, 0x800, 322, + gMonBackPic_Barboach, 0x800, 323, + gMonBackPic_Whiscash, 0x800, 324, + gMonBackPic_Luvdisc, 0x800, 325, + gMonBackPic_Corphish, 0x800, 326, + gMonBackPic_Crawdaunt, 0x800, 327, + gMonBackPic_Feebas, 0x800, 328, + gMonBackPic_Milotic, 0x800, 329, + gMonBackPic_Carvanha, 0x800, 330, + gMonBackPic_Sharpedo, 0x800, 331, + gMonBackPic_Trapinch, 0x800, 332, + gMonBackPic_Vibrava, 0x800, 333, + gMonBackPic_Flygon, 0x800, 334, + gMonBackPic_Makuhita, 0x800, 335, + gMonBackPic_Hariyama, 0x800, 336, + gMonBackPic_Electrike, 0x800, 337, + gMonBackPic_Manectric, 0x800, 338, + gMonBackPic_Numel, 0x800, 339, + gMonBackPic_Camerupt, 0x800, 340, + gMonBackPic_Spheal, 0x800, 341, + gMonBackPic_Sealeo, 0x800, 342, + gMonBackPic_Walrein, 0x800, 343, + gMonBackPic_Cacnea, 0x800, 344, + gMonBackPic_Cacturne, 0x800, 345, + gMonBackPic_Snorunt, 0x800, 346, + gMonBackPic_Glalie, 0x800, 347, + gMonBackPic_Lunatone, 0x800, 348, + gMonBackPic_Solrock, 0x800, 349, + gMonBackPic_Azurill, 0x800, 350, + gMonBackPic_Spoink, 0x800, 351, + gMonBackPic_Grumpig, 0x800, 352, + gMonBackPic_Plusle, 0x800, 353, + gMonBackPic_Minun, 0x800, 354, + gMonBackPic_Mawile, 0x800, 355, + gMonBackPic_Meditite, 0x800, 356, + gMonBackPic_Medicham, 0x800, 357, + gMonBackPic_Swablu, 0x800, 358, + gMonBackPic_Altaria, 0x800, 359, + gMonBackPic_Wynaut, 0x800, 360, + gMonBackPic_Duskull, 0x800, 361, + gMonBackPic_Dusclops, 0x800, 362, + gMonBackPic_Roselia, 0x800, 363, + gMonBackPic_Slakoth, 0x800, 364, + gMonBackPic_Vigoroth, 0x800, 365, + gMonBackPic_Slaking, 0x800, 366, + gMonBackPic_Gulpin, 0x800, 367, + gMonBackPic_Swalot, 0x800, 368, + gMonBackPic_Tropius, 0x800, 369, + gMonBackPic_Whismur, 0x800, 370, + gMonBackPic_Loudred, 0x800, 371, + gMonBackPic_Exploud, 0x800, 372, + gMonBackPic_Clamperl, 0x800, 373, + gMonBackPic_Huntail, 0x800, 374, + gMonBackPic_Gorebyss, 0x800, 375, + gMonBackPic_Absol, 0x800, 376, + gMonBackPic_Shuppet, 0x800, 377, + gMonBackPic_Banette, 0x800, 378, + gMonBackPic_Seviper, 0x800, 379, + gMonBackPic_Zangoose, 0x800, 380, + gMonBackPic_Relicanth, 0x800, 381, + gMonBackPic_Aron, 0x800, 382, + gMonBackPic_Lairon, 0x800, 383, + gMonBackPic_Aggron, 0x800, 384, + gMonBackPic_Castform, 0x800, 385, + gMonBackPic_Volbeat, 0x800, 386, + gMonBackPic_Illumise, 0x800, 387, + gMonBackPic_Lileep, 0x800, 388, + gMonBackPic_Cradily, 0x800, 389, + gMonBackPic_Anorith, 0x800, 390, + gMonBackPic_Armaldo, 0x800, 391, + gMonBackPic_Ralts, 0x800, 392, + gMonBackPic_Kirlia, 0x800, 393, + gMonBackPic_Gardevoir, 0x800, 394, + gMonBackPic_Bagon, 0x800, 395, + gMonBackPic_Shelgon, 0x800, 396, + gMonBackPic_Salamence, 0x800, 397, + gMonBackPic_Beldum, 0x800, 398, + gMonBackPic_Metang, 0x800, 399, + gMonBackPic_Metagross, 0x800, 400, + gMonBackPic_Regirock, 0x800, 401, + gMonBackPic_Regice, 0x800, 402, + gMonBackPic_Registeel, 0x800, 403, + gMonBackPic_Kyogre, 0x800, 404, + gMonBackPic_Groudon, 0x800, 405, + gMonBackPic_Rayquaza, 0x800, 406, + gMonBackPic_Latias, 0x800, 407, + gMonBackPic_Latios, 0x800, 408, + gMonBackPic_Jirachi, 0x800, 409, + gMonBackPic_Deoxys, 0x800, 410, + gMonBackPic_Chimecho, 0x800, 411, + gMonStillFrontPic_Egg, 0x800, 412, + gMonBackPic_UnownB, 0x800, 413, + gMonBackPic_UnownC, 0x800, 414, + gMonBackPic_UnownD, 0x800, 415, + gMonBackPic_UnownE, 0x800, 416, + gMonBackPic_UnownF, 0x800, 417, + gMonBackPic_UnownG, 0x800, 418, + gMonBackPic_UnownH, 0x800, 419, + gMonBackPic_UnownI, 0x800, 420, + gMonBackPic_UnownJ, 0x800, 421, + gMonBackPic_UnownK, 0x800, 422, + gMonBackPic_UnownL, 0x800, 423, + gMonBackPic_UnownM, 0x800, 424, + gMonBackPic_UnownN, 0x800, 425, + gMonBackPic_UnownO, 0x800, 426, + gMonBackPic_UnownP, 0x800, 427, + gMonBackPic_UnownQ, 0x800, 428, + gMonBackPic_UnownR, 0x800, 429, + gMonBackPic_UnownS, 0x800, 430, + gMonBackPic_UnownT, 0x800, 431, + gMonBackPic_UnownU, 0x800, 432, + gMonBackPic_UnownV, 0x800, 433, + gMonBackPic_UnownW, 0x800, 434, + gMonBackPic_UnownX, 0x800, 435, + gMonBackPic_UnownY, 0x800, 436, + gMonBackPic_UnownZ, 0x800, 437, + gMonBackPic_UnownExclamationMark, 0x800, 438, + gMonBackPic_UnownQuestionMark, 0x800, 439, +}; diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h new file mode 100644 index 000000000..80e2a415a --- /dev/null +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -0,0 +1,417 @@ +// This determines how much higher above the usual position the enemy Pokémon +// is during battle. Species that float or fly have nonzero values. +const u8 gEnemyMonElevation[] = +{ + 0, // 0 + 0, // SPECIES_BULBASAUR + 0, // SPECIES_IVYSAUR + 0, // SPECIES_VENUSAUR + 0, // SPECIES_CHARMANDER + 0, // SPECIES_CHARMELEON + 0, // SPECIES_CHARIZARD + 0, // SPECIES_SQUIRTLE + 0, // SPECIES_WARTORTLE + 0, // SPECIES_BLASTOISE + 0, // SPECIES_CATERPIE + 0, // SPECIES_METAPOD + 8, // SPECIES_BUTTERFREE + 0, // SPECIES_WEEDLE + 0, // SPECIES_KAKUNA + 8, // SPECIES_BEEDRILL + 16, // SPECIES_PIDGEY + 0, // SPECIES_PIDGEOTTO + 4, // SPECIES_PIDGEOT + 0, // SPECIES_RATTATA + 0, // SPECIES_RATICATE + 0, // SPECIES_SPEAROW + 6, // SPECIES_FEAROW + 0, // SPECIES_EKANS + 0, // SPECIES_ARBOK + 0, // SPECIES_PIKACHU + 0, // SPECIES_RAICHU + 0, // SPECIES_SANDSHREW + 0, // SPECIES_SANDSLASH + 0, // SPECIES_NIDORAN_F + 0, // SPECIES_NIDORINA + 0, // SPECIES_NIDOQUEEN + 0, // SPECIES_NIDORAN_M + 0, // SPECIES_NIDORINO + 0, // SPECIES_NIDOKING + 0, // SPECIES_CLEFAIRY + 0, // SPECIES_CLEFABLE + 0, // SPECIES_VULPIX + 0, // SPECIES_NINETALES + 0, // SPECIES_JIGGLYPUFF + 0, // SPECIES_WIGGLYTUFF + 8, // SPECIES_ZUBAT + 8, // SPECIES_GOLBAT + 0, // SPECIES_ODDISH + 0, // SPECIES_GLOOM + 0, // SPECIES_VILEPLUME + 0, // SPECIES_PARAS + 0, // SPECIES_PARASECT + 0, // SPECIES_VENONAT + 8, // SPECIES_VENOMOTH + 0, // SPECIES_DIGLETT + 0, // SPECIES_DUGTRIO + 0, // SPECIES_MEOWTH + 0, // SPECIES_PERSIAN + 0, // SPECIES_PSYDUCK + 0, // SPECIES_GOLDUCK + 0, // SPECIES_MANKEY + 0, // SPECIES_PRIMEAPE + 0, // SPECIES_GROWLITHE + 0, // SPECIES_ARCANINE + 0, // SPECIES_POLIWAG + 0, // SPECIES_POLIWHIRL + 0, // SPECIES_POLIWRATH + 0, // SPECIES_ABRA + 0, // SPECIES_KADABRA + 0, // SPECIES_ALAKAZAM + 0, // SPECIES_MACHOP + 0, // SPECIES_MACHOKE + 0, // SPECIES_MACHAMP + 0, // SPECIES_BELLSPROUT + 0, // SPECIES_WEEPINBELL + 0, // SPECIES_VICTREEBEL + 0, // SPECIES_TENTACOOL + 0, // SPECIES_TENTACRUEL + 16, // SPECIES_GEODUDE + 0, // SPECIES_GRAVELER + 0, // SPECIES_GOLEM + 0, // SPECIES_PONYTA + 0, // SPECIES_RAPIDASH + 0, // SPECIES_SLOWPOKE + 0, // SPECIES_SLOWBRO + 16, // SPECIES_MAGNEMITE + 8, // SPECIES_MAGNETON + 0, // SPECIES_FARFETCHD + 0, // SPECIES_DODUO + 0, // SPECIES_DODRIO + 0, // SPECIES_SEEL + 0, // SPECIES_DEWGONG + 0, // SPECIES_GRIMER + 0, // SPECIES_MUK + 0, // SPECIES_SHELLDER + 0, // SPECIES_CLOYSTER + 4, // SPECIES_GASTLY + 4, // SPECIES_HAUNTER + 0, // SPECIES_GENGAR + 0, // SPECIES_ONIX + 0, // SPECIES_DROWZEE + 0, // SPECIES_HYPNO + 0, // SPECIES_KRABBY + 0, // SPECIES_KINGLER + 10, // SPECIES_VOLTORB + 12, // SPECIES_ELECTRODE + 0, // SPECIES_EXEGGCUTE + 0, // SPECIES_EXEGGUTOR + 0, // SPECIES_CUBONE + 0, // SPECIES_MAROWAK + 0, // SPECIES_HITMONLEE + 0, // SPECIES_HITMONCHAN + 0, // SPECIES_LICKITUNG + 8, // SPECIES_KOFFING + 6, // SPECIES_WEEZING + 0, // SPECIES_RHYHORN + 0, // SPECIES_RHYDON + 0, // SPECIES_CHANSEY + 0, // SPECIES_TANGELA + 0, // SPECIES_KANGASKHAN + 0, // SPECIES_HORSEA + 0, // SPECIES_SEADRA + 0, // SPECIES_GOLDEEN + 0, // SPECIES_SEAKING + 0, // SPECIES_STARYU + 0, // SPECIES_STARMIE + 0, // SPECIES_MR_MIME + 0, // SPECIES_SCYTHER + 0, // SPECIES_JYNX + 0, // SPECIES_ELECTABUZZ + 0, // SPECIES_MAGMAR + 0, // SPECIES_PINSIR + 0, // SPECIES_TAUROS + 0, // SPECIES_MAGIKARP + 0, // SPECIES_GYARADOS + 0, // SPECIES_LAPRAS + 0, // SPECIES_DITTO + 0, // SPECIES_EEVEE + 0, // SPECIES_VAPOREON + 0, // SPECIES_JOLTEON + 0, // SPECIES_FLAREON + 0, // SPECIES_PORYGON + 0, // SPECIES_OMANYTE + 0, // SPECIES_OMASTAR + 0, // SPECIES_KABUTO + 0, // SPECIES_KABUTOPS + 7, // SPECIES_AERODACTYL + 0, // SPECIES_SNORLAX + 6, // SPECIES_ARTICUNO + 8, // SPECIES_ZAPDOS + 5, // SPECIES_MOLTRES + 0, // SPECIES_DRATINI + 0, // SPECIES_DRAGONAIR + 6, // SPECIES_DRAGONITE + 0, // SPECIES_MEWTWO + 8, // SPECIES_MEW + 0, // SPECIES_CHIKORITA + 0, // SPECIES_BAYLEEF + 0, // SPECIES_MEGANIUM + 0, // SPECIES_CYNDAQUIL + 0, // SPECIES_QUILAVA + 0, // SPECIES_TYPHLOSION + 0, // SPECIES_TOTODILE + 0, // SPECIES_CROCONAW + 0, // SPECIES_FERALIGATR + 0, // SPECIES_SENTRET + 0, // SPECIES_FURRET + 0, // SPECIES_HOOTHOOT + 0, // SPECIES_NOCTOWL + 0, // SPECIES_LEDYBA + 8, // SPECIES_LEDIAN + 0, // SPECIES_SPINARAK + 0, // SPECIES_ARIADOS + 6, // SPECIES_CROBAT + 0, // SPECIES_CHINCHOU + 0, // SPECIES_LANTURN + 0, // SPECIES_PICHU + 0, // SPECIES_CLEFFA + 0, // SPECIES_IGGLYBUFF + 0, // SPECIES_TOGEPI + 0, // SPECIES_TOGETIC + 0, // SPECIES_NATU + 0, // SPECIES_XATU + 0, // SPECIES_MAREEP + 0, // SPECIES_FLAAFFY + 0, // SPECIES_AMPHAROS + 0, // SPECIES_BELLOSSOM + 0, // SPECIES_MARILL + 0, // SPECIES_AZUMARILL + 0, // SPECIES_SUDOWOODO + 0, // SPECIES_POLITOED + 11, // SPECIES_HOPPIP + 12, // SPECIES_SKIPLOOM + 9, // SPECIES_JUMPLUFF + 0, // SPECIES_AIPOM + 0, // SPECIES_SUNKERN + 0, // SPECIES_SUNFLORA + 8, // SPECIES_YANMA + 0, // SPECIES_WOOPER + 0, // SPECIES_QUAGSIRE + 0, // SPECIES_ESPEON + 0, // SPECIES_UMBREON + 0, // SPECIES_MURKROW + 0, // SPECIES_SLOWKING + 8, // SPECIES_MISDREAVUS + 8, // SPECIES_UNOWN + 0, // SPECIES_WOBBUFFET + 0, // SPECIES_GIRAFARIG + 0, // SPECIES_PINECO + 0, // SPECIES_FORRETRESS + 0, // SPECIES_DUNSPARCE + 6, // SPECIES_GLIGAR + 0, // SPECIES_STEELIX + 0, // SPECIES_SNUBBULL + 0, // SPECIES_GRANBULL + 0, // SPECIES_QWILFISH + 0, // SPECIES_SCIZOR + 0, // SPECIES_SHUCKLE + 0, // SPECIES_HERACROSS + 0, // SPECIES_SNEASEL + 0, // SPECIES_TEDDIURSA + 0, // SPECIES_URSARING + 0, // SPECIES_SLUGMA + 0, // SPECIES_MAGCARGO + 0, // SPECIES_SWINUB + 0, // SPECIES_PILOSWINE + 0, // SPECIES_CORSOLA + 0, // SPECIES_REMORAID + 0, // SPECIES_OCTILLERY + 0, // SPECIES_DELIBIRD + 0, // SPECIES_MANTINE + 0, // SPECIES_SKARMORY + 0, // SPECIES_HOUNDOUR + 0, // SPECIES_HOUNDOOM + 0, // SPECIES_KINGDRA + 0, // SPECIES_PHANPY + 0, // SPECIES_DONPHAN + 0, // SPECIES_PORYGON2 + 0, // SPECIES_STANTLER + 0, // SPECIES_SMEARGLE + 0, // SPECIES_TYROGUE + 0, // SPECIES_HITMONTOP + 0, // SPECIES_SMOOCHUM + 0, // SPECIES_ELEKID + 0, // SPECIES_MAGBY + 0, // SPECIES_MILTANK + 0, // SPECIES_BLISSEY + 0, // SPECIES_RAIKOU + 0, // SPECIES_ENTEI + 0, // SPECIES_SUICUNE + 0, // SPECIES_LARVITAR + 0, // SPECIES_PUPITAR + 0, // SPECIES_TYRANITAR + 6, // SPECIES_LUGIA + 6, // SPECIES_HO_OH + 15, // SPECIES_CELEBI + 0, // 252 + 0, // 253 + 0, // 254 + 0, // 255 + 0, // 256 + 0, // 257 + 0, // 258 + 0, // 259 + 0, // 260 + 0, // 261 + 0, // 262 + 0, // 263 + 0, // 264 + 0, // 265 + 0, // 266 + 0, // 267 + 0, // 268 + 0, // 269 + 0, // 270 + 0, // 271 + 0, // 272 + 0, // 273 + 0, // 274 + 0, // 275 + 0, // 276 + 0, // SPECIES_TREECKO + 0, // SPECIES_GROVYLE + 0, // SPECIES_SCEPTILE + 0, // SPECIES_TORCHIC + 0, // SPECIES_COMBUSKEN + 0, // SPECIES_BLAZIKEN + 0, // SPECIES_MUDKIP + 0, // SPECIES_MARSHTOMP + 0, // SPECIES_SWAMPERT + 0, // SPECIES_POOCHYENA + 0, // SPECIES_MIGHTYENA + 0, // SPECIES_ZIGZAGOON + 0, // SPECIES_LINOONE + 0, // SPECIES_WURMPLE + 0, // SPECIES_SILCOON + 8, // SPECIES_BEAUTIFLY + 0, // SPECIES_CASCOON + 10, // SPECIES_DUSTOX + 0, // SPECIES_LOTAD + 0, // SPECIES_LOMBRE + 0, // SPECIES_LUDICOLO + 0, // SPECIES_SEEDOT + 0, // SPECIES_NUZLEAF + 0, // SPECIES_SHIFTRY + 0, // SPECIES_NINCADA + 10, // SPECIES_NINJASK + 8, // SPECIES_SHEDINJA + 0, // SPECIES_TAILLOW + 0, // SPECIES_SWELLOW + 0, // SPECIES_SHROOMISH + 0, // SPECIES_BRELOOM + 0, // SPECIES_SPINDA + 16, // SPECIES_WINGULL + 8, // SPECIES_PELIPPER + 0, // SPECIES_SURSKIT + 10, // SPECIES_MASQUERAIN + 0, // SPECIES_WAILMER + 0, // SPECIES_WAILORD + 0, // SPECIES_SKITTY + 0, // SPECIES_DELCATTY + 0, // SPECIES_KECLEON + 4, // SPECIES_BALTOY + 10, // SPECIES_CLAYDOL + 0, // SPECIES_NOSEPASS + 0, // SPECIES_TORKOAL + 0, // SPECIES_SABLEYE + 0, // SPECIES_BARBOACH + 0, // SPECIES_WHISCASH + 0, // SPECIES_LUVDISC + 0, // SPECIES_CORPHISH + 0, // SPECIES_CRAWDAUNT + 0, // SPECIES_FEEBAS + 0, // SPECIES_MILOTIC + 0, // SPECIES_CARVANHA + 0, // SPECIES_SHARPEDO + 0, // SPECIES_TRAPINCH + 0, // SPECIES_VIBRAVA + 7, // SPECIES_FLYGON + 0, // SPECIES_MAKUHITA + 0, // SPECIES_HARIYAMA + 0, // SPECIES_ELECTRIKE + 0, // SPECIES_MANECTRIC + 0, // SPECIES_NUMEL + 0, // SPECIES_CAMERUPT + 0, // SPECIES_SPHEAL + 0, // SPECIES_SEALEO + 0, // SPECIES_WALREIN + 0, // SPECIES_CACNEA + 0, // SPECIES_CACTURNE + 0, // SPECIES_SNORUNT + 12, // SPECIES_GLALIE + 13, // SPECIES_LUNATONE + 4, // SPECIES_SOLROCK + 0, // SPECIES_AZURILL + 0, // SPECIES_SPOINK + 0, // SPECIES_GRUMPIG + 0, // SPECIES_PLUSLE + 0, // SPECIES_MINUN + 0, // SPECIES_MAWILE + 0, // SPECIES_MEDITITE + 0, // SPECIES_MEDICHAM + 12, // SPECIES_SWABLU + 8, // SPECIES_ALTARIA + 0, // SPECIES_WYNAUT + 9, // SPECIES_DUSKULL + 0, // SPECIES_DUSCLOPS + 0, // SPECIES_ROSELIA + 0, // SPECIES_SLAKOTH + 0, // SPECIES_VIGOROTH + 0, // SPECIES_SLAKING + 0, // SPECIES_GULPIN + 0, // SPECIES_SWALOT + 0, // SPECIES_TROPIUS + 0, // SPECIES_WHISMUR + 0, // SPECIES_LOUDRED + 0, // SPECIES_EXPLOUD + 0, // SPECIES_CLAMPERL + 0, // SPECIES_HUNTAIL + 0, // SPECIES_GOREBYSS + 0, // SPECIES_ABSOL + 12, // SPECIES_SHUPPET + 8, // SPECIES_BANETTE + 0, // SPECIES_SEVIPER + 0, // SPECIES_ZANGOOSE + 0, // SPECIES_RELICANTH + 0, // SPECIES_ARON + 0, // SPECIES_LAIRON + 0, // SPECIES_AGGRON + 16, // SPECIES_CASTFORM + 0, // SPECIES_VOLBEAT + 0, // SPECIES_ILLUMISE + 0, // SPECIES_LILEEP + 0, // SPECIES_CRADILY + 0, // SPECIES_ANORITH + 0, // SPECIES_ARMALDO + 0, // SPECIES_RALTS + 0, // SPECIES_KIRLIA + 0, // SPECIES_GARDEVOIR + 0, // SPECIES_BAGON + 0, // SPECIES_SHELGON + 0, // SPECIES_SALAMENCE + 8, // SPECIES_BELDUM + 0, // SPECIES_METANG + 0, // SPECIES_METAGROSS + 0, // SPECIES_REGIROCK + 0, // SPECIES_REGICE + 0, // SPECIES_REGISTEEL + 0, // SPECIES_KYOGRE + 0, // SPECIES_GROUDON + 6, // SPECIES_RAYQUAZA + 6, // SPECIES_LATIAS + 6, // SPECIES_LATIOS + 12, // SPECIES_JIRACHI + 8, // SPECIES_DEOXYS + 12, // SPECIES_CHIMECHO +}; diff --git a/src/data/pokemon_graphics/front_anims.h b/src/data/pokemon_graphics/front_anims.h new file mode 100644 index 000000000..0e7b75bde --- /dev/null +++ b/src/data/pokemon_graphics/front_anims.h @@ -0,0 +1,7391 @@ + +const union AnimCmd gAnimCmd_NONE_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BULBASAUR_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IVYSAUR_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENUSAUR_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARMANDER_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARMELEON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHARIZARD_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SQUIRTLE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WARTORTLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLASTOISE_1[] = +{ + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CATERPIE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METAPOD_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BUTTERFREE_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEDLE_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KAKUNA_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEEDRILL_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEY_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEOTTO_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIDGEOT_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + + +const union AnimCmd gAnimCmd_RATTATA_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RATICATE_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPEAROW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FEAROW_1[] = +{ + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EKANS_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARBOK_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIKACHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PIKACHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAICHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAICHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSHREW_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSHREW_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSLASH_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SANDSLASH_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORAN_F_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORINA_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDOQUEEN_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORAN_M_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDORINO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NIDOKING_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFAIRY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFABLE_1[] = +{ + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VULPIX_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VULPIX_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINETALES_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINETALES_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIGGLYPUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIGGLYPUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WIGGLYTUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WIGGLYTUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZUBAT_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLBAT_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ODDISH_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLOOM_1[] = +{ + ANIMCMD_FRAME(0, 21), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VILEPLUME_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PARAS_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PARASECT_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENONAT_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 35), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VENOMOTH_1[] = +{ + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DIGLETT_1[] = +{ + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUGTRIO_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEOWTH_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PERSIAN_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PSYDUCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PSYDUCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDUCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDUCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANKEY_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PRIMEAPE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROWLITHE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARCANINE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_POLIWAG_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLIWHIRL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLIWRATH_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ABRA_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 21), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KADABRA_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALAKAZAM_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 54), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHOP_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHOKE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MACHAMP_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELLSPROUT_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEPINBELL_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VICTREEBEL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TENTACOOL_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TENTACRUEL_1[] = +{ + ANIMCMD_FRAME(0, 19), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 19), + ANIMCMD_FRAME(1, 19), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GEODUDE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 36), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRAVELER_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLEM_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 31), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PONYTA_1[] = +{ + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAPIDASH_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWPOKE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWBRO_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGNEMITE_1[] = +{ + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 28), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGNETON_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FARFETCHD_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DODUO_1[] = +{ + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DODRIO_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEEL_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEWGONG_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRIMER_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRIMER_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUK_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHELLDER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLOYSTER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GASTLY_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HAUNTER_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GENGAR_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ONIX_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DROWZEE_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HYPNO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KRABBY_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGLER_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VOLTORB_1[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTRODE_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXEGGCUTE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXEGGUTOR_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END,}; + + +const union AnimCmd gAnimCmd_CUBONE_1[] = +{ + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAROWAK_1[] = +{ + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONLEE_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONCHAN_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LICKITUNG_1[] = +{ + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KOFFING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KOFFING_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEZING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WEEZING_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYHORN_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYHORN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYDON_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RHYDON_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHANSEY_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TANGELA_1[] = +{ + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KANGASKHAN_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HORSEA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HORSEA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEADRA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEADRA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOLDEEN_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEAKING_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARYU_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARYU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARMIE_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STARMIE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MR_MIME_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCYTHER_1[] = +{ + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JYNX_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTABUZZ_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGMAR_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINSIR_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINSIR_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TAUROS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGIKARP_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GYARADOS_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LAPRAS_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DITTO_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EEVEE_1[] = +{ + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VAPOREON_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JOLTEON_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLAREON_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PORYGON_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OMANYTE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OMASTAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KABUTO_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KABUTOPS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AERODACTYL_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 25), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNORLAX_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARTICUNO_1[] = +{ + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZAPDOS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MOLTRES_1[] = +{ + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRATINI_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRAGONAIR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DRAGONITE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEWTWO_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEW_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHIKORITA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END,}; + + +const union AnimCmd gAnimCmd_BAYLEEF_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEGANIUM_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CYNDAQUIL_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QUILAVA_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYPHLOSION_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOTODILE_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CROCONAW_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FERALIGATR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SENTRET_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FURRET_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOOTHOOT_1[] = +{ + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NOCTOWL_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LEDYBA_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LEDIAN_1[] = +{ + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPINARAK_1[] = +{ + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARIADOS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CROBAT_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHINCHOU_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHINCHOU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LANTURN_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LANTURN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PICHU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PICHU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLEFFA_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IGGLYBUFF_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_IGGLYBUFF_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOGEPI_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TOGETIC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NATU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NATU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_XATU_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_XATU_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAREEP_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLAAFFY_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AMPHAROS_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELLOSSOM_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MARILL_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AZUMARILL_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUDOWOODO_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POLITOED_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOPPIP_1[] = +{ + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 25), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKIPLOOM_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JUMPLUFF_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AIPOM_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUNKERN_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUNFLORA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_YANMA_1[] = +{ + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOOPER_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QUAGSIRE_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ESPEON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UMBREON_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MURKROW_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLOWKING_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MISDREAVUS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOBBUFFET_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WOBBUFFET_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GIRAFARIG_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GIRAFARIG_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PINECO_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FORRETRESS_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUNSPARCE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLIGAR_1[] = +{ + ANIMCMD_FRAME(1, 17), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STEELIX_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNUBBULL_1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRANBULL_1[] = +{ + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_QWILFISH_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCIZOR_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHUCKLE_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HERACROSS_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HERACROSS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNEASEL_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TEDDIURSA_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_URSARING_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLUGMA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLUGMA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGCARGO_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGCARGO_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWINUB_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PILOSWINE_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORSOLA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORSOLA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REMORAID_1[] = +{ + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OCTILLERY_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DELIBIRD_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANTINE_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKARMORY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKARMORY_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOUNDOUR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HOUNDOOM_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGDRA_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KINGDRA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PHANPY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PHANPY_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DONPHAN_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DONPHAN_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PORYGON2_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_STANTLER_1[] = +{ + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SMEARGLE_1[] = +{ + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYROGUE_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HITMONTOP_1[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SMOOCHUM_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELEKID_1[] = +{ + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAGBY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MILTANK_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLISSEY_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAIKOU_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ENTEI_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SUICUNE_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LARVITAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PUPITAR_1[] = +{ + ANIMCMD_FRAME(1, 40), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TYRANITAR_1[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUGIA_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HO_OH_1[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CELEBI_1[] = +{ + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_OLD_UNOWN_B_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TREECKO_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_GROVYLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SCEPTILE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 26), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TORCHIC_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_COMBUSKEN_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 12), + ANIMCMD_END,}; + +const union AnimCmd gAnimCmd_BLAZIKEN_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_3[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BLAZIKEN_4[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MUDKIP_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 13), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MARSHTOMP_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWAMPERT_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_POOCHYENA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MIGHTYENA_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZIGZAGOON_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LINOONE_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WURMPLE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SILCOON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SILCOON_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEAUTIFLY_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BEAUTIFLY_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASCOON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASCOON_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSTOX_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSTOX_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOTAD_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 55), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOMBRE_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUDICOLO_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEEDOT_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NUZLEAF_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHIFTRY_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINCADA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NINJASK_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHEDINJA_1[] = +{ + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TAILLOW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWELLOW_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHROOMISH_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BRELOOM_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WINGULL_1[] = +{ + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 13), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PELIPPER_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SURSKIT_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SURSKIT_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MASQUERAIN_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MASQUERAIN_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WAILMER_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WAILORD_1[] = +{ + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 48), + ANIMCMD_FRAME(0, 33), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SKITTY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 35), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DELCATTY_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 46), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KECLEON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BALTOY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLAYDOL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NOSEPASS_1[] = +{ + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 27), + ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TORKOAL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SABLEYE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BARBOACH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WHISCASH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUVDISC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CORPHISH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CRAWDAUNT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FEEBAS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MILOTIC_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CARVANHA_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHARPEDO_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TRAPINCH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VIBRAVA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_FLYGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAKUHITA_1[] = +{ + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HARIYAMA_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ELECTRIKE_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MANECTRIC_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 3), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_NUMEL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 40), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CAMERUPT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPHEAL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 43), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEALEO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WALREIN_1[] = +{ + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CACNEA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CACTURNE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SNORUNT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GLALIE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUNATONE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LUNATONE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SOLROCK_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SOLROCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AZURILL_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SPOINK_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GRUMPIG_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_PLUSLE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MINUN_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MAWILE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEDITITE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_MEDICHAM_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWABLU_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWABLU_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALTARIA_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ALTARIA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WYNAUT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSKULL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DUSCLOPS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ROSELIA_1[] = +{ + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLAKOTH_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VIGOROTH_1[] = +{ + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 13), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SLAKING_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GULPIN_1[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SWALOT_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_TROPIUS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_WHISMUR_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LOUDRED_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 33), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EXPLOUD_1[] = +{ + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 9), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CLAMPERL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_HUNTAIL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GOREBYSS_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ABSOL_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHUPPET_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BANETTE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SEVIPER_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ZANGOOSE_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 50), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RELICANTH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARON_1[] = +{ + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 33), + ANIMCMD_FRAME(1, 33), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LAIRON_1[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_AGGRON_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_0[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_1[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_2[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CASTFORM_3[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_VOLBEAT_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ILLUMISE_1[] = +{ + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LILEEP_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CRADILY_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ANORITH_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_ARMALDO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RALTS_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KIRLIA_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 39), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GARDEVOIR_1[] = +{ + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(1, 3), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BAGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SHELGON_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_SALAMENCE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_BELDUM_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METANG_1[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_METAGROSS_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGIROCK_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGIROCK_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGICE_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGISTEEL_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_REGISTEEL_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KYOGRE_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_KYOGRE_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROUDON_1[] = +{ + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_GROUDON_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAYQUAZA_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_RAYQUAZA_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIAS_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIAS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIOS_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_LATIOS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIRACHI_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_JIRACHI_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEOXYS_1[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 26), + ANIMCMD_FRAME(1, 16), + ANIMCMD_FRAME(0, 16), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_DEOXYS_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_CHIMECHO_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_EGG_1[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_B_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_C_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_D_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_E_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_F_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_G_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_H_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_I_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_J_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_K_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_L_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_M_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_N_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_O_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_P_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Q_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_R_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_S_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_T_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_U_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_V_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_W_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_X_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Y_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_Z_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_EMARK_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gAnimCmd_UNOWN_QMARK_1[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd *const gAnims_NONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NONE_1, +}; + +const union AnimCmd *const gAnims_BULBASAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BULBASAUR_1, +}; + +const union AnimCmd *const gAnims_IVYSAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_IVYSAUR_1, +}; + +const union AnimCmd *const gAnims_VENUSAUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENUSAUR_1, +}; + +const union AnimCmd *const gAnims_CHARMANDER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARMANDER_1, +}; + +const union AnimCmd *const gAnims_CHARMELEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARMELEON_1, +}; + +const union AnimCmd *const gAnims_CHARIZARD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHARIZARD_1, +}; + +const union AnimCmd *const gAnims_SQUIRTLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SQUIRTLE_1, +}; + +const union AnimCmd *const gAnims_WARTORTLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WARTORTLE_1, +}; + +const union AnimCmd *const gAnims_BLASTOISE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLASTOISE_1, +}; + +const union AnimCmd *const gAnims_CATERPIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CATERPIE_1, +}; + +const union AnimCmd *const gAnims_METAPOD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METAPOD_1, +}; + +const union AnimCmd *const gAnims_BUTTERFREE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BUTTERFREE_1, +}; + +const union AnimCmd *const gAnims_WEEDLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEDLE_1, +}; + +const union AnimCmd *const gAnims_KAKUNA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KAKUNA_1, +}; + +const union AnimCmd *const gAnims_BEEDRILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BEEDRILL_1, +}; + +const union AnimCmd *const gAnims_PIDGEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEY_1, +}; + +const union AnimCmd *const gAnims_PIDGEOTTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEOTTO_1, +}; + +const union AnimCmd *const gAnims_PIDGEOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIDGEOT_1, +}; + +const union AnimCmd *const gAnims_RATTATA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RATTATA_1, +}; + +const union AnimCmd *const gAnims_RATICATE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RATICATE_1, +}; + +const union AnimCmd *const gAnims_SPEAROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPEAROW_1, +}; + +const union AnimCmd *const gAnims_FEAROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FEAROW_1, +}; + +const union AnimCmd *const gAnims_EKANS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EKANS_1, +}; + +const union AnimCmd *const gAnims_ARBOK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARBOK_1, +}; + +const union AnimCmd *const gAnims_PIKACHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PIKACHU_1, + gAnimCmd_PIKACHU_2, +}; + +const union AnimCmd *const gAnims_RAICHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAICHU_1, + gAnimCmd_RAICHU_2, +}; + +const union AnimCmd *const gAnims_SANDSHREW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SANDSHREW_1, + gAnimCmd_SANDSHREW_2, +}; + +const union AnimCmd *const gAnims_SANDSLASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SANDSLASH_1, + gAnimCmd_SANDSLASH_2, +}; + +const union AnimCmd *const gAnims_NIDORAN_F[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORAN_F_1, +}; + +const union AnimCmd *const gAnims_NIDORINA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORINA_1, +}; + +const union AnimCmd *const gAnims_NIDOQUEEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDOQUEEN_1, +}; + +const union AnimCmd *const gAnims_NIDORAN_M[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORAN_M_1, +}; + +const union AnimCmd *const gAnims_NIDORINO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDORINO_1, +}; + +const union AnimCmd *const gAnims_NIDOKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NIDOKING_1, +}; + +const union AnimCmd *const gAnims_CLEFAIRY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFAIRY_1, +}; + +const union AnimCmd *const gAnims_CLEFABLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFABLE_1, +}; + +const union AnimCmd *const gAnims_VULPIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VULPIX_1, + gAnimCmd_VULPIX_2, +}; + +const union AnimCmd *const gAnims_NINETALES[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINETALES_1, + gAnimCmd_NINETALES_2, +}; + +const union AnimCmd *const gAnims_JIGGLYPUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JIGGLYPUFF_1, + gAnimCmd_JIGGLYPUFF_2, +}; + +const union AnimCmd *const gAnims_WIGGLYTUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WIGGLYTUFF_1, + gAnimCmd_WIGGLYTUFF_2, +}; + +const union AnimCmd *const gAnims_ZUBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZUBAT_1, +}; + +const union AnimCmd *const gAnims_GOLBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLBAT_1, +}; + +const union AnimCmd *const gAnims_ODDISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ODDISH_1, +}; + +const union AnimCmd *const gAnims_GLOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLOOM_1, +}; + +const union AnimCmd *const gAnims_VILEPLUME[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VILEPLUME_1, +}; + +const union AnimCmd *const gAnims_PARAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PARAS_1, +}; + +const union AnimCmd *const gAnims_PARASECT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PARASECT_1, +}; + +const union AnimCmd *const gAnims_VENONAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENONAT_1, +}; + +const union AnimCmd *const gAnims_VENOMOTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VENOMOTH_1, +}; + +const union AnimCmd *const gAnims_DIGLETT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DIGLETT_1, +}; + +const union AnimCmd *const gAnims_DUGTRIO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUGTRIO_1, +}; + +const union AnimCmd *const gAnims_MEOWTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEOWTH_1, +}; + +const union AnimCmd *const gAnims_PERSIAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PERSIAN_1, +}; + +const union AnimCmd *const gAnims_PSYDUCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PSYDUCK_1, + gAnimCmd_PSYDUCK_2, +}; + +const union AnimCmd *const gAnims_GOLDUCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLDUCK_1, + gAnimCmd_GOLDUCK_2, +}; + +const union AnimCmd *const gAnims_MANKEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANKEY_1, +}; + +const union AnimCmd *const gAnims_PRIMEAPE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PRIMEAPE_1, +}; + +const union AnimCmd *const gAnims_GROWLITHE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROWLITHE_1, +}; + +const union AnimCmd *const gAnims_ARCANINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARCANINE_1, +}; + +const union AnimCmd *const gAnims_POLIWAG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWAG_1, +}; + +const union AnimCmd *const gAnims_POLIWHIRL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWHIRL_1, +}; + +const union AnimCmd *const gAnims_POLIWRATH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLIWRATH_1, +}; + +const union AnimCmd *const gAnims_ABRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ABRA_1, +}; + +const union AnimCmd *const gAnims_KADABRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KADABRA_1, +}; + +const union AnimCmd *const gAnims_ALAKAZAM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ALAKAZAM_1, +}; + +const union AnimCmd *const gAnims_MACHOP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHOP_1, +}; + +const union AnimCmd *const gAnims_MACHOKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHOKE_1, +}; + +const union AnimCmd *const gAnims_MACHAMP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MACHAMP_1, +}; + +const union AnimCmd *const gAnims_BELLSPROUT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELLSPROUT_1, +}; + +const union AnimCmd *const gAnims_WEEPINBELL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEPINBELL_1, +}; + +const union AnimCmd *const gAnims_VICTREEBEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VICTREEBEL_1, +}; + +const union AnimCmd *const gAnims_TENTACOOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TENTACOOL_1, +}; + +const union AnimCmd *const gAnims_TENTACRUEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TENTACRUEL_1, +}; + +const union AnimCmd *const gAnims_GEODUDE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GEODUDE_1, +}; + +const union AnimCmd *const gAnims_GRAVELER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRAVELER_1, +}; + +const union AnimCmd *const gAnims_GOLEM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLEM_1, +}; + +const union AnimCmd *const gAnims_PONYTA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PONYTA_1, +}; + +const union AnimCmd *const gAnims_RAPIDASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAPIDASH_1, +}; + +const union AnimCmd *const gAnims_SLOWPOKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWPOKE_1, +}; + +const union AnimCmd *const gAnims_SLOWBRO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWBRO_1, +}; + +const union AnimCmd *const gAnims_MAGNEMITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGNEMITE_1, +}; + +const union AnimCmd *const gAnims_MAGNETON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGNETON_1, +}; + +const union AnimCmd *const gAnims_FARFETCHD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FARFETCHD_1, +}; + +const union AnimCmd *const gAnims_DODUO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DODUO_1, +}; + +const union AnimCmd *const gAnims_DODRIO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DODRIO_1, +}; + +const union AnimCmd *const gAnims_SEEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEEL_1, +}; + +const union AnimCmd *const gAnims_DEWGONG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DEWGONG_1, +}; + +const union AnimCmd *const gAnims_GRIMER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRIMER_1, + gAnimCmd_GRIMER_2, +}; + +const union AnimCmd *const gAnims_MUK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MUK_1, + gAnimCmd_MUK_2, +}; + +const union AnimCmd *const gAnims_SHELLDER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHELLDER_1, +}; + +const union AnimCmd *const gAnims_CLOYSTER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLOYSTER_1, +}; + +const union AnimCmd *const gAnims_GASTLY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GASTLY_1, +}; + +const union AnimCmd *const gAnims_HAUNTER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HAUNTER_1, +}; + +const union AnimCmd *const gAnims_GENGAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GENGAR_1, +}; + +const union AnimCmd *const gAnims_ONIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ONIX_1, +}; + +const union AnimCmd *const gAnims_DROWZEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DROWZEE_1, +}; + +const union AnimCmd *const gAnims_HYPNO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HYPNO_1, +}; + +const union AnimCmd *const gAnims_KRABBY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KRABBY_1, +}; + +const union AnimCmd *const gAnims_KINGLER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KINGLER_1, +}; + +const union AnimCmd *const gAnims_VOLTORB[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VOLTORB_1, +}; + +const union AnimCmd *const gAnims_ELECTRODE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTRODE_1, +}; + +const union AnimCmd *const gAnims_EXEGGCUTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXEGGCUTE_1, +}; + +const union AnimCmd *const gAnims_EXEGGUTOR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXEGGUTOR_1, +}; + +const union AnimCmd *const gAnims_CUBONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CUBONE_1, +}; + +const union AnimCmd *const gAnims_MAROWAK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAROWAK_1, +}; + +const union AnimCmd *const gAnims_HITMONLEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONLEE_1, +}; + +const union AnimCmd *const gAnims_HITMONCHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONCHAN_1, +}; + +const union AnimCmd *const gAnims_LICKITUNG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LICKITUNG_1, +}; + +const union AnimCmd *const gAnims_KOFFING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KOFFING_1, + gAnimCmd_KOFFING_2, +}; + +const union AnimCmd *const gAnims_WEEZING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WEEZING_1, + gAnimCmd_WEEZING_2, +}; + +const union AnimCmd *const gAnims_RHYHORN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RHYHORN_1, + gAnimCmd_RHYHORN_2, +}; + +const union AnimCmd *const gAnims_RHYDON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RHYDON_1, + gAnimCmd_RHYDON_2, +}; + +const union AnimCmd *const gAnims_CHANSEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHANSEY_1, +}; + +const union AnimCmd *const gAnims_TANGELA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TANGELA_1, +}; + +const union AnimCmd *const gAnims_KANGASKHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KANGASKHAN_1, +}; + +const union AnimCmd *const gAnims_HORSEA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HORSEA_1, + gAnimCmd_HORSEA_2, +}; + +const union AnimCmd *const gAnims_SEADRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEADRA_1, + gAnimCmd_SEADRA_2, +}; + +const union AnimCmd *const gAnims_GOLDEEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOLDEEN_1, +}; + +const union AnimCmd *const gAnims_SEAKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEAKING_1, +}; + +const union AnimCmd *const gAnims_STARYU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STARYU_1, + gAnimCmd_STARYU_2, +}; + +const union AnimCmd *const gAnims_STARMIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STARMIE_1, + gAnimCmd_STARMIE_2, +}; + +const union AnimCmd *const gAnims_MR_MIME[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MR_MIME_1, +}; + +const union AnimCmd *const gAnims_SCYTHER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCYTHER_1, +}; + +const union AnimCmd *const gAnims_JYNX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JYNX_1, +}; + +const union AnimCmd *const gAnims_ELECTABUZZ[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTABUZZ_1, +}; + +const union AnimCmd *const gAnims_MAGMAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGMAR_1, +}; + +const union AnimCmd *const gAnims_PINSIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PINSIR_1, + gAnimCmd_PINSIR_2, +}; + +const union AnimCmd *const gAnims_TAUROS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TAUROS_1, +}; + +const union AnimCmd *const gAnims_MAGIKARP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGIKARP_1, +}; + +const union AnimCmd *const gAnims_GYARADOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GYARADOS_1, +}; + +const union AnimCmd *const gAnims_LAPRAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LAPRAS_1, +}; + +const union AnimCmd *const gAnims_DITTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DITTO_1, +}; + +const union AnimCmd *const gAnims_EEVEE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EEVEE_1, +}; + +const union AnimCmd *const gAnims_VAPOREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VAPOREON_1, +}; + +const union AnimCmd *const gAnims_JOLTEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JOLTEON_1, +}; + +const union AnimCmd *const gAnims_FLAREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLAREON_1, +}; + +const union AnimCmd *const gAnims_PORYGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PORYGON_1, +}; + +const union AnimCmd *const gAnims_OMANYTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OMANYTE_1, +}; + +const union AnimCmd *const gAnims_OMASTAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OMASTAR_1, +}; + +const union AnimCmd *const gAnims_KABUTO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KABUTO_1, +}; + +const union AnimCmd *const gAnims_KABUTOPS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KABUTOPS_1, +}; + +const union AnimCmd *const gAnims_AERODACTYL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AERODACTYL_1, +}; + +const union AnimCmd *const gAnims_SNORLAX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNORLAX_1, +}; + +const union AnimCmd *const gAnims_ARTICUNO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARTICUNO_1, +}; + +const union AnimCmd *const gAnims_ZAPDOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZAPDOS_1, +}; + +const union AnimCmd *const gAnims_MOLTRES[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MOLTRES_1, +}; + +const union AnimCmd *const gAnims_DRATINI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRATINI_1, +}; + +const union AnimCmd *const gAnims_DRAGONAIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRAGONAIR_1, +}; + +const union AnimCmd *const gAnims_DRAGONITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DRAGONITE_1, +}; + +const union AnimCmd *const gAnims_MEWTWO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEWTWO_1, +}; + +const union AnimCmd *const gAnims_MEW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEW_1, +}; + +const union AnimCmd *const gAnims_CHIKORITA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHIKORITA_1, +}; + +const union AnimCmd *const gAnims_BAYLEEF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BAYLEEF_1, +}; + +const union AnimCmd *const gAnims_MEGANIUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEGANIUM_1, +}; + +const union AnimCmd *const gAnims_CYNDAQUIL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CYNDAQUIL_1, +}; + +const union AnimCmd *const gAnims_QUILAVA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QUILAVA_1, +}; + +const union AnimCmd *const gAnims_TYPHLOSION[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYPHLOSION_1, +}; + +const union AnimCmd *const gAnims_TOTODILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOTODILE_1, +}; + +const union AnimCmd *const gAnims_CROCONAW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CROCONAW_1, +}; + +const union AnimCmd *const gAnims_FERALIGATR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FERALIGATR_1, +}; + +const union AnimCmd *const gAnims_SENTRET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SENTRET_1, +}; + +const union AnimCmd *const gAnims_FURRET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FURRET_1, +}; + +const union AnimCmd *const gAnims_HOOTHOOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOOTHOOT_1, +}; + +const union AnimCmd *const gAnims_NOCTOWL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NOCTOWL_1, +}; + +const union AnimCmd *const gAnims_LEDYBA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LEDYBA_1, +}; + +const union AnimCmd *const gAnims_LEDIAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LEDIAN_1, +}; + +const union AnimCmd *const gAnims_SPINARAK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPINARAK_1, +}; + +const union AnimCmd *const gAnims_ARIADOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARIADOS_1, +}; + +const union AnimCmd *const gAnims_CROBAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CROBAT_1, +}; + +const union AnimCmd *const gAnims_CHINCHOU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHINCHOU_1, + gAnimCmd_CHINCHOU_2, +}; + +const union AnimCmd *const gAnims_LANTURN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LANTURN_1, + gAnimCmd_LANTURN_2, +}; + +const union AnimCmd *const gAnims_PICHU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PICHU_1, + gAnimCmd_PICHU_2, +}; + +const union AnimCmd *const gAnims_CLEFFA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLEFFA_1, +}; + +const union AnimCmd *const gAnims_IGGLYBUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_IGGLYBUFF_1, + gAnimCmd_IGGLYBUFF_2, +}; + +const union AnimCmd *const gAnims_TOGEPI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOGEPI_1, +}; + +const union AnimCmd *const gAnims_TOGETIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TOGETIC_1, +}; + +const union AnimCmd *const gAnims_NATU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NATU_1, + gAnimCmd_NATU_2, +}; + +const union AnimCmd *const gAnims_XATU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_XATU_1, + gAnimCmd_XATU_2, +}; + +const union AnimCmd *const gAnims_MAREEP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAREEP_1, +}; + +const union AnimCmd *const gAnims_FLAAFFY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLAAFFY_1, +}; + +const union AnimCmd *const gAnims_AMPHAROS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AMPHAROS_1, +}; + +const union AnimCmd *const gAnims_BELLOSSOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELLOSSOM_1, +}; + +const union AnimCmd *const gAnims_MARILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MARILL_1, +}; + +const union AnimCmd *const gAnims_AZUMARILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AZUMARILL_1, +}; + +const union AnimCmd *const gAnims_SUDOWOODO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUDOWOODO_1, +}; + +const union AnimCmd *const gAnims_POLITOED[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POLITOED_1, +}; + +const union AnimCmd *const gAnims_HOPPIP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOPPIP_1, +}; + +const union AnimCmd *const gAnims_SKIPLOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKIPLOOM_1, +}; + +const union AnimCmd *const gAnims_JUMPLUFF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JUMPLUFF_1, +}; + +const union AnimCmd *const gAnims_AIPOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AIPOM_1, +}; + +const union AnimCmd *const gAnims_SUNKERN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUNKERN_1, +}; + +const union AnimCmd *const gAnims_SUNFLORA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUNFLORA_1, +}; + +const union AnimCmd *const gAnims_YANMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_YANMA_1, +}; + +const union AnimCmd *const gAnims_WOOPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WOOPER_1, +}; + +const union AnimCmd *const gAnims_QUAGSIRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QUAGSIRE_1, +}; + +const union AnimCmd *const gAnims_ESPEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ESPEON_1, +}; + +const union AnimCmd *const gAnims_UMBREON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UMBREON_1, +}; + +const union AnimCmd *const gAnims_MURKROW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MURKROW_1, +}; + +const union AnimCmd *const gAnims_SLOWKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLOWKING_1, +}; + +const union AnimCmd *const gAnims_MISDREAVUS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MISDREAVUS_1, +}; + +const union AnimCmd *const gAnims_UNOWN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_1, +}; + +const union AnimCmd *const gAnims_WOBBUFFET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WOBBUFFET_1, + gAnimCmd_WOBBUFFET_2, +}; + +const union AnimCmd *const gAnims_GIRAFARIG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GIRAFARIG_1, + gAnimCmd_GIRAFARIG_2, +}; + +const union AnimCmd *const gAnims_PINECO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PINECO_1, +}; + +const union AnimCmd *const gAnims_FORRETRESS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FORRETRESS_1, +}; + +const union AnimCmd *const gAnims_DUNSPARCE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUNSPARCE_1, +}; + +const union AnimCmd *const gAnims_GLIGAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLIGAR_1, +}; + +const union AnimCmd *const gAnims_STEELIX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STEELIX_1, +}; + +const union AnimCmd *const gAnims_SNUBBULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNUBBULL_1, +}; + +const union AnimCmd *const gAnims_GRANBULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRANBULL_1, +}; + +const union AnimCmd *const gAnims_QWILFISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_QWILFISH_1, +}; + +const union AnimCmd *const gAnims_SCIZOR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCIZOR_1, +}; + +const union AnimCmd *const gAnims_SHUCKLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHUCKLE_1, +}; + +const union AnimCmd *const gAnims_HERACROSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HERACROSS_1, + gAnimCmd_HERACROSS_2, +}; + +const union AnimCmd *const gAnims_SNEASEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNEASEL_1, +}; + +const union AnimCmd *const gAnims_TEDDIURSA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TEDDIURSA_1, +}; + +const union AnimCmd *const gAnims_URSARING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_URSARING_1, +}; + +const union AnimCmd *const gAnims_SLUGMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLUGMA_1, + gAnimCmd_SLUGMA_2, +}; + +const union AnimCmd *const gAnims_MAGCARGO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGCARGO_1, + gAnimCmd_MAGCARGO_2, +}; + +const union AnimCmd *const gAnims_SWINUB[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWINUB_1, +}; + +const union AnimCmd *const gAnims_PILOSWINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PILOSWINE_1, +}; + +const union AnimCmd *const gAnims_CORSOLA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CORSOLA_1, + gAnimCmd_CORSOLA_2, +}; + +const union AnimCmd *const gAnims_REMORAID[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REMORAID_1, +}; + +const union AnimCmd *const gAnims_OCTILLERY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OCTILLERY_1, +}; + +const union AnimCmd *const gAnims_DELIBIRD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DELIBIRD_1, +}; + +const union AnimCmd *const gAnims_MANTINE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANTINE_1, +}; + +const union AnimCmd *const gAnims_SKARMORY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKARMORY_1, + gAnimCmd_SKARMORY_2, +}; + +const union AnimCmd *const gAnims_HOUNDOUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOUNDOUR_1, +}; + +const union AnimCmd *const gAnims_HOUNDOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HOUNDOOM_1, +}; + +const union AnimCmd *const gAnims_KINGDRA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KINGDRA_1, + gAnimCmd_KINGDRA_2, +}; + +const union AnimCmd *const gAnims_PHANPY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PHANPY_1, + gAnimCmd_PHANPY_2, +}; + +const union AnimCmd *const gAnims_DONPHAN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DONPHAN_1, + gAnimCmd_DONPHAN_2, +}; + +const union AnimCmd *const gAnims_PORYGON2[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PORYGON2_1, +}; + +const union AnimCmd *const gAnims_STANTLER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_STANTLER_1, +}; + +const union AnimCmd *const gAnims_SMEARGLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SMEARGLE_1, +}; + +const union AnimCmd *const gAnims_TYROGUE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYROGUE_1, +}; + +const union AnimCmd *const gAnims_HITMONTOP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HITMONTOP_1, +}; + +const union AnimCmd *const gAnims_SMOOCHUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SMOOCHUM_1, +}; + +const union AnimCmd *const gAnims_ELEKID[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELEKID_1, +}; + +const union AnimCmd *const gAnims_MAGBY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAGBY_1, +}; + +const union AnimCmd *const gAnims_MILTANK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MILTANK_1, +}; + +const union AnimCmd *const gAnims_BLISSEY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLISSEY_1, +}; + +const union AnimCmd *const gAnims_RAIKOU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAIKOU_1, +}; + +const union AnimCmd *const gAnims_ENTEI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ENTEI_1, +}; + +const union AnimCmd *const gAnims_SUICUNE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SUICUNE_1, +}; + +const union AnimCmd *const gAnims_LARVITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LARVITAR_1, +}; + +const union AnimCmd *const gAnims_PUPITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PUPITAR_1, +}; + +const union AnimCmd *const gAnims_TYRANITAR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TYRANITAR_1, +}; + +const union AnimCmd *const gAnims_LUGIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUGIA_1, +}; + +const union AnimCmd *const gAnims_HO_OH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HO_OH_1, +}; + +const union AnimCmd *const gAnims_CELEBI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CELEBI_1, +}; + +const union AnimCmd *const gAnims_OLD_UNOWN_B[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_OLD_UNOWN_B_1, +}; + +const union AnimCmd *const gAnims_TREECKO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TREECKO_1, +}; + +const union AnimCmd *const gAnims_GROVYLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROVYLE_1, +}; + +const union AnimCmd *const gAnims_SCEPTILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SCEPTILE_1, +}; + +const union AnimCmd *const gAnims_TORCHIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TORCHIC_1, +}; + +const union AnimCmd *const gAnims_COMBUSKEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_COMBUSKEN_1, +}; + +const union AnimCmd *const gAnims_BLAZIKEN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BLAZIKEN_1, + gAnimCmd_BLAZIKEN_2, + gAnimCmd_BLAZIKEN_3, + gAnimCmd_BLAZIKEN_4, +}; + +const union AnimCmd *const gAnims_MUDKIP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MUDKIP_1, +}; + +const union AnimCmd *const gAnims_MARSHTOMP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MARSHTOMP_1, +}; + +const union AnimCmd *const gAnims_SWAMPERT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWAMPERT_1, +}; + +const union AnimCmd *const gAnims_POOCHYENA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_POOCHYENA_1, +}; + +const union AnimCmd *const gAnims_MIGHTYENA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MIGHTYENA_1, +}; + +const union AnimCmd *const gAnims_ZIGZAGOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZIGZAGOON_1, +}; + +const union AnimCmd *const gAnims_LINOONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LINOONE_1, +}; + +const union AnimCmd *const gAnims_WURMPLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WURMPLE_1, +}; + +const union AnimCmd *const gAnims_SILCOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SILCOON_1, + gAnimCmd_SILCOON_2, +}; + +const union AnimCmd *const gAnims_BEAUTIFLY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BEAUTIFLY_1, + gAnimCmd_BEAUTIFLY_2, +}; + +const union AnimCmd *const gAnims_CASCOON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CASCOON_1, + gAnimCmd_CASCOON_2, +}; + +const union AnimCmd *const gAnims_DUSTOX[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSTOX_1, + gAnimCmd_DUSTOX_2, +}; + +const union AnimCmd *const gAnims_LOTAD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOTAD_1, +}; + +const union AnimCmd *const gAnims_LOMBRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOMBRE_1, +}; + +const union AnimCmd *const gAnims_LUDICOLO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUDICOLO_1, +}; + +const union AnimCmd *const gAnims_SEEDOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEEDOT_1, +}; + +const union AnimCmd *const gAnims_NUZLEAF[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NUZLEAF_1, +}; + +const union AnimCmd *const gAnims_SHIFTRY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHIFTRY_1, +}; + +const union AnimCmd *const gAnims_NINCADA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINCADA_1, +}; + +const union AnimCmd *const gAnims_NINJASK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NINJASK_1, +}; + +const union AnimCmd *const gAnims_SHEDINJA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHEDINJA_1, +}; + +const union AnimCmd *const gAnims_TAILLOW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TAILLOW_1, +}; + +const union AnimCmd *const gAnims_SWELLOW[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWELLOW_1, +}; + +const union AnimCmd *const gAnims_SHROOMISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHROOMISH_1, +}; + +const union AnimCmd *const gAnims_BRELOOM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BRELOOM_1, +}; + +const union AnimCmd *const gAnims_SPINDA[] ={ + gAnimCmd_General_Frame0, +}; + +const union AnimCmd *const gAnims_WINGULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WINGULL_1, +}; + +const union AnimCmd *const gAnims_PELIPPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PELIPPER_1, +}; + +const union AnimCmd *const gAnims_SURSKIT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SURSKIT_1, + gAnimCmd_SURSKIT_2, +}; + +const union AnimCmd *const gAnims_MASQUERAIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MASQUERAIN_1, + gAnimCmd_MASQUERAIN_2, +}; + +const union AnimCmd *const gAnims_WAILMER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WAILMER_1, +}; + +const union AnimCmd *const gAnims_WAILORD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WAILORD_1, +}; + +const union AnimCmd *const gAnims_SKITTY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SKITTY_1, +}; + +const union AnimCmd *const gAnims_DELCATTY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DELCATTY_1, +}; + +const union AnimCmd *const gAnims_KECLEON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KECLEON_1, +}; + +const union AnimCmd *const gAnims_BALTOY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BALTOY_1, +}; + +const union AnimCmd *const gAnims_CLAYDOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLAYDOL_1, +}; + +const union AnimCmd *const gAnims_NOSEPASS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NOSEPASS_1, +}; + +const union AnimCmd *const gAnims_TORKOAL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TORKOAL_1, +}; + +const union AnimCmd *const gAnims_SABLEYE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SABLEYE_1, +}; + +const union AnimCmd *const gAnims_BARBOACH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BARBOACH_1, +}; + +const union AnimCmd *const gAnims_WHISCASH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WHISCASH_1, +}; + +const union AnimCmd *const gAnims_LUVDISC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUVDISC_1, +}; + +const union AnimCmd *const gAnims_CORPHISH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CORPHISH_1, +}; + +const union AnimCmd *const gAnims_CRAWDAUNT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CRAWDAUNT_1, +}; + +const union AnimCmd *const gAnims_FEEBAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FEEBAS_1, +}; + +const union AnimCmd *const gAnims_MILOTIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MILOTIC_1, +}; + +const union AnimCmd *const gAnims_CARVANHA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CARVANHA_1, +}; + +const union AnimCmd *const gAnims_SHARPEDO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHARPEDO_1, +}; + +const union AnimCmd *const gAnims_TRAPINCH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TRAPINCH_1, +}; + +const union AnimCmd *const gAnims_VIBRAVA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VIBRAVA_1, +}; + +const union AnimCmd *const gAnims_FLYGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_FLYGON_1, +}; + +const union AnimCmd *const gAnims_MAKUHITA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAKUHITA_1, +}; + +const union AnimCmd *const gAnims_HARIYAMA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HARIYAMA_1, +}; + +const union AnimCmd *const gAnims_ELECTRIKE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ELECTRIKE_1, +}; + +const union AnimCmd *const gAnims_MANECTRIC[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MANECTRIC_1, +}; + +const union AnimCmd *const gAnims_NUMEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_NUMEL_1, +}; + +const union AnimCmd *const gAnims_CAMERUPT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CAMERUPT_1, +}; + +const union AnimCmd *const gAnims_SPHEAL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPHEAL_1, +}; + +const union AnimCmd *const gAnims_SEALEO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEALEO_1, +}; + +const union AnimCmd *const gAnims_WALREIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WALREIN_1, +}; + +const union AnimCmd *const gAnims_CACNEA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CACNEA_1, +}; + +const union AnimCmd *const gAnims_CACTURNE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CACTURNE_1, +}; + +const union AnimCmd *const gAnims_SNORUNT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SNORUNT_1, +}; + +const union AnimCmd *const gAnims_GLALIE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GLALIE_1, +}; + +const union AnimCmd *const gAnims_LUNATONE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LUNATONE_1, + gAnimCmd_LUNATONE_2, +}; + +const union AnimCmd *const gAnims_SOLROCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SOLROCK_1, + gAnimCmd_SOLROCK_2, +}; + +const union AnimCmd *const gAnims_AZURILL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AZURILL_1, +}; + +const union AnimCmd *const gAnims_SPOINK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SPOINK_1, +}; + +const union AnimCmd *const gAnims_GRUMPIG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GRUMPIG_1, +}; + +const union AnimCmd *const gAnims_PLUSLE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_PLUSLE_1, +}; + +const union AnimCmd *const gAnims_MINUN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MINUN_1, +}; + +const union AnimCmd *const gAnims_MAWILE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MAWILE_1, +}; + +const union AnimCmd *const gAnims_MEDITITE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEDITITE_1, +}; + +const union AnimCmd *const gAnims_MEDICHAM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_MEDICHAM_1, +}; + +const union AnimCmd *const gAnims_SWABLU[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWABLU_1, + gAnimCmd_SWABLU_2, +}; + +const union AnimCmd *const gAnims_ALTARIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ALTARIA_1, + gAnimCmd_ALTARIA_2, +}; + +const union AnimCmd *const gAnims_WYNAUT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WYNAUT_1, +}; + +const union AnimCmd *const gAnims_DUSKULL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSKULL_1, +}; + +const union AnimCmd *const gAnims_DUSCLOPS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DUSCLOPS_1, +}; + +const union AnimCmd *const gAnims_ROSELIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ROSELIA_1, +}; + +const union AnimCmd *const gAnims_SLAKOTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLAKOTH_1, +}; + +const union AnimCmd *const gAnims_VIGOROTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VIGOROTH_1, +}; + +const union AnimCmd *const gAnims_SLAKING[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SLAKING_1, +}; + +const union AnimCmd *const gAnims_GULPIN[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GULPIN_1, +}; + +const union AnimCmd *const gAnims_SWALOT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SWALOT_1, +}; + +const union AnimCmd *const gAnims_TROPIUS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_TROPIUS_1, +}; + +const union AnimCmd *const gAnims_WHISMUR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_WHISMUR_1, +}; + +const union AnimCmd *const gAnims_LOUDRED[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LOUDRED_1, +}; + +const union AnimCmd *const gAnims_EXPLOUD[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EXPLOUD_1, +}; + +const union AnimCmd *const gAnims_CLAMPERL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CLAMPERL_1, +}; + +const union AnimCmd *const gAnims_HUNTAIL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_HUNTAIL_1, +}; + +const union AnimCmd *const gAnims_GOREBYSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GOREBYSS_1, +}; + +const union AnimCmd *const gAnims_ABSOL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ABSOL_1, +}; + +const union AnimCmd *const gAnims_SHUPPET[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHUPPET_1, +}; + +const union AnimCmd *const gAnims_BANETTE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BANETTE_1, +}; + +const union AnimCmd *const gAnims_SEVIPER[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SEVIPER_1, +}; + +const union AnimCmd *const gAnims_ZANGOOSE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ZANGOOSE_1, +}; + +const union AnimCmd *const gAnims_RELICANTH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RELICANTH_1, +}; + +const union AnimCmd *const gAnims_ARON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARON_1, +}; + +const union AnimCmd *const gAnims_LAIRON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LAIRON_1, +}; + +const union AnimCmd *const gAnims_AGGRON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_AGGRON_1, +}; + +const union AnimCmd *const gAnims_CASTFORM[] ={ + gAnimCmd_CASTFORM_0, + gAnimCmd_CASTFORM_1, + gAnimCmd_CASTFORM_2, + gAnimCmd_CASTFORM_3, +}; + +const union AnimCmd *const gAnims_VOLBEAT[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_VOLBEAT_1, +}; + +const union AnimCmd *const gAnims_ILLUMISE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ILLUMISE_1, +}; + +const union AnimCmd *const gAnims_LILEEP[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LILEEP_1, +}; + +const union AnimCmd *const gAnims_CRADILY[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CRADILY_1, +}; + +const union AnimCmd *const gAnims_ANORITH[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ANORITH_1, +}; + +const union AnimCmd *const gAnims_ARMALDO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_ARMALDO_1, +}; + +const union AnimCmd *const gAnims_RALTS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RALTS_1, +}; + +const union AnimCmd *const gAnims_KIRLIA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KIRLIA_1, +}; + +const union AnimCmd *const gAnims_GARDEVOIR[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GARDEVOIR_1, +}; + +const union AnimCmd *const gAnims_BAGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BAGON_1, +}; + +const union AnimCmd *const gAnims_SHELGON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SHELGON_1, +}; + +const union AnimCmd *const gAnims_SALAMENCE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_SALAMENCE_1, +}; + +const union AnimCmd *const gAnims_BELDUM[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_BELDUM_1, +}; + +const union AnimCmd *const gAnims_METANG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METANG_1, +}; + +const union AnimCmd *const gAnims_METAGROSS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_METAGROSS_1, +}; + +const union AnimCmd *const gAnims_REGIROCK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGIROCK_1, + gAnimCmd_REGIROCK_2, +}; + +const union AnimCmd *const gAnims_REGICE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGICE_1, +}; + +const union AnimCmd *const gAnims_REGISTEEL[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_REGISTEEL_1, + gAnimCmd_REGISTEEL_2, +}; + +const union AnimCmd *const gAnims_KYOGRE[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_KYOGRE_1, + gAnimCmd_KYOGRE_2, +}; + +const union AnimCmd *const gAnims_GROUDON[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_GROUDON_1, + gAnimCmd_GROUDON_2, +}; + +const union AnimCmd *const gAnims_RAYQUAZA[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_RAYQUAZA_1, + gAnimCmd_RAYQUAZA_2, +}; + +const union AnimCmd *const gAnims_LATIAS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LATIAS_1, + gAnimCmd_LATIAS_2, +}; + +const union AnimCmd *const gAnims_LATIOS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_LATIOS_1, + gAnimCmd_LATIOS_2, +}; + +const union AnimCmd *const gAnims_JIRACHI[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_JIRACHI_1, + gAnimCmd_JIRACHI_2, +}; + +const union AnimCmd *const gAnims_DEOXYS[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_DEOXYS_1, + gAnimCmd_DEOXYS_2, +}; + +const union AnimCmd *const gAnims_CHIMECHO[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_CHIMECHO_1, +}; + +const union AnimCmd *const gAnims_EGG[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_EGG_1, +}; + +const union AnimCmd *const gAnims_UNOWN_B[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_B_1, +}; + +const union AnimCmd *const gAnims_UNOWN_C[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_C_1, +}; + +const union AnimCmd *const gAnims_UNOWN_D[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_D_1, +}; + +const union AnimCmd *const gAnims_UNOWN_E[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_E_1, +}; + +const union AnimCmd *const gAnims_UNOWN_F[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_F_1, +}; + +const union AnimCmd *const gAnims_UNOWN_G[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_G_1, +}; + +const union AnimCmd *const gAnims_UNOWN_H[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_H_1, +}; + +const union AnimCmd *const gAnims_UNOWN_I[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_I_1, +}; + +const union AnimCmd *const gAnims_UNOWN_J[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_J_1, +}; + +const union AnimCmd *const gAnims_UNOWN_K[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_K_1, +}; + +const union AnimCmd *const gAnims_UNOWN_L[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_L_1, +}; + +const union AnimCmd *const gAnims_UNOWN_M[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_M_1, +}; + +const union AnimCmd *const gAnims_UNOWN_N[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_N_1, +}; + +const union AnimCmd *const gAnims_UNOWN_O[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_O_1, +}; + +const union AnimCmd *const gAnims_UNOWN_P[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_P_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Q[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Q_1, +}; + +const union AnimCmd *const gAnims_UNOWN_R[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_R_1, +}; + +const union AnimCmd *const gAnims_UNOWN_S[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_S_1, +}; + +const union AnimCmd *const gAnims_UNOWN_T[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_T_1, +}; + +const union AnimCmd *const gAnims_UNOWN_U[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_U_1, +}; + +const union AnimCmd *const gAnims_UNOWN_V[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_V_1, +}; + +const union AnimCmd *const gAnims_UNOWN_W[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_W_1, +}; + +const union AnimCmd *const gAnims_UNOWN_X[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_X_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Y[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Y_1, +}; + +const union AnimCmd *const gAnims_UNOWN_Z[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_Z_1, +}; + +const union AnimCmd *const gAnims_UNOWN_EMARK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_EMARK_1, +}; + +const union AnimCmd *const gAnims_UNOWN_QMARK[] ={ + gAnimCmd_General_Frame0, + gAnimCmd_UNOWN_QMARK_1, +}; + +const union AnimCmd* const * const gMonAnimationsSpriteAnimsPtrTable[] = +{ + gAnims_NONE, + gAnims_BULBASAUR, + gAnims_IVYSAUR, + gAnims_VENUSAUR, + gAnims_CHARMANDER, + gAnims_CHARMELEON, + gAnims_CHARIZARD, + gAnims_SQUIRTLE, + gAnims_WARTORTLE, + gAnims_BLASTOISE, + gAnims_CATERPIE, + gAnims_METAPOD, + gAnims_BUTTERFREE, + gAnims_WEEDLE, + gAnims_KAKUNA, + gAnims_BEEDRILL, + gAnims_PIDGEY, + gAnims_PIDGEOTTO, + gAnims_PIDGEOT, + gAnims_RATTATA, + gAnims_RATICATE, + gAnims_SPEAROW, + gAnims_FEAROW, + gAnims_EKANS, + gAnims_ARBOK, + gAnims_PIKACHU, + gAnims_RAICHU, + gAnims_SANDSHREW, + gAnims_SANDSLASH, + gAnims_NIDORAN_F, + gAnims_NIDORINA, + gAnims_NIDOQUEEN, + gAnims_NIDORAN_M, + gAnims_NIDORINO, + gAnims_NIDOKING, + gAnims_CLEFAIRY, + gAnims_CLEFABLE, + gAnims_VULPIX, + gAnims_NINETALES, + gAnims_JIGGLYPUFF, + gAnims_WIGGLYTUFF, + gAnims_ZUBAT, + gAnims_GOLBAT, + gAnims_ODDISH, + gAnims_GLOOM, + gAnims_VILEPLUME, + gAnims_PARAS, + gAnims_PARASECT, + gAnims_VENONAT, + gAnims_VENOMOTH, + gAnims_DIGLETT, + gAnims_DUGTRIO, + gAnims_MEOWTH, + gAnims_PERSIAN, + gAnims_PSYDUCK, + gAnims_GOLDUCK, + gAnims_MANKEY, + gAnims_PRIMEAPE, + gAnims_GROWLITHE, + gAnims_ARCANINE, + gAnims_POLIWAG, + gAnims_POLIWHIRL, + gAnims_POLIWRATH, + gAnims_ABRA, + gAnims_KADABRA, + gAnims_ALAKAZAM, + gAnims_MACHOP, + gAnims_MACHOKE, + gAnims_MACHAMP, + gAnims_BELLSPROUT, + gAnims_WEEPINBELL, + gAnims_VICTREEBEL, + gAnims_TENTACOOL, + gAnims_TENTACRUEL, + gAnims_GEODUDE, + gAnims_GRAVELER, + gAnims_GOLEM, + gAnims_PONYTA, + gAnims_RAPIDASH, + gAnims_SLOWPOKE, + gAnims_SLOWBRO, + gAnims_MAGNEMITE, + gAnims_MAGNETON, + gAnims_FARFETCHD, + gAnims_DODUO, + gAnims_DODRIO, + gAnims_SEEL, + gAnims_DEWGONG, + gAnims_GRIMER, + gAnims_MUK, + gAnims_SHELLDER, + gAnims_CLOYSTER, + gAnims_GASTLY, + gAnims_HAUNTER, + gAnims_GENGAR, + gAnims_ONIX, + gAnims_DROWZEE, + gAnims_HYPNO, + gAnims_KRABBY, + gAnims_KINGLER, + gAnims_VOLTORB, + gAnims_ELECTRODE, + gAnims_EXEGGCUTE, + gAnims_EXEGGUTOR, + gAnims_CUBONE, + gAnims_MAROWAK, + gAnims_HITMONLEE, + gAnims_HITMONCHAN, + gAnims_LICKITUNG, + gAnims_KOFFING, + gAnims_WEEZING, + gAnims_RHYHORN, + gAnims_RHYDON, + gAnims_CHANSEY, + gAnims_TANGELA, + gAnims_KANGASKHAN, + gAnims_HORSEA, + gAnims_SEADRA, + gAnims_GOLDEEN, + gAnims_SEAKING, + gAnims_STARYU, + gAnims_STARMIE, + gAnims_MR_MIME, + gAnims_SCYTHER, + gAnims_JYNX, + gAnims_ELECTABUZZ, + gAnims_MAGMAR, + gAnims_PINSIR, + gAnims_TAUROS, + gAnims_MAGIKARP, + gAnims_GYARADOS, + gAnims_LAPRAS, + gAnims_DITTO, + gAnims_EEVEE, + gAnims_VAPOREON, + gAnims_JOLTEON, + gAnims_FLAREON, + gAnims_PORYGON, + gAnims_OMANYTE, + gAnims_OMASTAR, + gAnims_KABUTO, + gAnims_KABUTOPS, + gAnims_AERODACTYL, + gAnims_SNORLAX, + gAnims_ARTICUNO, + gAnims_ZAPDOS, + gAnims_MOLTRES, + gAnims_DRATINI, + gAnims_DRAGONAIR, + gAnims_DRAGONITE, + gAnims_MEWTWO, + gAnims_MEW, + gAnims_CHIKORITA, + gAnims_BAYLEEF, + gAnims_MEGANIUM, + gAnims_CYNDAQUIL, + gAnims_QUILAVA, + gAnims_TYPHLOSION, + gAnims_TOTODILE, + gAnims_CROCONAW, + gAnims_FERALIGATR, + gAnims_SENTRET, + gAnims_FURRET, + gAnims_HOOTHOOT, + gAnims_NOCTOWL, + gAnims_LEDYBA, + gAnims_LEDIAN, + gAnims_SPINARAK, + gAnims_ARIADOS, + gAnims_CROBAT, + gAnims_CHINCHOU, + gAnims_LANTURN, + gAnims_PICHU, + gAnims_CLEFFA, + gAnims_IGGLYBUFF, + gAnims_TOGEPI, + gAnims_TOGETIC, + gAnims_NATU, + gAnims_XATU, + gAnims_MAREEP, + gAnims_FLAAFFY, + gAnims_AMPHAROS, + gAnims_BELLOSSOM, + gAnims_MARILL, + gAnims_AZUMARILL, + gAnims_SUDOWOODO, + gAnims_POLITOED, + gAnims_HOPPIP, + gAnims_SKIPLOOM, + gAnims_JUMPLUFF, + gAnims_AIPOM, + gAnims_SUNKERN, + gAnims_SUNFLORA, + gAnims_YANMA, + gAnims_WOOPER, + gAnims_QUAGSIRE, + gAnims_ESPEON, + gAnims_UMBREON, + gAnims_MURKROW, + gAnims_SLOWKING, + gAnims_MISDREAVUS, + gAnims_UNOWN, + gAnims_WOBBUFFET, + gAnims_GIRAFARIG, + gAnims_PINECO, + gAnims_FORRETRESS, + gAnims_DUNSPARCE, + gAnims_GLIGAR, + gAnims_STEELIX, + gAnims_SNUBBULL, + gAnims_GRANBULL, + gAnims_QWILFISH, + gAnims_SCIZOR, + gAnims_SHUCKLE, + gAnims_HERACROSS, + gAnims_SNEASEL, + gAnims_TEDDIURSA, + gAnims_URSARING, + gAnims_SLUGMA, + gAnims_MAGCARGO, + gAnims_SWINUB, + gAnims_PILOSWINE, + gAnims_CORSOLA, + gAnims_REMORAID, + gAnims_OCTILLERY, + gAnims_DELIBIRD, + gAnims_MANTINE, + gAnims_SKARMORY, + gAnims_HOUNDOUR, + gAnims_HOUNDOOM, + gAnims_KINGDRA, + gAnims_PHANPY, + gAnims_DONPHAN, + gAnims_PORYGON2, + gAnims_STANTLER, + gAnims_SMEARGLE, + gAnims_TYROGUE, + gAnims_HITMONTOP, + gAnims_SMOOCHUM, + gAnims_ELEKID, + gAnims_MAGBY, + gAnims_MILTANK, + gAnims_BLISSEY, + gAnims_RAIKOU, + gAnims_ENTEI, + gAnims_SUICUNE, + gAnims_LARVITAR, + gAnims_PUPITAR, + gAnims_TYRANITAR, + gAnims_LUGIA, + gAnims_HO_OH, + gAnims_CELEBI, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_OLD_UNOWN_B, + gAnims_TREECKO, + gAnims_GROVYLE, + gAnims_SCEPTILE, + gAnims_TORCHIC, + gAnims_COMBUSKEN, + gAnims_BLAZIKEN, + gAnims_MUDKIP, + gAnims_MARSHTOMP, + gAnims_SWAMPERT, + gAnims_POOCHYENA, + gAnims_MIGHTYENA, + gAnims_ZIGZAGOON, + gAnims_LINOONE, + gAnims_WURMPLE, + gAnims_SILCOON, + gAnims_BEAUTIFLY, + gAnims_CASCOON, + gAnims_DUSTOX, + gAnims_LOTAD, + gAnims_LOMBRE, + gAnims_LUDICOLO, + gAnims_SEEDOT, + gAnims_NUZLEAF, + gAnims_SHIFTRY, + gAnims_NINCADA, + gAnims_NINJASK, + gAnims_SHEDINJA, + gAnims_TAILLOW, + gAnims_SWELLOW, + gAnims_SHROOMISH, + gAnims_BRELOOM, + gAnims_SPINDA, + gAnims_WINGULL, + gAnims_PELIPPER, + gAnims_SURSKIT, + gAnims_MASQUERAIN, + gAnims_WAILMER, + gAnims_WAILORD, + gAnims_SKITTY, + gAnims_DELCATTY, + gAnims_KECLEON, + gAnims_BALTOY, + gAnims_CLAYDOL, + gAnims_NOSEPASS, + gAnims_TORKOAL, + gAnims_SABLEYE, + gAnims_BARBOACH, + gAnims_WHISCASH, + gAnims_LUVDISC, + gAnims_CORPHISH, + gAnims_CRAWDAUNT, + gAnims_FEEBAS, + gAnims_MILOTIC, + gAnims_CARVANHA, + gAnims_SHARPEDO, + gAnims_TRAPINCH, + gAnims_VIBRAVA, + gAnims_FLYGON, + gAnims_MAKUHITA, + gAnims_HARIYAMA, + gAnims_ELECTRIKE, + gAnims_MANECTRIC, + gAnims_NUMEL, + gAnims_CAMERUPT, + gAnims_SPHEAL, + gAnims_SEALEO, + gAnims_WALREIN, + gAnims_CACNEA, + gAnims_CACTURNE, + gAnims_SNORUNT, + gAnims_GLALIE, + gAnims_LUNATONE, + gAnims_SOLROCK, + gAnims_AZURILL, + gAnims_SPOINK, + gAnims_GRUMPIG, + gAnims_PLUSLE, + gAnims_MINUN, + gAnims_MAWILE, + gAnims_MEDITITE, + gAnims_MEDICHAM, + gAnims_SWABLU, + gAnims_ALTARIA, + gAnims_WYNAUT, + gAnims_DUSKULL, + gAnims_DUSCLOPS, + gAnims_ROSELIA, + gAnims_SLAKOTH, + gAnims_VIGOROTH, + gAnims_SLAKING, + gAnims_GULPIN, + gAnims_SWALOT, + gAnims_TROPIUS, + gAnims_WHISMUR, + gAnims_LOUDRED, + gAnims_EXPLOUD, + gAnims_CLAMPERL, + gAnims_HUNTAIL, + gAnims_GOREBYSS, + gAnims_ABSOL, + gAnims_SHUPPET, + gAnims_BANETTE, + gAnims_SEVIPER, + gAnims_ZANGOOSE, + gAnims_RELICANTH, + gAnims_ARON, + gAnims_LAIRON, + gAnims_AGGRON, + gAnims_CASTFORM, + gAnims_VOLBEAT, + gAnims_ILLUMISE, + gAnims_LILEEP, + gAnims_CRADILY, + gAnims_ANORITH, + gAnims_ARMALDO, + gAnims_RALTS, + gAnims_KIRLIA, + gAnims_GARDEVOIR, + gAnims_BAGON, + gAnims_SHELGON, + gAnims_SALAMENCE, + gAnims_BELDUM, + gAnims_METANG, + gAnims_METAGROSS, + gAnims_REGIROCK, + gAnims_REGICE, + gAnims_REGISTEEL, + gAnims_KYOGRE, + gAnims_GROUDON, + gAnims_RAYQUAZA, + gAnims_LATIAS, + gAnims_LATIOS, + gAnims_JIRACHI, + gAnims_DEOXYS, + gAnims_CHIMECHO, + gAnims_EGG, + gAnims_UNOWN_B, + gAnims_UNOWN_C, + gAnims_UNOWN_D, + gAnims_UNOWN_E, + gAnims_UNOWN_F, + gAnims_UNOWN_G, + gAnims_UNOWN_H, + gAnims_UNOWN_I, + gAnims_UNOWN_J, + gAnims_UNOWN_K, + gAnims_UNOWN_L, + gAnims_UNOWN_M, + gAnims_UNOWN_N, + gAnims_UNOWN_O, + gAnims_UNOWN_P, + gAnims_UNOWN_Q, + gAnims_UNOWN_R, + gAnims_UNOWN_S, + gAnims_UNOWN_T, + gAnims_UNOWN_U, + gAnims_UNOWN_V, + gAnims_UNOWN_W, + gAnims_UNOWN_X, + gAnims_UNOWN_Y, + gAnims_UNOWN_Z, + gAnims_UNOWN_EMARK, + gAnims_UNOWN_QMARK, +}; diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h new file mode 100644 index 000000000..5aa22f4f8 --- /dev/null +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -0,0 +1,446 @@ +const struct CompressedSpriteSheet gMonFrontPicTable[] = +{ //.data .size .tag + gMonFrontPic_CircledQuestionMark, 0x800, 0, + gMonFrontPic_Bulbasaur, 0x800, 1, + gMonFrontPic_Ivysaur, 0x800, 2, + gMonFrontPic_Venusaur, 0x800, 3, + gMonFrontPic_Charmander, 0x800, 4, + gMonFrontPic_Charmeleon, 0x800, 5, + gMonFrontPic_Charizard, 0x800, 6, + gMonFrontPic_Squirtle, 0x800, 7, + gMonFrontPic_Wartortle, 0x800, 8, + gMonFrontPic_Blastoise, 0x800, 9, + gMonFrontPic_Caterpie, 0x800, 10, + gMonFrontPic_Metapod, 0x800, 11, + gMonFrontPic_Butterfree, 0x800, 12, + gMonFrontPic_Weedle, 0x800, 13, + gMonFrontPic_Kakuna, 0x800, 14, + gMonFrontPic_Beedrill, 0x800, 15, + gMonFrontPic_Pidgey, 0x800, 16, + gMonFrontPic_Pidgeotto, 0x800, 17, + gMonFrontPic_Pidgeot, 0x800, 18, + gMonFrontPic_Rattata, 0x800, 19, + gMonFrontPic_Raticate, 0x800, 20, + gMonFrontPic_Spearow, 0x800, 21, + gMonFrontPic_Fearow, 0x800, 22, + gMonFrontPic_Ekans, 0x800, 23, + gMonFrontPic_Arbok, 0x800, 24, + gMonFrontPic_Pikachu, 0x800, 25, + gMonFrontPic_Raichu, 0x800, 26, + gMonFrontPic_Sandshrew, 0x800, 27, + gMonFrontPic_Sandslash, 0x800, 28, + gMonFrontPic_NidoranF, 0x800, 29, + gMonFrontPic_Nidorina, 0x800, 30, + gMonFrontPic_Nidoqueen, 0x800, 31, + gMonFrontPic_NidoranM, 0x800, 32, + gMonFrontPic_Nidorino, 0x800, 33, + gMonFrontPic_Nidoking, 0x800, 34, + gMonFrontPic_Clefairy, 0x800, 35, + gMonFrontPic_Clefable, 0x800, 36, + gMonFrontPic_Vulpix, 0x800, 37, + gMonFrontPic_Ninetales, 0x800, 38, + gMonFrontPic_Jigglypuff, 0x800, 39, + gMonFrontPic_Wigglytuff, 0x800, 40, + gMonFrontPic_Zubat, 0x800, 41, + gMonFrontPic_Golbat, 0x800, 42, + gMonFrontPic_Oddish, 0x800, 43, + gMonFrontPic_Gloom, 0x800, 44, + gMonFrontPic_Vileplume, 0x800, 45, + gMonFrontPic_Paras, 0x800, 46, + gMonFrontPic_Parasect, 0x800, 47, + gMonFrontPic_Venonat, 0x800, 48, + gMonFrontPic_Venomoth, 0x800, 49, + gMonFrontPic_Diglett, 0x800, 50, + gMonFrontPic_Dugtrio, 0x800, 51, + gMonFrontPic_Meowth, 0x800, 52, + gMonFrontPic_Persian, 0x800, 53, + gMonFrontPic_Psyduck, 0x800, 54, + gMonFrontPic_Golduck, 0x800, 55, + gMonFrontPic_Mankey, 0x800, 56, + gMonFrontPic_Primeape, 0x800, 57, + gMonFrontPic_Growlithe, 0x800, 58, + gMonFrontPic_Arcanine, 0x800, 59, + gMonFrontPic_Poliwag, 0x800, 60, + gMonFrontPic_Poliwhirl, 0x800, 61, + gMonFrontPic_Poliwrath, 0x800, 62, + gMonFrontPic_Abra, 0x800, 63, + gMonFrontPic_Kadabra, 0x800, 64, + gMonFrontPic_Alakazam, 0x800, 65, + gMonFrontPic_Machop, 0x800, 66, + gMonFrontPic_Machoke, 0x800, 67, + gMonFrontPic_Machamp, 0x800, 68, + gMonFrontPic_Bellsprout, 0x800, 69, + gMonFrontPic_Weepinbell, 0x800, 70, + gMonFrontPic_Victreebel, 0x800, 71, + gMonFrontPic_Tentacool, 0x800, 72, + gMonFrontPic_Tentacruel, 0x800, 73, + gMonFrontPic_Geodude, 0x800, 74, + gMonFrontPic_Graveler, 0x800, 75, + gMonFrontPic_Golem, 0x800, 76, + gMonFrontPic_Ponyta, 0x800, 77, + gMonFrontPic_Rapidash, 0x800, 78, + gMonFrontPic_Slowpoke, 0x800, 79, + gMonFrontPic_Slowbro, 0x800, 80, + gMonFrontPic_Magnemite, 0x800, 81, + gMonFrontPic_Magneton, 0x800, 82, + gMonFrontPic_Farfetchd, 0x800, 83, + gMonFrontPic_Doduo, 0x800, 84, + gMonFrontPic_Dodrio, 0x800, 85, + gMonFrontPic_Seel, 0x800, 86, + gMonFrontPic_Dewgong, 0x800, 87, + gMonFrontPic_Grimer, 0x800, 88, + gMonFrontPic_Muk, 0x800, 89, + gMonFrontPic_Shellder, 0x800, 90, + gMonFrontPic_Cloyster, 0x800, 91, + gMonFrontPic_Gastly, 0x800, 92, + gMonFrontPic_Haunter, 0x800, 93, + gMonFrontPic_Gengar, 0x800, 94, + gMonFrontPic_Onix, 0x800, 95, + gMonFrontPic_Drowzee, 0x800, 96, + gMonFrontPic_Hypno, 0x800, 97, + gMonFrontPic_Krabby, 0x800, 98, + gMonFrontPic_Kingler, 0x800, 99, + gMonFrontPic_Voltorb, 0x800, 100, + gMonFrontPic_Electrode, 0x800, 101, + gMonFrontPic_Exeggcute, 0x800, 102, + gMonFrontPic_Exeggutor, 0x800, 103, + gMonFrontPic_Cubone, 0x800, 104, + gMonFrontPic_Marowak, 0x800, 105, + gMonFrontPic_Hitmonlee, 0x800, 106, + gMonFrontPic_Hitmonchan, 0x800, 107, + gMonFrontPic_Lickitung, 0x800, 108, + gMonFrontPic_Koffing, 0x800, 109, + gMonFrontPic_Weezing, 0x800, 110, + gMonFrontPic_Rhyhorn, 0x800, 111, + gMonFrontPic_Rhydon, 0x800, 112, + gMonFrontPic_Chansey, 0x800, 113, + gMonFrontPic_Tangela, 0x800, 114, + gMonFrontPic_Kangaskhan, 0x800, 115, + gMonFrontPic_Horsea, 0x800, 116, + gMonFrontPic_Seadra, 0x800, 117, + gMonFrontPic_Goldeen, 0x800, 118, + gMonFrontPic_Seaking, 0x800, 119, + gMonFrontPic_Staryu, 0x800, 120, + gMonFrontPic_Starmie, 0x800, 121, + gMonFrontPic_Mrmime, 0x800, 122, + gMonFrontPic_Scyther, 0x800, 123, + gMonFrontPic_Jynx, 0x800, 124, + gMonFrontPic_Electabuzz, 0x800, 125, + gMonFrontPic_Magmar, 0x800, 126, + gMonFrontPic_Pinsir, 0x800, 127, + gMonFrontPic_Tauros, 0x800, 128, + gMonFrontPic_Magikarp, 0x800, 129, + gMonFrontPic_Gyarados, 0x800, 130, + gMonFrontPic_Lapras, 0x800, 131, + gMonFrontPic_Ditto, 0x800, 132, + gMonFrontPic_Eevee, 0x800, 133, + gMonFrontPic_Vaporeon, 0x800, 134, + gMonFrontPic_Jolteon, 0x800, 135, + gMonFrontPic_Flareon, 0x800, 136, + gMonFrontPic_Porygon, 0x800, 137, + gMonFrontPic_Omanyte, 0x800, 138, + gMonFrontPic_Omastar, 0x800, 139, + gMonFrontPic_Kabuto, 0x800, 140, + gMonFrontPic_Kabutops, 0x800, 141, + gMonFrontPic_Aerodactyl, 0x800, 142, + gMonFrontPic_Snorlax, 0x800, 143, + gMonFrontPic_Articuno, 0x800, 144, + gMonFrontPic_Zapdos, 0x800, 145, + gMonFrontPic_Moltres, 0x800, 146, + gMonFrontPic_Dratini, 0x800, 147, + gMonFrontPic_Dragonair, 0x800, 148, + gMonFrontPic_Dragonite, 0x800, 149, + gMonFrontPic_Mewtwo, 0x800, 150, + gMonFrontPic_Mew, 0x800, 151, +// Gen II + gMonFrontPic_Chikorita, 0x800, 152, + gMonFrontPic_Bayleef, 0x800, 153, + gMonFrontPic_Meganium, 0x800, 154, + gMonFrontPic_Cyndaquil, 0x800, 155, + gMonFrontPic_Quilava, 0x800, 156, + gMonFrontPic_Typhlosion, 0x800, 157, + gMonFrontPic_Totodile, 0x800, 158, + gMonFrontPic_Croconaw, 0x800, 159, + gMonFrontPic_Feraligatr, 0x800, 160, + gMonFrontPic_Sentret, 0x800, 161, + gMonFrontPic_Furret, 0x800, 162, + gMonFrontPic_Hoothoot, 0x800, 163, + gMonFrontPic_Noctowl, 0x800, 164, + gMonFrontPic_Ledyba, 0x800, 165, + gMonFrontPic_Ledian, 0x800, 166, + gMonFrontPic_Spinarak, 0x800, 167, + gMonFrontPic_Ariados, 0x800, 168, + gMonFrontPic_Crobat, 0x800, 169, + gMonFrontPic_Chinchou, 0x800, 170, + gMonFrontPic_Lanturn, 0x800, 171, + gMonFrontPic_Pichu, 0x800, 172, + gMonFrontPic_Cleffa, 0x800, 173, + gMonFrontPic_Igglybuff, 0x800, 174, + gMonFrontPic_Togepi, 0x800, 175, + gMonFrontPic_Togetic, 0x800, 176, + gMonFrontPic_Natu, 0x800, 177, + gMonFrontPic_Xatu, 0x800, 178, + gMonFrontPic_Mareep, 0x800, 179, + gMonFrontPic_Flaaffy, 0x800, 180, + gMonFrontPic_Ampharos, 0x800, 181, + gMonFrontPic_Bellossom, 0x800, 182, + gMonFrontPic_Marill, 0x800, 183, + gMonFrontPic_Azumarill, 0x800, 184, + gMonFrontPic_Sudowoodo, 0x800, 185, + gMonFrontPic_Politoed, 0x800, 186, + gMonFrontPic_Hoppip, 0x800, 187, + gMonFrontPic_Skiploom, 0x800, 188, + gMonFrontPic_Jumpluff, 0x800, 189, + gMonFrontPic_Aipom, 0x800, 190, + gMonFrontPic_Sunkern, 0x800, 191, + gMonFrontPic_Sunflora, 0x800, 192, + gMonFrontPic_Yanma, 0x800, 193, + gMonFrontPic_Wooper, 0x800, 194, + gMonFrontPic_Quagsire, 0x800, 195, + gMonFrontPic_Espeon, 0x800, 196, + gMonFrontPic_Umbreon, 0x800, 197, + gMonFrontPic_Murkrow, 0x800, 198, + gMonFrontPic_Slowking, 0x800, 199, + gMonFrontPic_Misdreavus, 0x800, 200, + gMonFrontPic_UnownA, 0x800, 201, + gMonFrontPic_Wobbuffet, 0x800, 202, + gMonFrontPic_Girafarig, 0x800, 203, + gMonFrontPic_Pineco, 0x800, 204, + gMonFrontPic_Forretress, 0x800, 205, + gMonFrontPic_Dunsparce, 0x800, 206, + gMonFrontPic_Gligar, 0x800, 207, + gMonFrontPic_Steelix, 0x800, 208, + gMonFrontPic_Snubbull, 0x800, 209, + gMonFrontPic_Granbull, 0x800, 210, + gMonFrontPic_Qwilfish, 0x800, 211, + gMonFrontPic_Scizor, 0x800, 212, + gMonFrontPic_Shuckle, 0x800, 213, + gMonFrontPic_Heracross, 0x800, 214, + gMonFrontPic_Sneasel, 0x800, 215, + gMonFrontPic_Teddiursa, 0x800, 216, + gMonFrontPic_Ursaring, 0x800, 217, + gMonFrontPic_Slugma, 0x800, 218, + gMonFrontPic_Magcargo, 0x800, 219, + gMonFrontPic_Swinub, 0x800, 220, + gMonFrontPic_Piloswine, 0x800, 221, + gMonFrontPic_Corsola, 0x800, 222, + gMonFrontPic_Remoraid, 0x800, 223, + gMonFrontPic_Octillery, 0x800, 224, + gMonFrontPic_Delibird, 0x800, 225, + gMonFrontPic_Mantine, 0x800, 226, + gMonFrontPic_Skarmory, 0x800, 227, + gMonFrontPic_Houndour, 0x800, 228, + gMonFrontPic_Houndoom, 0x800, 229, + gMonFrontPic_Kingdra, 0x800, 230, + gMonFrontPic_Phanpy, 0x800, 231, + gMonFrontPic_Donphan, 0x800, 232, + gMonFrontPic_Porygon2, 0x800, 233, + gMonFrontPic_Stantler, 0x800, 234, + gMonFrontPic_Smeargle, 0x800, 235, + gMonFrontPic_Tyrogue, 0x800, 236, + gMonFrontPic_Hitmontop, 0x800, 237, + gMonFrontPic_Smoochum, 0x800, 238, + gMonFrontPic_Elekid, 0x800, 239, + gMonFrontPic_Magby, 0x800, 240, + gMonFrontPic_Miltank, 0x800, 241, + gMonFrontPic_Blissey, 0x800, 242, + gMonFrontPic_Raikou, 0x800, 243, + gMonFrontPic_Entei, 0x800, 244, + gMonFrontPic_Suicune, 0x800, 245, + gMonFrontPic_Larvitar, 0x800, 246, + gMonFrontPic_Pupitar, 0x800, 247, + gMonFrontPic_Tyranitar, 0x800, 248, + gMonFrontPic_Lugia, 0x800, 249, + gMonFrontPic_HoOh, 0x800, 250, + gMonFrontPic_Celebi, 0x800, 251, +// Empty slots + gMonFrontPic_DoubleQuestionMark, 0x800, 252, + gMonFrontPic_DoubleQuestionMark, 0x800, 253, + gMonFrontPic_DoubleQuestionMark, 0x800, 254, + gMonFrontPic_DoubleQuestionMark, 0x800, 255, + gMonFrontPic_DoubleQuestionMark, 0x800, 256, + gMonFrontPic_DoubleQuestionMark, 0x800, 257, + gMonFrontPic_DoubleQuestionMark, 0x800, 258, + gMonFrontPic_DoubleQuestionMark, 0x800, 259, + gMonFrontPic_DoubleQuestionMark, 0x800, 260, + gMonFrontPic_DoubleQuestionMark, 0x800, 261, + gMonFrontPic_DoubleQuestionMark, 0x800, 262, + gMonFrontPic_DoubleQuestionMark, 0x800, 263, + gMonFrontPic_DoubleQuestionMark, 0x800, 264, + gMonFrontPic_DoubleQuestionMark, 0x800, 265, + gMonFrontPic_DoubleQuestionMark, 0x800, 266, + gMonFrontPic_DoubleQuestionMark, 0x800, 267, + gMonFrontPic_DoubleQuestionMark, 0x800, 268, + gMonFrontPic_DoubleQuestionMark, 0x800, 269, + gMonFrontPic_DoubleQuestionMark, 0x800, 270, + gMonFrontPic_DoubleQuestionMark, 0x800, 271, + gMonFrontPic_DoubleQuestionMark, 0x800, 272, + gMonFrontPic_DoubleQuestionMark, 0x800, 273, + gMonFrontPic_DoubleQuestionMark, 0x800, 274, + gMonFrontPic_DoubleQuestionMark, 0x800, 275, + gMonFrontPic_DoubleQuestionMark, 0x800, 276, +// Gen III + gMonFrontPic_Treecko, 0x800, 277, + gMonFrontPic_Grovyle, 0x800, 278, + gMonFrontPic_Sceptile, 0x800, 279, + gMonFrontPic_Torchic, 0x800, 280, + gMonFrontPic_Combusken, 0x800, 281, + gMonFrontPic_Blaziken, 0x800, 282, + gMonFrontPic_Mudkip, 0x800, 283, + gMonFrontPic_Marshtomp, 0x800, 284, + gMonFrontPic_Swampert, 0x800, 285, + gMonFrontPic_Poochyena, 0x800, 286, + gMonFrontPic_Mightyena, 0x800, 287, + gMonFrontPic_Zigzagoon, 0x800, 288, + gMonFrontPic_Linoone, 0x800, 289, + gMonFrontPic_Wurmple, 0x800, 290, + gMonFrontPic_Silcoon, 0x800, 291, + gMonFrontPic_Beautifly, 0x800, 292, + gMonFrontPic_Cascoon, 0x800, 293, + gMonFrontPic_Dustox, 0x800, 294, + gMonFrontPic_Lotad, 0x800, 295, + gMonFrontPic_Lombre, 0x800, 296, + gMonFrontPic_Ludicolo, 0x800, 297, + gMonFrontPic_Seedot, 0x800, 298, + gMonFrontPic_Nuzleaf, 0x800, 299, + gMonFrontPic_Shiftry, 0x800, 300, + gMonFrontPic_Nincada, 0x800, 301, + gMonFrontPic_Ninjask, 0x800, 302, + gMonFrontPic_Shedinja, 0x800, 303, + gMonFrontPic_Taillow, 0x800, 304, + gMonFrontPic_Swellow, 0x800, 305, + gMonFrontPic_Shroomish, 0x800, 306, + gMonFrontPic_Breloom, 0x800, 307, + gMonFrontPic_Spinda, 0x800, 308, + gMonFrontPic_Wingull, 0x800, 309, + gMonFrontPic_Pelipper, 0x800, 310, + gMonFrontPic_Surskit, 0x800, 311, + gMonFrontPic_Masquerain, 0x800, 312, + gMonFrontPic_Wailmer, 0x800, 313, + gMonFrontPic_Wailord, 0x800, 314, + gMonFrontPic_Skitty, 0x800, 315, + gMonFrontPic_Delcatty, 0x800, 316, + gMonFrontPic_Kecleon, 0x800, 317, + gMonFrontPic_Baltoy, 0x800, 318, + gMonFrontPic_Claydol, 0x800, 319, + gMonFrontPic_Nosepass, 0x800, 320, + gMonFrontPic_Torkoal, 0x800, 321, + gMonFrontPic_Sableye, 0x800, 322, + gMonFrontPic_Barboach, 0x800, 323, + gMonFrontPic_Whiscash, 0x800, 324, + gMonFrontPic_Luvdisc, 0x800, 325, + gMonFrontPic_Corphish, 0x800, 326, + gMonFrontPic_Crawdaunt, 0x800, 327, + gMonFrontPic_Feebas, 0x800, 328, + gMonFrontPic_Milotic, 0x800, 329, + gMonFrontPic_Carvanha, 0x800, 330, + gMonFrontPic_Sharpedo, 0x800, 331, + gMonFrontPic_Trapinch, 0x800, 332, + gMonFrontPic_Vibrava, 0x800, 333, + gMonFrontPic_Flygon, 0x800, 334, + gMonFrontPic_Makuhita, 0x800, 335, + gMonFrontPic_Hariyama, 0x800, 336, + gMonFrontPic_Electrike, 0x800, 337, + gMonFrontPic_Manectric, 0x800, 338, + gMonFrontPic_Numel, 0x800, 339, + gMonFrontPic_Camerupt, 0x800, 340, + gMonFrontPic_Spheal, 0x800, 341, + gMonFrontPic_Sealeo, 0x800, 342, + gMonFrontPic_Walrein, 0x800, 343, + gMonFrontPic_Cacnea, 0x800, 344, + gMonFrontPic_Cacturne, 0x800, 345, + gMonFrontPic_Snorunt, 0x800, 346, + gMonFrontPic_Glalie, 0x800, 347, + gMonFrontPic_Lunatone, 0x800, 348, + gMonFrontPic_Solrock, 0x800, 349, + gMonFrontPic_Azurill, 0x800, 350, + gMonFrontPic_Spoink, 0x800, 351, + gMonFrontPic_Grumpig, 0x800, 352, + gMonFrontPic_Plusle, 0x800, 353, + gMonFrontPic_Minun, 0x800, 354, + gMonFrontPic_Mawile, 0x800, 355, + gMonFrontPic_Meditite, 0x800, 356, + gMonFrontPic_Medicham, 0x800, 357, + gMonFrontPic_Swablu, 0x800, 358, + gMonFrontPic_Altaria, 0x800, 359, + gMonFrontPic_Wynaut, 0x800, 360, + gMonFrontPic_Duskull, 0x800, 361, + gMonFrontPic_Dusclops, 0x800, 362, + gMonFrontPic_Roselia, 0x800, 363, + gMonFrontPic_Slakoth, 0x800, 364, + gMonFrontPic_Vigoroth, 0x800, 365, + gMonFrontPic_Slaking, 0x800, 366, + gMonFrontPic_Gulpin, 0x800, 367, + gMonFrontPic_Swalot, 0x800, 368, + gMonFrontPic_Tropius, 0x800, 369, + gMonFrontPic_Whismur, 0x800, 370, + gMonFrontPic_Loudred, 0x800, 371, + gMonFrontPic_Exploud, 0x800, 372, + gMonFrontPic_Clamperl, 0x800, 373, + gMonFrontPic_Huntail, 0x800, 374, + gMonFrontPic_Gorebyss, 0x800, 375, + gMonFrontPic_Absol, 0x800, 376, + gMonFrontPic_Shuppet, 0x800, 377, + gMonFrontPic_Banette, 0x800, 378, + gMonFrontPic_Seviper, 0x800, 379, + gMonFrontPic_Zangoose, 0x800, 380, + gMonFrontPic_Relicanth, 0x800, 381, + gMonFrontPic_Aron, 0x800, 382, + gMonFrontPic_Lairon, 0x800, 383, + gMonFrontPic_Aggron, 0x800, 384, + gMonFrontPic_Castform, 0x800, 385, + gMonFrontPic_Volbeat, 0x800, 386, + gMonFrontPic_Illumise, 0x800, 387, + gMonFrontPic_Lileep, 0x800, 388, + gMonFrontPic_Cradily, 0x800, 389, + gMonFrontPic_Anorith, 0x800, 390, + gMonFrontPic_Armaldo, 0x800, 391, + gMonFrontPic_Ralts, 0x800, 392, + gMonFrontPic_Kirlia, 0x800, 393, + gMonFrontPic_Gardevoir, 0x800, 394, + gMonFrontPic_Bagon, 0x800, 395, + gMonFrontPic_Shelgon, 0x800, 396, + gMonFrontPic_Salamence, 0x800, 397, + gMonFrontPic_Beldum, 0x800, 398, + gMonFrontPic_Metang, 0x800, 399, + gMonFrontPic_Metagross, 0x800, 400, + gMonFrontPic_Regirock, 0x800, 401, + gMonFrontPic_Regice, 0x800, 402, + gMonFrontPic_Registeel, 0x800, 403, + gMonFrontPic_Kyogre, 0x800, 404, + gMonFrontPic_Groudon, 0x800, 405, + gMonFrontPic_Rayquaza, 0x800, 406, + gMonFrontPic_Latias, 0x800, 407, + gMonFrontPic_Latios, 0x800, 408, + gMonFrontPic_Jirachi, 0x800, 409, + gMonFrontPic_Deoxys, 0x800, 410, + gMonFrontPic_Chimecho, 0x800, 411, + gMonFrontPic_Egg, 0x800, 412, + gMonFrontPic_UnownB, 0x800, 413, + gMonFrontPic_UnownC, 0x800, 414, + gMonFrontPic_UnownD, 0x800, 415, + gMonFrontPic_UnownE, 0x800, 416, + gMonFrontPic_UnownF, 0x800, 417, + gMonFrontPic_UnownG, 0x800, 418, + gMonFrontPic_UnownH, 0x800, 419, + gMonFrontPic_UnownI, 0x800, 420, + gMonFrontPic_UnownJ, 0x800, 421, + gMonFrontPic_UnownK, 0x800, 422, + gMonFrontPic_UnownL, 0x800, 423, + gMonFrontPic_UnownM, 0x800, 424, + gMonFrontPic_UnownN, 0x800, 425, + gMonFrontPic_UnownO, 0x800, 426, + gMonFrontPic_UnownP, 0x800, 427, + gMonFrontPic_UnownQ, 0x800, 428, + gMonFrontPic_UnownR, 0x800, 429, + gMonFrontPic_UnownS, 0x800, 430, + gMonFrontPic_UnownT, 0x800, 431, + gMonFrontPic_UnownU, 0x800, 432, + gMonFrontPic_UnownV, 0x800, 433, + gMonFrontPic_UnownW, 0x800, 434, + gMonFrontPic_UnownX, 0x800, 435, + gMonFrontPic_UnownY, 0x800, 436, + gMonFrontPic_UnownZ, 0x800, 437, + gMonFrontPic_UnownExclamationMark, 0x800, 438, + gMonFrontPic_UnownQuestionMark, 0x800, 439, +}; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h new file mode 100644 index 000000000..99412daa5 --- /dev/null +++ b/src/data/pokemon_graphics/palette_table.h @@ -0,0 +1,443 @@ +const struct CompressedSpritePalette gMonPaletteTable[] = +{ + gMonPalette_CircledQuestionMark, 0, + gMonPalette_Bulbasaur, 1, + gMonPalette_Ivysaur, 2, + gMonPalette_Venusaur, 3, + gMonPalette_Charmander, 4, + gMonPalette_Charmeleon, 5, + gMonPalette_Charizard, 6, + gMonPalette_Squirtle, 7, + gMonPalette_Wartortle, 8, + gMonPalette_Blastoise, 9, + gMonPalette_Caterpie, 10, + gMonPalette_Metapod, 11, + gMonPalette_Butterfree, 12, + gMonPalette_Weedle, 13, + gMonPalette_Kakuna, 14, + gMonPalette_Beedrill, 15, + gMonPalette_Pidgey, 16, + gMonPalette_Pidgeotto, 17, + gMonPalette_Pidgeot, 18, + gMonPalette_Rattata, 19, + gMonPalette_Raticate, 20, + gMonPalette_Spearow, 21, + gMonPalette_Fearow, 22, + gMonPalette_Ekans, 23, + gMonPalette_Arbok, 24, + gMonPalette_Pikachu, 25, + gMonPalette_Raichu, 26, + gMonPalette_Sandshrew, 27, + gMonPalette_Sandslash, 28, + gMonPalette_NidoranF, 29, + gMonPalette_Nidorina, 30, + gMonPalette_Nidoqueen, 31, + gMonPalette_NidoranM, 32, + gMonPalette_Nidorino, 33, + gMonPalette_Nidoking, 34, + gMonPalette_Clefairy, 35, + gMonPalette_Clefable, 36, + gMonPalette_Vulpix, 37, + gMonPalette_Ninetales, 38, + gMonPalette_Jigglypuff, 39, + gMonPalette_Wigglytuff, 40, + gMonPalette_Zubat, 41, + gMonPalette_Golbat, 42, + gMonPalette_Oddish, 43, + gMonPalette_Gloom, 44, + gMonPalette_Vileplume, 45, + gMonPalette_Paras, 46, + gMonPalette_Parasect, 47, + gMonPalette_Venonat, 48, + gMonPalette_Venomoth, 49, + gMonPalette_Diglett, 50, + gMonPalette_Dugtrio, 51, + gMonPalette_Meowth, 52, + gMonPalette_Persian, 53, + gMonPalette_Psyduck, 54, + gMonPalette_Golduck, 55, + gMonPalette_Mankey, 56, + gMonPalette_Primeape, 57, + gMonPalette_Growlithe, 58, + gMonPalette_Arcanine, 59, + gMonPalette_Poliwag, 60, + gMonPalette_Poliwhirl, 61, + gMonPalette_Poliwrath, 62, + gMonPalette_Abra, 63, + gMonPalette_Kadabra, 64, + gMonPalette_Alakazam, 65, + gMonPalette_Machop, 66, + gMonPalette_Machoke, 67, + gMonPalette_Machamp, 68, + gMonPalette_Bellsprout, 69, + gMonPalette_Weepinbell, 70, + gMonPalette_Victreebel, 71, + gMonPalette_Tentacool, 72, + gMonPalette_Tentacruel, 73, + gMonPalette_Geodude, 74, + gMonPalette_Graveler, 75, + gMonPalette_Golem, 76, + gMonPalette_Ponyta, 77, + gMonPalette_Rapidash, 78, + gMonPalette_Slowpoke, 79, + gMonPalette_Slowbro, 80, + gMonPalette_Magnemite, 81, + gMonPalette_Magneton, 82, + gMonPalette_Farfetchd, 83, + gMonPalette_Doduo, 84, + gMonPalette_Dodrio, 85, + gMonPalette_Seel, 86, + gMonPalette_Dewgong, 87, + gMonPalette_Grimer, 88, + gMonPalette_Muk, 89, + gMonPalette_Shellder, 90, + gMonPalette_Cloyster, 91, + gMonPalette_Gastly, 92, + gMonPalette_Haunter, 93, + gMonPalette_Gengar, 94, + gMonPalette_Onix, 95, + gMonPalette_Drowzee, 96, + gMonPalette_Hypno, 97, + gMonPalette_Krabby, 98, + gMonPalette_Kingler, 99, + gMonPalette_Voltorb, 100, + gMonPalette_Electrode, 101, + gMonPalette_Exeggcute, 102, + gMonPalette_Exeggutor, 103, + gMonPalette_Cubone, 104, + gMonPalette_Marowak, 105, + gMonPalette_Hitmonlee, 106, + gMonPalette_Hitmonchan, 107, + gMonPalette_Lickitung, 108, + gMonPalette_Koffing, 109, + gMonPalette_Weezing, 110, + gMonPalette_Rhyhorn, 111, + gMonPalette_Rhydon, 112, + gMonPalette_Chansey, 113, + gMonPalette_Tangela, 114, + gMonPalette_Kangaskhan, 115, + gMonPalette_Horsea, 116, + gMonPalette_Seadra, 117, + gMonPalette_Goldeen, 118, + gMonPalette_Seaking, 119, + gMonPalette_Staryu, 120, + gMonPalette_Starmie, 121, + gMonPalette_Mrmime, 122, + gMonPalette_Scyther, 123, + gMonPalette_Jynx, 124, + gMonPalette_Electabuzz, 125, + gMonPalette_Magmar, 126, + gMonPalette_Pinsir, 127, + gMonPalette_Tauros, 128, + gMonPalette_Magikarp, 129, + gMonPalette_Gyarados, 130, + gMonPalette_Lapras, 131, + gMonPalette_Ditto, 132, + gMonPalette_Eevee, 133, + gMonPalette_Vaporeon, 134, + gMonPalette_Jolteon, 135, + gMonPalette_Flareon, 136, + gMonPalette_Porygon, 137, + gMonPalette_Omanyte, 138, + gMonPalette_Omastar, 139, + gMonPalette_Kabuto, 140, + gMonPalette_Kabutops, 141, + gMonPalette_Aerodactyl, 142, + gMonPalette_Snorlax, 143, + gMonPalette_Articuno, 144, + gMonPalette_Zapdos, 145, + gMonPalette_Moltres, 146, + gMonPalette_Dratini, 147, + gMonPalette_Dragonair, 148, + gMonPalette_Dragonite, 149, + gMonPalette_Mewtwo, 150, + gMonPalette_Mew, 151, + gMonPalette_Chikorita, 152, + gMonPalette_Bayleef, 153, + gMonPalette_Meganium, 154, + gMonPalette_Cyndaquil, 155, + gMonPalette_Quilava, 156, + gMonPalette_Typhlosion, 157, + gMonPalette_Totodile, 158, + gMonPalette_Croconaw, 159, + gMonPalette_Feraligatr, 160, + gMonPalette_Sentret, 161, + gMonPalette_Furret, 162, + gMonPalette_Hoothoot, 163, + gMonPalette_Noctowl, 164, + gMonPalette_Ledyba, 165, + gMonPalette_Ledian, 166, + gMonPalette_Spinarak, 167, + gMonPalette_Ariados, 168, + gMonPalette_Crobat, 169, + gMonPalette_Chinchou, 170, + gMonPalette_Lanturn, 171, + gMonPalette_Pichu, 172, + gMonPalette_Cleffa, 173, + gMonPalette_Igglybuff, 174, + gMonPalette_Togepi, 175, + gMonPalette_Togetic, 176, + gMonPalette_Natu, 177, + gMonPalette_Xatu, 178, + gMonPalette_Mareep, 179, + gMonPalette_Flaaffy, 180, + gMonPalette_Ampharos, 181, + gMonPalette_Bellossom, 182, + gMonPalette_Marill, 183, + gMonPalette_Azumarill, 184, + gMonPalette_Sudowoodo, 185, + gMonPalette_Politoed, 186, + gMonPalette_Hoppip, 187, + gMonPalette_Skiploom, 188, + gMonPalette_Jumpluff, 189, + gMonPalette_Aipom, 190, + gMonPalette_Sunkern, 191, + gMonPalette_Sunflora, 192, + gMonPalette_Yanma, 193, + gMonPalette_Wooper, 194, + gMonPalette_Quagsire, 195, + gMonPalette_Espeon, 196, + gMonPalette_Umbreon, 197, + gMonPalette_Murkrow, 198, + gMonPalette_Slowking, 199, + gMonPalette_Misdreavus, 200, + gMonPalette_Unown, 201, + gMonPalette_Wobbuffet, 202, + gMonPalette_Girafarig, 203, + gMonPalette_Pineco, 204, + gMonPalette_Forretress, 205, + gMonPalette_Dunsparce, 206, + gMonPalette_Gligar, 207, + gMonPalette_Steelix, 208, + gMonPalette_Snubbull, 209, + gMonPalette_Granbull, 210, + gMonPalette_Qwilfish, 211, + gMonPalette_Scizor, 212, + gMonPalette_Shuckle, 213, + gMonPalette_Heracross, 214, + gMonPalette_Sneasel, 215, + gMonPalette_Teddiursa, 216, + gMonPalette_Ursaring, 217, + gMonPalette_Slugma, 218, + gMonPalette_Magcargo, 219, + gMonPalette_Swinub, 220, + gMonPalette_Piloswine, 221, + gMonPalette_Corsola, 222, + gMonPalette_Remoraid, 223, + gMonPalette_Octillery, 224, + gMonPalette_Delibird, 225, + gMonPalette_Mantine, 226, + gMonPalette_Skarmory, 227, + gMonPalette_Houndour, 228, + gMonPalette_Houndoom, 229, + gMonPalette_Kingdra, 230, + gMonPalette_Phanpy, 231, + gMonPalette_Donphan, 232, + gMonPalette_Porygon2, 233, + gMonPalette_Stantler, 234, + gMonPalette_Smeargle, 235, + gMonPalette_Tyrogue, 236, + gMonPalette_Hitmontop, 237, + gMonPalette_Smoochum, 238, + gMonPalette_Elekid, 239, + gMonPalette_Magby, 240, + gMonPalette_Miltank, 241, + gMonPalette_Blissey, 242, + gMonPalette_Raikou, 243, + gMonPalette_Entei, 244, + gMonPalette_Suicune, 245, + gMonPalette_Larvitar, 246, + gMonPalette_Pupitar, 247, + gMonPalette_Tyranitar, 248, + gMonPalette_Lugia, 249, + gMonPalette_HoOh, 250, + gMonPalette_Celebi, 251, + gMonPalette_DoubleQuestionMark, 252, + gMonPalette_DoubleQuestionMark, 253, + gMonPalette_DoubleQuestionMark, 254, + gMonPalette_DoubleQuestionMark, 255, + gMonPalette_DoubleQuestionMark, 256, + gMonPalette_DoubleQuestionMark, 257, + gMonPalette_DoubleQuestionMark, 258, + gMonPalette_DoubleQuestionMark, 259, + gMonPalette_DoubleQuestionMark, 260, + gMonPalette_DoubleQuestionMark, 261, + gMonPalette_DoubleQuestionMark, 262, + gMonPalette_DoubleQuestionMark, 263, + gMonPalette_DoubleQuestionMark, 264, + gMonPalette_DoubleQuestionMark, 265, + gMonPalette_DoubleQuestionMark, 266, + gMonPalette_DoubleQuestionMark, 267, + gMonPalette_DoubleQuestionMark, 268, + gMonPalette_DoubleQuestionMark, 269, + gMonPalette_DoubleQuestionMark, 270, + gMonPalette_DoubleQuestionMark, 271, + gMonPalette_DoubleQuestionMark, 272, + gMonPalette_DoubleQuestionMark, 273, + gMonPalette_DoubleQuestionMark, 274, + gMonPalette_DoubleQuestionMark, 275, + gMonPalette_DoubleQuestionMark, 276, + gMonPalette_Treecko, 277, + gMonPalette_Grovyle, 278, + gMonPalette_Sceptile, 279, + gMonPalette_Torchic, 280, + gMonPalette_Combusken, 281, + gMonPalette_Blaziken, 282, + gMonPalette_Mudkip, 283, + gMonPalette_Marshtomp, 284, + gMonPalette_Swampert, 285, + gMonPalette_Poochyena, 286, + gMonPalette_Mightyena, 287, + gMonPalette_Zigzagoon, 288, + gMonPalette_Linoone, 289, + gMonPalette_Wurmple, 290, + gMonPalette_Silcoon, 291, + gMonPalette_Beautifly, 292, + gMonPalette_Cascoon, 293, + gMonPalette_Dustox, 294, + gMonPalette_Lotad, 295, + gMonPalette_Lombre, 296, + gMonPalette_Ludicolo, 297, + gMonPalette_Seedot, 298, + gMonPalette_Nuzleaf, 299, + gMonPalette_Shiftry, 300, + gMonPalette_Nincada, 301, + gMonPalette_Ninjask, 302, + gMonPalette_Shedinja, 303, + gMonPalette_Taillow, 304, + gMonPalette_Swellow, 305, + gMonPalette_Shroomish, 306, + gMonPalette_Breloom, 307, + gMonPalette_Spinda, 308, + gMonPalette_Wingull, 309, + gMonPalette_Pelipper, 310, + gMonPalette_Surskit, 311, + gMonPalette_Masquerain, 312, + gMonPalette_Wailmer, 313, + gMonPalette_Wailord, 314, + gMonPalette_Skitty, 315, + gMonPalette_Delcatty, 316, + gMonPalette_Kecleon, 317, + gMonPalette_Baltoy, 318, + gMonPalette_Claydol, 319, + gMonPalette_Nosepass, 320, + gMonPalette_Torkoal, 321, + gMonPalette_Sableye, 322, + gMonPalette_Barboach, 323, + gMonPalette_Whiscash, 324, + gMonPalette_Luvdisc, 325, + gMonPalette_Corphish, 326, + gMonPalette_Crawdaunt, 327, + gMonPalette_Feebas, 328, + gMonPalette_Milotic, 329, + gMonPalette_Carvanha, 330, + gMonPalette_Sharpedo, 331, + gMonPalette_Trapinch, 332, + gMonPalette_Vibrava, 333, + gMonPalette_Flygon, 334, + gMonPalette_Makuhita, 335, + gMonPalette_Hariyama, 336, + gMonPalette_Electrike, 337, + gMonPalette_Manectric, 338, + gMonPalette_Numel, 339, + gMonPalette_Camerupt, 340, + gMonPalette_Spheal, 341, + gMonPalette_Sealeo, 342, + gMonPalette_Walrein, 343, + gMonPalette_Cacnea, 344, + gMonPalette_Cacturne, 345, + gMonPalette_Snorunt, 346, + gMonPalette_Glalie, 347, + gMonPalette_Lunatone, 348, + gMonPalette_Solrock, 349, + gMonPalette_Azurill, 350, + gMonPalette_Spoink, 351, + gMonPalette_Grumpig, 352, + gMonPalette_Plusle, 353, + gMonPalette_Minun, 354, + gMonPalette_Mawile, 355, + gMonPalette_Meditite, 356, + gMonPalette_Medicham, 357, + gMonPalette_Swablu, 358, + gMonPalette_Altaria, 359, + gMonPalette_Wynaut, 360, + gMonPalette_Duskull, 361, + gMonPalette_Dusclops, 362, + gMonPalette_Roselia, 363, + gMonPalette_Slakoth, 364, + gMonPalette_Vigoroth, 365, + gMonPalette_Slaking, 366, + gMonPalette_Gulpin, 367, + gMonPalette_Swalot, 368, + gMonPalette_Tropius, 369, + gMonPalette_Whismur, 370, + gMonPalette_Loudred, 371, + gMonPalette_Exploud, 372, + gMonPalette_Clamperl, 373, + gMonPalette_Huntail, 374, + gMonPalette_Gorebyss, 375, + gMonPalette_Absol, 376, + gMonPalette_Shuppet, 377, + gMonPalette_Banette, 378, + gMonPalette_Seviper, 379, + gMonPalette_Zangoose, 380, + gMonPalette_Relicanth, 381, + gMonPalette_Aron, 382, + gMonPalette_Lairon, 383, + gMonPalette_Aggron, 384, + gMonPalette_Castform, 385, + gMonPalette_Volbeat, 386, + gMonPalette_Illumise, 387, + gMonPalette_Lileep, 388, + gMonPalette_Cradily, 389, + gMonPalette_Anorith, 390, + gMonPalette_Armaldo, 391, + gMonPalette_Ralts, 392, + gMonPalette_Kirlia, 393, + gMonPalette_Gardevoir, 394, + gMonPalette_Bagon, 395, + gMonPalette_Shelgon, 396, + gMonPalette_Salamence, 397, + gMonPalette_Beldum, 398, + gMonPalette_Metang, 399, + gMonPalette_Metagross, 400, + gMonPalette_Regirock, 401, + gMonPalette_Regice, 402, + gMonPalette_Registeel, 403, + gMonPalette_Kyogre, 404, + gMonPalette_Groudon, 405, + gMonPalette_Rayquaza, 406, + gMonPalette_Latias, 407, + gMonPalette_Latios, 408, + gMonPalette_Jirachi, 409, + gMonPalette_Deoxys, 410, + gMonPalette_Chimecho, 411, + gMonPalette_Egg, 412, + gMonPalette_Unown, 413, + gMonPalette_Unown, 414, + gMonPalette_Unown, 415, + gMonPalette_Unown, 416, + gMonPalette_Unown, 417, + gMonPalette_Unown, 418, + gMonPalette_Unown, 419, + gMonPalette_Unown, 420, + gMonPalette_Unown, 421, + gMonPalette_Unown, 422, + gMonPalette_Unown, 423, + gMonPalette_Unown, 424, + gMonPalette_Unown, 425, + gMonPalette_Unown, 426, + gMonPalette_Unown, 427, + gMonPalette_Unown, 428, + gMonPalette_Unown, 429, + gMonPalette_Unown, 430, + gMonPalette_Unown, 431, + gMonPalette_Unown, 432, + gMonPalette_Unown, 433, + gMonPalette_Unown, 434, + gMonPalette_Unown, 435, + gMonPalette_Unown, 436, + gMonPalette_Unown, 437, + gMonPalette_Unown, 438, + gMonPalette_Unown, 439, +}; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h new file mode 100644 index 000000000..91708fafa --- /dev/null +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -0,0 +1,443 @@ +const struct CompressedSpritePalette gMonShinyPaletteTable[] = +{ + gMonShinyPalette_CircledQuestionMark, 500, + gMonShinyPalette_Bulbasaur, 501, + gMonShinyPalette_Ivysaur, 502, + gMonShinyPalette_Venusaur, 503, + gMonShinyPalette_Charmander, 504, + gMonShinyPalette_Charmeleon, 505, + gMonShinyPalette_Charizard, 506, + gMonShinyPalette_Squirtle, 507, + gMonShinyPalette_Wartortle, 508, + gMonShinyPalette_Blastoise, 509, + gMonShinyPalette_Caterpie, 510, + gMonShinyPalette_Metapod, 511, + gMonShinyPalette_Butterfree, 512, + gMonShinyPalette_Weedle, 513, + gMonShinyPalette_Kakuna, 514, + gMonShinyPalette_Beedrill, 515, + gMonShinyPalette_Pidgey, 516, + gMonShinyPalette_Pidgeotto, 517, + gMonShinyPalette_Pidgeot, 518, + gMonShinyPalette_Rattata, 519, + gMonShinyPalette_Raticate, 520, + gMonShinyPalette_Spearow, 521, + gMonShinyPalette_Fearow, 522, + gMonShinyPalette_Ekans, 523, + gMonShinyPalette_Arbok, 524, + gMonShinyPalette_Pikachu, 525, + gMonShinyPalette_Raichu, 526, + gMonShinyPalette_Sandshrew, 527, + gMonShinyPalette_Sandslash, 528, + gMonShinyPalette_NidoranF, 529, + gMonShinyPalette_Nidorina, 530, + gMonShinyPalette_Nidoqueen, 531, + gMonShinyPalette_NidoranM, 532, + gMonShinyPalette_Nidorino, 533, + gMonShinyPalette_Nidoking, 534, + gMonShinyPalette_Clefairy, 535, + gMonShinyPalette_Clefable, 536, + gMonShinyPalette_Vulpix, 537, + gMonShinyPalette_Ninetales, 538, + gMonShinyPalette_Jigglypuff, 539, + gMonShinyPalette_Wigglytuff, 540, + gMonShinyPalette_Zubat, 541, + gMonShinyPalette_Golbat, 542, + gMonShinyPalette_Oddish, 543, + gMonShinyPalette_Gloom, 544, + gMonShinyPalette_Vileplume, 545, + gMonShinyPalette_Paras, 546, + gMonShinyPalette_Parasect, 547, + gMonShinyPalette_Venonat, 548, + gMonShinyPalette_Venomoth, 549, + gMonShinyPalette_Diglett, 550, + gMonShinyPalette_Dugtrio, 551, + gMonShinyPalette_Meowth, 552, + gMonShinyPalette_Persian, 553, + gMonShinyPalette_Psyduck, 554, + gMonShinyPalette_Golduck, 555, + gMonShinyPalette_Mankey, 556, + gMonShinyPalette_Primeape, 557, + gMonShinyPalette_Growlithe, 558, + gMonShinyPalette_Arcanine, 559, + gMonShinyPalette_Poliwag, 560, + gMonShinyPalette_Poliwhirl, 561, + gMonShinyPalette_Poliwrath, 562, + gMonShinyPalette_Abra, 563, + gMonShinyPalette_Kadabra, 564, + gMonShinyPalette_Alakazam, 565, + gMonShinyPalette_Machop, 566, + gMonShinyPalette_Machoke, 567, + gMonShinyPalette_Machamp, 568, + gMonShinyPalette_Bellsprout, 569, + gMonShinyPalette_Weepinbell, 570, + gMonShinyPalette_Victreebel, 571, + gMonShinyPalette_Tentacool, 572, + gMonShinyPalette_Tentacruel, 573, + gMonShinyPalette_Geodude, 574, + gMonShinyPalette_Graveler, 575, + gMonShinyPalette_Golem, 576, + gMonShinyPalette_Ponyta, 577, + gMonShinyPalette_Rapidash, 578, + gMonShinyPalette_Slowpoke, 579, + gMonShinyPalette_Slowbro, 580, + gMonShinyPalette_Magnemite, 581, + gMonShinyPalette_Magneton, 582, + gMonShinyPalette_Farfetchd, 583, + gMonShinyPalette_Doduo, 584, + gMonShinyPalette_Dodrio, 585, + gMonShinyPalette_Seel, 586, + gMonShinyPalette_Dewgong, 587, + gMonShinyPalette_Grimer, 588, + gMonShinyPalette_Muk, 589, + gMonShinyPalette_Shellder, 590, + gMonShinyPalette_Cloyster, 591, + gMonShinyPalette_Gastly, 592, + gMonShinyPalette_Haunter, 593, + gMonShinyPalette_Gengar, 594, + gMonShinyPalette_Onix, 595, + gMonShinyPalette_Drowzee, 596, + gMonShinyPalette_Hypno, 597, + gMonShinyPalette_Krabby, 598, + gMonShinyPalette_Kingler, 599, + gMonShinyPalette_Voltorb, 600, + gMonShinyPalette_Electrode, 601, + gMonShinyPalette_Exeggcute, 602, + gMonShinyPalette_Exeggutor, 603, + gMonShinyPalette_Cubone, 604, + gMonShinyPalette_Marowak, 605, + gMonShinyPalette_Hitmonlee, 606, + gMonShinyPalette_Hitmonchan, 607, + gMonShinyPalette_Lickitung, 608, + gMonShinyPalette_Koffing, 609, + gMonShinyPalette_Weezing, 610, + gMonShinyPalette_Rhyhorn, 611, + gMonShinyPalette_Rhydon, 612, + gMonShinyPalette_Chansey, 613, + gMonShinyPalette_Tangela, 614, + gMonShinyPalette_Kangaskhan, 615, + gMonShinyPalette_Horsea, 616, + gMonShinyPalette_Seadra, 617, + gMonShinyPalette_Goldeen, 618, + gMonShinyPalette_Seaking, 619, + gMonShinyPalette_Staryu, 620, + gMonShinyPalette_Starmie, 621, + gMonShinyPalette_Mrmime, 622, + gMonShinyPalette_Scyther, 623, + gMonShinyPalette_Jynx, 624, + gMonShinyPalette_Electabuzz, 625, + gMonShinyPalette_Magmar, 626, + gMonShinyPalette_Pinsir, 627, + gMonShinyPalette_Tauros, 628, + gMonShinyPalette_Magikarp, 629, + gMonShinyPalette_Gyarados, 630, + gMonShinyPalette_Lapras, 631, + gMonShinyPalette_Ditto, 632, + gMonShinyPalette_Eevee, 633, + gMonShinyPalette_Vaporeon, 634, + gMonShinyPalette_Jolteon, 635, + gMonShinyPalette_Flareon, 636, + gMonShinyPalette_Porygon, 637, + gMonShinyPalette_Omanyte, 638, + gMonShinyPalette_Omastar, 639, + gMonShinyPalette_Kabuto, 640, + gMonShinyPalette_Kabutops, 641, + gMonShinyPalette_Aerodactyl, 642, + gMonShinyPalette_Snorlax, 643, + gMonShinyPalette_Articuno, 644, + gMonShinyPalette_Zapdos, 645, + gMonShinyPalette_Moltres, 646, + gMonShinyPalette_Dratini, 647, + gMonShinyPalette_Dragonair, 648, + gMonShinyPalette_Dragonite, 649, + gMonShinyPalette_Mewtwo, 650, + gMonShinyPalette_Mew, 651, + gMonShinyPalette_Chikorita, 652, + gMonShinyPalette_Bayleef, 653, + gMonShinyPalette_Meganium, 654, + gMonShinyPalette_Cyndaquil, 655, + gMonShinyPalette_Quilava, 656, + gMonShinyPalette_Typhlosion, 657, + gMonShinyPalette_Totodile, 658, + gMonShinyPalette_Croconaw, 659, + gMonShinyPalette_Feraligatr, 660, + gMonShinyPalette_Sentret, 661, + gMonShinyPalette_Furret, 662, + gMonShinyPalette_Hoothoot, 663, + gMonShinyPalette_Noctowl, 664, + gMonShinyPalette_Ledyba, 665, + gMonShinyPalette_Ledian, 666, + gMonShinyPalette_Spinarak, 667, + gMonShinyPalette_Ariados, 668, + gMonShinyPalette_Crobat, 669, + gMonShinyPalette_Chinchou, 670, + gMonShinyPalette_Lanturn, 671, + gMonShinyPalette_Pichu, 672, + gMonShinyPalette_Cleffa, 673, + gMonShinyPalette_Igglybuff, 674, + gMonShinyPalette_Togepi, 675, + gMonShinyPalette_Togetic, 676, + gMonShinyPalette_Natu, 677, + gMonShinyPalette_Xatu, 678, + gMonShinyPalette_Mareep, 679, + gMonShinyPalette_Flaaffy, 680, + gMonShinyPalette_Ampharos, 681, + gMonShinyPalette_Bellossom, 682, + gMonShinyPalette_Marill, 683, + gMonShinyPalette_Azumarill, 684, + gMonShinyPalette_Sudowoodo, 685, + gMonShinyPalette_Politoed, 686, + gMonShinyPalette_Hoppip, 687, + gMonShinyPalette_Skiploom, 688, + gMonShinyPalette_Jumpluff, 689, + gMonShinyPalette_Aipom, 690, + gMonShinyPalette_Sunkern, 691, + gMonShinyPalette_Sunflora, 692, + gMonShinyPalette_Yanma, 693, + gMonShinyPalette_Wooper, 694, + gMonShinyPalette_Quagsire, 695, + gMonShinyPalette_Espeon, 696, + gMonShinyPalette_Umbreon, 697, + gMonShinyPalette_Murkrow, 698, + gMonShinyPalette_Slowking, 699, + gMonShinyPalette_Misdreavus, 700, + gMonShinyPalette_Unown, 701, + gMonShinyPalette_Wobbuffet, 702, + gMonShinyPalette_Girafarig, 703, + gMonShinyPalette_Pineco, 704, + gMonShinyPalette_Forretress, 705, + gMonShinyPalette_Dunsparce, 706, + gMonShinyPalette_Gligar, 707, + gMonShinyPalette_Steelix, 708, + gMonShinyPalette_Snubbull, 709, + gMonShinyPalette_Granbull, 710, + gMonShinyPalette_Qwilfish, 711, + gMonShinyPalette_Scizor, 712, + gMonShinyPalette_Shuckle, 713, + gMonShinyPalette_Heracross, 714, + gMonShinyPalette_Sneasel, 715, + gMonShinyPalette_Teddiursa, 716, + gMonShinyPalette_Ursaring, 717, + gMonShinyPalette_Slugma, 718, + gMonShinyPalette_Magcargo, 719, + gMonShinyPalette_Swinub, 720, + gMonShinyPalette_Piloswine, 721, + gMonShinyPalette_Corsola, 722, + gMonShinyPalette_Remoraid, 723, + gMonShinyPalette_Octillery, 724, + gMonShinyPalette_Delibird, 725, + gMonShinyPalette_Mantine, 726, + gMonShinyPalette_Skarmory, 727, + gMonShinyPalette_Houndour, 728, + gMonShinyPalette_Houndoom, 729, + gMonShinyPalette_Kingdra, 730, + gMonShinyPalette_Phanpy, 731, + gMonShinyPalette_Donphan, 732, + gMonShinyPalette_Porygon2, 733, + gMonShinyPalette_Stantler, 734, + gMonShinyPalette_Smeargle, 735, + gMonShinyPalette_Tyrogue, 736, + gMonShinyPalette_Hitmontop, 737, + gMonShinyPalette_Smoochum, 738, + gMonShinyPalette_Elekid, 739, + gMonShinyPalette_Magby, 740, + gMonShinyPalette_Miltank, 741, + gMonShinyPalette_Blissey, 742, + gMonShinyPalette_Raikou, 743, + gMonShinyPalette_Entei, 744, + gMonShinyPalette_Suicune, 745, + gMonShinyPalette_Larvitar, 746, + gMonShinyPalette_Pupitar, 747, + gMonShinyPalette_Tyranitar, 748, + gMonShinyPalette_Lugia, 749, + gMonShinyPalette_HoOh, 750, + gMonShinyPalette_Celebi, 751, + gMonShinyPalette_DoubleQuestionMark, 752, + gMonShinyPalette_DoubleQuestionMark, 753, + gMonShinyPalette_DoubleQuestionMark, 754, + gMonShinyPalette_DoubleQuestionMark, 755, + gMonShinyPalette_DoubleQuestionMark, 756, + gMonShinyPalette_DoubleQuestionMark, 757, + gMonShinyPalette_DoubleQuestionMark, 758, + gMonShinyPalette_DoubleQuestionMark, 759, + gMonShinyPalette_DoubleQuestionMark, 760, + gMonShinyPalette_DoubleQuestionMark, 761, + gMonShinyPalette_DoubleQuestionMark, 762, + gMonShinyPalette_DoubleQuestionMark, 763, + gMonShinyPalette_DoubleQuestionMark, 764, + gMonShinyPalette_DoubleQuestionMark, 765, + gMonShinyPalette_DoubleQuestionMark, 766, + gMonShinyPalette_DoubleQuestionMark, 767, + gMonShinyPalette_DoubleQuestionMark, 768, + gMonShinyPalette_DoubleQuestionMark, 769, + gMonShinyPalette_DoubleQuestionMark, 770, + gMonShinyPalette_DoubleQuestionMark, 771, + gMonShinyPalette_DoubleQuestionMark, 772, + gMonShinyPalette_DoubleQuestionMark, 773, + gMonShinyPalette_DoubleQuestionMark, 774, + gMonShinyPalette_DoubleQuestionMark, 775, + gMonShinyPalette_DoubleQuestionMark, 776, + gMonShinyPalette_Treecko, 777, + gMonShinyPalette_Grovyle, 778, + gMonShinyPalette_Sceptile, 779, + gMonShinyPalette_Torchic, 780, + gMonShinyPalette_Combusken, 781, + gMonShinyPalette_Blaziken, 782, + gMonShinyPalette_Mudkip, 783, + gMonShinyPalette_Marshtomp, 784, + gMonShinyPalette_Swampert, 785, + gMonShinyPalette_Poochyena, 786, + gMonShinyPalette_Mightyena, 787, + gMonShinyPalette_Zigzagoon, 788, + gMonShinyPalette_Linoone, 789, + gMonShinyPalette_Wurmple, 790, + gMonShinyPalette_Silcoon, 791, + gMonShinyPalette_Beautifly, 792, + gMonShinyPalette_Cascoon, 793, + gMonShinyPalette_Dustox, 794, + gMonShinyPalette_Lotad, 795, + gMonShinyPalette_Lombre, 796, + gMonShinyPalette_Ludicolo, 797, + gMonShinyPalette_Seedot, 798, + gMonShinyPalette_Nuzleaf, 799, + gMonShinyPalette_Shiftry, 800, + gMonShinyPalette_Nincada, 801, + gMonShinyPalette_Ninjask, 802, + gMonShinyPalette_Shedinja, 803, + gMonShinyPalette_Taillow, 804, + gMonShinyPalette_Swellow, 805, + gMonShinyPalette_Shroomish, 806, + gMonShinyPalette_Breloom, 807, + gMonShinyPalette_Spinda, 808, + gMonShinyPalette_Wingull, 809, + gMonShinyPalette_Pelipper, 810, + gMonShinyPalette_Surskit, 811, + gMonShinyPalette_Masquerain, 812, + gMonShinyPalette_Wailmer, 813, + gMonShinyPalette_Wailord, 814, + gMonShinyPalette_Skitty, 815, + gMonShinyPalette_Delcatty, 816, + gMonShinyPalette_Kecleon, 817, + gMonShinyPalette_Baltoy, 818, + gMonShinyPalette_Claydol, 819, + gMonShinyPalette_Nosepass, 820, + gMonShinyPalette_Torkoal, 821, + gMonShinyPalette_Sableye, 822, + gMonShinyPalette_Barboach, 823, + gMonShinyPalette_Whiscash, 824, + gMonShinyPalette_Luvdisc, 825, + gMonShinyPalette_Corphish, 826, + gMonShinyPalette_Crawdaunt, 827, + gMonShinyPalette_Feebas, 828, + gMonShinyPalette_Milotic, 829, + gMonShinyPalette_Carvanha, 830, + gMonShinyPalette_Sharpedo, 831, + gMonShinyPalette_Trapinch, 832, + gMonShinyPalette_Vibrava, 833, + gMonShinyPalette_Flygon, 834, + gMonShinyPalette_Makuhita, 835, + gMonShinyPalette_Hariyama, 836, + gMonShinyPalette_Electrike, 837, + gMonShinyPalette_Manectric, 838, + gMonShinyPalette_Numel, 839, + gMonShinyPalette_Camerupt, 840, + gMonShinyPalette_Spheal, 841, + gMonShinyPalette_Sealeo, 842, + gMonShinyPalette_Walrein, 843, + gMonShinyPalette_Cacnea, 844, + gMonShinyPalette_Cacturne, 845, + gMonShinyPalette_Snorunt, 846, + gMonShinyPalette_Glalie, 847, + gMonShinyPalette_Lunatone, 848, + gMonShinyPalette_Solrock, 849, + gMonShinyPalette_Azurill, 850, + gMonShinyPalette_Spoink, 851, + gMonShinyPalette_Grumpig, 852, + gMonShinyPalette_Plusle, 853, + gMonShinyPalette_Minun, 854, + gMonShinyPalette_Mawile, 855, + gMonShinyPalette_Meditite, 856, + gMonShinyPalette_Medicham, 857, + gMonShinyPalette_Swablu, 858, + gMonShinyPalette_Altaria, 859, + gMonShinyPalette_Wynaut, 860, + gMonShinyPalette_Duskull, 861, + gMonShinyPalette_Dusclops, 862, + gMonShinyPalette_Roselia, 863, + gMonShinyPalette_Slakoth, 864, + gMonShinyPalette_Vigoroth, 865, + gMonShinyPalette_Slaking, 866, + gMonShinyPalette_Gulpin, 867, + gMonShinyPalette_Swalot, 868, + gMonShinyPalette_Tropius, 869, + gMonShinyPalette_Whismur, 870, + gMonShinyPalette_Loudred, 871, + gMonShinyPalette_Exploud, 872, + gMonShinyPalette_Clamperl, 873, + gMonShinyPalette_Huntail, 874, + gMonShinyPalette_Gorebyss, 875, + gMonShinyPalette_Absol, 876, + gMonShinyPalette_Shuppet, 877, + gMonShinyPalette_Banette, 878, + gMonShinyPalette_Seviper, 879, + gMonShinyPalette_Zangoose, 880, + gMonShinyPalette_Relicanth, 881, + gMonShinyPalette_Aron, 882, + gMonShinyPalette_Lairon, 883, + gMonShinyPalette_Aggron, 884, + gMonShinyPalette_Castform, 885, + gMonShinyPalette_Volbeat, 886, + gMonShinyPalette_Illumise, 887, + gMonShinyPalette_Lileep, 888, + gMonShinyPalette_Cradily, 889, + gMonShinyPalette_Anorith, 890, + gMonShinyPalette_Armaldo, 891, + gMonShinyPalette_Ralts, 892, + gMonShinyPalette_Kirlia, 893, + gMonShinyPalette_Gardevoir, 894, + gMonShinyPalette_Bagon, 895, + gMonShinyPalette_Shelgon, 896, + gMonShinyPalette_Salamence, 897, + gMonShinyPalette_Beldum, 898, + gMonShinyPalette_Metang, 899, + gMonShinyPalette_Metagross, 900, + gMonShinyPalette_Regirock, 901, + gMonShinyPalette_Regice, 902, + gMonShinyPalette_Registeel, 903, + gMonShinyPalette_Kyogre, 904, + gMonShinyPalette_Groudon, 905, + gMonShinyPalette_Rayquaza, 906, + gMonShinyPalette_Latias, 907, + gMonShinyPalette_Latios, 908, + gMonShinyPalette_Jirachi, 909, + gMonShinyPalette_Deoxys, 910, + gMonShinyPalette_Chimecho, 911, + gMonPalette_Egg, 912, + gMonShinyPalette_Unown, 913, + gMonShinyPalette_Unown, 914, + gMonShinyPalette_Unown, 915, + gMonShinyPalette_Unown, 916, + gMonShinyPalette_Unown, 917, + gMonShinyPalette_Unown, 918, + gMonShinyPalette_Unown, 919, + gMonShinyPalette_Unown, 920, + gMonShinyPalette_Unown, 921, + gMonShinyPalette_Unown, 922, + gMonShinyPalette_Unown, 923, + gMonShinyPalette_Unown, 924, + gMonShinyPalette_Unown, 925, + gMonShinyPalette_Unown, 926, + gMonShinyPalette_Unown, 927, + gMonShinyPalette_Unown, 928, + gMonShinyPalette_Unown, 929, + gMonShinyPalette_Unown, 930, + gMonShinyPalette_Unown, 931, + gMonShinyPalette_Unown, 932, + gMonShinyPalette_Unown, 933, + gMonShinyPalette_Unown, 934, + gMonShinyPalette_Unown, 935, + gMonShinyPalette_Unown, 936, + gMonShinyPalette_Unown, 937, + gMonShinyPalette_Unown, 938, + gMonShinyPalette_Unown, 939, +}; diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h new file mode 100644 index 000000000..9c7e3f2fc --- /dev/null +++ b/src/data/region_map/region_map_entries.h @@ -0,0 +1,421 @@ +#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H +#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H + +static const u8 sMapName_LittlerootTown[] = _("LITTLEROOT TOWN"); +static const u8 sMapName_OldaleTown[] = _("OLDALE TOWN"); +static const u8 sMapName_DewfordTown[] = _("DEWFORD TOWN"); +static const u8 sMapName_LavaridgeTown[] = _("LAVARIDGE TOWN"); +static const u8 sMapName_FallarborTown[] = _("FALLARBOR TOWN"); +static const u8 sMapName_VerdanturfTown[] = _("VERDANTURF TOWN"); +static const u8 sMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN"); +static const u8 sMapName_PetalburgCity[] = _("PETALBURG CITY"); +static const u8 sMapName_SlateportCity[] = _("SLATEPORT CITY"); +static const u8 sMapName_MauvilleCity[] = _("MAUVILLE CITY"); +static const u8 sMapName_RustboroCity[] = _("RUSTBORO CITY"); +static const u8 sMapName_FortreeCity[] = _("FORTREE CITY"); +static const u8 sMapName_LilycoveCity[] = _("LILYCOVE CITY"); +static const u8 sMapName_MossdeepCity[] = _("MOSSDEEP CITY"); +static const u8 sMapName_SootopolisCity[] = _("SOOTOPOLIS CITY"); +static const u8 sMapName_EverGrandeCity[] = _("EVER GRANDE CITY"); +static const u8 sMapName_Route101[] = _("ROUTE 101"); +static const u8 sMapName_Route102[] = _("ROUTE 102"); +static const u8 sMapName_Route103[] = _("ROUTE 103"); +static const u8 sMapName_Route104[] = _("ROUTE 104"); +static const u8 sMapName_Route105[] = _("ROUTE 105"); +static const u8 sMapName_Route106[] = _("ROUTE 106"); +static const u8 sMapName_Route107[] = _("ROUTE 107"); +static const u8 sMapName_Route108[] = _("ROUTE 108"); +static const u8 sMapName_Route109[] = _("ROUTE 109"); +static const u8 sMapName_Route110[] = _("ROUTE 110"); +static const u8 sMapName_Route111[] = _("ROUTE 111"); +static const u8 sMapName_Route112[] = _("ROUTE 112"); +static const u8 sMapName_Route113[] = _("ROUTE 113"); +static const u8 sMapName_Route114[] = _("ROUTE 114"); +static const u8 sMapName_Route115[] = _("ROUTE 115"); +static const u8 sMapName_Route116[] = _("ROUTE 116"); +static const u8 sMapName_Route117[] = _("ROUTE 117"); +static const u8 sMapName_Route118[] = _("ROUTE 118"); +static const u8 sMapName_Route119[] = _("ROUTE 119"); +static const u8 sMapName_Route120[] = _("ROUTE 120"); +static const u8 sMapName_Route121[] = _("ROUTE 121"); +static const u8 sMapName_Route122[] = _("ROUTE 122"); +static const u8 sMapName_Route123[] = _("ROUTE 123"); +static const u8 sMapName_Route124[] = _("ROUTE 124"); +static const u8 sMapName_Route125[] = _("ROUTE 125"); +static const u8 sMapName_Route126[] = _("ROUTE 126"); +static const u8 sMapName_Route127[] = _("ROUTE 127"); +static const u8 sMapName_Route128[] = _("ROUTE 128"); +static const u8 sMapName_Route129[] = _("ROUTE 129"); +static const u8 sMapName_Route130[] = _("ROUTE 130"); +static const u8 sMapName_Route131[] = _("ROUTE 131"); +static const u8 sMapName_Route132[] = _("ROUTE 132"); +static const u8 sMapName_Route133[] = _("ROUTE 133"); +static const u8 sMapName_Route134[] = _("ROUTE 134"); +static const u8 sMapName_Underwater[] = _("UNDERWATER"); +static const u8 sMapName_GraniteCave[] = _("GRANITE CAVE"); +static const u8 sMapName_MtChimney[] = _("MT. CHIMNEY"); +static const u8 sMapName_SafariZone[] = _("SAFARI ZONE"); +static const u8 sMapName_BattleFrontier[] = _("BATTLE FRONTIER"); +static const u8 sMapName_PetalburgWoods[] = _("PETALBURG WOODS"); +static const u8 sMapName_RusturfTunnel[] = _("RUSTURF TUNNEL"); +static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP"); +static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE"); +static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS"); +static const u8 sMapName_MtPyre[] = _("MT. PYRE"); +// This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a +// hideout in Emerald with their own new region map entries, and this name +// doesn't seem to be used anymore. +static const u8 sMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT"); +static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE"); +static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); +static const u8 sMapName_VictoryRoad[] = _("VICTORY ROAD"); +static const u8 sMapName_MirageIsland[] = _("MIRAGE ISLAND"); +static const u8 sMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN"); +static const u8 sMapName_SouthernIsland[] = _("SOUTHERN ISLAND"); +static const u8 sMapName_FieryPath[] = _("FIERY PATH"); +static const u8 sMapName_JaggedPass[] = _("JAGGED PASS"); +static const u8 sMapName_SealedChamber[] = _("SEALED CHAMBER"); +static const u8 sMapName_ScorchedSlab[] = _("SCORCHED SLAB"); +static const u8 sMapName_IslandCave[] = _("ISLAND CAVE"); +static const u8 sMapName_DesertRuins[] = _("DESERT RUINS"); +static const u8 sMapName_AncientTomb[] = _("ANCIENT TOMB"); +static const u8 sMapName_InsideOfTruck[] = _("INSIDE OF TRUCK"); +static const u8 sMapName_SkyPillar[] = _("SKY PILLAR"); +static const u8 sMapName_SecretBase[] = _("SECRET BASE"); +static const u8 sMapName_None[] = _(""); +static const u8 sMapName_PalletTown[] = _("PALLET TOWN"); +static const u8 sMapName_ViridianCity[] = _("VIRIDIAN CITY"); +static const u8 sMapName_PewterCity[] = _("PEWTER CITY"); +static const u8 sMapName_CeruleanCity[] = _("CERULEAN CITY"); +static const u8 sMapName_LavenderTown[] = _("LAVENDER TOWN"); +static const u8 sMapName_VermilionCity[] = _("VERMILION CITY"); +static const u8 sMapName_CeladonCity[] = _("CELADON CITY"); +static const u8 sMapName_FuchsiaCity[] = _("FUCHSIA CITY"); +static const u8 sMapName_CinnabarIsland[] = _("CINNABAR ISLAND"); +static const u8 sMapName_IndigoPlateau[] = _("INDIGO PLATEAU"); +static const u8 sMapName_SaffronCity[] = _("SAFFRON CITY"); +static const u8 sMapName_Route4[] = _("ROUTE 4"); +static const u8 sMapName_Route10[] = _("ROUTE 10"); +static const u8 sMapName_Route1[] = _("ROUTE 1"); +static const u8 sMapName_Route2[] = _("ROUTE 2"); +static const u8 sMapName_Route3[] = _("ROUTE 3"); +static const u8 sMapName_Route4_2[] = _("ROUTE 4"); +static const u8 sMapName_Route5[] = _("ROUTE 5"); +static const u8 sMapName_Route6[] = _("ROUTE 6"); +static const u8 sMapName_Route7[] = _("ROUTE 7"); +static const u8 sMapName_Route8[] = _("ROUTE 8"); +static const u8 sMapName_Route9[] = _("ROUTE 9"); +static const u8 sMapName_Route10_2[] = _("ROUTE 10"); +static const u8 sMapName_Route11[] = _("ROUTE 11"); +static const u8 sMapName_Route12[] = _("ROUTE 12"); +static const u8 sMapName_Route13[] = _("ROUTE 13"); +static const u8 sMapName_Route14[] = _("ROUTE 14"); +static const u8 sMapName_Route15[] = _("ROUTE 15"); +static const u8 sMapName_Route16[] = _("ROUTE 16"); +static const u8 sMapName_Route17[] = _("ROUTE 17"); +static const u8 sMapName_Route18[] = _("ROUTE 18"); +static const u8 sMapName_Route19[] = _("ROUTE 19"); +static const u8 sMapName_Route20[] = _("ROUTE 20"); +static const u8 sMapName_Route21[] = _("ROUTE 21"); +static const u8 sMapName_Route22[] = _("ROUTE 22"); +static const u8 sMapName_Route23[] = _("ROUTE 23"); +static const u8 sMapName_Route24[] = _("ROUTE 24"); +static const u8 sMapName_Route25[] = _("ROUTE 25"); +static const u8 sMapName_ViridianForest[] = _("VIRIDIAN FOREST"); +static const u8 sMapName_MtMoon[] = _("MT. MOON"); +static const u8 sMapName_SSAnne[] = _("S.S. ANNE"); +static const u8 sMapName_UndergroundPath[] = _("UNDERGROUND PATH"); +static const u8 sMapName_UndergroundPath2[] = _("UNDERGROUND PATH"); +static const u8 sMapName_DiglettsCave[] = _("DIGLETT’S CAVE"); +static const u8 sMapName_KantoVictoryRoad[] = _("VICTORY ROAD"); +static const u8 sMapName_RocketHideout[] = _("ROCKET HIDEOUT"); +static const u8 sMapName_SilphCo[] = _("SILPH CO."); +static const u8 sMapName_PokemonMansion[] = _("POKéMON MANSION"); +static const u8 sMapName_KantoSafariZone[] = _("SAFARI ZONE"); +static const u8 sMapName_PokemonLeague[] = _("POKéMON LEAGUE"); +static const u8 sMapName_RockTunnel[] = _("ROCK TUNNEL"); +static const u8 sMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS"); +static const u8 sMapName_PokemonTower[] = _("POKéMON TOWER"); +static const u8 sMapName_CeruleanCave[] = _("CERULEAN CAVE"); +static const u8 sMapName_PowerPlant[] = _("POWER PLANT"); +static const u8 sMapName_OneIsland[] = _("ONE ISLAND"); +static const u8 sMapName_TwoIsland[] = _("TWO ISLAND"); +static const u8 sMapName_ThreeIsland[] = _("THREE ISLAND"); +static const u8 sMapName_FourIsland[] = _("FOUR ISLAND"); +static const u8 sMapName_FiveIsland[] = _("FIVE ISLAND"); +static const u8 sMapName_SevenIsland[] = _("SEVEN ISLAND"); +static const u8 sMapName_SixIsland[] = _("SIX ISLAND"); +static const u8 sMapName_KindleRoad[] = _("KINDLE ROAD"); +static const u8 sMapName_TreasureBeach[] = _("TREASURE BEACH"); +static const u8 sMapName_CapeBrink[] = _("CAPE BRINK"); +static const u8 sMapName_BondBridge[] = _("BOND BRIDGE"); +static const u8 sMapName_ThreeIslePort[] = _("THREE ISLE PORT"); +static const u8 sMapName_SeviiIsle6[] = _("SEVII ISLE 6"); +static const u8 sMapName_SeviiIsle7[] = _("SEVII ISLE 7"); +static const u8 sMapName_SeviiIsle8[] = _("SEVII ISLE 8"); +static const u8 sMapName_SeviiIsle9[] = _("SEVII ISLE 9"); +static const u8 sMapName_ResortGorgeous[] = _("RESORT GORGEOUS"); +static const u8 sMapName_WaterLabyrinth[] = _("WATER LABYRINTH"); +static const u8 sMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW"); +static const u8 sMapName_MemorialPillar[] = _("MEMORIAL PILLAR"); +static const u8 sMapName_OutcastIsland[] = _("OUTCAST ISLAND"); +static const u8 sMapName_GreenPath[] = _("GREEN PATH"); +static const u8 sMapName_WaterPath[] = _("WATER PATH"); +static const u8 sMapName_RuinValley[] = _("RUIN VALLEY"); +static const u8 sMapName_TrainerTower[] = _("TRAINER TOWER"); +static const u8 sMapName_CanyonEntrance[] = _("CANYON ENTRANCE"); +static const u8 sMapName_SevaultCanyon[] = _("SEVAULT CANYON"); +static const u8 sMapName_TanobyRuins[] = _("TANOBY RUINS"); +static const u8 sMapName_SeviiIsle22[] = _("SEVII ISLE 22"); +static const u8 sMapName_SeviiIsle23[] = _("SEVII ISLE 23"); +static const u8 sMapName_SeviiIsle24[] = _("SEVII ISLE 24"); +static const u8 sMapName_NavelRock[] = _("NAVEL ROCK"); +static const u8 sMapName_MtEmber[] = _("MT. EMBER"); +static const u8 sMapName_BerryForest[] = _("BERRY FOREST"); +static const u8 sMapName_IcefallCave[] = _("ICEFALL CAVE"); +static const u8 sMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE"); +static const u8 sMapName_TrainerTower2[] = _("TRAINER TOWER"); +static const u8 sMapName_DottedHole[] = _("DOTTED HOLE"); +static const u8 sMapName_LostCave[] = _("LOST CAVE"); +static const u8 sMapName_PatternBush[] = _("PATTERN BUSH"); +static const u8 sMapName_AlteringCave[] = _("ALTERING CAVE"); +static const u8 sMapName_TanobyChambers[] = _("TANOBY CHAMBERS"); +static const u8 sMapName_ThreeIslePath[] = _("THREE ISLE PATH"); +static const u8 sMapName_TanobyKey[] = _("TANOBY KEY"); +static const u8 sMapName_BirthIsland[] = _("BIRTH ISLAND"); +static const u8 sMapName_MoneanChamber[] = _("MONEAN CHAMBER"); +static const u8 sMapName_LiptooChamber[] = _("LIPTOO CHAMBER"); +static const u8 sMapName_WeepthChamber[] = _("WEEPTH CHAMBER"); +static const u8 sMapName_DilfordChamber[] = _("DILFORD CHAMBER"); +static const u8 sMapName_ScufibChamber[] = _("SCUFIB CHAMBER"); +static const u8 sMapName_RixyChamber[] = _("RIXY CHAMBER"); +static const u8 sMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER"); +static const u8 sMapName_EmberSpa[] = _("EMBER SPA"); +static const u8 sMapName_SpecialArea[] = _("SPECIAL AREA"); +static const u8 sMapName_AquaHideout[] = _("AQUA HIDEOUT"); +static const u8 sMapName_MagmaHideout[] = _("MAGMA HIDEOUT"); +static const u8 sMapName_MirageTower[] = _("MIRAGE TOWER"); +static const u8 sMapName_FarawayIsland[] = _("FARAWAY ISLAND"); +static const u8 sMapName_ArtisanCave[] = _("ARTISAN CAVE"); +static const u8 sMapName_MarineCave[] = _("MARINE CAVE"); +static const u8 sMapName_TerraCave[] = _("TERRA CAVE"); +static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); +static const u8 sMapName_TrainerHill[] = _("TRAINER HILL"); + +const struct RegionMapLocation gRegionMapEntries[] = { + { 4, 11, 1, 1, sMapName_LittlerootTown}, + { 4, 9, 1, 1, sMapName_OldaleTown}, + { 2, 14, 1, 1, sMapName_DewfordTown}, + { 5, 3, 1, 1, sMapName_LavaridgeTown}, + { 3, 0, 1, 1, sMapName_FallarborTown}, + { 4, 6, 1, 1, sMapName_VerdanturfTown}, + {17, 10, 1, 1, sMapName_PacifidlogTown}, + { 1, 9, 1, 1, sMapName_PetalburgCity}, + { 8, 10, 1, 2, sMapName_SlateportCity}, + { 8, 6, 2, 1, sMapName_MauvilleCity}, + { 0, 5, 1, 2, sMapName_RustboroCity}, + {12, 0, 1, 1, sMapName_FortreeCity}, + {18, 3, 2, 1, sMapName_LilycoveCity}, + {24, 5, 2, 1, sMapName_MossdeepCity}, + {21, 7, 1, 1, sMapName_SootopolisCity}, + {27, 8, 1, 2, sMapName_EverGrandeCity}, + { 4, 10, 1, 1, sMapName_Route101}, + { 2, 9, 2, 1, sMapName_Route102}, + { 4, 8, 4, 1, sMapName_Route103}, + { 0, 7, 1, 3, sMapName_Route104}, + { 0, 10, 1, 3, sMapName_Route105}, + { 0, 13, 2, 1, sMapName_Route106}, + { 3, 14, 3, 1, sMapName_Route107}, + { 6, 14, 2, 1, sMapName_Route108}, + { 8, 12, 1, 3, sMapName_Route109}, + { 8, 7, 1, 3, sMapName_Route110}, + { 8, 0, 1, 6, sMapName_Route111}, + { 6, 3, 2, 1, sMapName_Route112}, + { 4, 0, 4, 1, sMapName_Route113}, + { 1, 0, 2, 3, sMapName_Route114}, + { 0, 2, 1, 3, sMapName_Route115}, + { 1, 5, 4, 1, sMapName_Route116}, + { 5, 6, 3, 1, sMapName_Route117}, + {10, 6, 2, 1, sMapName_Route118}, + {11, 0, 1, 6, sMapName_Route119}, + {13, 0, 1, 4, sMapName_Route120}, + {14, 3, 4, 1, sMapName_Route121}, + {16, 4, 1, 2, sMapName_Route122}, + {12, 6, 5, 1, sMapName_Route123}, + {20, 3, 4, 3, sMapName_Route124}, + {24, 3, 2, 2, sMapName_Route125}, + {20, 6, 3, 3, sMapName_Route126}, + {23, 6, 3, 3, sMapName_Route127}, + {23, 9, 4, 1, sMapName_Route128}, + {24, 10, 2, 1, sMapName_Route129}, + {21, 10, 3, 1, sMapName_Route130}, + {18, 10, 3, 1, sMapName_Route131}, + {15, 10, 2, 1, sMapName_Route132}, + {12, 10, 3, 1, sMapName_Route133}, + { 9, 10, 3, 1, sMapName_Route134}, + {20, 3, 4, 3, sMapName_Underwater}, + {20, 6, 3, 3, sMapName_Underwater}, + {23, 6, 3, 3, sMapName_Underwater}, + {23, 9, 4, 1, sMapName_Underwater}, + {21, 7, 1, 1, sMapName_Underwater}, + { 1, 13, 1, 1, sMapName_GraniteCave}, + { 6, 2, 1, 1, sMapName_MtChimney}, + {16, 2, 1, 1, sMapName_SafariZone}, + {22, 12, 1, 1, sMapName_BattleFrontier}, + { 0, 8, 1, 1, sMapName_PetalburgWoods}, + { 2, 5, 1, 1, sMapName_RusturfTunnel}, + { 6, 14, 1, 1, sMapName_AbandonedShip}, + { 8, 7, 1, 1, sMapName_NewMauville}, + { 0, 3, 1, 1, sMapName_MeteorFalls}, + { 1, 2, 1, 1, sMapName_MeteorFalls}, + {16, 4, 1, 1, sMapName_MtPyre}, + {19, 3, 1, 1, sMapName_AquaHideoutOld}, + {24, 4, 1, 1, sMapName_ShoalCave}, + {24, 9, 1, 1, sMapName_SeafloorCavern}, + {24, 9, 1, 1, sMapName_Underwater}, + {27, 9, 1, 1, sMapName_VictoryRoad}, + {17, 10, 1, 1, sMapName_MirageIsland}, + {21, 7, 1, 1, sMapName_CaveOfOrigin}, + {12, 14, 1, 1, sMapName_SouthernIsland}, + { 6, 3, 1, 1, sMapName_FieryPath}, + { 7, 3, 1, 1, sMapName_FieryPath}, + { 6, 3, 1, 1, sMapName_JaggedPass}, + { 7, 2, 1, 1, sMapName_JaggedPass}, + {11, 10, 1, 1, sMapName_SealedChamber}, + {11, 10, 1, 1, sMapName_Underwater}, + {13, 0, 1, 1, sMapName_ScorchedSlab}, + { 0, 10, 1, 1, sMapName_IslandCave}, + { 8, 3, 1, 1, sMapName_DesertRuins}, + {13, 2, 1, 1, sMapName_AncientTomb}, + { 0, 0, 1, 1, sMapName_InsideOfTruck}, + {19, 10, 1, 1, sMapName_SkyPillar}, + { 0, 0, 1, 1, sMapName_SecretBase}, + { 0, 0, 1, 1, sMapName_None}, + { 0, 0, 1, 1, sMapName_PalletTown}, + { 0, 0, 1, 1, sMapName_ViridianCity}, + { 0, 0, 1, 1, sMapName_PewterCity}, + { 0, 0, 1, 1, sMapName_CeruleanCity}, + { 0, 0, 1, 1, sMapName_LavenderTown}, + { 0, 0, 1, 1, sMapName_VermilionCity}, + { 0, 0, 1, 1, sMapName_CeladonCity}, + { 0, 0, 1, 1, sMapName_FuchsiaCity}, + { 0, 0, 1, 1, sMapName_CinnabarIsland}, + { 0, 0, 1, 1, sMapName_IndigoPlateau}, + { 0, 0, 1, 1, sMapName_SaffronCity}, + { 0, 0, 1, 1, sMapName_Route4}, + { 0, 0, 1, 1, sMapName_Route10}, + { 0, 0, 1, 1, sMapName_Route1}, + { 0, 0, 1, 1, sMapName_Route2}, + { 0, 0, 1, 1, sMapName_Route3}, + { 0, 0, 1, 1, sMapName_Route4_2}, + { 0, 0, 1, 1, sMapName_Route5}, + { 0, 0, 1, 1, sMapName_Route6}, + { 0, 0, 1, 1, sMapName_Route7}, + { 0, 0, 1, 1, sMapName_Route8}, + { 0, 0, 1, 1, sMapName_Route9}, + { 0, 0, 1, 1, sMapName_Route10_2}, + { 0, 0, 1, 1, sMapName_Route11}, + { 0, 0, 1, 1, sMapName_Route12}, + { 0, 0, 1, 1, sMapName_Route13}, + { 0, 0, 1, 1, sMapName_Route14}, + { 0, 0, 1, 1, sMapName_Route15}, + { 0, 0, 1, 1, sMapName_Route16}, + { 0, 0, 1, 1, sMapName_Route17}, + { 0, 0, 1, 1, sMapName_Route18}, + { 0, 0, 1, 1, sMapName_Route19}, + { 0, 0, 1, 1, sMapName_Route20}, + { 0, 0, 1, 1, sMapName_Route21}, + { 0, 0, 1, 1, sMapName_Route22}, + { 0, 0, 1, 1, sMapName_Route23}, + { 0, 0, 1, 1, sMapName_Route24}, + { 0, 0, 1, 1, sMapName_Route25}, + { 0, 0, 1, 1, sMapName_ViridianForest}, + { 0, 0, 1, 1, sMapName_MtMoon}, + { 0, 0, 1, 1, sMapName_SSAnne}, + { 0, 0, 1, 1, sMapName_UndergroundPath}, + { 0, 0, 1, 1, sMapName_UndergroundPath2}, + { 0, 0, 1, 1, sMapName_DiglettsCave}, + { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, + { 0, 0, 1, 1, sMapName_RocketHideout}, + { 0, 0, 1, 1, sMapName_SilphCo}, + { 0, 0, 1, 1, sMapName_PokemonMansion}, + { 0, 0, 1, 1, sMapName_KantoSafariZone}, + { 0, 0, 1, 1, sMapName_PokemonLeague}, + { 0, 0, 1, 1, sMapName_RockTunnel}, + { 0, 0, 1, 1, sMapName_SeafoamIslands}, + { 0, 0, 1, 1, sMapName_PokemonTower}, + { 0, 0, 1, 1, sMapName_CeruleanCave}, + { 0, 0, 1, 1, sMapName_PowerPlant}, + { 0, 0, 1, 1, sMapName_OneIsland}, + { 0, 0, 1, 1, sMapName_TwoIsland}, + { 0, 0, 1, 1, sMapName_ThreeIsland}, + { 0, 0, 1, 1, sMapName_FourIsland}, + { 0, 0, 1, 1, sMapName_FiveIsland}, + { 0, 0, 1, 1, sMapName_SevenIsland}, + { 0, 0, 1, 1, sMapName_SixIsland}, + { 0, 0, 1, 1, sMapName_KindleRoad}, + { 0, 0, 1, 1, sMapName_TreasureBeach}, + { 0, 0, 1, 1, sMapName_CapeBrink}, + { 0, 0, 1, 1, sMapName_BondBridge}, + { 0, 0, 1, 1, sMapName_ThreeIslePort}, + { 0, 0, 1, 1, sMapName_SeviiIsle6}, + { 0, 0, 1, 1, sMapName_SeviiIsle7}, + { 0, 0, 1, 1, sMapName_SeviiIsle8}, + { 0, 0, 1, 1, sMapName_SeviiIsle9}, + { 0, 0, 1, 1, sMapName_ResortGorgeous}, + { 0, 0, 1, 1, sMapName_WaterLabyrinth}, + { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, + { 0, 0, 1, 1, sMapName_MemorialPillar}, + { 0, 0, 1, 1, sMapName_OutcastIsland}, + { 0, 0, 1, 1, sMapName_GreenPath}, + { 0, 0, 1, 1, sMapName_WaterPath}, + { 0, 0, 1, 1, sMapName_RuinValley}, + { 0, 0, 1, 1, sMapName_TrainerTower}, + { 0, 0, 1, 1, sMapName_CanyonEntrance}, + { 0, 0, 1, 1, sMapName_SevaultCanyon}, + { 0, 0, 1, 1, sMapName_TanobyRuins}, + { 0, 0, 1, 1, sMapName_SeviiIsle22}, + { 0, 0, 1, 1, sMapName_SeviiIsle23}, + { 0, 0, 1, 1, sMapName_SeviiIsle24}, + { 0, 0, 1, 1, sMapName_NavelRock}, + { 0, 0, 1, 1, sMapName_MtEmber}, + { 0, 0, 1, 1, sMapName_BerryForest}, + { 0, 0, 1, 1, sMapName_IcefallCave}, + { 0, 0, 1, 1, sMapName_RocketWarehouse}, + { 0, 0, 1, 1, sMapName_TrainerTower2}, + { 0, 0, 1, 1, sMapName_DottedHole}, + { 0, 0, 1, 1, sMapName_LostCave}, + { 0, 0, 1, 1, sMapName_PatternBush}, + { 0, 0, 1, 1, sMapName_AlteringCave}, + { 0, 0, 1, 1, sMapName_TanobyChambers}, + { 0, 0, 1, 1, sMapName_ThreeIslePath}, + { 0, 0, 1, 1, sMapName_TanobyKey}, + { 0, 0, 1, 1, sMapName_BirthIsland}, + { 0, 0, 1, 1, sMapName_MoneanChamber}, + { 0, 0, 1, 1, sMapName_LiptooChamber}, + { 0, 0, 1, 1, sMapName_WeepthChamber}, + { 0, 0, 1, 1, sMapName_DilfordChamber}, + { 0, 0, 1, 1, sMapName_ScufibChamber}, + { 0, 0, 1, 1, sMapName_RixyChamber}, + { 0, 0, 1, 1, sMapName_ViapoisChamber}, + { 0, 0, 1, 1, sMapName_EmberSpa}, + { 0, 0, 1, 1, sMapName_SpecialArea}, + {19, 3, 1, 1, sMapName_AquaHideout}, + { 6, 3, 1, 1, sMapName_MagmaHideout}, + { 8, 2, 1, 1, sMapName_MirageTower}, + { 0, 0, 1, 1, sMapName_BirthIsland}, + { 0, 0, 1, 1, sMapName_FarawayIsland}, + {22, 12, 1, 1, sMapName_ArtisanCave}, + { 0, 0, 1, 1, sMapName_MarineCave}, + { 0, 0, 1, 1, sMapName_Underwater}, + { 0, 0, 1, 1, sMapName_TerraCave}, + { 0, 10, 1, 3, sMapName_Underwater}, + {24, 3, 2, 2, sMapName_Underwater}, + {24, 10, 2, 1, sMapName_Underwater}, + { 2, 0, 1, 1, sMapName_DesertUnderpass}, + { 6, 8, 1, 1, sMapName_AlteringCave}, + { 0, 0, 1, 1, sMapName_NavelRock}, + { 8, 4, 1, 1, sMapName_TrainerHill} +}; + +#endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H diff --git a/src/data/text/abilities.h b/src/data/text/abilities.h new file mode 100644 index 000000000..3a1e989d2 --- /dev/null +++ b/src/data/text/abilities.h @@ -0,0 +1,247 @@ +#ifndef POKEEMERALD_DATA_TEXT_ABILITIES_H +#define POKEEMERALD_DATA_TEXT_ABILITIES_H + +static const u8 gNoneAbilityDescription[] = _("No special ability."); +static const u8 gStenchAbilityDescription[] = _("Helps repel wild POKéMON."); +static const u8 gDrizzleAbilityDescription[] = _("Summons rain in battle."); +static const u8 gSpeedBoostAbilityDescription[] = _("Gradually boosts SPEED."); +static const u8 gBattleArmorAbilityDescription[] = _("Blocks critical hits."); +static const u8 gSturdyAbilityDescription[] = _("Negates 1-hit KO attacks."); +static const u8 gDampAbilityDescription[] = _("Prevents self-destruction."); +static const u8 gLimberAbilityDescription[] = _("Prevents paralysis."); +static const u8 gSandVeilAbilityDescription[] = _("Ups evasion in a sandstorm."); +static const u8 gStaticAbilityDescription[] = _("Paralyzes on contact."); +static const u8 gVoltAbsorbAbilityDescription[] = _("Turns electricity into HP."); +static const u8 gWaterAbsorbAbilityDescription[] = _("Changes water into HP."); +static const u8 gObliviousAbilityDescription[] = _("Prevents attraction."); +static const u8 gCloudNineAbilityDescription[] = _("Negates weather effects."); +static const u8 gCompoundEyesAbilityDescription[] = _("Raises accuracy."); +static const u8 gInsomniaAbilityDescription[] = _("Prevents sleep."); +static const u8 gColorChangeAbilityDescription[] = _("Changes type to foe’s move."); +static const u8 gImmunityAbilityDescription[] = _("Prevents poisoning."); +static const u8 gFlashFireAbilityDescription[] = _("Powers up if hit by fire."); +static const u8 gShieldDustAbilityDescription[] = _("Prevents added effects."); +static const u8 gOwnTempoAbilityDescription[] = _("Prevents confusion."); +static const u8 gSuctionCupsAbilityDescription[] = _("Firmly anchors the body."); +static const u8 gIntimidateAbilityDescription[] = _("Lowers the foe’s ATTACK."); +static const u8 gShadowTagAbilityDescription[] = _("Prevents the foe’s escape."); +static const u8 gRoughSkinAbilityDescription[] = _("Hurts to touch."); +static const u8 gWonderGuardAbilityDescription[] = _("“Super effective” hits."); +static const u8 gLevitateAbilityDescription[] = _("Not hit by GROUND attacks."); +static const u8 gEffectSporeAbilityDescription[] = _("Leaves spores on contact."); +static const u8 gSynchronizeAbilityDescription[] = _("Passes on status problems."); +static const u8 gClearBodyAbilityDescription[] = _("Prevents ability reduction."); +static const u8 gNaturalCureAbilityDescription[] = _("Heals upon switching out."); +static const u8 gLightningRodAbilityDescription[] = _("Draws electrical moves."); +static const u8 gSereneGraceAbilityDescription[] = _("Promotes added effects."); +static const u8 gSwiftSwimAbilityDescription[] = _("Raises SPEED in rain."); +static const u8 gChlorophyllAbilityDescription[] = _("Raises SPEED in sunshine."); +static const u8 gIlluminateAbilityDescription[] = _("Encounter rate increases."); +static const u8 gTraceAbilityDescription[] = _("Copies special ability."); +static const u8 gHugePowerAbilityDescription[] = _("Raises ATTACK."); +static const u8 gPoisonPointAbilityDescription[] = _("Poisons foe on contact."); +static const u8 gInnerFocusAbilityDescription[] = _("Prevents flinching."); +static const u8 gMagmaArmorAbilityDescription[] = _("Prevents freezing."); +static const u8 gWaterVeilAbilityDescription[] = _("Prevents burns."); +static const u8 gMagnetPullAbilityDescription[] = _("Traps STEEL-type POKéMON."); +static const u8 gSoundproofAbilityDescription[] = _("Avoids sound-based moves."); +static const u8 gRainDishAbilityDescription[] = _("Slight HP recovery in rain."); +static const u8 gSandStreamAbilityDescription[] = _("Summons a sandstorm."); +static const u8 gPressureAbilityDescription[] = _("Raises foe’s PP usage."); +static const u8 gThickFatAbilityDescription[] = _("Heat-and-cold protection."); +static const u8 gEarlyBirdAbilityDescription[] = _("Awakens quickly from sleep."); +static const u8 gFlameBodyAbilityDescription[] = _("Burns the foe on contact."); +static const u8 gRunAwayAbilityDescription[] = _("Makes escaping easier."); +static const u8 gKeenEyeAbilityDescription[] = _("Prevents loss of accuracy."); +static const u8 gHyperCutterAbilityDescription[] = _("Prevents ATTACK reduction."); +static const u8 gPickupAbilityDescription[] = _("May pick up items."); +static const u8 gTruantAbilityDescription[] = _("Moves only every two turns."); +static const u8 gHustleAbilityDescription[] = _("Trades accuracy for power."); +static const u8 gCuteCharmAbilityDescription[] = _("Infatuates on contact."); +static const u8 gPlusAbilityDescription[] = _("Powers up with MINUS."); +static const u8 gMinusAbilityDescription[] = _("Powers up with PLUS."); +static const u8 gForecastAbilityDescription[] = _("Changes with the weather."); +static const u8 gStickyHoldAbilityDescription[] = _("Prevents item theft."); +static const u8 gShedSkinAbilityDescription[] = _("Heals the body by shedding."); +static const u8 gGutsAbilityDescription[] = _("Ups ATTACK if suffering."); +static const u8 gMarvelScaleAbilityDescription[] = _("Ups DEFENSE if suffering."); +static const u8 gLiquidOozeAbilityDescription[] = _("Draining causes injury."); +static const u8 gOvergrowAbilityDescription[] = _("Ups GRASS moves in a pinch."); +static const u8 gBlazeAbilityDescription[] = _("Ups FIRE moves in a pinch."); +static const u8 gTorrentAbilityDescription[] = _("Ups WATER moves in a pinch."); +static const u8 gSwarmAbilityDescription[] = _("Ups BUG moves in a pinch."); +static const u8 gRockHeadAbilityDescription[] = _("Prevents recoil damage."); +static const u8 gDroughtAbilityDescription[] = _("Summons sunlight in battle."); +static const u8 gArenaTrapAbilityDescription[] = _("Prevents fleeing."); +static const u8 gVitalSpiritAbilityDescription[] = _("Prevents sleep."); +static const u8 gWhiteSmokeAbilityDescription[] = _("Prevents ability reduction."); +static const u8 gPurePowerAbilityDescription[] = _("Raises ATTACK."); +static const u8 gShellArmorAbilityDescription[] = _("Blocks critical hits."); +static const u8 gCacophonyAbilityDescription[] = _("Avoids sound-based moves."); +static const u8 gAirLockAbilityDescription[] = _("Negates weather effects."); + +const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = +{ + _("-------"), + _("STENCH"), + _("DRIZZLE"), + _("SPEED BOOST"), + _("BATTLE ARMOR"), + _("STURDY"), + _("DAMP"), + _("LIMBER"), + _("SAND VEIL"), + _("STATIC"), + _("VOLT ABSORB"), + _("WATER ABSORB"), + _("OBLIVIOUS"), + _("CLOUD NINE"), + _("COMPOUNDEYES"), + _("INSOMNIA"), + _("COLOR CHANGE"), + _("IMMUNITY"), + _("FLASH FIRE"), + _("SHIELD DUST"), + _("OWN TEMPO"), + _("SUCTION CUPS"), + _("INTIMIDATE"), + _("SHADOW TAG"), + _("ROUGH SKIN"), + _("WONDER GUARD"), + _("LEVITATE"), + _("EFFECT SPORE"), + _("SYNCHRONIZE"), + _("CLEAR BODY"), + _("NATURAL CURE"), + _("LIGHTNINGROD"), + _("SERENE GRACE"), + _("SWIFT SWIM"), + _("CHLOROPHYLL"), + _("ILLUMINATE"), + _("TRACE"), + _("HUGE POWER"), + _("POISON POINT"), + _("INNER FOCUS"), + _("MAGMA ARMOR"), + _("WATER VEIL"), + _("MAGNET PULL"), + _("SOUNDPROOF"), + _("RAIN DISH"), + _("SAND STREAM"), + _("PRESSURE"), + _("THICK FAT"), + _("EARLY BIRD"), + _("FLAME BODY"), + _("RUN AWAY"), + _("KEEN EYE"), + _("HYPER CUTTER"), + _("PICKUP"), + _("TRUANT"), + _("HUSTLE"), + _("CUTE CHARM"), + _("PLUS"), + _("MINUS"), + _("FORECAST"), + _("STICKY HOLD"), + _("SHED SKIN"), + _("GUTS"), + _("MARVEL SCALE"), + _("LIQUID OOZE"), + _("OVERGROW"), + _("BLAZE"), + _("TORRENT"), + _("SWARM"), + _("ROCK HEAD"), + _("DROUGHT"), + _("ARENA TRAP"), + _("VITAL SPIRIT"), + _("WHITE SMOKE"), + _("PURE POWER"), + _("SHELL ARMOR"), + _("CACOPHONY"), + _("AIR LOCK"), +}; + +const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] = +{ + gNoneAbilityDescription, + gStenchAbilityDescription, + gDrizzleAbilityDescription, + gSpeedBoostAbilityDescription, + gBattleArmorAbilityDescription, + gSturdyAbilityDescription, + gDampAbilityDescription, + gLimberAbilityDescription, + gSandVeilAbilityDescription, + gStaticAbilityDescription, + gVoltAbsorbAbilityDescription, + gWaterAbsorbAbilityDescription, + gObliviousAbilityDescription, + gCloudNineAbilityDescription, + gCompoundEyesAbilityDescription, + gInsomniaAbilityDescription, + gColorChangeAbilityDescription, + gImmunityAbilityDescription, + gFlashFireAbilityDescription, + gShieldDustAbilityDescription, + gOwnTempoAbilityDescription, + gSuctionCupsAbilityDescription, + gIntimidateAbilityDescription, + gShadowTagAbilityDescription, + gRoughSkinAbilityDescription, + gWonderGuardAbilityDescription, + gLevitateAbilityDescription, + gEffectSporeAbilityDescription, + gSynchronizeAbilityDescription, + gClearBodyAbilityDescription, + gNaturalCureAbilityDescription, + gLightningRodAbilityDescription, + gSereneGraceAbilityDescription, + gSwiftSwimAbilityDescription, + gChlorophyllAbilityDescription, + gIlluminateAbilityDescription, + gTraceAbilityDescription, + gHugePowerAbilityDescription, + gPoisonPointAbilityDescription, + gInnerFocusAbilityDescription, + gMagmaArmorAbilityDescription, + gWaterVeilAbilityDescription, + gMagnetPullAbilityDescription, + gSoundproofAbilityDescription, + gRainDishAbilityDescription, + gSandStreamAbilityDescription, + gPressureAbilityDescription, + gThickFatAbilityDescription, + gEarlyBirdAbilityDescription, + gFlameBodyAbilityDescription, + gRunAwayAbilityDescription, + gKeenEyeAbilityDescription, + gHyperCutterAbilityDescription, + gPickupAbilityDescription, + gTruantAbilityDescription, + gHustleAbilityDescription, + gCuteCharmAbilityDescription, + gPlusAbilityDescription, + gMinusAbilityDescription, + gForecastAbilityDescription, + gStickyHoldAbilityDescription, + gShedSkinAbilityDescription, + gGutsAbilityDescription, + gMarvelScaleAbilityDescription, + gLiquidOozeAbilityDescription, + gOvergrowAbilityDescription, + gBlazeAbilityDescription, + gTorrentAbilityDescription, + gSwarmAbilityDescription, + gRockHeadAbilityDescription, + gDroughtAbilityDescription, + gArenaTrapAbilityDescription, + gVitalSpiritAbilityDescription, + gWhiteSmokeAbilityDescription, + gPurePowerAbilityDescription, + gShellArmorAbilityDescription, + gCacophonyAbilityDescription, + gAirLockAbilityDescription, +}; + +#endif // POKEEMERALD_DATA_TEXT_ABILITIES_H diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h new file mode 100644 index 000000000..8683978d7 --- /dev/null +++ b/src/data/text/item_descriptions.h @@ -0,0 +1,329 @@ +#ifndef POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H +#define POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H +const u8 gDummyItemDescription[] = _("?????"); +//Pokeballs +const u8 gMasterBallItemDescription[] = _("The best BALL that\ncatches a POKéMON\nwithout fail."); +const u8 gUltraBallItemDescription[] = _("A better BALL with\na higher catch rate\nthan a GREAT BALL."); +const u8 gGreatBallItemDescription[] = _("A good BALL with a\nhigher catch rate\nthan a POKé BALL."); +const u8 gPokeBallItemDescription[] = _("A tool used for\ncatching wild\nPOKéMON."); +const u8 gSafariBallItemDescription[] = _("A special BALL that\nis used only in the\nSAFARI ZONE."); +const u8 gNetBallItemDescription[] = _("A BALL that works\nwell on WATER- and\nBUG-type POKéMON."); +const u8 gDiveBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\non the ocean floor."); +const u8 gNestBallItemDescription[] = _("A BALL that works\nbetter on weaker\nPOKéMON."); +const u8 gRepeatBallItemDescription[] = _("A BALL that works\nbetter on POKéMON\ncaught before."); +const u8 gTimerBallItemDescription[] = _("A BALL that gains\npower in battles\ntaking many turns."); +const u8 gLuxuryBallItemDescription[] = _("A cozy BALL that\nmakes POKéMON\nmore friendly."); +const u8 gPremierBallItemDescription[] = _("A rare BALL made\nin commemoration\nof some event."); +//Medicine +const u8 gPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n20 points."); +const u8 gAntidoteItemDescription[] = _("Heals a poisoned\nPOKéMON."); +const u8 gBurnHealItemDescription[] = _("Heals POKéMON\nof a burn."); +const u8 gIceHealItemDescription[] = _("Defrosts a frozen\nPOKéMON."); +const u8 gAwakeningItemDescription[] = _("Awakens a sleeping\nPOKéMON."); +const u8 gParalyzeHealItemDescription[] = _("Heals a paralyzed\nPOKéMON."); +const u8 gFullRestoreItemDescription[] = _("Fully restores the\nHP and status of a\nPOKéMON."); +const u8 gMaxPotionItemDescription[] = _("Fully restores the\nHP of a POKéMON."); +const u8 gHyperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n200 points."); +const u8 gSuperPotionItemDescription[] = _("Restores the HP of\na POKéMON by\n50 points."); +const u8 gFullHealItemDescription[] = _("Heals all the\nstatus problems of\none POKéMON."); +const u8 gReviveItemDescription[] = _("Revives a fainted\nPOKéMON with half\nits HP."); +const u8 gMaxReviveItemDescription[] = _("Revives a fainted\nPOKéMON with all\nits HP."); +const u8 gFreshWaterItemDescription[] = _("A mineral water\nthat restores HP\nby 50 points."); +const u8 gSodaPopItemDescription[] = _("A fizzy soda drink\nthat restores HP\nby 60 points."); +const u8 gLemonadeItemDescription[] = _("A very sweet drink\nthat restores HP\nby 80 points."); +const u8 gMoomooMilkItemDescription[] = _("A nutritious milk\nthat restores HP\nby 100 points."); +const u8 gEnergyPowderItemDescription[] = _("A bitter powder\nthat restores HP\nby 50 points."); +const u8 gEnergyRootItemDescription[] = _("A bitter root\nthat restores HP\nby 200 points."); +const u8 gHealPowderItemDescription[] = _("A bitter powder\nthat heals all\nstatus problems."); +const u8 gRevivalHerbItemDescription[] = _("A very bitter herb\nthat revives a\nfainted POKéMON."); +const u8 gEtherItemDescription[] = _("Restores the PP\nof a selected move\nby 10."); +const u8 gMaxEtherItemDescription[] = _("Fully restores the\nPP of a selected\nmove."); +const u8 gElixirItemDescription[] = _("Restores the PP\nof all moves by 10."); +const u8 gMaxElixirItemDescription[] = _("Fully restores the\nPP of a POKéMON’s\nmoves."); +const u8 gLavaCookieItemDescription[] = _("A local specialty\nthat heals all\nstatus problems."); +const u8 gBlueFluteItemDescription[] = _("A glass flute that\nawakens sleeping\nPOKéMON."); +const u8 gYellowFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of confusion."); +const u8 gRedFluteItemDescription[] = _("A glass flute that\nsnaps POKéMON\nout of attraction."); +const u8 gBlackFluteItemDescription[] = _("A glass flute that\nkeeps away wild\nPOKéMON."); +const u8 gWhiteFluteItemDescription[] = _("A glass flute that\nlures wild POKéMON."); +const u8 gBerryJuiceItemDescription[] = _("A 100% pure juice\nthat restores HP\nby 20 points."); +const u8 gSacredAshItemDescription[] = _("Fully revives and\nrestores all\nfainted POKéMON."); +//Collectibles +const u8 gShoalSaltItemDescription[] = _("Salt obtained from\ndeep inside the\nSHOAL CAVE."); +const u8 gShoalShellItemDescription[] = _("A seashell found\ndeep inside the\nSHOAL CAVE."); +const u8 gRedShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); +const u8 gBlueShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); +const u8 gYellowShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); +const u8 gGreenShardItemDescription[] = _("A shard from an\nancient item. Can\nbe sold cheaply."); +//Vitamins +const u8 gHPUpItemDescription[] = _("Raises the base HP\nof one POKéMON."); +const u8 gProteinItemDescription[] = _("Raises the base\nATTACK stat of one\nPOKéMON."); +const u8 gIronItemDescription[] = _("Raises the base\nDEFENSE stat of\none POKéMON."); +const u8 gCarbosItemDescription[] = _("Raises the base\nSPEED stat of one\nPOKéMON."); +const u8 gCalciumItemDescription[] = _("Raises the base\nSP. ATK stat of one\nPOKéMON."); +const u8 gRareCandyItemDescription[] = _("Raises the level\nof a POKéMON by\none."); +const u8 gPPUpItemDescription[] = _("Raises the maximum\nPP of a selected\nmove."); +const u8 gZincItemDescription[] = _("Raises the base\nSP. DEF stat of one\nPOKéMON."); +const u8 gPPMaxItemDescription[] = _("Raises the PP of a\nmove to its maximum\npoints."); +//Battle items +const u8 gGuardSpecItemDescription[] = _("Prevents stat\nreduction when\nused in battle."); +const u8 gDireHitItemDescription[] = _("Raises the\ncritical-hit ratio\nduring one battle."); +const u8 gXAttackItemDescription[] = _("Raises the stat\nATTACK during one\nbattle."); +const u8 gXDefendItemDescription[] = _("Raises the stat\nDEFENSE during one\nbattle."); +const u8 gXSpeedItemDescription[] = _("Raises the stat\nSPEED during one\nbattle."); +const u8 gXAccuracyItemDescription[] = _("Raises accuracy\nof attack moves\nduring one battle."); +const u8 gXSpecialItemDescription[] = _("Raises the stat\nSP. ATK during one\nbattle."); +const u8 gPokeDollItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON."); +const u8 gFluffyTailItemDescription[] = _("Use to flee from\nany battle with\na wild POKéMON."); +//Field items +const u8 gSuperRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 200\nsteps."); +const u8 gMaxRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 250\nsteps."); +const u8 gEscapeRopeItemDescription[] = _("Use to escape\ninstantly from a\ncave or a dungeon."); +const u8 gRepelItemDescription[] = _("Repels weak wild\nPOKéMON for 100\nsteps."); +//Evolution stones +const u8 gSunStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); +const u8 gMoonStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); +const u8 gFireStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); +const u8 gThunderStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); +const u8 gWaterStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); +const u8 gLeafStoneItemDescription[] = _("Makes certain\nspecies of POKéMON\nevolve."); +//Valuable items +const u8 gTinyMushroomItemDescription[] = _("A plain mushroom\nthat would sell\nat a cheap price."); +const u8 gBigMushroomItemDescription[] = _("A rare mushroom\nthat would sell at a\nhigh price."); +const u8 gPearlItemDescription[] = _("A pretty pearl\nthat would sell at a\ncheap price."); +const u8 gBigPearlItemDescription[] = _("A lovely large pearl\nthat would sell at a\nhigh price."); +const u8 gStardustItemDescription[] = _("Beautiful red sand.\nCan be sold at a\nhigh price."); +const u8 gStarPieceItemDescription[] = _("A red gem shard.\nIt would sell for a\nvery high price."); +const u8 gNuggetItemDescription[] = _("A nugget of pure\ngold. Can be sold at\na high price."); +const u8 gHeartScaleItemDescription[] = _("A lovely scale.\nIt is coveted by\ncollectors."); +//Mail +const u8 gOrangeMailItemDescription[] = _("A ZIGZAGOON-print\nMAIL to be held by\na POKéMON."); +const u8 gHarborMailItemDescription[] = _("A WINGULL-print\nMAIL to be held by\na POKéMON."); +const u8 gGlitterMailItemDescription[] = _("A PIKACHU-print\nMAIL to be held by\na POKéMON."); +const u8 gMechMailItemDescription[] = _("A MAGNEMITE-print\nMAIL to be held by\na POKéMON."); +const u8 gWoodMailItemDescription[] = _("A SLAKOTH-print\nMAIL to be held by\na POKéMON."); +const u8 gWaveMailItemDescription[] = _("A WAILMER-print\nMAIL to be held by\na POKéMON."); +const u8 gBeadMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON."); +const u8 gShadowMailItemDescription[] = _("A DUSKULL-print\nMAIL to be held by\na POKéMON."); +const u8 gTropicMailItemDescription[] = _("A BELLOSSOM-print\nMAIL to be held by\na POKéMON."); +const u8 gDreamMailItemDescription[] = _("MAIL featuring a\nsketch of the\nholding POKéMON."); +const u8 gFabMailItemDescription[] = _("A gorgeous-print\nMAIL to be held\nby a POKéMON."); +const u8 gRetroMailItemDescription[] = _("MAIL featuring the\ndrawings of three\nPOKéMON."); +//Berries +const u8 gCheriBerryItemDescription[] = _("A hold item that\nheals paralysis\nin battle."); +const u8 gChestoBerryItemDescription[] = _("A hold item that\nawakens POKéMON\nin battle."); +const u8 gPechaBerryItemDescription[] = _("A hold item that\nheals poisoning\nin battle."); +const u8 gRawstBerryItemDescription[] = _("A hold item that\nheals a burn in\nbattle."); +const u8 gAspearBerryItemDescription[] = _("A hold item that\ndefrosts POKéMON\nin battle."); +const u8 gLeppaBerryItemDescription[] = _("A hold item that\nrestores 10 PP in\nbattle."); +const u8 gOranBerryItemDescription[] = _("A hold item that\nrestores 10 HP in\nbattle."); +const u8 gPersimBerryItemDescription[] = _("A hold item that\nheals confusion\nin battle."); +const u8 gLumBerryItemDescription[] = _("A hold item that\nheals any status\nproblem in battle."); +const u8 gSitrusBerryItemDescription[] = _("A hold item that\nrestores 30 HP in\nbattle."); +const u8 gFigyBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); +const u8 gWikiBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); +const u8 gMagoBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); +const u8 gAguavBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); +const u8 gIapapaBerryItemDescription[] = _("A hold item that\nrestores HP but\nmay confuse."); +const u8 gRazzBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RAZZ."); +const u8 gBlukBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BLUK."); +const u8 gNanabBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NANAB."); +const u8 gWepearBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WEPEAR."); +const u8 gPinapBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PINAP."); +const u8 gPomegBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase HP."); +const u8 gKelpsyBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase ATTACK."); +const u8 gQualotBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase DEFENSE."); +const u8 gHondewBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. ATK."); +const u8 gGrepaBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SP. DEF."); +const u8 gTamatoBerryItemDescription[] = _("Makes a POKéMON\nfriendly but lowers\nbase SPEED."); +const u8 gCornnBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow CORNN."); +const u8 gMagostBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow MAGOST."); +const u8 gRabutaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow RABUTA."); +const u8 gNomelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow NOMEL."); +const u8 gSpelonBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow SPELON."); +const u8 gPamtreBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow PAMTRE."); +const u8 gWatmelBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow WATMEL."); +const u8 gDurinBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow DURIN."); +const u8 gBelueBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow BELUE."); +const u8 gLiechiBerryItemDescription[] = _("A hold item that\nraises ATTACK in\na pinch."); +const u8 gGanlonBerryItemDescription[] = _("A hold item that\nraises DEFENSE in\na pinch."); +const u8 gSalacBerryItemDescription[] = _("A hold item that\nraises SPEED in\na pinch."); +const u8 gPetayaBerryItemDescription[] = _("A hold item that\nraises SP. ATK in\na pinch."); +const u8 gApicotBerryItemDescription[] = _("A hold item that\nraises SP. DEF in\na pinch."); +const u8 gLansatBerryItemDescription[] = _("A hold item that\nups the critical-\nhit rate in a pinch."); +const u8 gStarfBerryItemDescription[] = _("A hold item that\nsharply boosts a\nstat in a pinch."); +const u8 gEnigmaBerryItemDescription[] = _("{POKEBLOCK} ingredient.\nPlant in loamy soil\nto grow a mystery."); +//Hold items +const u8 gBrightPowderItemDescription[] = _("A hold item that\ncasts a glare to\nreduce accuracy."); +const u8 gWhiteHerbItemDescription[] = _("A hold item that\nrestores any\nlowered stat."); +const u8 gMachoBraceItemDescription[] = _("A hold item that\npromotes growth,\nbut reduces SPEED."); +const u8 gExpShareItemDescription[] = _("A hold item that\ngets EXP. points\nfrom battles."); +const u8 gQuickClawItemDescription[] = _("A hold item that\noccasionally allows\nthe first strike."); +const u8 gSootheBellItemDescription[] = _("A hold item that\ncalms spirits and\nfosters friendship."); +const u8 gMentalHerbItemDescription[] = _("A hold item that\nsnaps POKéMON out\nof infatuation."); +const u8 gChoiceBandItemDescription[] = _("Raises a move’s\npower, but permits\nonly that move."); +const u8 gKingsRockItemDescription[] = _("A hold item that\nmay cause flinching\nwhen the foe is hit."); +const u8 gSilverPowderItemDescription[] = _("A hold item that\nraises the power of\nBUG-type moves."); +const u8 gAmuletCoinItemDescription[] = _("Doubles money in\nbattle if the\nholder takes part."); +const u8 gCleanseTagItemDescription[] = _("A hold item that\nhelps repel wild\nPOKéMON."); +const u8 gSoulDewItemDescription[] = _("Hold item: raises\nSP. ATK & SP. DEF of\nLATIOS & LATIAS."); +const u8 gDeepSeaToothItemDescription[] = _("A hold item that\nraises the SP. ATK\nof CLAMPERL."); +const u8 gDeepSeaScaleItemDescription[] = _("A hold item that\nraises the SP. DEF\nof CLAMPERL."); +const u8 gSmokeBallItemDescription[] = _("A hold item that\nassures fleeing\nfrom wild POKéMON."); +const u8 gEverstoneItemDescription[] = _("A wondrous hold\nitem that prevents\nevolution."); +const u8 gFocusBandItemDescription[] = _("A hold item that\noccasionally\nprevents fainting."); +const u8 gLuckyEggItemDescription[] = _("A hold item that\nboosts EXP. points\nearned in battle."); +const u8 gScopeLensItemDescription[] = _("A hold item that\nimproves the\ncritical-hit rate."); +const u8 gMetalCoatItemDescription[] = _("A hold item that\nraises the power of\nSTEEL-type moves."); +const u8 gLeftoversItemDescription[] = _("A hold item that\ngradually restores\nHP in battle."); +const u8 gDragonScaleItemDescription[] = _("A strange scale\nheld by DRAGON-\ntype POKéMON."); +const u8 gLightBallItemDescription[] = _("A hold item that\nraises the SP. ATK\nof PIKACHU."); +const u8 gSoftSandItemDescription[] = _("A hold item that\nraises the power of\nGROUND-type moves."); +const u8 gHardStoneItemDescription[] = _("A hold item that\nraises the power of\nROCK-type moves."); +const u8 gMiracleSeedItemDescription[] = _("A hold item that\nraises the power of\nGRASS-type moves."); +const u8 gBlackGlassesItemDescription[] = _("A hold item that\nraises the power of\nDARK-type moves."); +const u8 gBlackBeltItemDescription[] = _("A hold item that\nboosts FIGHTING-\ntype moves."); +const u8 gMagnetItemDescription[] = _("A hold item that\nboosts ELECTRIC-\ntype moves."); +const u8 gMysticWaterItemDescription[] = _("A hold item that\nraises the power of\nWATER-type moves."); +const u8 gSharpBeakItemDescription[] = _("A hold item that\nraises the power of\nFLYING-type moves."); +const u8 gPoisonBarbItemDescription[] = _("A hold item that\nraises the power of\nPOISON-type moves."); +const u8 gNeverMeltIceItemDescription[] = _("A hold item that\nraises the power of\nICE-type moves."); +const u8 gSpellTagItemDescription[] = _("A hold item that\nraises the power of\nGHOST-type moves."); +const u8 gTwistedSpoonItemDescription[] = _("A hold item that\nboosts PSYCHIC-\ntype moves."); +const u8 gCharcoalItemDescription[] = _("A hold item that\nraises the power of\nFIRE-type moves."); +const u8 gDragonFangItemDescription[] = _("A hold item that\nraises the power of\nDRAGON-type moves."); +const u8 gSilkScarfItemDescription[] = _("A hold item that\nraises the power of\nNORMAL-type moves."); +const u8 gUpGradeItemDescription[] = _("A peculiar box made\nby SILPH CO."); +const u8 gShellBellItemDescription[] = _("A hold item that\nrestores HP upon\nstriking the foe."); +const u8 gSeaIncenseItemDescription[] = _("A hold item that\nslightly boosts\nWATER-type moves."); +const u8 gLaxIncenseItemDescription[] = _("A hold item that\nslightly lowers the\nfoe’s accuracy."); +const u8 gLuckyPunchItemDescription[] = _("A hold item that\nraises CHANSEY’s\ncritical-hit rate."); +const u8 gMetalPowderItemDescription[] = _("A hold item that\nraises DITTO’s\nDEFENSE."); +const u8 gThickClubItemDescription[] = _("A hold item that \nraises CUBONE or\nMAROWAK’s ATTACK."); +const u8 gStickItemDescription[] = _("A hold item that\nraises FARFETCH’D’s\ncritical-hit ratio."); +const u8 gRedScarfItemDescription[] = _("A hold item that\nraises COOL in\nCONTESTS."); +const u8 gBlueScarfItemDescription[] = _("A hold item that\nraises BEAUTY in\nCONTESTS."); +const u8 gPinkScarfItemDescription[] = _("A hold item that\nraises CUTE in\nCONTESTS."); +const u8 gGreenScarfItemDescription[] = _("A hold item that\nraises SMART in\nCONTESTS."); +const u8 gYellowScarfItemDescription[] = _("A hold item that\nraises TOUGH in\nCONTESTS."); +//Key items +const u8 gMachBikeItemDescription[] = _("A folding bicycle\nthat doubles your\nspeed or better."); +const u8 gCoinCaseItemDescription[] = _("A case that holds\nup to 9,999 COINS."); +const u8 gItemfinderItemDescription[] = _("A device that\nsignals an invisible\nitem by sound."); +const u8 gOldRodItemDescription[] = _("Use by any body of\nwater to fish for\nwild POKéMON."); +const u8 gGoodRodItemDescription[] = _("A decent fishing\nrod for catching\nwild POKéMON."); +const u8 gSuperRodItemDescription[] = _("The best fishing\nrod for catching\nwild POKéMON."); +const u8 gSSTicketItemDescription[] = _("The ticket required\nfor sailing on a\nferry."); +const u8 gContestPassItemDescription[] = _("The pass required\nfor entering\nPOKéMON CONTESTS."); +const u8 gWailmerPailItemDescription[] = _("A tool used for\nwatering BERRIES\nand plants."); +const u8 gDevonGoodsItemDescription[] = _("A package that\ncontains DEVON’s\nmachine parts."); +const u8 gSootSackItemDescription[] = _("A sack used to\ngather and hold\nvolcanic ash."); +const u8 gBasementKeyItemDescription[] = _("The key for NEW\nMAUVILLE beneath\nMAUVILLE CITY."); +const u8 gAcroBikeItemDescription[] = _("A folding bicycle\ncapable of jumps\nand wheelies."); +const u8 gPokeblockCaseItemDescription[] = _("A case for holding\n{POKEBLOCK}S made with\na BERRY BLENDER."); +const u8 gLetterItemDescription[] = _("A letter to STEVEN\nfrom the PRESIDENT\nof the DEVON CORP."); +const u8 gEonTicketItemDescription[] = _("The ticket for a\nferry to a distant\nsouthern island."); +const u8 gRedOrbItemDescription[] = _("A red, glowing orb\nsaid to contain an\nancient power."); +const u8 gBlueOrbItemDescription[] = _("A blue, glowing orb\nsaid to contain an\nancient power."); +const u8 gScannerItemDescription[] = _("A device found\ninside the\nABANDONED SHIP."); +const u8 gGoGogglesItemDescription[] = _("Nifty goggles that\nprotect eyes from\ndesert sandstorms."); +const u8 gMeteoriteItemDescription[] = _("A meteorite found\nat METEOR FALLS."); +const u8 gRoom1KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); +const u8 gRoom2KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); +const u8 gRoom4KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); +const u8 gRoom6KeyItemDescription[] = _("A key that opens a\ndoor inside the\nABANDONED SHIP."); +const u8 gStorageKeyItemDescription[] = _("The key to the\nstorage inside the\nABANDONED SHIP."); +const u8 gRootFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON."); +const u8 gClawFossilItemDescription[] = _("A fossil of an\nancient, seafloor-\ndwelling POKéMON."); +const u8 gDevonScopeItemDescription[] = _("A device by DEVON\nthat signals any\nunseeable POKéMON."); +//TMs/HMs +const u8 gTM01ItemDescription[] = _("Powerful, but makes\nthe user flinch if\nhit by the foe."); +const u8 gTM02ItemDescription[] = _("Hooks and slashes\nthe foe with long,\nsharp claws."); +const u8 gTM03ItemDescription[] = _("Generates an\nultrasonic wave\nthat may confuse."); +const u8 gTM04ItemDescription[] = _("Raises SP. ATK and\nSP. DEF by focusing\nthe mind."); +const u8 gTM05ItemDescription[] = _("A savage roar that\nmakes the foe flee \nto end the battle."); +const u8 gTM06ItemDescription[] = _("Poisons the foe\nwith a toxin that\ngradually worsens."); +const u8 gTM07ItemDescription[] = _("Creates a hailstorm\nthat damages all\ntypes except ICE."); +const u8 gTM08ItemDescription[] = _("Bulks up the body\nto boost both\nATTACK & DEFENSE."); +const u8 gTM09ItemDescription[] = _("Shoots 2 to 5 seeds\nin a row to strike\nthe foe."); +const u8 gTM10ItemDescription[] = _("The attack power\nvaries among\ndifferent POKéMON."); +const u8 gTM11ItemDescription[] = _("Raises the power of\nFIRE-type moves\nfor 5 turns."); +const u8 gTM12ItemDescription[] = _("Enrages the foe so\nit can only use\nattack moves."); +const u8 gTM13ItemDescription[] = _("Fires an icy cold\nbeam that may\nfreeze the foe."); +const u8 gTM14ItemDescription[] = _("A brutal snow-and-\nwind attack that\nmay freeze the foe."); +const u8 gTM15ItemDescription[] = _("Powerful, but needs\nrecharging the\nnext turn."); +const u8 gTM16ItemDescription[] = _("Creates a wall of\nlight that lowers\nSP. ATK damage."); +const u8 gTM17ItemDescription[] = _("Negates all damage,\nbut may fail if used\nin succession."); +const u8 gTM18ItemDescription[] = _("Raises the power of\nWATER-type moves\nfor 5 turns."); +const u8 gTM19ItemDescription[] = _("Recovers half the\nHP of the damage \nthis move inflicts."); +const u8 gTM20ItemDescription[] = _("Prevents status\nabnormality with a\nmystical power."); +const u8 gTM21ItemDescription[] = _("The less the user\nlikes you, the more\npowerful this move."); +const u8 gTM22ItemDescription[] = _("Absorbs sunlight in\nthe 1st turn, then\nattacks next turn."); +const u8 gTM23ItemDescription[] = _("Slams the foe with\na hard tail. It may\nlower DEFENSE."); +const u8 gTM24ItemDescription[] = _("A powerful electric\nattack that may\ncause paralysis."); +const u8 gTM25ItemDescription[] = _("Strikes the foe\nwith a thunderbolt.\nIt may paralyze."); +const u8 gTM26ItemDescription[] = _("Causes a quake\nthat has no effect\non flying foes."); +const u8 gTM27ItemDescription[] = _("The more the user\nlikes you, the more\npowerful this move."); +const u8 gTM28ItemDescription[] = _("Digs underground\nthe 1st turn, then\nstrikes next turn."); +const u8 gTM29ItemDescription[] = _("A powerful psychic\nattack that may\nlower SP. DEF."); +const u8 gTM30ItemDescription[] = _("Hurls a dark lump\nat the foe. It may\nlower SP. DEF."); +const u8 gTM31ItemDescription[] = _("Destroys barriers\nlike LIGHT SCREEN\nand causes damage."); +const u8 gTM32ItemDescription[] = _("Creates illusory\ncopies to enhance\nelusiveness."); +const u8 gTM33ItemDescription[] = _("Creates a wall of\nlight that weakens\nphysical attacks."); +const u8 gTM34ItemDescription[] = _("Zaps the foe with a\njolt of electricity\nthat never misses."); +const u8 gTM35ItemDescription[] = _("Looses a stream of\nfire that may burn\nthe foe."); +const u8 gTM36ItemDescription[] = _("Hurls sludge at the\nfoe. It may poison\nthe foe."); +const u8 gTM37ItemDescription[] = _("Causes a sandstorm\nthat hits the foe\nover several turns."); +const u8 gTM38ItemDescription[] = _("A powerful fire\nattack that may\nburn the foe."); +const u8 gTM39ItemDescription[] = _("Stops the foe from\nmoving with rocks.\nMay lower SPEED."); +const u8 gTM40ItemDescription[] = _("An extremely fast\nattack that can’t\nbe avoided."); +const u8 gTM41ItemDescription[] = _("Prevents the foe\nfrom using the same\nmove in a row."); +const u8 gTM42ItemDescription[] = _("Raises ATTACK when\npoisoned, burned,\nor paralyzed."); +const u8 gTM43ItemDescription[] = _("Adds an effect to\nattack depending\non the location."); +const u8 gTM44ItemDescription[] = _("The user sleeps for\n2 turns to restore\nhealth and status."); +const u8 gTM45ItemDescription[] = _("Makes it tough to\nattack a foe of the\nopposite gender."); +const u8 gTM46ItemDescription[] = _("While attacking,\nit may steal the\nfoe’s held item."); +const u8 gTM47ItemDescription[] = _("Spreads hard-\nedged wings and\nslams into the foe."); +const u8 gTM48ItemDescription[] = _("Switches abilities\nwith the foe on the\nturn this is used."); +const u8 gTM49ItemDescription[] = _("Steals the effects\nof the move the foe\nis trying to use."); +const u8 gTM50ItemDescription[] = _("Enables full-power\nattack, but sharply\nlowers SP. ATK."); + +const u8 gHM01ItemDescription[] = _("Attacks the foe\nwith sharp blades\nor claws."); +const u8 gHM02ItemDescription[] = _("Flies up on the\nfirst turn, then\nattacks next turn."); +const u8 gHM03ItemDescription[] = _("Creates a huge\nwave, then crashes\nit down on the foe."); +const u8 gHM04ItemDescription[] = _("Builds enormous\npower, then slams\nthe foe."); +const u8 gHM05ItemDescription[] = _("Looses a powerful\nblast of light that\nreduces accuracy."); +const u8 gHM06ItemDescription[] = _("A rock-crushingly\ntough attack that\nmay lower DEFENSE."); +const u8 gHM07ItemDescription[] = _("Attacks the foe\nwith enough power\nto climb waterfalls."); +const u8 gHM08ItemDescription[] = _("Dives underwater\nthe 1st turn, then\nattacks next turn."); +//FireRed/LeafGreen key items +const u8 gOaksParcelItemDescription[] = _("A parcel for PROF.\nOAK from a POKéMON\nMART’s clerk."); +const u8 gPokeFluteItemDescription[] = _("A sweet-sounding\nflute that awakens\nPOKéMON."); +const u8 gSecretKeyItemDescription[] = _("The key to the\nCINNABAR ISLAND\nGYM’s entrance."); +const u8 gBikeVoucherItemDescription[] = _("A voucher for\nobtaining a bicycle\nfrom the BIKE SHOP."); +const u8 gGoldTeethItemDescription[] = _("Gold dentures lost\nby the SAFARI\nZONE’s WARDEN."); +const u8 gOldAmberItemDescription[] = _("A stone containing\nthe genes of an\nancient POKéMON."); +const u8 gCardKeyItemDescription[] = _("A card-type door\nkey used in SILPH\nCO’s office."); +const u8 gLiftKeyItemDescription[] = _("An elevator key\nused in TEAM\nROCKET’s HIDEOUT."); +const u8 gHelixFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON’s seashell."); +const u8 gDomeFossilItemDescription[] = _("A piece of an\nancient marine\nPOKéMON’s shell."); +const u8 gSilphScopeItemDescription[] = _("SILPH CO’s scope\nmakes unseeable\nPOKéMON visible."); +const u8 gBicycleItemDescription[] = _("A folding bicycle\nthat is faster than\nthe RUNNING SHOES."); +const u8 gTownMapItemDescription[] = _("Can be viewed\nanytime. Shows your\npresent location."); +const u8 gVSSeekerItemDescription[] = _("A rechargeable unit\nthat flags battle-\nready TRAINERS."); +const u8 gFameCheckerItemDescription[] = _("Stores information\non famous people\nfor instant recall."); +const u8 gTMCaseItemDescription[] = _("A convenient case \nthat holds TMs and\nHMs."); +const u8 gBerryPouchItemDescription[] = _("A convenient\ncontainer that\nholds BERRIES."); +const u8 gTeachyTVItemDescription[] = _("A TV set tuned to\nan advice program\nfor TRAINERS."); +const u8 gTriPassItemDescription[] = _("A pass for ferries\nbetween ONE, TWO,\nand THREE ISLAND."); +const u8 gRainbowPassItemDescription[] = _("For ferries serving\nVERMILION and the\nSEVII ISLANDS."); +const u8 gTeaItemDescription[] = _("A thirst-quenching\ntea prepared by an\nold lady."); +const u8 gMysticTicketItemDescription[] = _("A ticket required\nto board the ship\nto NAVEL ROCK."); +const u8 gAuroraTicketItemDescription[] = _("A ticket required\nto board the ship\nto BIRTH ISLAND."); +const u8 gPowderJarItemDescription[] = _("Stores BERRY\nPOWDER made using\na BERRY CRUSHER."); +const u8 gRubyItemDescription[] = _("An exquisite, red-\nglowing gem that\nsymbolizes passion."); +const u8 gSapphireItemDescription[] = _("A brilliant blue gem\nthat symbolizes\nhonesty."); +//Emerald-specific key items +const u8 gMagmaEmblemItemDescription[] = _("A medal-like item in\nthe same shape as\nTEAM MAGMA’s mark."); +const u8 gOldSeaMapItemDescription[] = _("A faded sea chart\nthat shows the way\nto a certain island."); +#endif // POKEEMERALD_DATA_TEXT_ITEM_DESCRIPTIONS_H diff --git a/src/data/text/nature_names.h b/src/data/text/nature_names.h new file mode 100644 index 000000000..d0d217d9b --- /dev/null +++ b/src/data/text/nature_names.h @@ -0,0 +1,54 @@ +static const u8 sHardyNatureName[] = _("HARDY"); +static const u8 sLonelyNatureName[] = _("LONELY"); +static const u8 sBraveNatureName[] = _("BRAVE"); +static const u8 sAdamantNatureName[] = _("ADAMANT"); +static const u8 sNaughtyNatureName[] = _("NAUGHTY"); +static const u8 sBoldNatureName[] = _("BOLD"); +static const u8 sDocileNatureName[] = _("DOCILE"); +static const u8 sRelaxedNatureName[] = _("RELAXED"); +static const u8 sImpishNatureName[] = _("IMPISH"); +static const u8 sLaxNatureName[] = _("LAX"); +static const u8 sTimidNatureName[] = _("TIMID"); +static const u8 sHastyNatureName[] = _("HASTY"); +static const u8 sSeriousNatureName[] = _("SERIOUS"); +static const u8 sJollyNatureName[] = _("JOLLY"); +static const u8 sNaiveNatureName[] = _("NAIVE"); +static const u8 sModestNatureName[] = _("MODEST"); +static const u8 sMildNatureName[] = _("MILD"); +static const u8 sQuietNatureName[] = _("QUIET"); +static const u8 sBashfulNatureName[] = _("BASHFUL"); +static const u8 sRashNatureName[] = _("RASH"); +static const u8 sCalmNatureName[] = _("CALM"); +static const u8 sGentleNatureName[] = _("GENTLE"); +static const u8 sSassyNatureName[] = _("SASSY"); +static const u8 sCarefulNatureName[] = _("CAREFUL"); +static const u8 sQuirkyNatureName[] = _("QUIRKY"); + +const u8 *const gNatureNamePointers[] = +{ + [NATURE_HARDY] = sHardyNatureName, + [NATURE_LONELY] = sLonelyNatureName, + [NATURE_BRAVE] = sBraveNatureName, + [NATURE_ADAMANT] = sAdamantNatureName, + [NATURE_NAUGHTY] = sNaughtyNatureName, + [NATURE_BOLD] = sBoldNatureName, + [NATURE_DOCILE] = sDocileNatureName, + [NATURE_RELAXED] = sRelaxedNatureName, + [NATURE_IMPISH] = sImpishNatureName, + [NATURE_LAX] = sLaxNatureName, + [NATURE_TIMID] = sTimidNatureName, + [NATURE_HASTY] = sHastyNatureName, + [NATURE_SERIOUS] = sSeriousNatureName, + [NATURE_JOLLY] = sJollyNatureName, + [NATURE_NAIVE] = sNaiveNatureName, + [NATURE_MODEST] = sModestNatureName, + [NATURE_MILD] = sMildNatureName, + [NATURE_QUIET] = sQuietNatureName, + [NATURE_BASHFUL] = sBashfulNatureName, + [NATURE_RASH] = sRashNatureName, + [NATURE_CALM] = sCalmNatureName, + [NATURE_GENTLE] = sGentleNatureName, + [NATURE_SASSY] = sSassyNatureName, + [NATURE_CAREFUL] = sCarefulNatureName, + [NATURE_QUIRKY] = sQuirkyNatureName, +}; diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h new file mode 100644 index 000000000..e2419b6f6 --- /dev/null +++ b/src/data/trainer_graphics/back_pic_anims.h @@ -0,0 +1,129 @@ +const union AnimCmd gUnknown_08305C24[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C3C[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C54[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C6C[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C84[] = +{ + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(4, 24), + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305C9C[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd gUnknown_08305CB4[] = +{ + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(2, 24), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(3, 50), + ANIMCMD_END, +}; + +const union AnimCmd *const gUnknown_08305CCC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C24, +}; + +const union AnimCmd *const gUnknown_08305CD4[] = +{ + AnimCmd_82FF540, + gUnknown_08305C3C, +}; + +const union AnimCmd *const gUnknown_08305CDC[] = +{ + gAnimCmd_General_Frame0, + gUnknown_08305C6C, +}; + +const union AnimCmd *const gUnknown_08305CE4[] = +{ + gAnimCmd_General_Frame0, + gUnknown_08305C84, +}; + +const union AnimCmd *const gUnknown_08305CEC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C9C, +}; + +const union AnimCmd *const gUnknown_08305CF4[] = +{ + AnimCmd_82FF540, + gUnknown_08305CB4, +}; + +const union AnimCmd *const gUnknown_08305CFC[] = +{ + AnimCmd_82FF540, + gUnknown_08305C54, +}; + +const union AnimCmd *const gUnknown_08305D04[] = +{ + AnimCmd_82FF540, + gUnknown_08305C3C, +}; + +const union AnimCmd *const *const gUnknown_08305D0C[] = +{ + gUnknown_08305CCC, + gUnknown_08305CD4, + gUnknown_08305CDC, + gUnknown_08305CE4, + gUnknown_08305CEC, + gUnknown_08305CF4, + gUnknown_08305CFC, + gUnknown_08305D04, +}; diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h new file mode 100644 index 000000000..ba7f73ebb --- /dev/null +++ b/src/data/trainer_graphics/back_pic_tables.h @@ -0,0 +1,35 @@ +const u8 gTrainerBackPicCoords[] = +{ + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 5, 0, 0, + 8, 5, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, + 8, 4, 0, 0, +}; + +const struct CompressedSpriteSheet gTrainerBackPicTable[] = +{ + gTrainerBackPic_Brendan, 0x2000, 0, + gTrainerBackPic_May, 0x2000, 1, + gTrainerBackPic_Red, 0x2800, 2, + gTrainerBackPic_Leaf, 0x2800, 3, + gTrainerBackPic_RubySapphireBrendan, 0x2000, 4, + gTrainerBackPic_RubySapphireMay, 0x2000, 5, + gTrainerBackPic_Wally, 0x2000, 6, + gTrainerBackPic_Steven, 0x2000, 7, +}; + +const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = +{ + gTrainerPalette_Brendan, 0, + gTrainerPalette_May, 1, + gTrainerBackPicPalette_Red, 2, + gTrainerBackPicPalette_Leaf, 3, + gTrainerPalette_RubySapphireBrendan, 4, + gTrainerPalette_RubySapphireMay, 5, + gTrainerPalette_Wally, 6, + gTrainerPalette_Steven, 7, +}; diff --git a/src/data/trainer_graphics/front_pic_anims.h b/src/data/trainer_graphics/front_pic_anims.h new file mode 100644 index 000000000..423ce33b9 --- /dev/null +++ b/src/data/trainer_graphics/front_pic_anims.h @@ -0,0 +1,190 @@ +const union AnimCmd *const gUnknown_083051F8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083051FC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305200[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305204[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305208[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830520C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305210[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305214[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305218[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830521C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305220[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305224[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305228[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830522C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305230[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305234[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305238[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830523C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305240[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305244[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305248[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830524C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305250[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305254[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305258[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830525C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305260[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305264[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305268[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830526C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305270[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305274[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305278[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830527C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305280[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305284[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305288[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830528C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305290[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305294[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305298[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830529C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052A8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052AC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052B8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052BC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052C8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052CC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052D8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052DC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052E8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052EC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F0[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F4[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052F8[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_083052FC[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305300[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305304[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305308[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830530C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305310[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305314[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305318[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830531C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305320[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305324[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305328[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830532C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305330[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305334[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305338[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830533C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305340[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305344[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305348[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830534C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305350[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305354[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305358[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_0830535C[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305360[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305364[] = {gAnimCmd_General_Frame0}; +const union AnimCmd *const gUnknown_08305368[] = {gAnimCmd_General_Frame0}; + +const union AnimCmd *const *const gUnknown_0830536C[] = +{ + gUnknown_083051F8, + gUnknown_083051FC, + gUnknown_08305200, + gUnknown_08305204, + gUnknown_08305208, + gUnknown_0830520C, + gUnknown_08305210, + gUnknown_08305214, + gUnknown_08305218, + gUnknown_0830521C, + gUnknown_08305220, + gUnknown_08305224, + gUnknown_08305228, + gUnknown_0830522C, + gUnknown_08305230, + gUnknown_08305234, + gUnknown_08305238, + gUnknown_0830523C, + gUnknown_08305240, + gUnknown_08305244, + gUnknown_08305248, + gUnknown_0830524C, + gUnknown_08305250, + gUnknown_08305254, + gUnknown_08305258, + gUnknown_0830525C, + gUnknown_08305260, + gUnknown_08305264, + gUnknown_08305268, + gUnknown_0830526C, + gUnknown_08305270, + gUnknown_08305274, + gUnknown_08305278, + gUnknown_0830527C, + gUnknown_08305280, + gUnknown_08305284, + gUnknown_08305288, + gUnknown_0830528C, + gUnknown_08305290, + gUnknown_08305294, + gUnknown_08305298, + gUnknown_0830529C, + gUnknown_083052A0, + gUnknown_083052A4, + gUnknown_083052A8, + gUnknown_083052AC, + gUnknown_083052B0, + gUnknown_083052B4, + gUnknown_083052B8, + gUnknown_083052BC, + gUnknown_083052C0, + gUnknown_083052C4, + gUnknown_083052C8, + gUnknown_083052CC, + gUnknown_083052D0, + gUnknown_083052D4, + gUnknown_083052D8, + gUnknown_083052DC, + gUnknown_083052E0, + gUnknown_083052E4, + gUnknown_083052E8, + gUnknown_083052EC, + gUnknown_083052F0, + gUnknown_083052F4, + gUnknown_083052F8, + gUnknown_083052FC, + gUnknown_08305300, + gUnknown_08305304, + gUnknown_08305308, + gUnknown_0830530C, + gUnknown_08305310, + gUnknown_08305314, + gUnknown_08305318, + gUnknown_0830531C, + gUnknown_08305320, + gUnknown_08305324, + gUnknown_08305328, + gUnknown_0830532C, + gUnknown_08305330, + gUnknown_08305334, + gUnknown_08305338, + gUnknown_0830533C, + gUnknown_08305340, + gUnknown_08305344, + gUnknown_08305348, + gUnknown_0830534C, + gUnknown_08305350, + gUnknown_08305354, + gUnknown_08305358, + gUnknown_0830535C, + gUnknown_08305360, + gUnknown_08305364, + gUnknown_08305368, +}; diff --git a/src/data/trainer_graphics/front_pic_tables.h b/src/data/trainer_graphics/front_pic_tables.h new file mode 100644 index 000000000..7c1e10683 --- /dev/null +++ b/src/data/trainer_graphics/front_pic_tables.h @@ -0,0 +1,290 @@ +const u8 gTrainerFrontPicCoords[] = +{ + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 2, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, + 8, 1, 0, 0, +}; + +const struct CompressedSpriteSheet gTrainerFrontPicTable[] = +{ + gTrainerFrontPic_Hiker, 0x800, 0, + gTrainerFrontPic_AquaGruntM, 0x800, 1, + gTrainerFrontPic_PokemonBreederF, 0x800, 2, + gTrainerFrontPic_CoolTrainerM, 0x800, 3, + gTrainerFrontPic_BirdKeeper, 0x800, 4, + gTrainerFrontPic_Collector, 0x800, 5, + gTrainerFrontPic_AquaGruntF, 0x800, 6, + gTrainerFrontPic_SwimmerM, 0x800, 7, + gTrainerFrontPic_MagmaGruntM, 0x800, 8, + gTrainerFrontPic_ExpertM, 0x800, 9, + gTrainerFrontPic_AquaAdminM, 0x800, 10, + gTrainerFrontPic_BlackBelt, 0x800, 11, + gTrainerFrontPic_AquaAdminF, 0x800, 12, + gTrainerFrontPic_AquaLeaderArchie, 0x800, 13, + gTrainerFrontPic_HexManiac, 0x800, 14, + gTrainerFrontPic_AromaLady, 0x800, 15, + gTrainerFrontPic_RuinManiac, 0x800, 16, + gTrainerFrontPic_Interviewer, 0x800, 17, + gTrainerFrontPic_TuberF, 0x800, 18, + gTrainerFrontPic_TuberM, 0x800, 19, + gTrainerFrontPic_CoolTrainerF, 0x800, 20, + gTrainerFrontPic_Lady, 0x800, 21, + gTrainerFrontPic_Beauty, 0x800, 22, + gTrainerFrontPic_RichBoy, 0x800, 23, + gTrainerFrontPic_ExpertF, 0x800, 24, + gTrainerFrontPic_Pokemaniac, 0x800, 25, + gTrainerFrontPic_MagmaGruntF, 0x800, 26, + gTrainerFrontPic_Guitarist, 0x800, 27, + gTrainerFrontPic_Kindler, 0x800, 28, + gTrainerFrontPic_Camper, 0x800, 29, + gTrainerFrontPic_Picnicker, 0x800, 30, + gTrainerFrontPic_BugManiac, 0x800, 31, + gTrainerFrontPic_PokemonBreederM, 0x800, 32, + gTrainerFrontPic_PsychicM, 0x800, 33, + gTrainerFrontPic_PsychicF, 0x800, 34, + gTrainerFrontPic_Gentleman, 0x800, 35, + gTrainerFrontPic_EliteFourSidney, 0x800, 36, + gTrainerFrontPic_EliteFourPhoebe, 0x800, 37, + gTrainerFrontPic_EliteFourGlacia, 0x800, 38, + gTrainerFrontPic_EliteFourDrake, 0x800, 39, + gTrainerFrontPic_LeaderRoxanne, 0x800, 40, + gTrainerFrontPic_LeaderBrawly, 0x800, 41, + gTrainerFrontPic_LeaderWattson, 0x800, 42, + gTrainerFrontPic_LeaderFlannery, 0x800, 43, + gTrainerFrontPic_LeaderNorman, 0x800, 44, + gTrainerFrontPic_LeaderWinona, 0x800, 45, + gTrainerFrontPic_LeaderTateAndLiza, 0x800, 46, + gTrainerFrontPic_LeaderJuan, 0x800, 47, + gTrainerFrontPic_SchoolKidM, 0x800, 48, + gTrainerFrontPic_SchoolKidF, 0x800, 49, + gTrainerFrontPic_SrAndJr, 0x1000, 50, + gTrainerFrontPic_WinstrateM, 0x1000, 51, + gTrainerFrontPic_WinstrateF, 0x800, 52, + gTrainerFrontPic_Youngster, 0x800, 53, + gTrainerFrontPic_ChampionWallace, 0x1000, 54, + gTrainerFrontPic_Fisherman, 0x800, 55, + gTrainerFrontPic_CyclingTriathleteM, 0x1000, 56, + gTrainerFrontPic_CyclingTriathleteF, 0x800, 57, + gTrainerFrontPic_RunningTriathleteM, 0x800, 58, + gTrainerFrontPic_RunningTriathleteF, 0x800, 59, + gTrainerFrontPic_SwimmingTriathleteM, 0x800, 60, + gTrainerFrontPic_SwimmingTriathleteF, 0x800, 61, + gTrainerFrontPic_DragonTamer, 0x800, 62, + gTrainerFrontPic_NinjaBoy, 0x800, 63, + gTrainerFrontPic_BattleGirl, 0x1000, 64, + gTrainerFrontPic_ParasolLady, 0x800, 65, + gTrainerFrontPic_SwimmerF, 0x800, 66, + gTrainerFrontPic_Twins, 0x800, 67, + gTrainerFrontPic_Sailor, 0x800, 68, + gTrainerFrontPic_MagmaAdmin, 0x800, 69, + gTrainerFrontPic_Wally, 0x800, 70, + gTrainerFrontPic_Brendan, 0x800, 71, + gTrainerFrontPic_May, 0x800, 72, + gTrainerFrontPic_BugCatcher, 0x800, 73, + gTrainerFrontPic_PokemonRangerM, 0x800, 74, + gTrainerFrontPic_PokemonRangerF, 0x800, 75, + gTrainerFrontPic_MagmaLeaderMaxie, 0x800, 76, + gTrainerFrontPic_Lass, 0x800, 77, + gTrainerFrontPic_YoungCouple, 0x800, 78, + gTrainerFrontPic_OldCouple, 0x800, 79, + gTrainerFrontPic_SisAndBro, 0x800, 80, + gTrainerFrontPic_Steven, 0x800, 81, + gTrainerFrontPic_SalonMaidenAnabel, 0x800, 82, + gTrainerFrontPic_DomeAceTucker, 0x800, 83, + gTrainerFrontPic_PalaceMavenSpenser, 0x800, 84, + gTrainerFrontPic_ArenaTycoonGreta, 0x1000, 85, + gTrainerFrontPic_FactoryHeadNoland, 0x800, 86, + gTrainerFrontPic_PikeQueenLucy, 0x800, 87, + gTrainerFrontPic_PyramidKingBrandon, 0x800, 88, + gTrainerFrontPic_Red, 0x800, 89, + gTrainerFrontPic_Leaf, 0x800, 90, + gTrainerFrontPic_RubySapphireBrendan, 0x800, 91, + gTrainerFrontPic_RubySapphireMay, 0x800, 92, +}; + +const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[] = +{ + gTrainerPalette_Hiker, 0, + gTrainerPalette_AquaGruntM, 1, + gTrainerPalette_PokemonBreederF, 2, + gTrainerPalette_CoolTrainerM, 3, + gTrainerPalette_BirdKeeper, 4, + gTrainerPalette_Collector, 5, + gTrainerPalette_AquaGruntF, 6, + gTrainerPalette_SwimmerM, 7, + gTrainerPalette_MagmaGruntM, 8, + gTrainerPalette_ExpertM, 9, + gTrainerPalette_AquaAdminM, 10, + gTrainerPalette_BlackBelt, 11, + gTrainerPalette_AquaAdminF, 12, + gTrainerPalette_AquaLeaderArchie, 13, + gTrainerPalette_HexManiac, 14, + gTrainerPalette_AromaLady, 15, + gTrainerPalette_RuinManiac, 16, + gTrainerPalette_Interviewer, 17, + gTrainerPalette_TuberF, 18, + gTrainerPalette_TuberM, 19, + gTrainerPalette_CoolTrainerF, 20, + gTrainerPalette_Lady, 21, + gTrainerPalette_Beauty, 22, + gTrainerPalette_RichBoy, 23, + gTrainerPalette_ExpertF, 24, + gTrainerPalette_Pokemaniac, 25, + gTrainerPalette_MagmaGruntF, 26, + gTrainerPalette_Guitarist, 27, + gTrainerPalette_Kindler, 28, + gTrainerPalette_Camper, 29, + gTrainerPalette_Picnicker, 30, + gTrainerPalette_BugManiac, 31, + gTrainerPalette_PokemonBreederM, 32, + gTrainerPalette_PsychicM, 33, + gTrainerPalette_PsychicF, 34, + gTrainerPalette_Gentleman, 35, + gTrainerPalette_EliteFourSidney, 36, + gTrainerPalette_EliteFourPhoebe, 37, + gTrainerPalette_EliteFourGlacia, 38, + gTrainerPalette_EliteFourDrake, 39, + gTrainerPalette_LeaderRoxanne, 40, + gTrainerPalette_LeaderBrawly, 41, + gTrainerPalette_LeaderWattson, 42, + gTrainerPalette_LeaderFlannery, 43, + gTrainerPalette_LeaderNorman, 44, + gTrainerPalette_LeaderWinona, 45, + gTrainerPalette_LeaderTateAndLiza, 46, + gTrainerPalette_LeaderJuan, 47, + gTrainerPalette_SchoolKidM, 48, + gTrainerPalette_SchoolKidF, 49, + gTrainerPalette_SrAndJr, 50, + gTrainerPalette_WinstrateM, 51, + gTrainerPalette_WinstrateF, 52, + gTrainerPalette_Youngster, 53, + gTrainerPalette_ChampionWallace, 54, + gTrainerPalette_Fisherman, 55, + gTrainerPalette_CyclingTriathleteM, 56, + gTrainerPalette_CyclingTriathleteF, 57, + gTrainerPalette_RunningTriathleteM, 58, + gTrainerPalette_RunningTriathleteF, 59, + gTrainerPalette_SwimmingTriathleteM, 60, + gTrainerPalette_SwimmingTriathleteF, 61, + gTrainerPalette_DragonTamer, 62, + gTrainerPalette_NinjaBoy, 63, + gTrainerPalette_BattleGirl, 64, + gTrainerPalette_ParasolLady, 65, + gTrainerPalette_SwimmerF, 66, + gTrainerPalette_Twins, 67, + gTrainerPalette_Sailor, 68, + gTrainerPalette_MagmaAdmin, 69, + gTrainerPalette_Wally, 70, + gTrainerPalette_Brendan, 71, + gTrainerPalette_May, 72, + gTrainerPalette_BugCatcher, 73, + gTrainerPalette_PokemonRangerM, 74, + gTrainerPalette_PokemonRangerF, 75, + gTrainerPalette_MagmaLeaderMaxie, 76, + gTrainerPalette_Lass, 77, + gTrainerPalette_YoungCouple, 78, + gTrainerPalette_OldCouple, 79, + gTrainerPalette_SisAndBro, 80, + gTrainerPalette_Steven, 81, + gTrainerPalette_SalonMaidenAnabel, 82, + gTrainerPalette_DomeAceTucker, 83, + gTrainerPalette_PalaceMavenSpenser, 84, + gTrainerPalette_ArenaTycoonGreta, 85, + gTrainerPalette_FactoryHeadNoland, 86, + gTrainerPalette_PikeQueenLucy, 87, + gTrainerPalette_PyramidKingBrandon, 88, + gTrainerPalette_Red, 89, + gTrainerPalette_Leaf, 90, + gTrainerPalette_RubySapphireBrendan, 91, + gTrainerPalette_RubySapphireMay, 92, +}; diff --git a/src/data2b.c b/src/data2b.c new file mode 100644 index 000000000..e7ca473a9 --- /dev/null +++ b/src/data2b.c @@ -0,0 +1,132 @@ +#include "global.h" +#include "graphics.h" + +extern const union AnimCmd gAnimCmd_General_Frame0[]; +extern const union AnimCmd AnimCmd_82FF540[]; + +#include "data/pokemon_graphics/back_pic_table.h" +#include "data/pokemon_graphics/palette_table.h" +#include "data/pokemon_graphics/shiny_palette_table.h" + +#include "data/trainer_graphics/front_pic_anims.h" +#include "data/trainer_graphics/front_pic_tables.h" +#include "data/trainer_graphics/back_pic_anims.h" +#include "data/trainer_graphics/back_pic_tables.h" + +#include "data/pokemon_graphics/enemy_mon_elevation.h" +#include "data/pokemon_graphics/front_anims.h" +#include "data/pokemon_graphics/front_pic_table.h" + +const u32 gUnknown830AF4C[] = // Potentially part of battle_data.c +{ + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000886, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000886, 0x00000888, + 0x00000888, 0x00000888, 0x00000886, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000088, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000888, 0x00000088, 0x00000088, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000886, 0x00000888, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000088, 0x00000088, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000886, + 0x00000888, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000886, 0x00000888, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000888, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000088, + 0x00000888, 0x00000886, 0x00000886, 0x00000888, + 0x00000886, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000886, + 0x00000888, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000088, 0x00000088, 0x00000888, + 0x00000886, 0x00000888, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000088, + 0x00000886, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000886, 0x00000888, 0x00000088, 0x00000088, + 0x00000888, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000088, + 0x00000888, 0x00000888, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000088, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000886, 0x00000888, 0x00000888, + 0x00000886, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00001882, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000886, 0x00000088, 0x00000886, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000088, + 0x00000088, 0x00000886, 0x00000886, 0x00000886, + 0x00000886, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000886, + 0x00000886, 0x00000886, 0x00000886, 0x00000088, + 0x00000886, 0x00000088, 0x00000886, 0x00000886, + 0x00000886, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000886, 0x00000886, + 0x00000886, 0x00000888, 0x00000886, 0x00000886, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000886, 0x00000886, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000088, 0x00000088, 0x00000088, + 0x00000088, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, + 0x00000888, 0x00000888, 0x00000888, 0x00000888, +}; diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 6f33b2c9b..c6cb0741d 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -63,32 +63,24 @@ s16 GetTruckBoxMovement(int a1) // for the box movement? return 0; } -// smh STILL BROKEN IN EMERALD void Task_Truck1(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 cameraYpan; - s16 box1 = 0; - s16 box2 = 0; - s16 box3 = 0; - u8 mapNum, mapGroup; - register s16 zero asm("r4"); + s16 cameraXpan = 0, cameraYpan = 0; + s16 box1, box2, box3; box1 = GetTruckBoxMovement(data[0] + 30) * 4; // top box. - sub_808E82C(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 3, box1 + 3); + sub_808E82C(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 3 - cameraXpan, box1 + 3); box2 = GetTruckBoxMovement(data[0]) * 2; // bottom left box. - sub_808E82C(2, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, 0, box2 - 3); + sub_808E82C(2, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, -cameraXpan, box2 - 3); box3 = GetTruckBoxMovement(data[0]) * 4; // bottom right box. - mapNum = gSaveBlock1Ptr->location.mapNum; - mapGroup = gSaveBlock1Ptr->location.mapGroup; - zero = 0; - sub_808E82C(3, mapNum, mapGroup, -3, box3); + sub_808E82C(3, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, -3 - cameraXpan, box3); if (++data[0] == SECONDS(500)) // this will never run - data[0] = zero; // reset the timer if it gets stuck. + data[0] = 0; // reset the timer if it gets stuck. cameraYpan = GetTruckCameraBobbingY(data[0]); - SetCameraPanning(0, cameraYpan); + SetCameraPanning(cameraXpan, cameraYpan); } void Task_Truck2(u8 taskId) diff --git a/src/pokemon.c b/src/pokemon.c index 5157853c1..eafb0c2cd 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -90,7 +90,7 @@ extern u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerOpponentId); extern u8 sub_81D63C8(u16 trainerOpponentId); extern u8 GetFrontierOpponentClass(u16 trainerId); extern void GetFrontierTrainerName(u8* dest, u16 trainerId); -extern void sub_81C488C(u8); +extern void SummaryScreen_SetUnknownTaskId(u8); // this file's functions static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); @@ -113,9 +113,1253 @@ EWRAM_DATA struct Unknown_806F160_Struct *gUnknown_020249B4[2] = {NULL}; #include "data/battle_moves.h" static const u8 sUnreferencedData[] = {0x34, 0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00}; -const u16 gSpeciesToHoennPokedexNum[] = {203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 156, 157, 112, 113, 227, 228, 229, 230, 231, 232, 233, 234, 153, 154, 138, 139, 63, 64, 88, 89, 90, 235, 236, 237, 238, 239, 240, 241, 242, 158, 159, 243, 244, 245, 246, 247, 248, 249, 39, 40, 41, 73, 74, 75, 250, 251, 252, 66, 67, 57, 58, 59, 253, 254, 255, 256, 82, 83, 257, 92, 93, 258, 259, 106, 107, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 84, 85, 270, 271, 272, 273, 274, 275, 276, 108, 109, 169, 170, 277, 278, 279, 184, 185, 50, 51, 143, 144, 280, 281, 282, 283, 284, 167, 285, 52, 53, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 65, 181, 182, 155, 324, 137, 325, 326, 162, 163, 327, 328, 329, 91, 55, 56, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 161, 164, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 168, 357, 358, 359, 103, 104, 360, 361, 180, 362, 363, 364, 365, 115, 366, 367, 186, 165, 166, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 42, 43, 44, 25, 26, 34, 35, 114, 27, 28, 32, 33, 99, 100, 61, 62, 145, 131, 132, 60, 105, 68, 127, 128, 183, 129, 130, 140, 141, 97, 98, 116, 117, 118, 48, 49, 78, 79, 101, 102, 173, 174, 175, 119, 120, 171, 172, 125, 126, 54, 110, 111, 80, 81, 69, 76, 77, 121, 122, 160, 148, 149, 94, 36, 37, 38, 95, 96, 150, 45, 46, 47, 176, 177, 178, 152, 146, 147, 124, 123, 179, 70, 71, 72, 142, 86, 87, 133, 134, 135, 136, 29, 30, 31, 187, 188, 189, 190, 191, 192, 193, 194, 195, 198, 199, 200, 196, 197, 201, 202, 151}; -const u16 gSpeciesToNationalPokedexNum[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 290, 291, 292, 276, 277, 285, 286, 327, 278, 279, 283, 284, 320, 321, 300, 301, 352, 343, 344, 299, 324, 302, 339, 340, 370, 341, 342, 349, 350, 318, 319, 328, 329, 330, 296, 297, 309, 310, 322, 323, 363, 364, 365, 331, 332, 361, 362, 337, 338, 298, 325, 326, 311, 312, 303, 307, 308, 333, 334, 360, 355, 356, 315, 287, 288, 289, 316, 317, 357, 293, 294, 295, 366, 367, 368, 359, 353, 354, 336, 335, 369, 304, 305, 306, 351, 313, 314, 345, 346, 347, 348, 280, 281, 282, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 383, 384, 380, 381, 385, 386, 358}; -const u16 gHoennToNationalOrder[] = {252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 63, 64, 65, 290, 291, 292, 293, 294, 295, 296, 297, 118, 119, 129, 130, 298, 183, 184, 74, 75, 76, 299, 300, 301, 41, 42, 169, 72, 73, 302, 303, 304, 305, 306, 66, 67, 68, 307, 308, 309, 310, 311, 312, 81, 82, 100, 101, 313, 314, 43, 44, 45, 182, 84, 85, 315, 316, 317, 318, 319, 320, 321, 322, 323, 218, 219, 324, 88, 89, 109, 110, 325, 326, 27, 28, 327, 227, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 174, 39, 40, 349, 350, 351, 120, 121, 352, 353, 354, 355, 356, 357, 358, 359, 37, 38, 172, 25, 26, 54, 55, 360, 202, 177, 178, 203, 231, 232, 127, 214, 111, 112, 361, 362, 363, 364, 365, 366, 367, 368, 369, 222, 170, 171, 370, 116, 117, 230, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 69, 70, 71, 77, 78, 79, 80, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 113, 114, 115, 122, 123, 124, 125, 126, 128, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 173, 175, 176, 179, 180, 181, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 215, 216, 217, 220, 221, 223, 224, 225, 226, 228, 229, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411}; +const u16 gSpeciesToHoennPokedexNum[] = // Assigns all species to the Hoenn Dex Index (Summary No. for Hoenn Dex) +{ + // SPECIES_NONE + HOENN_DEX_BULBASAUR, // SPECIES_BULBASAUR + HOENN_DEX_IVYSAUR, // SPECIES_IVYSAUR + HOENN_DEX_VENUSAUR, // SPECIES_VENUSAUR + HOENN_DEX_CHARMANDER, // SPECIES_CHARMANDER + HOENN_DEX_CHARMELEON, // SPECIES_CHARMELEON + HOENN_DEX_CHARIZARD, // SPECIES_CHARIZARD + HOENN_DEX_SQUIRTLE, // SPECIES_SQUIRTLE + HOENN_DEX_WARTORTLE, // SPECIES_WARTORTLE + HOENN_DEX_BLASTOISE, // SPECIES_BLASTOISE + HOENN_DEX_CATERPIE, // SPECIES_CATERPIE + HOENN_DEX_METAPOD, // SPECIES_METAPOD + HOENN_DEX_BUTTERFREE, // SPECIES_BUTTERFREE + HOENN_DEX_WEEDLE, // SPECIES_WEEDLE + HOENN_DEX_KAKUNA, // SPECIES_KAKUNA + HOENN_DEX_BEEDRILL, // SPECIES_BEEDRILL + HOENN_DEX_PIDGEY, // SPECIES_PIDGEY + HOENN_DEX_PIDGEOTTO, // SPECIES_PIDGEOTTO + HOENN_DEX_PIDGEOT, // SPECIES_PIDGEOT + HOENN_DEX_RATTATA, // SPECIES_RATTATA + HOENN_DEX_RATICATE, // SPECIES_RATICATE + HOENN_DEX_SPEAROW, // SPECIES_SPEAROW + HOENN_DEX_FEAROW, // SPECIES_FEAROW + HOENN_DEX_EKANS, // SPECIES_EKANS + HOENN_DEX_ARBOK, // SPECIES_ARBOK + HOENN_DEX_PIKACHU, // SPECIES_PIKACHU + HOENN_DEX_RAICHU, // SPECIES_RAICHU + HOENN_DEX_SANDSHREW, // SPECIES_SANDSHREW + HOENN_DEX_SANDSLASH, // SPECIES_SANDSLASH + HOENN_DEX_NIDORAN_F, // SPECIES_NIDORAN_F + HOENN_DEX_NIDORINA, // SPECIES_NIDORINA + HOENN_DEX_NIDOQUEEN, // SPECIES_NIDOQUEEN + HOENN_DEX_NIDORAN_M, // SPECIES_NIDORAN_M + HOENN_DEX_NIDORINO, // SPECIES_NIDORINO + HOENN_DEX_NIDOKING, // SPECIES_NIDOKING + HOENN_DEX_CLEFAIRY, // SPECIES_CLEFAIRY + HOENN_DEX_CLEFABLE, // SPECIES_CLEFABLE + HOENN_DEX_VULPIX, // SPECIES_VULPIX + HOENN_DEX_NINETALES, // SPECIES_NINETALES + HOENN_DEX_JIGGLYPUFF, // SPECIES_JIGGLYPUFF + HOENN_DEX_WIGGLYTUFF, // SPECIES_WIGGLYTUFF + HOENN_DEX_ZUBAT, // SPECIES_ZUBAT + HOENN_DEX_GOLBAT, // SPECIES_GOLBAT + HOENN_DEX_ODDISH, // SPECIES_ODDISH + HOENN_DEX_GLOOM, // SPECIES_GLOOM + HOENN_DEX_VILEPLUME, // SPECIES_VILEPLUME + HOENN_DEX_PARAS, // SPECIES_PARAS + HOENN_DEX_PARASECT, // SPECIES_PARASECT + HOENN_DEX_VENONAT, // SPECIES_VENONAT + HOENN_DEX_VENOMOTH, // SPECIES_VENOMOTH + HOENN_DEX_DIGLETT, // SPECIES_DIGLETT + HOENN_DEX_DUGTRIO, // SPECIES_DUGTRIO + HOENN_DEX_MEOWTH, // SPECIES_MEOWTH + HOENN_DEX_PERSIAN, // SPECIES_PERSIAN + HOENN_DEX_PSYDUCK, // SPECIES_PSYDUCK + HOENN_DEX_GOLDUCK, // SPECIES_GOLDUCK + HOENN_DEX_MANKEY, // SPECIES_MANKEY + HOENN_DEX_PRIMEAPE, // SPECIES_PRIMEAPE + HOENN_DEX_GROWLITHE, // SPECIES_GROWLITHE + HOENN_DEX_ARCANINE, // SPECIES_ARCANINE + HOENN_DEX_POLIWAG, // SPECIES_POLIWAG + HOENN_DEX_POLIWHIRL, // SPECIES_POLIWHIRL + HOENN_DEX_POLIWRATH, // SPECIES_POLIWRATH + HOENN_DEX_ABRA, // SPECIES_ABRA + HOENN_DEX_KADABRA, // SPECIES_KADABRA + HOENN_DEX_ALAKAZAM, // SPECIES_ALAKAZAM + HOENN_DEX_MACHOP, // SPECIES_MACHOP + HOENN_DEX_MACHOKE, // SPECIES_MACHOKE + HOENN_DEX_MACHAMP, // SPECIES_MACHAMP + HOENN_DEX_BELLSPROUT, // SPECIES_BELLSPROUT + HOENN_DEX_WEEPINBELL, // SPECIES_WEEPINBELL + HOENN_DEX_VICTREEBEL, // SPECIES_VICTREEBEL + HOENN_DEX_TENTACOOL, // SPECIES_TENTACOOL + HOENN_DEX_TENTACRUEL, // SPECIES_TENTACRUEL + HOENN_DEX_GEODUDE, // SPECIES_GEODUDE + HOENN_DEX_GRAVELER, // SPECIES_GRAVELER + HOENN_DEX_GOLEM, // SPECIES_GOLEM + HOENN_DEX_PONYTA, // SPECIES_PONYTA + HOENN_DEX_RAPIDASH, // SPECIES_RAPIDASH + HOENN_DEX_SLOWPOKE, // SPECIES_SLOWPOKE + HOENN_DEX_SLOWBRO, // SPECIES_SLOWBRO + HOENN_DEX_MAGNEMITE, // SPECIES_MAGNEMITE + HOENN_DEX_MAGNETON, // SPECIES_MAGNETON + HOENN_DEX_FARFETCHD, // SPECIES_FARFETCHD + HOENN_DEX_DODUO, // SPECIES_DODUO + HOENN_DEX_DODRIO, // SPECIES_DODRIO + HOENN_DEX_SEEL, // SPECIES_SEEL + HOENN_DEX_DEWGONG, // SPECIES_DEWGONG + HOENN_DEX_GRIMER, // SPECIES_GRIMER + HOENN_DEX_MUK, // SPECIES_MUK + HOENN_DEX_SHELLDER, // SPECIES_SHELLDER + HOENN_DEX_CLOYSTER, // SPECIES_CLOYSTER + HOENN_DEX_GASTLY, // SPECIES_GASTLY + HOENN_DEX_HAUNTER, // SPECIES_HAUNTER + HOENN_DEX_GENGAR, // SPECIES_GENGAR + HOENN_DEX_ONIX, // SPECIES_ONIX + HOENN_DEX_DROWZEE, // SPECIES_DROWZEE + HOENN_DEX_HYPNO, // SPECIES_HYPNO + HOENN_DEX_KRABBY, // SPECIES_KRABBY + HOENN_DEX_KINGLER, // SPECIES_KINGLER + HOENN_DEX_VOLTORB, // SPECIES_VOLTORB + HOENN_DEX_ELECTRODE, // SPECIES_ELECTRODE + HOENN_DEX_EXEGGCUTE, // SPECIES_EXEGGCUTE + HOENN_DEX_EXEGGUTOR, // SPECIES_EXEGGUTOR + HOENN_DEX_CUBONE, // SPECIES_CUBONE + HOENN_DEX_MAROWAK, // SPECIES_MAROWAK + HOENN_DEX_HITMONLEE, // SPECIES_HITMONLEE + HOENN_DEX_HITMONCHAN, // SPECIES_HITMONCHAN + HOENN_DEX_LICKITUNG, // SPECIES_LICKITUNG + HOENN_DEX_KOFFING, // SPECIES_KOFFING + HOENN_DEX_WEEZING, // SPECIES_WEEZING + HOENN_DEX_RHYHORN, // SPECIES_RHYHORN + HOENN_DEX_RHYDON, // SPECIES_RHYDON + HOENN_DEX_CHANSEY, // SPECIES_CHANSEY + HOENN_DEX_TANGELA, // SPECIES_TANGELA + HOENN_DEX_KANGASKHAN, // SPECIES_KANGASKHAN + HOENN_DEX_HORSEA, // SPECIES_HORSEA + HOENN_DEX_SEADRA, // SPECIES_SEADRA + HOENN_DEX_GOLDEEN, // SPECIES_GOLDEEN + HOENN_DEX_SEAKING, // SPECIES_SEAKING + HOENN_DEX_STARYU, // SPECIES_STARYU + HOENN_DEX_STARMIE, // SPECIES_STARMIE + HOENN_DEX_MR_MIME, // SPECIES_MR_MIME + HOENN_DEX_SCYTHER, // SPECIES_SCYTHER + HOENN_DEX_JYNX, // SPECIES_JYNX + HOENN_DEX_ELECTABUZZ, // SPECIES_ELECTABUZZ + HOENN_DEX_MAGMAR, // SPECIES_MAGMAR + HOENN_DEX_PINSIR, // SPECIES_PINSIR + HOENN_DEX_TAUROS, // SPECIES_TAUROS + HOENN_DEX_MAGIKARP, // SPECIES_MAGIKARP + HOENN_DEX_GYARADOS, // SPECIES_GYARADOS + HOENN_DEX_LAPRAS, // SPECIES_LAPRAS + HOENN_DEX_DITTO, // SPECIES_DITTO + HOENN_DEX_EEVEE, // SPECIES_EEVEE + HOENN_DEX_VAPOREON, // SPECIES_VAPOREON + HOENN_DEX_JOLTEON, // SPECIES_JOLTEON + HOENN_DEX_FLAREON, // SPECIES_FLAREON + HOENN_DEX_PORYGON, // SPECIES_PORYGON + HOENN_DEX_OMANYTE, // SPECIES_OMANYTE + HOENN_DEX_OMASTAR, // SPECIES_OMASTAR + HOENN_DEX_KABUTO, // SPECIES_KABUTO + HOENN_DEX_KABUTOPS, // SPECIES_KABUTOPS + HOENN_DEX_AERODACTYL, // SPECIES_AERODACTYL + HOENN_DEX_SNORLAX, // SPECIES_SNORLAX + HOENN_DEX_ARTICUNO, // SPECIES_ARTICUNO + HOENN_DEX_ZAPDOS, // SPECIES_ZAPDOS + HOENN_DEX_MOLTRES, // SPECIES_MOLTRES + HOENN_DEX_DRATINI, // SPECIES_DRATINI + HOENN_DEX_DRAGONAIR, // SPECIES_DRAGONAIR + HOENN_DEX_DRAGONITE, // SPECIES_DRAGONITE + HOENN_DEX_MEWTWO, // SPECIES_MEWTWO + HOENN_DEX_MEW, // SPECIES_MEW + HOENN_DEX_CHIKORITA, // SPECIES_CHIKORITA + HOENN_DEX_BAYLEEF, // SPECIES_BAYLEEF + HOENN_DEX_MEGANIUM, // SPECIES_MEGANIUM + HOENN_DEX_CYNDAQUIL, // SPECIES_CYNDAQUIL + HOENN_DEX_QUILAVA, // SPECIES_QUILAVA + HOENN_DEX_TYPHLOSION, // SPECIES_TYPHLOSION + HOENN_DEX_TOTODILE, // SPECIES_TOTODILE + HOENN_DEX_CROCONAW, // SPECIES_CROCONAW + HOENN_DEX_FERALIGATR, // SPECIES_FERALIGATR + HOENN_DEX_SENTRET, // SPECIES_SENTRET + HOENN_DEX_FURRET, // SPECIES_FURRET + HOENN_DEX_HOOTHOOT, // SPECIES_HOOTHOOT + HOENN_DEX_NOCTOWL, // SPECIES_NOCTOWL + HOENN_DEX_LEDYBA, // SPECIES_LEDYBA + HOENN_DEX_LEDIAN, // SPECIES_LEDIAN + HOENN_DEX_SPINARAK, // SPECIES_SPINARAK + HOENN_DEX_ARIADOS, // SPECIES_ARIADOS + HOENN_DEX_CROBAT, // SPECIES_CROBAT + HOENN_DEX_CHINCHOU, // SPECIES_CHINCHOU + HOENN_DEX_LANTURN, // SPECIES_LANTURN + HOENN_DEX_PICHU, // SPECIES_PICHU + HOENN_DEX_CLEFFA, // SPECIES_CLEFFA + HOENN_DEX_IGGLYBUFF, // SPECIES_IGGLYBUFF + HOENN_DEX_TOGEPI, // SPECIES_TOGEPI + HOENN_DEX_TOGETIC, // SPECIES_TOGETIC + HOENN_DEX_NATU, // SPECIES_NATU + HOENN_DEX_XATU, // SPECIES_XATU + HOENN_DEX_MAREEP, // SPECIES_MAREEP + HOENN_DEX_FLAAFFY, // SPECIES_FLAAFFY + HOENN_DEX_AMPHAROS, // SPECIES_AMPHAROS + HOENN_DEX_BELLOSSOM, // SPECIES_BELLOSSOM + HOENN_DEX_MARILL, // SPECIES_MARILL + HOENN_DEX_AZUMARILL, // SPECIES_AZUMARILL + HOENN_DEX_SUDOWOODO, // SPECIES_SUDOWOODO + HOENN_DEX_POLITOED, // SPECIES_POLITOED + HOENN_DEX_HOPPIP, // SPECIES_HOPPIP + HOENN_DEX_SKIPLOOM, // SPECIES_SKIPLOOM + HOENN_DEX_JUMPLUFF, // SPECIES_JUMPLUFF + HOENN_DEX_AIPOM, // SPECIES_AIPOM + HOENN_DEX_SUNKERN, // SPECIES_SUNKERN + HOENN_DEX_SUNFLORA, // SPECIES_SUNFLORA + HOENN_DEX_YANMA, // SPECIES_YANMA + HOENN_DEX_WOOPER, // SPECIES_WOOPER + HOENN_DEX_QUAGSIRE, // SPECIES_QUAGSIRE + HOENN_DEX_ESPEON, // SPECIES_ESPEON + HOENN_DEX_UMBREON, // SPECIES_UMBREON + HOENN_DEX_MURKROW, // SPECIES_MURKROW + HOENN_DEX_SLOWKING, // SPECIES_SLOWKING + HOENN_DEX_MISDREAVUS, // SPECIES_MISDREAVUS + HOENN_DEX_UNOWN, // SPECIES_UNOWN + HOENN_DEX_WOBBUFFET, // SPECIES_WOBBUFFET + HOENN_DEX_GIRAFARIG, // SPECIES_GIRAFARIG + HOENN_DEX_PINECO, // SPECIES_PINECO + HOENN_DEX_FORRETRESS, // SPECIES_FORRETRESS + HOENN_DEX_DUNSPARCE, // SPECIES_DUNSPARCE + HOENN_DEX_GLIGAR, // SPECIES_GLIGAR + HOENN_DEX_STEELIX, // SPECIES_STEELIX + HOENN_DEX_SNUBBULL, // SPECIES_SNUBBULL + HOENN_DEX_GRANBULL, // SPECIES_GRANBULL + HOENN_DEX_QWILFISH, // SPECIES_QWILFISH + HOENN_DEX_SCIZOR, // SPECIES_SCIZOR + HOENN_DEX_SHUCKLE, // SPECIES_SHUCKLE + HOENN_DEX_HERACROSS, // SPECIES_HERACROSS + HOENN_DEX_SNEASEL, // SPECIES_SNEASEL + HOENN_DEX_TEDDIURSA, // SPECIES_TEDDIURSA + HOENN_DEX_URSARING, // SPECIES_URSARING + HOENN_DEX_SLUGMA, // SPECIES_SLUGMA + HOENN_DEX_MAGCARGO, // SPECIES_MAGCARGO + HOENN_DEX_SWINUB, // SPECIES_SWINUB + HOENN_DEX_PILOSWINE, // SPECIES_PILOSWINE + HOENN_DEX_CORSOLA, // SPECIES_CORSOLA + HOENN_DEX_REMORAID, // SPECIES_REMORAID + HOENN_DEX_OCTILLERY, // SPECIES_OCTILLERY + HOENN_DEX_DELIBIRD, // SPECIES_DELIBIRD + HOENN_DEX_MANTINE, // SPECIES_MANTINE + HOENN_DEX_SKARMORY, // SPECIES_SKARMORY + HOENN_DEX_HOUNDOUR, // SPECIES_HOUNDOUR + HOENN_DEX_HOUNDOOM, // SPECIES_HOUNDOOM + HOENN_DEX_KINGDRA, // SPECIES_KINGDRA + HOENN_DEX_PHANPY, // SPECIES_PHANPY + HOENN_DEX_DONPHAN, // SPECIES_DONPHAN + HOENN_DEX_PORYGON2, // SPECIES_PORYGON2 + HOENN_DEX_STANTLER, // SPECIES_STANTLER + HOENN_DEX_SMEARGLE, // SPECIES_SMEARGLE + HOENN_DEX_TYROGUE, // SPECIES_TYROGUE + HOENN_DEX_HITMONTOP, // SPECIES_HITMONTOP + HOENN_DEX_SMOOCHUM, // SPECIES_SMOOCHUM + HOENN_DEX_ELEKID, // SPECIES_ELEKID + HOENN_DEX_MAGBY, // SPECIES_MAGBY + HOENN_DEX_MILTANK, // SPECIES_MILTANK + HOENN_DEX_BLISSEY, // SPECIES_BLISSEY + HOENN_DEX_RAIKOU, // SPECIES_RAIKOU + HOENN_DEX_ENTEI, // SPECIES_ENTEI + HOENN_DEX_SUICUNE, // SPECIES_SUICUNE + HOENN_DEX_LARVITAR, // SPECIES_LARVITAR + HOENN_DEX_PUPITAR, // SPECIES_PUPITAR + HOENN_DEX_TYRANITAR, // SPECIES_TYRANITAR + HOENN_DEX_LUGIA, // SPECIES_LUGIA + HOENN_DEX_HO_OH, // SPECIES_HO-OH + HOENN_DEX_CELEBI, // SPECIES_CELEBI + HOENN_DEX_OLD_UNOWN_B, // SPECIES_OLD_UNOWN_B + HOENN_DEX_OLD_UNOWN_C, // SPECIES_OLD_UNOWN_C + HOENN_DEX_OLD_UNOWN_D, // SPECIES_OLD_UNOWN_D + HOENN_DEX_OLD_UNOWN_E, // SPECIES_OLD_UNOWN_E + HOENN_DEX_OLD_UNOWN_F, // SPECIES_OLD_UNOWN_F + HOENN_DEX_OLD_UNOWN_G, // SPECIES_OLD_UNOWN_G + HOENN_DEX_OLD_UNOWN_H, // SPECIES_OLD_UNOWN_H + HOENN_DEX_OLD_UNOWN_I, // SPECIES_OLD_UNOWN_I + HOENN_DEX_OLD_UNOWN_J, // SPECIES_OLD_UNOWN_J + HOENN_DEX_OLD_UNOWN_K, // SPECIES_OLD_UNOWN_K + HOENN_DEX_OLD_UNOWN_L, // SPECIES_OLD_UNOWN_L + HOENN_DEX_OLD_UNOWN_M, // SPECIES_OLD_UNOWN_M + HOENN_DEX_OLD_UNOWN_N, // SPECIES_OLD_UNOWN_N + HOENN_DEX_OLD_UNOWN_O, // SPECIES_OLD_UNOWN_O + HOENN_DEX_OLD_UNOWN_P, // SPECIES_OLD_UNOWN_P + HOENN_DEX_OLD_UNOWN_Q, // SPECIES_OLD_UNOWN_Q + HOENN_DEX_OLD_UNOWN_R, // SPECIES_OLD_UNOWN_R + HOENN_DEX_OLD_UNOWN_S, // SPECIES_OLD_UNOWN_S + HOENN_DEX_OLD_UNOWN_T, // SPECIES_OLD_UNOWN_T + HOENN_DEX_OLD_UNOWN_U, // SPECIES_OLD_UNOWN_U + HOENN_DEX_OLD_UNOWN_V, // SPECIES_OLD_UNOWN_V + HOENN_DEX_OLD_UNOWN_W, // SPECIES_OLD_UNOWN_W + HOENN_DEX_OLD_UNOWN_X, // SPECIES_OLD_UNOWN_X + HOENN_DEX_OLD_UNOWN_Y, // SPECIES_OLD_UNOWN_Y + HOENN_DEX_OLD_UNOWN_Z, // SPECIES_OLD_UNOWN_Z + HOENN_DEX_TREECKO, // SPECIES_TREECKO + HOENN_DEX_GROVYLE, // SPECIES_GROVYLE + HOENN_DEX_SCEPTILE, // SPECIES_SCEPTILE + HOENN_DEX_TORCHIC, // SPECIES_TORCHIC + HOENN_DEX_COMBUSKEN, // SPECIES_COMBUSKEN + HOENN_DEX_BLAZIKEN, // SPECIES_BLAZIKEN + HOENN_DEX_MUDKIP, // SPECIES_MUDKIP + HOENN_DEX_MARSHTOMP, // SPECIES_MARSHTOMP + HOENN_DEX_SWAMPERT, // SPECIES_SWAMPERT + HOENN_DEX_POOCHYENA, // SPECIES_POOCHYENA + HOENN_DEX_MIGHTYENA, // SPECIES_MIGHTYENA + HOENN_DEX_ZIGZAGOON, // SPECIES_ZIGZAGOON + HOENN_DEX_LINOONE, // SPECIES_LINOONE + HOENN_DEX_WURMPLE, // SPECIES_WURMPLE + HOENN_DEX_SILCOON, // SPECIES_SILCOON + HOENN_DEX_BEAUTIFLY, // SPECIES_BEAUTIFLY + HOENN_DEX_CASCOON, // SPECIES_CASCOON + HOENN_DEX_DUSTOX, // SPECIES_DUSTOX + HOENN_DEX_LOTAD, // SPECIES_LOTAD + HOENN_DEX_LOMBRE, // SPECIES_LOMBRE + HOENN_DEX_LUDICOLO, // SPECIES_LUDICOLO + HOENN_DEX_SEEDOT, // SPECIES_SEEDOT + HOENN_DEX_NUZLEAF, // SPECIES_NUZLEAF + HOENN_DEX_SHIFTRY, // SPECIES_SHIFTRY + HOENN_DEX_NINCADA, // SPECIES_NINCADA + HOENN_DEX_NINJASK, // SPECIES_NINJASK + HOENN_DEX_SHEDINJA, // SPECIES_SHEDINJA + HOENN_DEX_TAILLOW, // SPECIES_TAILLOW + HOENN_DEX_SWELLOW, // SPECIES_SWELLOW + HOENN_DEX_SHROOMISH, // SPECIES_SHROOMISH + HOENN_DEX_BRELOOM, // SPECIES_BRELOOM + HOENN_DEX_SPINDA, // SPECIES_SPINDA + HOENN_DEX_WINGULL, // SPECIES_WINGULL + HOENN_DEX_PELIPPER, // SPECIES_PELIPPER + HOENN_DEX_SURSKIT, // SPECIES_SURSKIT + HOENN_DEX_MASQUERAIN, // SPECIES_MASQUERAIN + HOENN_DEX_WAILMER, // SPECIES_WAILMER + HOENN_DEX_WAILORD, // SPECIES_WAILORD + HOENN_DEX_SKITTY, // SPECIES_SKITTY + HOENN_DEX_DELCATTY, // SPECIES_DELCATTY + HOENN_DEX_KECLEON, // SPECIES_KECLEON + HOENN_DEX_BALTOY, // SPECIES_BALTOY + HOENN_DEX_CLAYDOL, // SPECIES_CLAYDOL + HOENN_DEX_NOSEPASS, // SPECIES_NOSEPASS + HOENN_DEX_TORKOAL, // SPECIES_TORKOAL + HOENN_DEX_SABLEYE, // SPECIES_SABLEYE + HOENN_DEX_BARBOACH, // SPECIES_BARBOACH + HOENN_DEX_WHISCASH, // SPECIES_WHISCASH + HOENN_DEX_LUVDISC, // SPECIES_LUVDISC + HOENN_DEX_CORPHISH, // SPECIES_CORPHISH + HOENN_DEX_CRAWDAUNT, // SPECIES_CRAWDAUNT + HOENN_DEX_FEEBAS, // SPECIES_FEEBAS + HOENN_DEX_MILOTIC, // SPECIES_MILOTIC + HOENN_DEX_CARVANHA, // SPECIES_CARVANHA + HOENN_DEX_SHARPEDO, // SPECIES_SHARPEDO + HOENN_DEX_TRAPINCH, // SPECIES_TRAPINCH + HOENN_DEX_VIBRAVA, // SPECIES_VIBRAVA + HOENN_DEX_FLYGON, // SPECIES_FLYGON + HOENN_DEX_MAKUHITA, // SPECIES_MAKUHITA + HOENN_DEX_HARIYAMA, // SPECIES_HARIYAMA + HOENN_DEX_ELECTRIKE, // SPECIES_ELECTRIKE + HOENN_DEX_MANECTRIC, // SPECIES_MANECTRIC + HOENN_DEX_NUMEL, // SPECIES_NUMEL + HOENN_DEX_CAMERUPT, // SPECIES_CAMERUPT + HOENN_DEX_SPHEAL, // SPECIES_SPHEAL + HOENN_DEX_SEALEO, // SPECIES_SEALEO + HOENN_DEX_WALREIN, // SPECIES_WALREIN + HOENN_DEX_CACNEA, // SPECIES_CACNEA + HOENN_DEX_CACTURNE, // SPECIES_CACTURNE + HOENN_DEX_SNORUNT, // SPECIES_SNORUNT + HOENN_DEX_GLALIE, // SPECIES_GLALIE + HOENN_DEX_LUNATONE, // SPECIES_LUNATONE + HOENN_DEX_SOLROCK, // SPECIES_SOLROCK + HOENN_DEX_AZURILL, // SPECIES_AZURILL + HOENN_DEX_SPOINK, // SPECIES_SPOINK + HOENN_DEX_GRUMPIG, // SPECIES_GRUMPIG + HOENN_DEX_PLUSLE, // SPECIES_PLUSLE + HOENN_DEX_MINUN, // SPECIES_MINUN + HOENN_DEX_MAWILE, // SPECIES_MAWILE + HOENN_DEX_MEDITITE, // SPECIES_MEDITITE + HOENN_DEX_MEDICHAM, // SPECIES_MEDICHAM + HOENN_DEX_SWABLU, // SPECIES_SWABLU + HOENN_DEX_ALTARIA, // SPECIES_ALTARIA + HOENN_DEX_WYNAUT, // SPECIES_WYNAUT + HOENN_DEX_DUSKULL, // SPECIES_DUSKULL + HOENN_DEX_DUSCLOPS, // SPECIES_DUSCLOPS + HOENN_DEX_ROSELIA, // SPECIES_ROSELIA + HOENN_DEX_SLAKOTH, // SPECIES_SLAKOTH + HOENN_DEX_VIGOROTH, // SPECIES_VIGOROTH + HOENN_DEX_SLAKING, // SPECIES_SLAKING + HOENN_DEX_GULPIN, // SPECIES_GULPIN + HOENN_DEX_SWALOT, // SPECIES_SWALOT + HOENN_DEX_TROPIUS, // SPECIES_TROPIUS + HOENN_DEX_WHISMUR, // SPECIES_WHISMUR + HOENN_DEX_LOUDRED, // SPECIES_LOUDRED + HOENN_DEX_EXPLOUD, // SPECIES_EXPLOUD + HOENN_DEX_CLAMPERL, // SPECIES_CLAMPERL + HOENN_DEX_HUNTAIL, // SPECIES_HUNTAIL + HOENN_DEX_GOREBYSS, // SPECIES_GOREBYSS + HOENN_DEX_ABSOL, // SPECIES_ABSOL + HOENN_DEX_SHUPPET, // SPECIES_SHUPPET + HOENN_DEX_BANETTE, // SPECIES_BANETTE + HOENN_DEX_SEVIPER, // SPECIES_SEVIPER + HOENN_DEX_ZANGOOSE, // SPECIES_ZANGOOSE + HOENN_DEX_RELICANTH, // SPECIES_RELICANTH + HOENN_DEX_ARON, // SPECIES_ARON + HOENN_DEX_LAIRON, // SPECIES_LAIRON + HOENN_DEX_AGGRON, // SPECIES_AGGRON + HOENN_DEX_CASTFORM, // SPECIES_CASTFORM + HOENN_DEX_VOLBEAT, // SPECIES_VOLBEAT + HOENN_DEX_ILLUMISE, // SPECIES_ILLUMISE + HOENN_DEX_LILEEP, // SPECIES_LILEEP + HOENN_DEX_CRADILY, // SPECIES_CRADILY + HOENN_DEX_ANORITH, // SPECIES_ANORITH + HOENN_DEX_ARMALDO, // SPECIES_ARMALDO + HOENN_DEX_RALTS, // SPECIES_RALTS + HOENN_DEX_KIRLIA, // SPECIES_KIRLIA + HOENN_DEX_GARDEVOIR, // SPECIES_GARDEVOIR + HOENN_DEX_BAGON, // SPECIES_BAGON + HOENN_DEX_SHELGON, // SPECIES_SHELGON + HOENN_DEX_SALAMENCE, // SPECIES_SALAMENCE + HOENN_DEX_BELDUM, // SPECIES_BELDUM + HOENN_DEX_METANG, // SPECIES_METANG + HOENN_DEX_METAGROSS, // SPECIES_METAGROSS + HOENN_DEX_REGIROCK, // SPECIES_REGIROCK + HOENN_DEX_REGICE, // SPECIES_REGICE + HOENN_DEX_REGISTEEL, // SPECIES_REGISTEEL + HOENN_DEX_KYOGRE, // SPECIES_KYOGRE + HOENN_DEX_GROUDON, // SPECIES_GROUDON + HOENN_DEX_RAYQUAZA, // SPECIES_RAYQUAZA + HOENN_DEX_LATIAS, // SPECIES_LATIAS + HOENN_DEX_LATIOS, // SPECIES_LATIOS + HOENN_DEX_JIRACHI, // SPECIES_JIRACHI + HOENN_DEX_DEOXYS, // SPECIES_DEOXYS + HOENN_DEX_CHIMECHO // SPECIES_CHIMECHO +}; + +const u16 gSpeciesToNationalPokedexNum[] = // Assigns all species to the National Dex Index (Summary No. for National Dex) +{ + // SPECIES_NONE + NATIONAL_DEX_BULBASAUR, // SPECIES_BULBASAUR + NATIONAL_DEX_IVYSAUR, // SPECIES_IVYSAUR + NATIONAL_DEX_VENUSAUR, // SPECIES_VENUSAUR + NATIONAL_DEX_CHARMANDER, // SPECIES_CHARMANDER + NATIONAL_DEX_CHARMELEON, // SPECIES_CHARMELEON + NATIONAL_DEX_CHARIZARD, // SPECIES_CHARIZARD + NATIONAL_DEX_SQUIRTLE, // SPECIES_SQUIRTLE + NATIONAL_DEX_WARTORTLE, // SPECIES_WARTORTLE + NATIONAL_DEX_BLASTOISE, // SPECIES_BLASTOISE + NATIONAL_DEX_CATERPIE, // SPECIES_CATERPIE + NATIONAL_DEX_METAPOD, // SPECIES_METAPOD + NATIONAL_DEX_BUTTERFREE, // SPECIES_BUTTERFREE + NATIONAL_DEX_WEEDLE, // SPECIES_WEEDLE + NATIONAL_DEX_KAKUNA, // SPECIES_KAKUNA + NATIONAL_DEX_BEEDRILL, // SPECIES_BEEDRILL + NATIONAL_DEX_PIDGEY, // SPECIES_PIDGEY + NATIONAL_DEX_PIDGEOTTO, // SPECIES_PIDGEOTTO + NATIONAL_DEX_PIDGEOT, // SPECIES_PIDGEOT + NATIONAL_DEX_RATTATA, // SPECIES_RATTATA + NATIONAL_DEX_RATICATE, // SPECIES_RATICATE + NATIONAL_DEX_SPEAROW, // SPECIES_SPEAROW + NATIONAL_DEX_FEAROW, // SPECIES_FEAROW + NATIONAL_DEX_EKANS, // SPECIES_EKANS + NATIONAL_DEX_ARBOK, // SPECIES_ARBOK + NATIONAL_DEX_PIKACHU, // SPECIES_PIKACHU + NATIONAL_DEX_RAICHU, // SPECIES_RAICHU + NATIONAL_DEX_SANDSHREW, // SPECIES_SANDSHREW + NATIONAL_DEX_SANDSLASH, // SPECIES_SANDSLASH + NATIONAL_DEX_NIDORAN_F, // SPECIES_NIDORAN_F + NATIONAL_DEX_NIDORINA, // SPECIES_NIDORINA + NATIONAL_DEX_NIDOQUEEN, // SPECIES_NIDOQUEEN + NATIONAL_DEX_NIDORAN_M, // SPECIES_NIDORAN_M + NATIONAL_DEX_NIDORINO, // SPECIES_NIDORINO + NATIONAL_DEX_NIDOKING, // SPECIES_NIDOKING + NATIONAL_DEX_CLEFAIRY, // SPECIES_CLEFAIRY + NATIONAL_DEX_CLEFABLE, // SPECIES_CLEFABLE + NATIONAL_DEX_VULPIX, // SPECIES_VULPIX + NATIONAL_DEX_NINETALES, // SPECIES_NINETALES + NATIONAL_DEX_JIGGLYPUFF, // SPECIES_JIGGLYPUFF + NATIONAL_DEX_WIGGLYTUFF, // SPECIES_WIGGLYTUFF + NATIONAL_DEX_ZUBAT, // SPECIES_ZUBAT + NATIONAL_DEX_GOLBAT, // SPECIES_GOLBAT + NATIONAL_DEX_ODDISH, // SPECIES_ODDISH + NATIONAL_DEX_GLOOM, // SPECIES_GLOOM + NATIONAL_DEX_VILEPLUME, // SPECIES_VILEPLUME + NATIONAL_DEX_PARAS, // SPECIES_PARAS + NATIONAL_DEX_PARASECT, // SPECIES_PARASECT + NATIONAL_DEX_VENONAT, // SPECIES_VENONAT + NATIONAL_DEX_VENOMOTH, // SPECIES_VENOMOTH + NATIONAL_DEX_DIGLETT, // SPECIES_DIGLETT + NATIONAL_DEX_DUGTRIO, // SPECIES_DUGTRIO + NATIONAL_DEX_MEOWTH, // SPECIES_MEOWTH + NATIONAL_DEX_PERSIAN, // SPECIES_PERSIAN + NATIONAL_DEX_PSYDUCK, // SPECIES_PSYDUCK + NATIONAL_DEX_GOLDUCK, // SPECIES_GOLDUCK + NATIONAL_DEX_MANKEY, // SPECIES_MANKEY + NATIONAL_DEX_PRIMEAPE, // SPECIES_PRIMEAPE + NATIONAL_DEX_GROWLITHE, // SPECIES_GROWLITHE + NATIONAL_DEX_ARCANINE, // SPECIES_ARCANINE + NATIONAL_DEX_POLIWAG, // SPECIES_POLIWAG + NATIONAL_DEX_POLIWHIRL, // SPECIES_POLIWHIRL + NATIONAL_DEX_POLIWRATH, // SPECIES_POLIWRATH + NATIONAL_DEX_ABRA, // SPECIES_ABRA + NATIONAL_DEX_KADABRA, // SPECIES_KADABRA + NATIONAL_DEX_ALAKAZAM, // SPECIES_ALAKAZAM + NATIONAL_DEX_MACHOP, // SPECIES_MACHOP + NATIONAL_DEX_MACHOKE, // SPECIES_MACHOKE + NATIONAL_DEX_MACHAMP, // SPECIES_MACHAMP + NATIONAL_DEX_BELLSPROUT, // SPECIES_BELLSPROUT + NATIONAL_DEX_WEEPINBELL, // SPECIES_WEEPINBELL + NATIONAL_DEX_VICTREEBEL, // SPECIES_VICTREEBEL + NATIONAL_DEX_TENTACOOL, // SPECIES_TENTACOOL + NATIONAL_DEX_TENTACRUEL, // SPECIES_TENTACRUEL + NATIONAL_DEX_GEODUDE, // SPECIES_GEODUDE + NATIONAL_DEX_GRAVELER, // SPECIES_GRAVELER + NATIONAL_DEX_GOLEM, // SPECIES_GOLEM + NATIONAL_DEX_PONYTA, // SPECIES_PONYTA + NATIONAL_DEX_RAPIDASH, // SPECIES_RAPIDASH + NATIONAL_DEX_SLOWPOKE, // SPECIES_SLOWPOKE + NATIONAL_DEX_SLOWBRO, // SPECIES_SLOWBRO + NATIONAL_DEX_MAGNEMITE, // SPECIES_MAGNEMITE + NATIONAL_DEX_MAGNETON, // SPECIES_MAGNETON + NATIONAL_DEX_FARFETCHD, // SPECIES_FARFETCHD + NATIONAL_DEX_DODUO, // SPECIES_DODUO + NATIONAL_DEX_DODRIO, // SPECIES_DODRIO + NATIONAL_DEX_SEEL, // SPECIES_SEEL + NATIONAL_DEX_DEWGONG, // SPECIES_DEWGONG + NATIONAL_DEX_GRIMER, // SPECIES_GRIMER + NATIONAL_DEX_MUK, // SPECIES_MUK + NATIONAL_DEX_SHELLDER, // SPECIES_SHELLDER + NATIONAL_DEX_CLOYSTER, // SPECIES_CLOYSTER + NATIONAL_DEX_GASTLY, // SPECIES_GASTLY + NATIONAL_DEX_HAUNTER, // SPECIES_HAUNTER + NATIONAL_DEX_GENGAR, // SPECIES_GENGAR + NATIONAL_DEX_ONIX, // SPECIES_ONIX + NATIONAL_DEX_DROWZEE, // SPECIES_DROWZEE + NATIONAL_DEX_HYPNO, // SPECIES_HYPNO + NATIONAL_DEX_KRABBY, // SPECIES_KRABBY + NATIONAL_DEX_KINGLER, // SPECIES_KINGLER + NATIONAL_DEX_VOLTORB, // SPECIES_VOLTORB + NATIONAL_DEX_ELECTRODE, // SPECIES_ELECTRODE + NATIONAL_DEX_EXEGGCUTE, // SPECIES_EXEGGCUTE + NATIONAL_DEX_EXEGGUTOR, // SPECIES_EXEGGUTOR + NATIONAL_DEX_CUBONE, // SPECIES_CUBONE + NATIONAL_DEX_MAROWAK, // SPECIES_MAROWAK + NATIONAL_DEX_HITMONLEE, // SPECIES_HITMONLEE + NATIONAL_DEX_HITMONCHAN, // SPECIES_HITMONCHAN + NATIONAL_DEX_LICKITUNG, // SPECIES_LICKITUNG + NATIONAL_DEX_KOFFING, // SPECIES_KOFFING + NATIONAL_DEX_WEEZING, // SPECIES_WEEZING + NATIONAL_DEX_RHYHORN, // SPECIES_RHYHORN + NATIONAL_DEX_RHYDON, // SPECIES_RHYDON + NATIONAL_DEX_CHANSEY, // SPECIES_CHANSEY + NATIONAL_DEX_TANGELA, // SPECIES_TANGELA + NATIONAL_DEX_KANGASKHAN, // SPECIES_KANGASKHAN + NATIONAL_DEX_HORSEA, // SPECIES_HORSEA + NATIONAL_DEX_SEADRA, // SPECIES_SEADRA + NATIONAL_DEX_GOLDEEN, // SPECIES_GOLDEEN + NATIONAL_DEX_SEAKING, // SPECIES_SEAKING + NATIONAL_DEX_STARYU, // SPECIES_STARYU + NATIONAL_DEX_STARMIE, // SPECIES_STARMIE + NATIONAL_DEX_MR_MIME, // SPECIES_MR_MIME + NATIONAL_DEX_SCYTHER, // SPECIES_SCYTHER + NATIONAL_DEX_JYNX, // SPECIES_JYNX + NATIONAL_DEX_ELECTABUZZ, // SPECIES_ELECTABUZZ + NATIONAL_DEX_MAGMAR, // SPECIES_MAGMAR + NATIONAL_DEX_PINSIR, // SPECIES_PINSIR + NATIONAL_DEX_TAUROS, // SPECIES_TAUROS + NATIONAL_DEX_MAGIKARP, // SPECIES_MAGIKARP + NATIONAL_DEX_GYARADOS, // SPECIES_GYARADOS + NATIONAL_DEX_LAPRAS, // SPECIES_LAPRAS + NATIONAL_DEX_DITTO, // SPECIES_DITTO + NATIONAL_DEX_EEVEE, // SPECIES_EEVEE + NATIONAL_DEX_VAPOREON, // SPECIES_VAPOREON + NATIONAL_DEX_JOLTEON, // SPECIES_JOLTEON + NATIONAL_DEX_FLAREON, // SPECIES_FLAREON + NATIONAL_DEX_PORYGON, // SPECIES_PORYGON + NATIONAL_DEX_OMANYTE, // SPECIES_OMANYTE + NATIONAL_DEX_OMASTAR, // SPECIES_OMASTAR + NATIONAL_DEX_KABUTO, // SPECIES_KABUTO + NATIONAL_DEX_KABUTOPS, // SPECIES_KABUTOPS + NATIONAL_DEX_AERODACTYL, // SPECIES_AERODACTYL + NATIONAL_DEX_SNORLAX, // SPECIES_SNORLAX + NATIONAL_DEX_ARTICUNO, // SPECIES_ARTICUNO + NATIONAL_DEX_ZAPDOS, // SPECIES_ZAPDOS + NATIONAL_DEX_MOLTRES, // SPECIES_MOLTRES + NATIONAL_DEX_DRATINI, // SPECIES_DRATINI + NATIONAL_DEX_DRAGONAIR, // SPECIES_DRAGONAIR + NATIONAL_DEX_DRAGONITE, // SPECIES_DRAGONITE + NATIONAL_DEX_MEWTWO, // SPECIES_MEWTWO + NATIONAL_DEX_MEW, // SPECIES_MEW + NATIONAL_DEX_CHIKORITA, // SPECIES_CHIKORITA + NATIONAL_DEX_BAYLEEF, // SPECIES_BAYLEEF + NATIONAL_DEX_MEGANIUM, // SPECIES_MEGANIUM + NATIONAL_DEX_CYNDAQUIL, // SPECIES_CYNDAQUIL + NATIONAL_DEX_QUILAVA, // SPECIES_QUILAVA + NATIONAL_DEX_TYPHLOSION, // SPECIES_TYPHLOSION + NATIONAL_DEX_TOTODILE, // SPECIES_TOTODILE + NATIONAL_DEX_CROCONAW, // SPECIES_CROCONAW + NATIONAL_DEX_FERALIGATR, // SPECIES_FERALIGATR + NATIONAL_DEX_SENTRET, // SPECIES_SENTRET + NATIONAL_DEX_FURRET, // SPECIES_FURRET + NATIONAL_DEX_HOOTHOOT, // SPECIES_HOOTHOOT + NATIONAL_DEX_NOCTOWL, // SPECIES_NOCTOWL + NATIONAL_DEX_LEDYBA, // SPECIES_LEDYBA + NATIONAL_DEX_LEDIAN, // SPECIES_LEDIAN + NATIONAL_DEX_SPINARAK, // SPECIES_SPINARAK + NATIONAL_DEX_ARIADOS, // SPECIES_ARIADOS + NATIONAL_DEX_CROBAT, // SPECIES_CROBAT + NATIONAL_DEX_CHINCHOU, // SPECIES_CHINCHOU + NATIONAL_DEX_LANTURN, // SPECIES_LANTURN + NATIONAL_DEX_PICHU, // SPECIES_PICHU + NATIONAL_DEX_CLEFFA, // SPECIES_CLEFFA + NATIONAL_DEX_IGGLYBUFF, // SPECIES_IGGLYBUFF + NATIONAL_DEX_TOGEPI, // SPECIES_TOGEPI + NATIONAL_DEX_TOGETIC, // SPECIES_TOGETIC + NATIONAL_DEX_NATU, // SPECIES_NATU + NATIONAL_DEX_XATU, // SPECIES_XATU + NATIONAL_DEX_MAREEP, // SPECIES_MAREEP + NATIONAL_DEX_FLAAFFY, // SPECIES_FLAAFFY + NATIONAL_DEX_AMPHAROS, // SPECIES_AMPHAROS + NATIONAL_DEX_BELLOSSOM, // SPECIES_BELLOSSOM + NATIONAL_DEX_MARILL, // SPECIES_MARILL + NATIONAL_DEX_AZUMARILL, // SPECIES_AZUMARILL + NATIONAL_DEX_SUDOWOODO, // SPECIES_SUDOWOODO + NATIONAL_DEX_POLITOED, // SPECIES_POLITOED + NATIONAL_DEX_HOPPIP, // SPECIES_HOPPIP + NATIONAL_DEX_SKIPLOOM, // SPECIES_SKIPLOOM + NATIONAL_DEX_JUMPLUFF, // SPECIES_JUMPLUFF + NATIONAL_DEX_AIPOM, // SPECIES_AIPOM + NATIONAL_DEX_SUNKERN, // SPECIES_SUNKERN + NATIONAL_DEX_SUNFLORA, // SPECIES_SUNFLORA + NATIONAL_DEX_YANMA, // SPECIES_YANMA + NATIONAL_DEX_WOOPER, // SPECIES_WOOPER + NATIONAL_DEX_QUAGSIRE, // SPECIES_QUAGSIRE + NATIONAL_DEX_ESPEON, // SPECIES_ESPEON + NATIONAL_DEX_UMBREON, // SPECIES_UMBREON + NATIONAL_DEX_MURKROW, // SPECIES_MURKROW + NATIONAL_DEX_SLOWKING, // SPECIES_SLOWKING + NATIONAL_DEX_MISDREAVUS, // SPECIES_MISDREAVUS + NATIONAL_DEX_UNOWN, // SPECIES_UNOWN + NATIONAL_DEX_WOBBUFFET, // SPECIES_WOBBUFFET + NATIONAL_DEX_GIRAFARIG, // SPECIES_GIRAFARIG + NATIONAL_DEX_PINECO, // SPECIES_PINECO + NATIONAL_DEX_FORRETRESS, // SPECIES_FORRETRESS + NATIONAL_DEX_DUNSPARCE, // SPECIES_DUNSPARCE + NATIONAL_DEX_GLIGAR, // SPECIES_GLIGAR + NATIONAL_DEX_STEELIX, // SPECIES_STEELIX + NATIONAL_DEX_SNUBBULL, // SPECIES_SNUBBULL + NATIONAL_DEX_GRANBULL, // SPECIES_GRANBULL + NATIONAL_DEX_QWILFISH, // SPECIES_QWILFISH + NATIONAL_DEX_SCIZOR, // SPECIES_SCIZOR + NATIONAL_DEX_SHUCKLE, // SPECIES_SHUCKLE + NATIONAL_DEX_HERACROSS, // SPECIES_HERACROSS + NATIONAL_DEX_SNEASEL, // SPECIES_SNEASEL + NATIONAL_DEX_TEDDIURSA, // SPECIES_TEDDIURSA + NATIONAL_DEX_URSARING, // SPECIES_URSARING + NATIONAL_DEX_SLUGMA, // SPECIES_SLUGMA + NATIONAL_DEX_MAGCARGO, // SPECIES_MAGCARGO + NATIONAL_DEX_SWINUB, // SPECIES_SWINUB + NATIONAL_DEX_PILOSWINE, // SPECIES_PILOSWINE + NATIONAL_DEX_CORSOLA, // SPECIES_CORSOLA + NATIONAL_DEX_REMORAID, // SPECIES_REMORAID + NATIONAL_DEX_OCTILLERY, // SPECIES_OCTILLERY + NATIONAL_DEX_DELIBIRD, // SPECIES_DELIBIRD + NATIONAL_DEX_MANTINE, // SPECIES_MANTINE + NATIONAL_DEX_SKARMORY, // SPECIES_SKARMORY + NATIONAL_DEX_HOUNDOUR, // SPECIES_HOUNDOUR + NATIONAL_DEX_HOUNDOOM, // SPECIES_HOUNDOOM + NATIONAL_DEX_KINGDRA, // SPECIES_KINGDRA + NATIONAL_DEX_PHANPY, // SPECIES_PHANPY + NATIONAL_DEX_DONPHAN, // SPECIES_DONPHAN + NATIONAL_DEX_PORYGON2, // SPECIES_PORYGON2 + NATIONAL_DEX_STANTLER, // SPECIES_STANTLER + NATIONAL_DEX_SMEARGLE, // SPECIES_SMEARGLE + NATIONAL_DEX_TYROGUE, // SPECIES_TYROGUE + NATIONAL_DEX_HITMONTOP, // SPECIES_HITMONTOP + NATIONAL_DEX_SMOOCHUM, // SPECIES_SMOOCHUM + NATIONAL_DEX_ELEKID, // SPECIES_ELEKID + NATIONAL_DEX_MAGBY, // SPECIES_MAGBY + NATIONAL_DEX_MILTANK, // SPECIES_MILTANK + NATIONAL_DEX_BLISSEY, // SPECIES_BLISSEY + NATIONAL_DEX_RAIKOU, // SPECIES_RAIKOU + NATIONAL_DEX_ENTEI, // SPECIES_ENTEI + NATIONAL_DEX_SUICUNE, // SPECIES_SUICUNE + NATIONAL_DEX_LARVITAR, // SPECIES_LARVITAR + NATIONAL_DEX_PUPITAR, // SPECIES_PUPITAR + NATIONAL_DEX_TYRANITAR, // SPECIES_TYRANITAR + NATIONAL_DEX_LUGIA, // SPECIES_LUGIA + NATIONAL_DEX_HO_OH, // SPECIES_HO-OH + NATIONAL_DEX_CELEBI, // SPECIES_CELEBI + NATIONAL_DEX_OLD_UNOWN_B, // SPECIES_OLD_UNOWN_B + NATIONAL_DEX_OLD_UNOWN_C, // SPECIES_OLD_UNOWN_C + NATIONAL_DEX_OLD_UNOWN_D, // SPECIES_OLD_UNOWN_D + NATIONAL_DEX_OLD_UNOWN_E, // SPECIES_OLD_UNOWN_E + NATIONAL_DEX_OLD_UNOWN_F, // SPECIES_OLD_UNOWN_F + NATIONAL_DEX_OLD_UNOWN_G, // SPECIES_OLD_UNOWN_G + NATIONAL_DEX_OLD_UNOWN_H, // SPECIES_OLD_UNOWN_H + NATIONAL_DEX_OLD_UNOWN_I, // SPECIES_OLD_UNOWN_I + NATIONAL_DEX_OLD_UNOWN_J, // SPECIES_OLD_UNOWN_J + NATIONAL_DEX_OLD_UNOWN_K, // SPECIES_OLD_UNOWN_K + NATIONAL_DEX_OLD_UNOWN_L, // SPECIES_OLD_UNOWN_L + NATIONAL_DEX_OLD_UNOWN_M, // SPECIES_OLD_UNOWN_M + NATIONAL_DEX_OLD_UNOWN_N, // SPECIES_OLD_UNOWN_N + NATIONAL_DEX_OLD_UNOWN_O, // SPECIES_OLD_UNOWN_O + NATIONAL_DEX_OLD_UNOWN_P, // SPECIES_OLD_UNOWN_P + NATIONAL_DEX_OLD_UNOWN_Q, // SPECIES_OLD_UNOWN_Q + NATIONAL_DEX_OLD_UNOWN_R, // SPECIES_OLD_UNOWN_R + NATIONAL_DEX_OLD_UNOWN_S, // SPECIES_OLD_UNOWN_S + NATIONAL_DEX_OLD_UNOWN_T, // SPECIES_OLD_UNOWN_T + NATIONAL_DEX_OLD_UNOWN_U, // SPECIES_OLD_UNOWN_U + NATIONAL_DEX_OLD_UNOWN_V, // SPECIES_OLD_UNOWN_V + NATIONAL_DEX_OLD_UNOWN_W, // SPECIES_OLD_UNOWN_W + NATIONAL_DEX_OLD_UNOWN_X, // SPECIES_OLD_UNOWN_X + NATIONAL_DEX_OLD_UNOWN_Y, // SPECIES_OLD_UNOWN_Y + NATIONAL_DEX_OLD_UNOWN_Z, // SPECIES_OLD_UNOWN_Z + NATIONAL_DEX_TREECKO, // SPECIES_TREECKO + NATIONAL_DEX_GROVYLE, // SPECIES_GROVYLE + NATIONAL_DEX_SCEPTILE, // SPECIES_SCEPTILE + NATIONAL_DEX_TORCHIC, // SPECIES_TORCHIC + NATIONAL_DEX_COMBUSKEN, // SPECIES_COMBUSKEN + NATIONAL_DEX_BLAZIKEN, // SPECIES_BLAZIKEN + NATIONAL_DEX_MUDKIP, // SPECIES_MUDKIP + NATIONAL_DEX_MARSHTOMP, // SPECIES_MARSHTOMP + NATIONAL_DEX_SWAMPERT, // SPECIES_SWAMPERT + NATIONAL_DEX_POOCHYENA, // SPECIES_POOCHYENA + NATIONAL_DEX_MIGHTYENA, // SPECIES_MIGHTYENA + NATIONAL_DEX_ZIGZAGOON, // SPECIES_ZIGZAGOON + NATIONAL_DEX_LINOONE, // SPECIES_LINOONE + NATIONAL_DEX_WURMPLE, // SPECIES_WURMPLE + NATIONAL_DEX_SILCOON, // SPECIES_SILCOON + NATIONAL_DEX_BEAUTIFLY, // SPECIES_BEAUTIFLY + NATIONAL_DEX_CASCOON, // SPECIES_CASCOON + NATIONAL_DEX_DUSTOX, // SPECIES_DUSTOX + NATIONAL_DEX_LOTAD, // SPECIES_LOTAD + NATIONAL_DEX_LOMBRE, // SPECIES_LOMBRE + NATIONAL_DEX_LUDICOLO, // SPECIES_LUDICOLO + NATIONAL_DEX_SEEDOT, // SPECIES_SEEDOT + NATIONAL_DEX_NUZLEAF, // SPECIES_NUZLEAF + NATIONAL_DEX_SHIFTRY, // SPECIES_SHIFTRY + NATIONAL_DEX_NINCADA, // SPECIES_NINCADA + NATIONAL_DEX_NINJASK, // SPECIES_NINJASK + NATIONAL_DEX_SHEDINJA, // SPECIES_SHEDINJA + NATIONAL_DEX_TAILLOW, // SPECIES_TAILLOW + NATIONAL_DEX_SWELLOW, // SPECIES_SWELLOW + NATIONAL_DEX_SHROOMISH, // SPECIES_SHROOMISH + NATIONAL_DEX_BRELOOM, // SPECIES_BRELOOM + NATIONAL_DEX_SPINDA, // SPECIES_SPINDA + NATIONAL_DEX_WINGULL, // SPECIES_WINGULL + NATIONAL_DEX_PELIPPER, // SPECIES_PELIPPER + NATIONAL_DEX_SURSKIT, // SPECIES_SURSKIT + NATIONAL_DEX_MASQUERAIN, // SPECIES_MASQUERAIN + NATIONAL_DEX_WAILMER, // SPECIES_WAILMER + NATIONAL_DEX_WAILORD, // SPECIES_WAILORD + NATIONAL_DEX_SKITTY, // SPECIES_SKITTY + NATIONAL_DEX_DELCATTY, // SPECIES_DELCATTY + NATIONAL_DEX_KECLEON, // SPECIES_KECLEON + NATIONAL_DEX_BALTOY, // SPECIES_BALTOY + NATIONAL_DEX_CLAYDOL, // SPECIES_CLAYDOL + NATIONAL_DEX_NOSEPASS, // SPECIES_NOSEPASS + NATIONAL_DEX_TORKOAL, // SPECIES_TORKOAL + NATIONAL_DEX_SABLEYE, // SPECIES_SABLEYE + NATIONAL_DEX_BARBOACH, // SPECIES_BARBOACH + NATIONAL_DEX_WHISCASH, // SPECIES_WHISCASH + NATIONAL_DEX_LUVDISC, // SPECIES_LUVDISC + NATIONAL_DEX_CORPHISH, // SPECIES_CORPHISH + NATIONAL_DEX_CRAWDAUNT, // SPECIES_CRAWDAUNT + NATIONAL_DEX_FEEBAS, // SPECIES_FEEBAS + NATIONAL_DEX_MILOTIC, // SPECIES_MILOTIC + NATIONAL_DEX_CARVANHA, // SPECIES_CARVANHA + NATIONAL_DEX_SHARPEDO, // SPECIES_SHARPEDO + NATIONAL_DEX_TRAPINCH, // SPECIES_TRAPINCH + NATIONAL_DEX_VIBRAVA, // SPECIES_VIBRAVA + NATIONAL_DEX_FLYGON, // SPECIES_FLYGON + NATIONAL_DEX_MAKUHITA, // SPECIES_MAKUHITA + NATIONAL_DEX_HARIYAMA, // SPECIES_HARIYAMA + NATIONAL_DEX_ELECTRIKE, // SPECIES_ELECTRIKE + NATIONAL_DEX_MANECTRIC, // SPECIES_MANECTRIC + NATIONAL_DEX_NUMEL, // SPECIES_NUMEL + NATIONAL_DEX_CAMERUPT, // SPECIES_CAMERUPT + NATIONAL_DEX_SPHEAL, // SPECIES_SPHEAL + NATIONAL_DEX_SEALEO, // SPECIES_SEALEO + NATIONAL_DEX_WALREIN, // SPECIES_WALREIN + NATIONAL_DEX_CACNEA, // SPECIES_CACNEA + NATIONAL_DEX_CACTURNE, // SPECIES_CACTURNE + NATIONAL_DEX_SNORUNT, // SPECIES_SNORUNT + NATIONAL_DEX_GLALIE, // SPECIES_GLALIE + NATIONAL_DEX_LUNATONE, // SPECIES_LUNATONE + NATIONAL_DEX_SOLROCK, // SPECIES_SOLROCK + NATIONAL_DEX_AZURILL, // SPECIES_AZURILL + NATIONAL_DEX_SPOINK, // SPECIES_SPOINK + NATIONAL_DEX_GRUMPIG, // SPECIES_GRUMPIG + NATIONAL_DEX_PLUSLE, // SPECIES_PLUSLE + NATIONAL_DEX_MINUN, // SPECIES_MINUN + NATIONAL_DEX_MAWILE, // SPECIES_MAWILE + NATIONAL_DEX_MEDITITE, // SPECIES_MEDITITE + NATIONAL_DEX_MEDICHAM, // SPECIES_MEDICHAM + NATIONAL_DEX_SWABLU, // SPECIES_SWABLU + NATIONAL_DEX_ALTARIA, // SPECIES_ALTARIA + NATIONAL_DEX_WYNAUT, // SPECIES_WYNAUT + NATIONAL_DEX_DUSKULL, // SPECIES_DUSKULL + NATIONAL_DEX_DUSCLOPS, // SPECIES_DUSCLOPS + NATIONAL_DEX_ROSELIA, // SPECIES_ROSELIA + NATIONAL_DEX_SLAKOTH, // SPECIES_SLAKOTH + NATIONAL_DEX_VIGOROTH, // SPECIES_VIGOROTH + NATIONAL_DEX_SLAKING, // SPECIES_SLAKING + NATIONAL_DEX_GULPIN, // SPECIES_GULPIN + NATIONAL_DEX_SWALOT, // SPECIES_SWALOT + NATIONAL_DEX_TROPIUS, // SPECIES_TROPIUS + NATIONAL_DEX_WHISMUR, // SPECIES_WHISMUR + NATIONAL_DEX_LOUDRED, // SPECIES_LOUDRED + NATIONAL_DEX_EXPLOUD, // SPECIES_EXPLOUD + NATIONAL_DEX_CLAMPERL, // SPECIES_CLAMPERL + NATIONAL_DEX_HUNTAIL, // SPECIES_HUNTAIL + NATIONAL_DEX_GOREBYSS, // SPECIES_GOREBYSS + NATIONAL_DEX_ABSOL, // SPECIES_ABSOL + NATIONAL_DEX_SHUPPET, // SPECIES_SHUPPET + NATIONAL_DEX_BANETTE, // SPECIES_BANETTE + NATIONAL_DEX_SEVIPER, // SPECIES_SEVIPER + NATIONAL_DEX_ZANGOOSE, // SPECIES_ZANGOOSE + NATIONAL_DEX_RELICANTH, // SPECIES_RELICANTH + NATIONAL_DEX_ARON, // SPECIES_ARON + NATIONAL_DEX_LAIRON, // SPECIES_LAIRON + NATIONAL_DEX_AGGRON, // SPECIES_AGGRON + NATIONAL_DEX_CASTFORM, // SPECIES_CASTFORM + NATIONAL_DEX_VOLBEAT, // SPECIES_VOLBEAT + NATIONAL_DEX_ILLUMISE, // SPECIES_ILLUMISE + NATIONAL_DEX_LILEEP, // SPECIES_LILEEP + NATIONAL_DEX_CRADILY, // SPECIES_CRADILY + NATIONAL_DEX_ANORITH, // SPECIES_ANORITH + NATIONAL_DEX_ARMALDO, // SPECIES_ARMALDO + NATIONAL_DEX_RALTS, // SPECIES_RALTS + NATIONAL_DEX_KIRLIA, // SPECIES_KIRLIA + NATIONAL_DEX_GARDEVOIR, // SPECIES_GARDEVOIR + NATIONAL_DEX_BAGON, // SPECIES_BAGON + NATIONAL_DEX_SHELGON, // SPECIES_SHELGON + NATIONAL_DEX_SALAMENCE, // SPECIES_SALAMENCE + NATIONAL_DEX_BELDUM, // SPECIES_BELDUM + NATIONAL_DEX_METANG, // SPECIES_METANG + NATIONAL_DEX_METAGROSS, // SPECIES_METAGROSS + NATIONAL_DEX_REGIROCK, // SPECIES_REGIROCK + NATIONAL_DEX_REGICE, // SPECIES_REGICE + NATIONAL_DEX_REGISTEEL, // SPECIES_REGISTEEL + NATIONAL_DEX_KYOGRE, // SPECIES_KYOGRE + NATIONAL_DEX_GROUDON, // SPECIES_GROUDON + NATIONAL_DEX_RAYQUAZA, // SPECIES_RAYQUAZA + NATIONAL_DEX_LATIAS, // SPECIES_LATIAS + NATIONAL_DEX_LATIOS, // SPECIES_LATIOS + NATIONAL_DEX_JIRACHI, // SPECIES_JIRACHI + NATIONAL_DEX_DEOXYS, // SPECIES_DEOXYS + NATIONAL_DEX_CHIMECHO // SPECIES_CHIMECHO +}; + +const u16 gHoennToNationalOrder[] = // Assigns Hoenn Dex Pokémon (Using National Dex Index) +{ + // 0 + NATIONAL_DEX_TREECKO, // HOENN_DEX_TREECKO + NATIONAL_DEX_GROVYLE, // HOENN_DEX_GROVYLE + NATIONAL_DEX_SCEPTILE, // HOENN_DEX_SCEPTILE + NATIONAL_DEX_TORCHIC, // HOENN_DEX_TORCHIC + NATIONAL_DEX_COMBUSKEN, // HOENN_DEX_COMBUSKEN + NATIONAL_DEX_BLAZIKEN, // HOENN_DEX_BLAZIKEN + NATIONAL_DEX_MUDKIP, // HOENN_DEX_MUDKIP + NATIONAL_DEX_MARSHTOMP, // HOENN_DEX_MARSHTOMP + NATIONAL_DEX_SWAMPERT, // HOENN_DEX_SWAMPERT + NATIONAL_DEX_POOCHYENA, // HOENN_DEX_POOCHYENA + NATIONAL_DEX_MIGHTYENA, // HOENN_DEX_MIGHTYENA + NATIONAL_DEX_ZIGZAGOON, // HOENN_DEX_ZIGZAGOON + NATIONAL_DEX_LINOONE, // HOENN_DEX_LINOONE + NATIONAL_DEX_WURMPLE, // HOENN_DEX_WURMPLE + NATIONAL_DEX_SILCOON, // HOENN_DEX_SILCOON + NATIONAL_DEX_BEAUTIFLY, // HOENN_DEX_BEAUTIFLY + NATIONAL_DEX_CASCOON, // HOENN_DEX_CASCOON + NATIONAL_DEX_DUSTOX, // HOENN_DEX_DUSTOX + NATIONAL_DEX_LOTAD, // HOENN_DEX_LOTAD + NATIONAL_DEX_LOMBRE, // HOENN_DEX_LOMBRE + NATIONAL_DEX_LUDICOLO, // HOENN_DEX_LUDICOLO + NATIONAL_DEX_SEEDOT, // HOENN_DEX_SEEDOT + NATIONAL_DEX_NUZLEAF, // HOENN_DEX_NUZLEAF + NATIONAL_DEX_SHIFTRY, // HOENN_DEX_SHIFTRY + NATIONAL_DEX_TAILLOW, // HOENN_DEX_TAILLOW + NATIONAL_DEX_SWELLOW, // HOENN_DEX_SWELLOW + NATIONAL_DEX_WINGULL, // HOENN_DEX_WINGULL + NATIONAL_DEX_PELIPPER, // HOENN_DEX_PELIPPER + NATIONAL_DEX_RALTS, // HOENN_DEX_RALTS + NATIONAL_DEX_KIRLIA, // HOENN_DEX_KIRLIA + NATIONAL_DEX_GARDEVOIR, // HOENN_DEX_GARDEVOIR + NATIONAL_DEX_SURSKIT, // HOENN_DEX_SURSKIT + NATIONAL_DEX_MASQUERAIN, // HOENN_DEX_MASQUERAIN + NATIONAL_DEX_SHROOMISH, // HOENN_DEX_SHROOMISH + NATIONAL_DEX_BRELOOM, // HOENN_DEX_BRELOOM + NATIONAL_DEX_SLAKOTH, // HOENN_DEX_SLAKOTH + NATIONAL_DEX_VIGOROTH, // HOENN_DEX_VIGOROTH + NATIONAL_DEX_SLAKING, // HOENN_DEX_SLAKING + NATIONAL_DEX_ABRA, // HOENN_DEX_ABRA + NATIONAL_DEX_KADABRA, // HOENN_DEX_KADABRA + NATIONAL_DEX_ALAKAZAM, // HOENN_DEX_ALAKAZAM + NATIONAL_DEX_NINCADA, // HOENN_DEX_NINCADA + NATIONAL_DEX_NINJASK, // HOENN_DEX_NINJASK + NATIONAL_DEX_SHEDINJA, // HOENN_DEX_SHEDINJA + NATIONAL_DEX_WHISMUR, // HOENN_DEX_WHISMUR + NATIONAL_DEX_LOUDRED, // HOENN_DEX_LOUDRED + NATIONAL_DEX_EXPLOUD, // HOENN_DEX_EXPLOUD + NATIONAL_DEX_MAKUHITA, // HOENN_DEX_MAKUHITA + NATIONAL_DEX_HARIYAMA, // HOENN_DEX_HARIYAMA + NATIONAL_DEX_GOLDEEN, // HOENN_DEX_GOLDEEN + NATIONAL_DEX_SEAKING, // HOENN_DEX_SEAKING + NATIONAL_DEX_MAGIKARP, // HOENN_DEX_MAGIKARP + NATIONAL_DEX_GYARADOS, // HOENN_DEX_GYARADOS + NATIONAL_DEX_AZURILL, // HOENN_DEX_AZURILL + NATIONAL_DEX_MARILL, // HOENN_DEX_MARILL + NATIONAL_DEX_AZUMARILL, // HOENN_DEX_AZUMARILL + NATIONAL_DEX_GEODUDE, // HOENN_DEX_GEODUDE + NATIONAL_DEX_GRAVELER, // HOENN_DEX_GRAVELER + NATIONAL_DEX_GOLEM, // HOENN_DEX_GOLEM + NATIONAL_DEX_NOSEPASS, // HOENN_DEX_NOSEPASS + NATIONAL_DEX_SKITTY, // HOENN_DEX_SKITTY + NATIONAL_DEX_DELCATTY, // HOENN_DEX_DELCATTY + NATIONAL_DEX_ZUBAT, // HOENN_DEX_ZUBAT + NATIONAL_DEX_GOLBAT, // HOENN_DEX_GOLBAT + NATIONAL_DEX_CROBAT, // HOENN_DEX_CROBAT + NATIONAL_DEX_TENTACOOL, // HOENN_DEX_TENTACOOL + NATIONAL_DEX_TENTACRUEL, // HOENN_DEX_TENTACRUEL + NATIONAL_DEX_SABLEYE, // HOENN_DEX_SABLEYE + NATIONAL_DEX_MAWILE, // HOENN_DEX_MAWILE + NATIONAL_DEX_ARON, // HOENN_DEX_ARON + NATIONAL_DEX_LAIRON, // HOENN_DEX_LAIRON + NATIONAL_DEX_AGGRON, // HOENN_DEX_AGGRON + NATIONAL_DEX_MACHOP, // HOENN_DEX_MACHOP + NATIONAL_DEX_MACHOKE, // HOENN_DEX_MACHOKE + NATIONAL_DEX_MACHAMP, // HOENN_DEX_MACHAMP + NATIONAL_DEX_MEDITITE, // HOENN_DEX_MEDITITE + NATIONAL_DEX_MEDICHAM, // HOENN_DEX_MEDICHAM + NATIONAL_DEX_ELECTRIKE, // HOENN_DEX_ELECTRIKE + NATIONAL_DEX_MANECTRIC, // HOENN_DEX_MANECTRIC + NATIONAL_DEX_PLUSLE, // HOENN_DEX_PLUSLE + NATIONAL_DEX_MINUN, // HOENN_DEX_MINUN + NATIONAL_DEX_MAGNEMITE, // HOENN_DEX_MAGNEMITE + NATIONAL_DEX_MAGNETON, // HOENN_DEX_MAGNETON + NATIONAL_DEX_VOLTORB, // HOENN_DEX_VOLTORB + NATIONAL_DEX_ELECTRODE, // HOENN_DEX_ELECTRODE + NATIONAL_DEX_VOLBEAT, // HOENN_DEX_VOLBEAT + NATIONAL_DEX_ILLUMISE, // HOENN_DEX_ILLUMISE + NATIONAL_DEX_ODDISH, // HOENN_DEX_ODDISH + NATIONAL_DEX_GLOOM, // HOENN_DEX_GLOOM + NATIONAL_DEX_VILEPLUME, // HOENN_DEX_VILEPLUME + NATIONAL_DEX_BELLOSSOM, // HOENN_DEX_BELLOSSOM + NATIONAL_DEX_DODUO, // HOENN_DEX_DODUO + NATIONAL_DEX_DODRIO, // HOENN_DEX_DODRIO + NATIONAL_DEX_ROSELIA, // HOENN_DEX_ROSELIA + NATIONAL_DEX_GULPIN, // HOENN_DEX_GULPIN + NATIONAL_DEX_SWALOT, // HOENN_DEX_SWALOT + NATIONAL_DEX_CARVANHA, // HOENN_DEX_CARVANHA + NATIONAL_DEX_SHARPEDO, // HOENN_DEX_SHARPEDO + NATIONAL_DEX_WAILMER, // HOENN_DEX_WAILMER + NATIONAL_DEX_WAILORD, // HOENN_DEX_WAILORD + NATIONAL_DEX_NUMEL, // HOENN_DEX_NUMEL + NATIONAL_DEX_CAMERUPT, // HOENN_DEX_CAMERUPT + NATIONAL_DEX_SLUGMA, // HOENN_DEX_SLUGMA + NATIONAL_DEX_MAGCARGO, // HOENN_DEX_MAGCARGO + NATIONAL_DEX_TORKOAL, // HOENN_DEX_TORKOAL + NATIONAL_DEX_GRIMER, // HOENN_DEX_GRIMER + NATIONAL_DEX_MUK, // HOENN_DEX_MUK + NATIONAL_DEX_KOFFING, // HOENN_DEX_KOFFING + NATIONAL_DEX_WEEZING, // HOENN_DEX_WEEZING + NATIONAL_DEX_SPOINK, // HOENN_DEX_SPOINK + NATIONAL_DEX_GRUMPIG, // HOENN_DEX_GRUMPIG + NATIONAL_DEX_SANDSHREW, // HOENN_DEX_SANDSHREW + NATIONAL_DEX_SANDSLASH, // HOENN_DEX_SANDSLASH + NATIONAL_DEX_SPINDA, // HOENN_DEX_SPINDA + NATIONAL_DEX_SKARMORY, // HOENN_DEX_SKARMORY + NATIONAL_DEX_TRAPINCH, // HOENN_DEX_TRAPINCH + NATIONAL_DEX_VIBRAVA, // HOENN_DEX_VIBRAVA + NATIONAL_DEX_FLYGON, // HOENN_DEX_FLYGON + NATIONAL_DEX_CACNEA, // HOENN_DEX_CACNEA + NATIONAL_DEX_CACTURNE, // HOENN_DEX_CACTURNE + NATIONAL_DEX_SWABLU, // HOENN_DEX_SWABLU + NATIONAL_DEX_ALTARIA, // HOENN_DEX_ALTARIA + NATIONAL_DEX_ZANGOOSE, // HOENN_DEX_ZANGOOSE + NATIONAL_DEX_SEVIPER, // HOENN_DEX_SEVIPER + NATIONAL_DEX_LUNATONE, // HOENN_DEX_LUNATONE + NATIONAL_DEX_SOLROCK, // HOENN_DEX_SOLROCK + NATIONAL_DEX_BARBOACH, // HOENN_DEX_BARBOACH + NATIONAL_DEX_WHISCASH, // HOENN_DEX_WHISCASH + NATIONAL_DEX_CORPHISH, // HOENN_DEX_CORPHISH + NATIONAL_DEX_CRAWDAUNT, // HOENN_DEX_CRAWDAUNT + NATIONAL_DEX_BALTOY, // HOENN_DEX_BALTOY + NATIONAL_DEX_CLAYDOL, // HOENN_DEX_CLAYDOL + NATIONAL_DEX_LILEEP, // HOENN_DEX_LILEEP + NATIONAL_DEX_CRADILY, // HOENN_DEX_CRADILY + NATIONAL_DEX_ANORITH, // HOENN_DEX_ANORITH + NATIONAL_DEX_ARMALDO, // HOENN_DEX_ARMALDO + NATIONAL_DEX_IGGLYBUFF, // HOENN_DEX_IGGLYBUFF + NATIONAL_DEX_JIGGLYPUFF, // HOENN_DEX_JIGGLYPUFF + NATIONAL_DEX_WIGGLYTUFF, // HOENN_DEX_WIGGLYTUFF + NATIONAL_DEX_FEEBAS, // HOENN_DEX_FEEBAS + NATIONAL_DEX_MILOTIC, // HOENN_DEX_MILOTIC + NATIONAL_DEX_CASTFORM, // HOENN_DEX_CASTFORM + NATIONAL_DEX_STARYU, // HOENN_DEX_STARYU + NATIONAL_DEX_STARMIE, // HOENN_DEX_STARMIE + NATIONAL_DEX_KECLEON, // HOENN_DEX_KECLEON + NATIONAL_DEX_SHUPPET, // HOENN_DEX_SHUPPET + NATIONAL_DEX_BANETTE, // HOENN_DEX_BANETTE + NATIONAL_DEX_DUSKULL, // HOENN_DEX_DUSKULL + NATIONAL_DEX_DUSCLOPS, // HOENN_DEX_DUSCLOPS + NATIONAL_DEX_TROPIUS, // HOENN_DEX_TROPIUS + NATIONAL_DEX_CHIMECHO, // HOENN_DEX_CHIMECHO + NATIONAL_DEX_ABSOL, // HOENN_DEX_ABSOL + NATIONAL_DEX_VULPIX, // HOENN_DEX_VULPIX + NATIONAL_DEX_NINETALES, // HOENN_DEX_NINETALES + NATIONAL_DEX_PICHU, // HOENN_DEX_PICHU + NATIONAL_DEX_PIKACHU, // HOENN_DEX_PIKACHU + NATIONAL_DEX_RAICHU, // HOENN_DEX_RAICHU + NATIONAL_DEX_PSYDUCK, // HOENN_DEX_PSYDUCK + NATIONAL_DEX_GOLDUCK, // HOENN_DEX_GOLDUCK + NATIONAL_DEX_WYNAUT, // HOENN_DEX_WYNAUT + NATIONAL_DEX_WOBBUFFET, // HOENN_DEX_WOBBUFFET + NATIONAL_DEX_NATU, // HOENN_DEX_NATU + NATIONAL_DEX_XATU, // HOENN_DEX_XATU + NATIONAL_DEX_GIRAFARIG, // HOENN_DEX_GIRAFARIG + NATIONAL_DEX_PHANPY, // HOENN_DEX_PHANPY + NATIONAL_DEX_DONPHAN, // HOENN_DEX_DONPHAN + NATIONAL_DEX_PINSIR, // HOENN_DEX_PINSIR + NATIONAL_DEX_HERACROSS, // HOENN_DEX_HERACROSS + NATIONAL_DEX_RHYHORN, // HOENN_DEX_RHYHORN + NATIONAL_DEX_RHYDON, // HOENN_DEX_RHYDON + NATIONAL_DEX_SNORUNT, // HOENN_DEX_SNORUNT + NATIONAL_DEX_GLALIE, // HOENN_DEX_GLALIE + NATIONAL_DEX_SPHEAL, // HOENN_DEX_SPHEAL + NATIONAL_DEX_SEALEO, // HOENN_DEX_SEALEO + NATIONAL_DEX_WALREIN, // HOENN_DEX_WALREIN + NATIONAL_DEX_CLAMPERL, // HOENN_DEX_CLAMPERL + NATIONAL_DEX_HUNTAIL, // HOENN_DEX_HUNTAIL + NATIONAL_DEX_GOREBYSS, // HOENN_DEX_GOREBYSS + NATIONAL_DEX_RELICANTH, // HOENN_DEX_RELICANTH + NATIONAL_DEX_CORSOLA, // HOENN_DEX_CORSOLA + NATIONAL_DEX_CHINCHOU, // HOENN_DEX_CHINCHOU + NATIONAL_DEX_LANTURN, // HOENN_DEX_LANTURN + NATIONAL_DEX_LUVDISC, // HOENN_DEX_LUVDISC + NATIONAL_DEX_HORSEA, // HOENN_DEX_HORSEA + NATIONAL_DEX_SEADRA, // HOENN_DEX_SEADRA + NATIONAL_DEX_KINGDRA, // HOENN_DEX_KINGDRA + NATIONAL_DEX_BAGON, // HOENN_DEX_BAGON + NATIONAL_DEX_SHELGON, // HOENN_DEX_SHELGON + NATIONAL_DEX_SALAMENCE, // HOENN_DEX_SALAMENCE + NATIONAL_DEX_BELDUM, // HOENN_DEX_BELDUM + NATIONAL_DEX_METANG, // HOENN_DEX_METANG + NATIONAL_DEX_METAGROSS, // HOENN_DEX_METAGROSS + NATIONAL_DEX_REGIROCK, // HOENN_DEX_REGIROCK + NATIONAL_DEX_REGICE, // HOENN_DEX_REGICE + NATIONAL_DEX_REGISTEEL, // HOENN_DEX_REGISTEEL + NATIONAL_DEX_LATIAS, // HOENN_DEX_LATIAS + NATIONAL_DEX_LATIOS, // HOENN_DEX_LATIOS + NATIONAL_DEX_KYOGRE, // HOENN_DEX_KYOGRE + NATIONAL_DEX_GROUDON, // HOENN_DEX_GROUDON + NATIONAL_DEX_RAYQUAZA, // HOENN_DEX_RAYQUAZA + NATIONAL_DEX_JIRACHI, // HOENN_DEX_JIRACHI + NATIONAL_DEX_DEOXYS, // HOENN_DEX_DEOXYS + NATIONAL_DEX_BULBASAUR, // HOENN_DEX_BULBASAUR - Pokémon from here onwards are UNSEEN in the Hoenn Dex. + NATIONAL_DEX_IVYSAUR, // HOENN_DEX_IVYSAUR + NATIONAL_DEX_VENUSAUR, // HOENN_DEX_VENUSAUR + NATIONAL_DEX_CHARMANDER, // HOENN_DEX_CHARMANDER + NATIONAL_DEX_CHARMELEON, // HOENN_DEX_CHARMELEON + NATIONAL_DEX_CHARIZARD, // HOENN_DEX_CHARIZARD + NATIONAL_DEX_SQUIRTLE, // HOENN_DEX_SQUIRTLE + NATIONAL_DEX_WARTORTLE, // HOENN_DEX_WARTORTLE + NATIONAL_DEX_BLASTOISE, // HOENN_DEX_BLASTOISE + NATIONAL_DEX_CATERPIE, // HOENN_DEX_CATERPIE + NATIONAL_DEX_METAPOD, // HOENN_DEX_METAPOD + NATIONAL_DEX_BUTTERFREE, // HOENN_DEX_BUTTERFREE + NATIONAL_DEX_WEEDLE, // HOENN_DEX_WEEDLE + NATIONAL_DEX_KAKUNA, // HOENN_DEX_KAKUNA + NATIONAL_DEX_BEEDRILL, // HOENN_DEX_BEEDRILL + NATIONAL_DEX_PIDGEY, // HOENN_DEX_PIDGEY + NATIONAL_DEX_PIDGEOTTO, // HOENN_DEX_PIDGEOTTO + NATIONAL_DEX_PIDGEOT, // HOENN_DEX_PIDGEOT + NATIONAL_DEX_RATTATA, // HOENN_DEX_RATTATA + NATIONAL_DEX_RATICATE, // HOENN_DEX_RATICATE + NATIONAL_DEX_SPEAROW, // HOENN_DEX_SPEAROW + NATIONAL_DEX_FEAROW, // HOENN_DEX_FEAROW + NATIONAL_DEX_EKANS, // HOENN_DEX_EKANS + NATIONAL_DEX_ARBOK, // HOENN_DEX_ARBOK + NATIONAL_DEX_NIDORAN_F, // HOENN_DEX_NIDORAN♀ + NATIONAL_DEX_NIDORINA, // HOENN_DEX_NIDORINA + NATIONAL_DEX_NIDOQUEEN, // HOENN_DEX_NIDOQUEEN + NATIONAL_DEX_NIDORAN_M, // HOENN_DEX_NIDORAN♂ + NATIONAL_DEX_NIDORINO, // HOENN_DEX_NIDORINO + NATIONAL_DEX_NIDOKING, // HOENN_DEX_NIDOKING + NATIONAL_DEX_CLEFAIRY, // HOENN_DEX_CLEFAIRY + NATIONAL_DEX_CLEFABLE, // HOENN_DEX_CLEFABLE + NATIONAL_DEX_PARAS, // HOENN_DEX_PARAS + NATIONAL_DEX_PARASECT, // HOENN_DEX_PARASECT + NATIONAL_DEX_VENONAT, // HOENN_DEX_VENONAT + NATIONAL_DEX_VENOMOTH, // HOENN_DEX_VENOMOTH + NATIONAL_DEX_DIGLETT, // HOENN_DEX_DIGLETT + NATIONAL_DEX_DUGTRIO, // HOENN_DEX_DUGTRIO + NATIONAL_DEX_MEOWTH, // HOENN_DEX_MEOWTH + NATIONAL_DEX_PERSIAN, // HOENN_DEX_PERSIAN + NATIONAL_DEX_MANKEY, // HOENN_DEX_MANKEY + NATIONAL_DEX_PRIMEAPE, // HOENN_DEX_PRIMEAPE + NATIONAL_DEX_GROWLITHE, // HOENN_DEX_GROWLITHE + NATIONAL_DEX_ARCANINE, // HOENN_DEX_ARCANINE + NATIONAL_DEX_POLIWAG, // HOENN_DEX_POLIWAG + NATIONAL_DEX_POLIWHIRL, // HOENN_DEX_POLIWHIRL + NATIONAL_DEX_POLIWRATH, // HOENN_DEX_POLIWRATH + NATIONAL_DEX_BELLSPROUT, // HOENN_DEX_BELLSPROUT + NATIONAL_DEX_WEEPINBELL, // HOENN_DEX_WEEPINBELL + NATIONAL_DEX_VICTREEBEL, // HOENN_DEX_VICTREEBEL + NATIONAL_DEX_PONYTA, // HOENN_DEX_PONYTA + NATIONAL_DEX_RAPIDASH, // HOENN_DEX_RAPIDASH + NATIONAL_DEX_SLOWPOKE, // HOENN_DEX_SLOWPOKE + NATIONAL_DEX_SLOWBRO, // HOENN_DEX_SLOWBRO + NATIONAL_DEX_FARFETCHD, // HOENN_DEX_FARFETCH'D + NATIONAL_DEX_SEEL, // HOENN_DEX_SEEL + NATIONAL_DEX_DEWGONG, // HOENN_DEX_DEWGONG + NATIONAL_DEX_SHELLDER, // HOENN_DEX_SHELLDER + NATIONAL_DEX_CLOYSTER, // HOENN_DEX_CLOYSTER + NATIONAL_DEX_GASTLY, // HOENN_DEX_GASTLY + NATIONAL_DEX_HAUNTER, // HOENN_DEX_HAUNTER + NATIONAL_DEX_GENGAR, // HOENN_DEX_GENGAR + NATIONAL_DEX_ONIX, // HOENN_DEX_ONIX + NATIONAL_DEX_DROWZEE, // HOENN_DEX_DROWZEE + NATIONAL_DEX_HYPNO, // HOENN_DEX_HYPNO + NATIONAL_DEX_KRABBY, // HOENN_DEX_KRABBY + NATIONAL_DEX_KINGLER, // HOENN_DEX_KINGLER + NATIONAL_DEX_EXEGGCUTE, // HOENN_DEX_EXEGGCUTE + NATIONAL_DEX_EXEGGUTOR, // HOENN_DEX_EXEGGUTOR + NATIONAL_DEX_CUBONE, // HOENN_DEX_CUBONE + NATIONAL_DEX_MAROWAK, // HOENN_DEX_MAROWAK + NATIONAL_DEX_HITMONLEE, // HOENN_DEX_HITMONLEE + NATIONAL_DEX_HITMONCHAN, // HOENN_DEX_HITMONCHAN + NATIONAL_DEX_LICKITUNG, // HOENN_DEX_LICKITUNG + NATIONAL_DEX_CHANSEY, // HOENN_DEX_CHANSEY + NATIONAL_DEX_TANGELA, // HOENN_DEX_TANGELA + NATIONAL_DEX_KANGASKHAN, // HOENN_DEX_KANGASKHAN + NATIONAL_DEX_MR_MIME, // HOENN_DEX_MR. MIME + NATIONAL_DEX_SCYTHER, // HOENN_DEX_SCYTHER + NATIONAL_DEX_JYNX, // HOENN_DEX_JYNX + NATIONAL_DEX_ELECTABUZZ, // HOENN_DEX_ELECTABUZZ + NATIONAL_DEX_MAGMAR, // HOENN_DEX_MAGMAR + NATIONAL_DEX_TAUROS, // HOENN_DEX_TAUROS + NATIONAL_DEX_LAPRAS, // HOENN_DEX_LAPRAS + NATIONAL_DEX_DITTO, // HOENN_DEX_DITTO + NATIONAL_DEX_EEVEE, // HOENN_DEX_EEVEE + NATIONAL_DEX_VAPOREON, // HOENN_DEX_VAPOREON + NATIONAL_DEX_JOLTEON, // HOENN_DEX_JOLTEON + NATIONAL_DEX_FLAREON, // HOENN_DEX_FLAREON + NATIONAL_DEX_PORYGON, // HOENN_DEX_PORYGON + NATIONAL_DEX_OMANYTE, // HOENN_DEX_OMANYTE + NATIONAL_DEX_OMASTAR, // HOENN_DEX_OMASTAR + NATIONAL_DEX_KABUTO, // HOENN_DEX_KABUTO + NATIONAL_DEX_KABUTOPS, // HOENN_DEX_KABUTOPS + NATIONAL_DEX_AERODACTYL, // HOENN_DEX_AERODACTYL + NATIONAL_DEX_SNORLAX, // HOENN_DEX_SNORLAX + NATIONAL_DEX_ARTICUNO, // HOENN_DEX_ARTICUNO + NATIONAL_DEX_ZAPDOS, // HOENN_DEX_ZAPDOS + NATIONAL_DEX_MOLTRES, // HOENN_DEX_MOLTRES + NATIONAL_DEX_DRATINI, // HOENN_DEX_DRATINI + NATIONAL_DEX_DRAGONAIR, // HOENN_DEX_DRAGONAIR + NATIONAL_DEX_DRAGONITE, // HOENN_DEX_DRAGONITE + NATIONAL_DEX_MEWTWO, // HOENN_DEX_MEWTWO + NATIONAL_DEX_MEW, // HOENN_DEX_MEW + NATIONAL_DEX_CHIKORITA, // HOENN_DEX_CHIKORITA + NATIONAL_DEX_BAYLEEF, // HOENN_DEX_BAYLEEF + NATIONAL_DEX_MEGANIUM, // HOENN_DEX_MEGANIUM + NATIONAL_DEX_CYNDAQUIL, // HOENN_DEX_CYNDAQUIL + NATIONAL_DEX_QUILAVA, // HOENN_DEX_QUILAVA + NATIONAL_DEX_TYPHLOSION, // HOENN_DEX_TYPHLOSION + NATIONAL_DEX_TOTODILE, // HOENN_DEX_TOTODILE + NATIONAL_DEX_CROCONAW, // HOENN_DEX_CROCONAW + NATIONAL_DEX_FERALIGATR, // HOENN_DEX_FERALIGATR + NATIONAL_DEX_SENTRET, // HOENN_DEX_SENTRET + NATIONAL_DEX_FURRET, // HOENN_DEX_FURRET + NATIONAL_DEX_HOOTHOOT, // HOENN_DEX_HOOTHOOT + NATIONAL_DEX_NOCTOWL, // HOENN_DEX_NOCTOWL + NATIONAL_DEX_LEDYBA, // HOENN_DEX_LEDYBA + NATIONAL_DEX_LEDIAN, // HOENN_DEX_LEDIAN + NATIONAL_DEX_SPINARAK, // HOENN_DEX_SPINARAK + NATIONAL_DEX_ARIADOS, // HOENN_DEX_ARIADOS + NATIONAL_DEX_CLEFFA, // HOENN_DEX_CLEFFA + NATIONAL_DEX_TOGEPI, // HOENN_DEX_TOGEPI + NATIONAL_DEX_TOGETIC, // HOENN_DEX_TOGETIC + NATIONAL_DEX_MAREEP, // HOENN_DEX_MAREEP + NATIONAL_DEX_FLAAFFY, // HOENN_DEX_FLAAFFY + NATIONAL_DEX_AMPHAROS, // HOENN_DEX_AMPHAROS + NATIONAL_DEX_SUDOWOODO, // HOENN_DEX_SUDOWOODO + NATIONAL_DEX_POLITOED, // HOENN_DEX_POLITOED + NATIONAL_DEX_HOPPIP, // HOENN_DEX_HOPPIP + NATIONAL_DEX_SKIPLOOM, // HOENN_DEX_SKIPLOOM + NATIONAL_DEX_JUMPLUFF, // HOENN_DEX_JUMPLUFF + NATIONAL_DEX_AIPOM, // HOENN_DEX_AIPOM + NATIONAL_DEX_SUNKERN, // HOENN_DEX_SUNKERN + NATIONAL_DEX_SUNFLORA, // HOENN_DEX_SUNFLORA + NATIONAL_DEX_YANMA, // HOENN_DEX_YANMA + NATIONAL_DEX_WOOPER, // HOENN_DEX_WOOPER + NATIONAL_DEX_QUAGSIRE, // HOENN_DEX_QUAGSIRE + NATIONAL_DEX_ESPEON, // HOENN_DEX_ESPEON + NATIONAL_DEX_UMBREON, // HOENN_DEX_UMBREON + NATIONAL_DEX_MURKROW, // HOENN_DEX_MURKROW + NATIONAL_DEX_SLOWKING, // HOENN_DEX_SLOWKING + NATIONAL_DEX_MISDREAVUS, // HOENN_DEX_MISDREAVUS + NATIONAL_DEX_UNOWN, // HOENN_DEX_UNOWN + NATIONAL_DEX_PINECO, // HOENN_DEX_PINECO + NATIONAL_DEX_FORRETRESS, // HOENN_DEX_FORRETRESS + NATIONAL_DEX_DUNSPARCE, // HOENN_DEX_DUNSPARCE + NATIONAL_DEX_GLIGAR, // HOENN_DEX_GLIGAR + NATIONAL_DEX_STEELIX, // HOENN_DEX_STEELIX + NATIONAL_DEX_SNUBBULL, // HOENN_DEX_SNUBBULL + NATIONAL_DEX_GRANBULL, // HOENN_DEX_GRANBULL + NATIONAL_DEX_QWILFISH, // HOENN_DEX_QWILFISH + NATIONAL_DEX_SCIZOR, // HOENN_DEX_SCIZOR + NATIONAL_DEX_SHUCKLE, // HOENN_DEX_SHUCKLE + NATIONAL_DEX_SNEASEL, // HOENN_DEX_SNEASEL + NATIONAL_DEX_TEDDIURSA, // HOENN_DEX_TEDDIURSA + NATIONAL_DEX_URSARING, // HOENN_DEX_URSARING + NATIONAL_DEX_SWINUB, // HOENN_DEX_SWINUB + NATIONAL_DEX_PILOSWINE, // HOENN_DEX_PILOSWINE + NATIONAL_DEX_REMORAID, // HOENN_DEX_REMORAID + NATIONAL_DEX_OCTILLERY, // HOENN_DEX_OCTILLERY + NATIONAL_DEX_DELIBIRD, // HOENN_DEX_DELIBIRD + NATIONAL_DEX_MANTINE, // HOENN_DEX_MANTINE + NATIONAL_DEX_HOUNDOUR, // HOENN_DEX_HOUNDOUR + NATIONAL_DEX_HOUNDOOM, // HOENN_DEX_HOUNDOOM + NATIONAL_DEX_PORYGON2, // HOENN_DEX_PORYGON2 + NATIONAL_DEX_STANTLER, // HOENN_DEX_STANTLER + NATIONAL_DEX_SMEARGLE, // HOENN_DEX_SMEARGLE + NATIONAL_DEX_TYROGUE, // HOENN_DEX_TYROGUE + NATIONAL_DEX_HITMONTOP, // HOENN_DEX_HITMONTOP + NATIONAL_DEX_SMOOCHUM, // HOENN_DEX_SMOOCHUM + NATIONAL_DEX_ELEKID, // HOENN_DEX_ELEKID + NATIONAL_DEX_MAGBY, // HOENN_DEX_MAGBY + NATIONAL_DEX_MILTANK, // HOENN_DEX_MILTANK + NATIONAL_DEX_BLISSEY, // HOENN_DEX_BLISSEY + NATIONAL_DEX_RAIKOU, // HOENN_DEX_RAIKOU + NATIONAL_DEX_ENTEI, // HOENN_DEX_ENTEI + NATIONAL_DEX_SUICUNE, // HOENN_DEX_SUICUNE + NATIONAL_DEX_LARVITAR, // HOENN_DEX_LARVITAR + NATIONAL_DEX_PUPITAR, // HOENN_DEX_PUPITAR + NATIONAL_DEX_TYRANITAR, // HOENN_DEX_TYRANITAR + NATIONAL_DEX_LUGIA, // HOENN_DEX_LUGIA + NATIONAL_DEX_HO_OH, // HOENN_DEX_HO-OH + NATIONAL_DEX_CELEBI, // HOENN_DEX_CELEBI + NATIONAL_DEX_OLD_UNOWN_B, // HOENN_DEX_OLD_UNOWN_B + NATIONAL_DEX_OLD_UNOWN_C, // HOENN_DEX_OLD_UNOWN_C + NATIONAL_DEX_OLD_UNOWN_D, // HOENN_DEX_OLD_UNOWN_D + NATIONAL_DEX_OLD_UNOWN_E, // HOENN_DEX_OLD_UNOWN_E + NATIONAL_DEX_OLD_UNOWN_F, // HOENN_DEX_OLD_UNOWN_F + NATIONAL_DEX_OLD_UNOWN_G, // HOENN_DEX_OLD_UNOWN_G + NATIONAL_DEX_OLD_UNOWN_H, // HOENN_DEX_OLD_UNOWN_H + NATIONAL_DEX_OLD_UNOWN_I, // HOENN_DEX_OLD_UNOWN_I + NATIONAL_DEX_OLD_UNOWN_J, // HOENN_DEX_OLD_UNOWN_J + NATIONAL_DEX_OLD_UNOWN_K, // HOENN_DEX_OLD_UNOWN_K + NATIONAL_DEX_OLD_UNOWN_L, // HOENN_DEX_OLD_UNOWN_L + NATIONAL_DEX_OLD_UNOWN_M, // HOENN_DEX_OLD_UNOWN_M + NATIONAL_DEX_OLD_UNOWN_N, // HOENN_DEX_OLD_UNOWN_N + NATIONAL_DEX_OLD_UNOWN_O, // HOENN_DEX_OLD_UNOWN_O + NATIONAL_DEX_OLD_UNOWN_P, // HOENN_DEX_OLD_UNOWN_P + NATIONAL_DEX_OLD_UNOWN_Q, // HOENN_DEX_OLD_UNOWN_Q + NATIONAL_DEX_OLD_UNOWN_R, // HOENN_DEX_OLD_UNOWN_R + NATIONAL_DEX_OLD_UNOWN_S, // HOENN_DEX_OLD_UNOWN_S + NATIONAL_DEX_OLD_UNOWN_T, // HOENN_DEX_OLD_UNOWN_T + NATIONAL_DEX_OLD_UNOWN_U, // HOENN_DEX_OLD_UNOWN_U + NATIONAL_DEX_OLD_UNOWN_V, // HOENN_DEX_OLD_UNOWN_V + NATIONAL_DEX_OLD_UNOWN_W, // HOENN_DEX_OLD_UNOWN_W + NATIONAL_DEX_OLD_UNOWN_X, // HOENN_DEX_OLD_UNOWN_X + NATIONAL_DEX_OLD_UNOWN_Y, // HOENN_DEX_OLD_UNOWN_Y + NATIONAL_DEX_OLD_UNOWN_Z // HOENN_DEX_OLD_UNOWN_Z +}; const struct SpindaSpot gSpindaSpotGraphics[] = { @@ -5724,7 +6968,7 @@ static void Task_PokemonSummaryAnimateAfterDelay(u8 taskId) if (--gTasks[taskId].data[3] == 0) { StartMonSummaryAnimation(READ_PTR_FROM_TASK(taskId, 0), gTasks[taskId].data[2]); - sub_81C488C(0xFF); + SummaryScreen_SetUnknownTaskId(0xFF); DestroyTask(taskId); } } @@ -5791,7 +7035,7 @@ void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneF STORE_PTR_IN_TASK(sprite, taskId, 0); gTasks[taskId].data[2] = sMonFrontAnimIdsTable[species - 1]; gTasks[taskId].data[3] = sMonAnimationDelayTable[species - 1]; - sub_81C488C(taskId); + SummaryScreen_SetUnknownTaskId(taskId); SetSpriteCB_MonAnimDummy(sprite); } else diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7e20a2a92..1afbaab7a 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1,402 +1,769 @@ #include "global.h" +#include "main.h" #include "battle.h" +#include "battle_anim.h" +#include "battle_frontier_2.h" +#include "battle_message.h" +#include "battle_tent.h" #include "bg.h" +#include "contest.h" +#include "contest_effect.h" +#include "data2.h" +#include "daycare.h" #include "decompress.h" +#include "dynamic_placeholder_text_util.h" +#include "event_data.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "international_string_util.h" #include "item.h" -#include "constants/items.h" #include "link.h" #include "m4a.h" -#include "main.h" #include "malloc.h" -#include "constants/moves.h" +#include "menu.h" +#include "menu_helpers.h" +#include "mon_markings.h" +#include "party_menu.h" #include "palette.h" +#include "pokeball.h" #include "pokemon.h" -#include "constants/songs.h" +#include "pokemon_storage_system.h" +#include "pokemon_summary_screen.h" +#include "region_map.h" +#include "scanline_effect.h" #include "sound.h" -#include "constants/species.h" #include "sprite.h" -#include "dynamic_placeholder_text_util.h" #include "string_util.h" +#include "strings.h" #include "task.h" #include "text.h" +#include "tv.h" #include "window.h" -#include "event_data.h" -#include "gpu_regs.h" -#include "menu.h" -#include "international_string_util.h" -#include "scanline_effect.h" -#include "menu_helpers.h" -#include "daycare.h" -#include "data2.h" -#include "contest.h" -#include "contest_effect.h" +#include "constants/items.h" +#include "constants/moves.h" +#include "constants/region_map_sections.h" +#include "constants/songs.h" +#include "constants/species.h" -extern struct UnkSummaryStruct* gUnknown_0203CF1C; -extern struct BgTemplate gUnknown_0861CBB4; -extern u8 gUnknown_0203CF20; -extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern s8 gUnknown_0861CC1C[]; -extern u8 gUnknown_0203CF21; -extern struct UnkStruct_61CC04 gUnknown_0861CC04; -extern struct UnkStruct_61CC04 gUnknown_0861CC10; -extern struct UnkStruct_61CC04 gUnknown_0861CBEC; -extern struct UnkStruct_61CC04 gUnknown_0861CBF8; -extern u16 gSummaryScreenWindow_Tilemap[]; -extern struct ContestEffect gContestEffects[]; -extern struct WindowTemplate gUnknown_0861CC24; -extern u8 gUnknown_0861CD2C[][3]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; -extern u8 gText_MaleSymbol[]; -extern u8 gText_FemaleSymbol[]; -extern u8 gUnknown_0861CDD3[]; -extern void (*const gUnknown_0861CE54[])(); -extern void (*const gUnknown_0861CE64[])(u8 taskId); -extern struct WindowTemplate gUnknown_0861CCCC; -extern u8 gUnknown_0861CE74[]; -extern u8 gUnknown_0861CE7B[]; -extern struct WindowTemplate gUnknown_0861CCEC; -extern struct WindowTemplate gUnknown_0861CD14; -extern const u8 *const gContestEffectDescriptionPointers[]; - -void sub_81C488C(u8 a); -extern u8 sub_81221EC(); -extern u8 sub_81221AC(); -extern u8 gUnknown_08D9862C; -extern u8 gUnknown_08D98CC8; -extern u8 gUnknown_08D987FC; -extern u8 gUnknown_08D9898C; -extern u8 gUnknown_08D98B28; -extern u8 gUnknown_08D9853C; -extern u8 gUnknown_08D85620; -extern struct CompressedSpriteSheet gUnknown_0861CFBC; -extern struct CompressedSpriteSheet gUnknown_0861D074; -extern struct CompressedSpriteSheet gUnknown_0861D0F8; -extern struct CompressedSpritePalette gUnknown_0861D100; -extern struct CompressedSpritePalette gUnknown_0861D07C; -extern u8 gMoveTypes_Pal; -extern u8 gUnknown_08D97D0C; -extern void sub_81C1E20(u8 taskId); -extern u8 *GetMonNickname(struct Pokemon *mon, u8 *dest); -extern u16 SpeciesToPokedexNum(u16 species); -extern u8 gText_UnkCtrlF908Clear01[]; -extern u8 gText_LevelSymbol[]; -extern u8 gText_PkmnInfo[]; -extern u8 gText_PkmnSkills[]; -extern u8 gText_BattleMoves[]; -extern u8 gText_ContestMoves[]; -extern u8 gText_HMMovesCantBeForgotten2[]; -extern u8 gText_Cancel2[]; -extern u8 gText_Info[]; -extern u8 gText_Switch[]; -extern u8 gText_RentalPkmn[]; -extern u8 gText_TypeSlash[]; -extern u8 gText_HP4[]; -extern u8 gText_Attack3[]; -extern u8 gText_Defense3[]; -extern u8 gText_SpAtk4[]; -extern u8 gText_SpDef4[]; -extern u8 gText_Speed2[]; -extern u8 gText_ExpPoints[]; -extern u8 gText_NextLv[]; -extern u8 gText_Status[]; -extern u8 gText_Power[]; -extern u8 gText_Accuracy2[]; -extern u8 gText_Appeal[]; -extern u8 gText_Jam[]; -extern u8 gText_OTSlash[]; -extern u8 gText_UnkCtrlF907F908[]; -extern u8 gText_XNature[]; -extern u8 gText_XNatureHatchedAtYZ[]; -extern u8 gText_XNatureHatchedSomewhereAt[]; -extern u8 gText_XNatureMetAtYZ[]; -extern u8 gText_XNatureMetSomewhereAt[]; -extern u8 gText_XNatureFatefulEncounter[]; -extern u8 gText_XNatureProbablyMetAt[]; -extern u8 gText_XNatureObtainedInTrade[]; -extern u8 *gNatureNamePointers[]; -extern u8 gText_EmptyString5[]; -extern u32 gBattleTypeFlags; -extern u8 gText_FiveMarks[]; -extern u8 gText_EggWillTakeALongTime[]; -extern u8 gText_EggAboutToHatch[]; -extern u8 gText_EggWillHatchSoon[]; -extern u8 gText_EggWillTakeSomeTime[]; -extern u8 gText_PeculiarEggNicePlace[]; -extern u8 gText_PeculiarEggTrade[]; -extern u8 gText_EggFromTraveler[]; -extern u8 gText_EggFromHotSprings[]; -extern u8 gText_OddEggFoundByCouple[]; -extern u8 gText_None[]; -extern u8 gText_RibbonsVar1[]; -extern u8 gUnknown_0861CE82[]; -extern u8 gUnknown_0861CE8E[]; -extern u8 gText_OneDash[]; -extern u8 gText_TwoDashes[]; -extern u8 gText_ThreeDashes[]; -extern u8 gText_Cancel[]; -extern u8 gUnknown_0861CE97[]; -extern const struct SpriteTemplate gUnknown_0861CFC4; - -extern void sub_8199C30(u8 a, u8 b, u8 c, u8 d, u8 e, u8 f); -extern bool8 sub_81A6BF4(); -extern bool8 sub_81B9E94(); -extern void DynamicPlaceholderTextUtil_Reset(); -extern void sub_8124610(u8 *a, u8 b); -extern int GetPlayerIDAsU32(); -extern u8 GetCurrentPpToMaxPpState(u8 a, u8 b); - -void sub_81BFAE4(void); -void sub_81BFE24(); -u8 sub_81BFEB0(); -void sub_81C2554(); -void sub_81C1BA0(); -void sub_81C0098(struct Pokemon* a); -bool8 sub_81C00F0(struct Pokemon* a); -void sub_81C25E8(); -void sub_81C286C(); -void sub_81C2D9C(u8 a); -void sub_81C0348(); -void sub_81C2AFC(u8 a); -void sub_81C4190(); -void sub_81C42C8(); -u8 sub_81C45F4(void* a, u16* b); -void sub_81C4984(); -void sub_81C4A08(); -void sub_81C4A88(); -void sub_81C4280(); -void sub_81C43A0(); -void sub_81C4484(); -void sub_81C4420(); -void sub_81C0510(u8 taskId); -void sub_81C171C(u8 taskId); -void ResetAllBgsCoordinates(); -u8 sub_81B205C(struct Pokemon* a); -void sub_81C1DA4(u16 a, s16 b); -void sub_81C1EFC(u16 a, s16 b, u16 c); -void sub_81C240C(u16 a); -void sub_81C2194(u16 *a, u16 b, u8 c); -void sub_81C2074(u16 a, s16 b); -void sub_81C2524(); -void sub_81C2228(struct Pokemon* mon); -void sub_81C0484(u8 taskId); -void sub_81C4898(); -void sub_806F47C(u8 a); -u8 GetLRKeysState(); -void sub_81C0604(u8 taskId, s8 a); -void sub_81C0A8C(u8 taskId, s8 a); -void sub_81C48F0(); -void sub_81C0E48(u8 taskId); -void sub_81C0704(u8 taskId); -s8 sub_81C09B4(s8 a); -s8 sub_81C08F8(s8 a); -void sub_81C4204(u8 a, u8 b); -void sub_81C20F0(u8 taskId); -bool8 sub_81C0A50(struct Pokemon* mon); -void sub_81C49E0(); -void sub_81C0E24(); -void sub_81C2C38(u8 a); -void sub_81C0B8C(u8 taskId); -void sub_81C0CC4(u8 taskId); -void sub_81C2DE4(u8 a); -void sub_81C424C(); -void sub_81C0C68(u8 taskId); -void sub_81C0D44(u8 taskId); -void sub_81C22CC(struct Pokemon* mon); -void sub_81C0F44(u8 taskId); -void sub_81C3E9C(u16 a); -void sub_81C3F44(); -void sub_81C44F0(); -void sub_81C4AF8(u8 a); -void sub_81C1070(s16* a, s8 b, u8* c); -void sub_81C11F4(u8 a); -void sub_81C129C(u8 a); -bool8 sub_81C1040(); -void sub_81C4064(); -void sub_81C4C60(u8 a); -void sub_81C12E4(u8 taskId); -void sub_81C4C84(u8 a); -void sub_81C13B0(u8 a, u8 b); -void sub_81C14BC(struct Pokemon *mon, u8 a, u8 b); -void sub_81C15EC(struct BoxPokemon *mon, u8 a, u8 b); -void sub_81C40A0(u8 a, u8 b); -void sub_81C4568(u8 a, u8 b); -void sub_81C174C(u8 taskId); -bool8 sub_81C18A8(); -void sub_81C18F4(u8 a); -u8 sub_81B6D14(u16 a); -void sub_81C1940(u8 taskId); -void sub_81C4154(); -void sub_81C1F80(u8 taskId); -void sub_81C2628(); -void sub_81C2794(); -void sub_81C27DC(struct Pokemon *mon, u16 a); -void sub_81C2D68(u8 a); -void sub_81C335C(); -void sub_81C33CC(); -void sub_81C3428(); -void sub_81C349C(); -void sub_81C2EC4(); -void sub_81C2F5C(); -void sub_81C2FD8(); -void sub_81C302C(); -void sub_81C307C(); -void sub_81C3194(); -void sub_81C31C0(); -bool8 sub_81C3304(); -void sub_81C31F0(u8 *a); -u8 sub_81C3220(); -bool8 sub_81C32BC(); -void sub_81C35E4(); -void sub_81C3690(); -void sub_81C3710(); -void sub_81C37D8(); -void sub_81C3808(); -void sub_81C3890(); -void sub_81C38C0(); -void sub_81C3B08(u8 a); -void sub_81C3E2C(u8 a); -void sub_81C4D18(); - -void SetBgAttribute(u8 bg, u8 attributeId, u8 value); - -bool8 sub_81BFB10(); -u8 sub_81B1250(); - -union UnkUnion -{ - struct Pokemon mon[6]; - struct BoxPokemon boxMon[6]; -}; - - -u8 sub_80D214C(union UnkUnion* a, u8 b, u8 c, u8 d); - -struct PokeSummary -{ - u16 species; // 0x0 - u16 species2; // 0x2 - u8 isEgg; // 0x4 - u8 level; // 0x5 - u8 ribbons; // 0x6 - u8 unk7; // 0x7 - u8 altAbility; // 0x8 - u8 metLocation; // 0x9 - u8 metLevel; // 0xA - u8 metGame; // 0xB - u32 pid; // 0xC - u32 exp; // 0x10 - u16 moves[4]; // 0x14 - u8 pp[4]; // 0x1C - u16 currentHP; // 0x20 - u16 maxHP; // 0x22 - u16 atk; // 0x24 - u16 def; // 0x26 - u16 spatk; // 0x28 - u16 spdef; // 0x2A - u16 speed; // 0x2C - u16 item; // 0x2E - u16 friendship; // 0x30 - u8 OTGender; // 0x32 - u8 nature; // 0x33 - u8 ppBonuses; // 0x34 - u8 sanity; // 0x35 - u8 OTName[8]; // 0x36 - u8 unk3E[9]; // 0x3E - u32 OTID; // 0x48 -}; - -struct UnkSummaryStruct -{ - /*0x00*/ union UnkUnion *unk0; - /*0x04*/ void *unk4; - /*0x08*/ void *unk8; +static EWRAM_DATA struct UnkSummaryStruct +{ + /*0x00*/ union { + struct Pokemon *mons; + struct BoxPokemon *boxMons; + } monList; + /*0x04*/ MainCallback callback; + /*0x08*/ struct Sprite *markingsSprite; /*0x0C*/ struct Pokemon currentMon; - /*0x70*/ struct PokeSummary summary; - u16 unkTilemap0[0x400]; - u16 unkTilemap0_1[0x400]; - u16 unkTilemap1[0x400]; - u16 unkTilemap1_1[0x400]; - u16 unkTilemap2[0x400]; - u16 unkTilemap2_1[0x400]; - u16 unkTilemap3[0x400]; - u16 unkTilemap3_1[0x400]; - u8 unk40BC; - u8 unk40BD; - u8 unk40BE; - u8 unk40BF; - u8 unk40C0; - u8 unk40C1; - u8 unk40C2; - u8 unk40C3; - u16 unk40C4; - u8 unk40C6; - u8 unk40C7; - u8 unk40C8; + /*0x70*/ struct PokeSummary + { + u16 species; // 0x0 + u16 species2; // 0x2 + u8 isEgg; // 0x4 + u8 level; // 0x5 + u8 ribbonCount; // 0x6 + u8 unk7; // 0x7 + u8 altAbility; // 0x8 + u8 metLocation; // 0x9 + u8 metLevel; // 0xA + u8 metGame; // 0xB + u32 pid; // 0xC + u32 exp; // 0x10 + u16 moves[4]; // 0x14 + u8 pp[4]; // 0x1C + u16 currentHP; // 0x20 + u16 maxHP; // 0x22 + u16 atk; // 0x24 + u16 def; // 0x26 + u16 spatk; // 0x28 + u16 spdef; // 0x2A + u16 speed; // 0x2C + u16 item; // 0x2E + u16 friendship; // 0x30 + u8 OTGender; // 0x32 + u8 nature; // 0x33 + u8 ppBonuses; // 0x34 + u8 sanity; // 0x35 + u8 OTName[8]; // 0x36 + u8 unk3E[9]; // 0x3E + u32 OTID; // 0x48 + } summary; + u16 bgTilemapBuffers[4][2][0x400]; + u8 mode; + bool8 isBoxMon; + u8 curMonIndex; + u8 maxMonIndex; + u8 currPageIndex; + u8 minPageIndex; + u8 maxPageIndex; + bool8 unk40C3; + u16 newMove; + u8 firstMoveIndex; + u8 secondMoveIndex; + bool8 unk40C8; u8 unk40C9; - u8 unk40CA; - u8 unk40CB[8]; - u8 unk40D3[0x1C]; - u8 unk40EF; + u8 filler40CA; + u8 windowIds[8]; + u8 spriteIds[28]; + bool8 unk40EF; s16 unk40F0; u8 unk_filler4[6]; +} *pssData = NULL; +EWRAM_DATA u8 gUnknown_0203CF20 = 0; +static EWRAM_DATA u8 gUnknown_0203CF21 = 0; +static EWRAM_DATA u8 gFiller_0203CF22[2] = {0}; +static EWRAM_DATA u8 sUnknownTaskId = 0; +static EWRAM_DATA u8 gFiller_0203CF25[3] = {0}; + +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; + +struct UnkStruct_61CC04 +{ + const u16 *ptr; + u16 field_4; + u8 field_6; + u8 field_7; + u8 field_8; + u8 field_9; }; +// forward declarations +bool8 sub_81B1250(void); +static bool8 SummaryScreen_LoadGraphics(void); +static void SummaryScreen_LoadingCB2(void); +static void InitBGs(void); +static bool8 SummaryScreen_DecompressGraphics(void); +static void CopyMonToSummaryStruct(struct Pokemon* a); +static bool8 ExtractMonDataToSummaryStruct(struct Pokemon* a); +static void sub_81C0348(void); +static void sub_81C0484(u8 taskId); +static void sub_81C0510(u8 taskId); +static void sub_81C0604(u8 taskId, s8 a); +static void sub_81C0704(u8 taskId); +static s8 sub_81C08F8(s8 a); +static s8 sub_81C09B4(s8 a); +static bool8 sub_81C0A50(struct Pokemon* mon); +static void sub_81C0A8C(u8 taskId, s8 a); +static void sub_81C0B8C(u8 taskId); +static void sub_81C0C68(u8 taskId); +static void sub_81C0CC4(u8 taskId); +static void sub_81C0D44(u8 taskId); +static void sub_81C0E24(void); +static void sub_81C0E48(u8 taskId); +static void sub_81C0F44(u8 taskId); +static bool8 sub_81C1040(void); +static void sub_81C1070(s16* a, s8 b, u8* c); +static void sub_81C11F4(u8 a); +static void sub_81C129C(u8 a); +static void sub_81C12E4(u8 taskId); +static void sub_81C13B0(u8 taskId, bool8 b); +static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2); +static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2); +static void sub_81C171C(u8 taskId); +static void sub_81C174C(u8 taskId); +static bool8 sub_81C18A8(void); +static void sub_81C18F4(u8 a); +static void sub_81C1940(u8 taskId); +static void sub_81C1BA0(void); +static void sub_81C1DA4(u16 a, s16 b); +static void sub_81C1E20(u8 taskId); +static void sub_81C1EFC(u16 a, s16 b, u16 c); +static void sub_81C1F80(u8 taskId); +static void sub_81C2074(u16 a, s16 b); +static void sub_81C20F0(u8 taskId); +static void sub_81C2194(u16 *a, u16 b, u8 c); +static void sub_81C2228(struct Pokemon* mon); +static void sub_81C22CC(struct Pokemon* mon); +static void sub_81C240C(u16 a); +static void sub_81C2524(void); +static void sub_81C2554(void); +static void sub_81C25E8(void); +static void sub_81C2628(void); +static void sub_81C2794(void); +static void sub_81C27DC(struct Pokemon *mon, u16 a); +static void PrintPageNamesAndStatsPageToWindows(void); +static void sub_81C2AFC(u8 a); +static void sub_81C2C38(u8 a); +static void SummaryScreen_RemoveWindowByIndex(u8 a); +static void sub_81C2D9C(u8 a); +static void sub_81C2DE4(u8 a); +static void sub_81C2E00(void); +static void sub_81C2E40(u8 taskId); +static void PrintMonOTName(void); +static void PrintMonOTID(void); +static void PrintMonAbilityName(void); +static void PrintMonAbilityDescription(void); +static void BufferMonTrainerMemo(void); +static void PrintMonTrainerMemo(void); +static void BufferNatureString(void); +static void GetMetLevelString(u8 *a); +static bool8 DoesMonOTMatchOwner(void); +static bool8 DidMonComeFromGBAGames(void); +static bool8 IsInGamePartnerMon(void); +static void PrintEggOTName(void); +static void PrintEggOTID(void); +static void PrintEggState(void); +static void PrintEggMemo(void); +static void sub_81C3554(u8 taskId); +static void PrintHeldItemName(void); +static void sub_81C3530(void); +static void PrintRibbonCount(void); +static void BufferLeftColumnStats(void); +static void PrintLeftColumnStats(void); +static void BufferRightColumnStats(void); +static void PrintRightColumnStats(void); +static void PrintExpPointsNextLevel(void); +static void sub_81C3984(void); +static void sub_81C39F0(u8 taskId); +static void PrintMoveNameAndPP(u8 a); +static void sub_81C3D08(void); +static void sub_81C3D54(u8 taskId); +static void PrintContestMoveDescription(u8 a); +static void PrintMoveDetails(u16 a); +static void PrintNewMoveDetailsOrCancelText(void); +static void sub_81C4064(void); +static void sub_81C40A0(u8 a, u8 b); +static void PrintHMMovesCantBeForgotten(void); +static void sub_81C4190(void); +static void sub_81C4204(u8 a, u8 b); +static void sub_81C424C(void); +static void sub_81C4280(void); +static void sub_81C42C8(void); +static void sub_81C43A0(void); +static void sub_81C4420(void); +static void sub_81C4484(void); +static void sub_81C44F0(void); +static void sub_81C4568(u8 a, u8 b); +static u8 sub_81C45F4(struct Pokemon *a, s16 *b); +static u8 sub_81C47B4(struct Pokemon *unused); +static void sub_81C4844(struct Sprite *); +void SummaryScreen_SetUnknownTaskId(u8 a); +void SummaryScreen_DestroyUnknownTask(void); +static void sub_81C48F0(void); +static void CreateMonMarkingsSprite(struct Pokemon *mon); +static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon); +static void CreateCaughtBallSprite(struct Pokemon *mon); +static void CreateSetStatusSprite(void); +static void sub_81C4AF8(u8 a); +static void sub_81C4BE4(struct Sprite *sprite); +static void sub_81C4C60(u8 a); +static void sub_81C4C84(u8 a); +static void sub_81C4D18(u8 a); + // const rom data #include "data/text/move_descriptions.h" +#include "data/text/nature_names.h" + +static const struct BgTemplate gUnknown_0861CBB4[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0, + }, + { + .bg = 1, + .charBaseIndex = 2, + .mapBaseIndex = 27, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0, + }, + { + .bg = 2, + .charBaseIndex = 2, + .mapBaseIndex = 25, + .screenSize = 1, + .paletteMode = 0, + .priority = 2, + .baseTile = 0, + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 29, + .screenSize = 1, + .paletteMode = 0, + .priority = 3, + .baseTile = 0, + }, +}; + +static const u16 gUnknown_0861CBC4[] = INCBIN_U16("graphics/interface/unk_tilemap2.bin"); +static const struct UnkStruct_61CC04 gUnknown_0861CBEC = +{ + gUnknown_0861CBC4, 1, 10, 2, 0, 18 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CBF8 = +{ + gUnknown_0861CBC4, 1, 10, 2, 0, 50 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CC04 = +{ + gSummaryScreenPowAcc_Tilemap, 0, 10, 7, 0, 45 +}; +static const struct UnkStruct_61CC04 gUnknown_0861CC10 = +{ + gUnknown_08DC3C34, 0, 10, 7, 0, 45 +}; +static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5}; +static const struct WindowTemplate gUnknown_0861CC24[] = +{ + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0001 }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0017 }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x002d }, + { 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0043 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0059 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0069 }, + { 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0079 }, + { 0x00, 0x0b, 0x04, 0x00, 0x02, 0x06, 0x0089 }, + { 0x00, 0x0b, 0x04, 0x12, 0x02, 0x06, 0x0089 }, + { 0x00, 0x0b, 0x06, 0x12, 0x02, 0x06, 0x00ad }, + { 0x00, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x00d1 }, + { 0x00, 0x16, 0x07, 0x05, 0x06, 0x06, 0x00f5 }, + { 0x00, 0x0a, 0x0e, 0x0b, 0x04, 0x06, 0x0113 }, + { 0x00, 0x00, 0x12, 0x06, 0x02, 0x06, 0x013f }, + { 0x00, 0x01, 0x0f, 0x09, 0x04, 0x06, 0x014b }, + { 0x00, 0x01, 0x0f, 0x05, 0x04, 0x06, 0x016f }, + { 0x00, 0x16, 0x04, 0x00, 0x02, 0x06, 0x0183 }, + { 0x00, 0x01, 0x02, 0x04, 0x02, 0x07, 0x0183 }, + { 0x00, 0x01, 0x0c, 0x09, 0x02, 0x06, 0x018b }, + { 0x00, 0x01, 0x0e, 0x09, 0x04, 0x06, 0x019d }, + DUMMY_WIN_TEMPLATE +}; +static const struct WindowTemplate gUnknown_0861CCCC[] = +{ + { 0x00, 0x0b, 0x04, 0x0b, 0x02, 0x06, 0x01c1 }, + { 0x00, 0x16, 0x04, 0x07, 0x02, 0x06, 0x01d7 }, + { 0x00, 0x0b, 0x09, 0x12, 0x04, 0x06, 0x01e5 }, + { 0x00, 0x0b, 0x0e, 0x12, 0x06, 0x06, 0x022d }, +}; +static const struct WindowTemplate gUnknown_0861CCEC[] = +{ + { 0x00, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x01c1 }, + { 0x00, 0x14, 0x04, 0x0a, 0x02, 0x06, 0x01d5 }, + { 0x00, 0x10, 0x07, 0x06, 0x06, 0x06, 0x01e9 }, + { 0x00, 0x1b, 0x07, 0x03, 0x06, 0x06, 0x020d }, + { 0x00, 0x18, 0x0e, 0x06, 0x04, 0x06, 0x021f }, +}; +static const struct WindowTemplate gUnknown_0861CD14[] = +{ + { 0x00, 0x0f, 0x04, 0x09, 0x0a, 0x06, 0x01c1 }, + { 0x00, 0x18, 0x04, 0x06, 0x0a, 0x08, 0x021b }, + { 0x00, 0x0a, 0x0f, 0x14, 0x04, 0x06, 0x0257 }, +}; +static const u8 sTextColors_861CD2C[][3] = +{ + {0, 1, 2}, + {0, 3, 4}, + {0, 5, 6}, + {0, 7, 8}, + {0, 9, 10}, + {0, 11, 12}, + {0, 13, 14}, + {0, 7, 8}, + {13, 15, 14}, + {0, 1, 2}, + {0, 3, 4}, + {0, 5, 6}, + {0, 7, 8} +}; +static const u8 gUnknown_0861CD53[] = INCBIN_U8("graphics/interface/summary_a_button.4bpp"); +static const u8 gUnknown_0861CDD3[] = INCBIN_U8("graphics/interface/summary_b_button.4bpp"); +static void (*const gUnknown_0861CE54[])(void) = +{ + sub_81C2E00, + sub_81C3530, + sub_81C3984, + sub_81C3D08 +}; +static void (*const gUnknown_0861CE64[])(u8 taskId) = +{ + sub_81C2E40, + sub_81C3554, + sub_81C39F0, + sub_81C3D54 +}; +static const u8 gUnknown_0861CE74[] = _("{COLOR LIGHT_RED}{SHADOW GREEN}"); +static const u8 gUnknown_0861CE7B[] = _("{COLOR WHITE}{SHADOW DARK_GREY}"); +static const u8 gUnknown_0861CE82[] = _("{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}\n{SPECIAL_F7 0x03}"); +static const u8 gUnknown_0861CE8E[] = _("{SPECIAL_F7 0x00}\n{SPECIAL_F7 0x01}\n{SPECIAL_F7 0x02}"); +static const u8 gUnknown_0861CE97[] = _("{PP}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}"); +static const struct OamData gOamData_861CEA0 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; +static const union AnimCmd gSpriteAnim_861CEA8[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEB0[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEB8[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEC0[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEC8[] = { + ANIMCMD_FRAME(32, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CED0[] = { + ANIMCMD_FRAME(40, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CED8[] = { + ANIMCMD_FRAME(48, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEE0[] = { + ANIMCMD_FRAME(56, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEE8[] = { + ANIMCMD_FRAME(64, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEF0[] = { + ANIMCMD_FRAME(72, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CEF8[] = { + ANIMCMD_FRAME(80, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF00[] = { + ANIMCMD_FRAME(88, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF08[] = { + ANIMCMD_FRAME(96, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF10[] = { + ANIMCMD_FRAME(104, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF18[] = { + ANIMCMD_FRAME(112, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF20[] = { + ANIMCMD_FRAME(120, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF28[] = { + ANIMCMD_FRAME(128, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF30[] = { + ANIMCMD_FRAME(136, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF38[] = { + ANIMCMD_FRAME(144, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF40[] = { + ANIMCMD_FRAME(152, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF48[] = { + ANIMCMD_FRAME(160, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF50[] = { + ANIMCMD_FRAME(168, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861CF58[] = { + ANIMCMD_FRAME(176, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd *const gSpriteAnimTable_861CF60[] = { + gSpriteAnim_861CEA8, + gSpriteAnim_861CEB0, + gSpriteAnim_861CEB8, + gSpriteAnim_861CEC0, + gSpriteAnim_861CEC8, + gSpriteAnim_861CED0, + gSpriteAnim_861CED8, + gSpriteAnim_861CEE0, + gSpriteAnim_861CEE8, + gSpriteAnim_861CEF0, + gSpriteAnim_861CEF8, + gSpriteAnim_861CF00, + gSpriteAnim_861CF08, + gSpriteAnim_861CF10, + gSpriteAnim_861CF18, + gSpriteAnim_861CF20, + gSpriteAnim_861CF28, + gSpriteAnim_861CF30, + gSpriteAnim_861CF38, + gSpriteAnim_861CF40, + gSpriteAnim_861CF48, + gSpriteAnim_861CF50, + gSpriteAnim_861CF58, +}; +static const struct CompressedSpriteSheet gUnknown_0861CFBC = +{ + .data = gMoveTypes_Gfx, + .size = 0x1700, + .tag = 30002 +}; +static const struct SpriteTemplate gUnknown_0861CFC4 = +{ + .tileTag = 30002, + .paletteTag = 30002, + .oam = &gOamData_861CEA0, + .anims = gSpriteAnimTable_861CF60, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +static const u8 gUnknown_0861CFDC[] = {13, 13, 14, 14, 13, 13, 15, 14, 13, 15, 13, 14, 15, 13, 14, 14, 15, 13, 13, 14, 14, 15, 13}; +static const struct OamData gOamData_861CFF4 = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; +static const union AnimCmd gSpriteAnim_861CFFC[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D004[] = { + ANIMCMD_FRAME(4, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D00C[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D014[] = { + ANIMCMD_FRAME(12, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D01C[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D024[] = { + ANIMCMD_FRAME(16, 0, TRUE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D02C[] = { + ANIMCMD_FRAME(20, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D034[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D03C[] = { + ANIMCMD_FRAME(24, 0, TRUE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D044[] = { + ANIMCMD_FRAME(28, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd *const gSpriteAnimTable_861D04C[] = { + gSpriteAnim_861CFFC, + gSpriteAnim_861D004, + gSpriteAnim_861D00C, + gSpriteAnim_861D014, + gSpriteAnim_861D01C, + gSpriteAnim_861D024, + gSpriteAnim_861D02C, + gSpriteAnim_861D034, + gSpriteAnim_861D03C, + gSpriteAnim_861D044, +}; +static const struct CompressedSpriteSheet gUnknown_0861D074 = +{ + .data = gUnknown_08D97BEC, + .size = 0x400, + .tag = 30000 +}; +static const struct CompressedSpritePalette gUnknown_0861D07C = +{ + .data = gUnknown_08D97CF4, + .tag = 30000 +}; +static const struct SpriteTemplate gUnknown_0861D084 = +{ + .tileTag = 30000, + .paletteTag = 30000, + .oam = &gOamData_861CFF4, + .anims = gSpriteAnimTable_861D04C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +static const struct OamData gOamData_861D09C = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 1, + .x = 0, + .matrixNum = 0, + .size = 1, + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0, +}; +static const union AnimCmd gSpriteAnim_861D0A4[] = { + ANIMCMD_FRAME(0, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0AC[] = { + ANIMCMD_FRAME(4, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0B4[] = { + ANIMCMD_FRAME(8, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0BC[] = { + ANIMCMD_FRAME(12, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0C4[] = { + ANIMCMD_FRAME(16, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0CC[] = { + ANIMCMD_FRAME(20, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd gSpriteAnim_861D0D4[] = { + ANIMCMD_FRAME(24, 0, FALSE, FALSE), + ANIMCMD_END +}; +static const union AnimCmd *const gSpriteAnimTable_861D0DC[] = { + gSpriteAnim_861D0A4, + gSpriteAnim_861D0AC, + gSpriteAnim_861D0B4, + gSpriteAnim_861D0BC, + gSpriteAnim_861D0C4, + gSpriteAnim_861D0CC, + gSpriteAnim_861D0D4, +}; +static const struct CompressedSpriteSheet gUnknown_0861D0F8 = +{ + .data = gStatusGfx_Icons, + .size = 0x380, + .tag = 30001 +}; +static const struct CompressedSpritePalette gUnknown_0861D100 = +{ + .data = gStatusPal_Icons, + .tag = 30001 +}; +static const struct SpriteTemplate gUnknown_0861D108 = +{ + .tileTag = 30001, + .paletteTag = 30001, + .oam = &gOamData_861D09C, + .anims = gSpriteAnimTable_861D0DC, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy +}; +static const u16 gUnknown_0861D120[] = INCBIN_U16("graphics/interface/summary_markings.gbapal"); // code -void sub_81BF8EC(u8 a, void *b, u8 c, u8 d, void *e) -{ - u8 byte; - gUnknown_0203CF1C = AllocZeroed(sizeof(struct UnkSummaryStruct)); - gUnknown_0203CF1C->unk40BC = a; - gUnknown_0203CF1C->unk0 = b; - gUnknown_0203CF1C->unk40BE = c; - gUnknown_0203CF1C->unk40BF = d; - gUnknown_0203CF1C->unk4 = e; - if (a == 2) - gUnknown_0203CF1C->unk40BD = 1; +void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) +{ + pssData = AllocZeroed(sizeof(*pssData)); + pssData->mode = mode; + pssData->monList.mons = mons; + pssData->curMonIndex = monIndex; + pssData->maxMonIndex = maxMonIndex; + pssData->callback = callback; + + if (mode == PSS_MODE_UNK2) + pssData->isBoxMon = TRUE; else - gUnknown_0203CF1C->unk40BD = 0; - switch (a) + pssData->isBoxMon = FALSE; + + switch (mode) { - case 0: - case 2: - gUnknown_0203CF1C->unk40C1 = 0; - gUnknown_0203CF1C->unk40C2 = 3; + case PSS_MODE_NORMAL: + case PSS_MODE_UNK2: + pssData->minPageIndex = 0; + pssData->maxPageIndex = 3; break; - case 1: - gUnknown_0203CF1C->unk40C1 = 0; - gUnknown_0203CF1C->unk40C2 = 3; - gUnknown_0203CF1C->unk40C8 = 1; + case PSS_MODE_UNK1: + pssData->minPageIndex = 0; + pssData->maxPageIndex = 3; + pssData->unk40C8 = TRUE; break; - case 3: - gUnknown_0203CF1C->unk40C1 = 2; - gUnknown_0203CF1C->unk40C2 = 3; - gUnknown_0203CF1C->unk40C3 = 1; + case PSS_MODE_SELECT_MOVE: + pssData->minPageIndex = 2; + pssData->maxPageIndex = 3; + pssData->unk40C3 = TRUE; break; } - byte = gUnknown_0203CF1C->unk40C1; - gUnknown_0203CF1C->unk40C0 = byte; - sub_81C488C(0xFF); + + pssData->currPageIndex = pssData->minPageIndex; + SummaryScreen_SetUnknownTaskId(-1); + if (gMonSpritesGfxPtr == 0) sub_806F2AC(0, 0); - SetMainCallback2(sub_81BFAE4); + + SetMainCallback2(SummaryScreen_LoadingCB2); } -void ShowSelectMovePokemonSummaryScreen(void *a, u8 b, u8 c, void *d, u16 e) +void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove) { - sub_81BF8EC(3, a, b, c, d); - gUnknown_0203CF1C->unk40C4 = e; + ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, mons, monIndex, maxMonIndex, callback); + pssData->newMove = newMove; } -void sub_81BFA80(u8 a, void *b, u8 c, u8 d, void *e) +void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void)) { - sub_81BF8EC(a, b, c, d, e); - gUnknown_0203CF1C->unk40EF = 1; + ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback); + pssData->unk40EF = TRUE; } -void sub_81BFAB4(void) +static void SummaryScreen_MainCB2(void) { RunTasks(); AnimateSprites(); @@ -405,23 +772,19 @@ void sub_81BFAB4(void) UpdatePaletteFade(); } -void sub_81BFAD0(void) +static void SummaryScreen_VBlank(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_81BFAE4() +static void SummaryScreen_LoadingCB2(void) { - while (1) - { - if (sub_81221EC() == 1 || sub_81BFB10() == TRUE || sub_81221AC() == 1) - break; - } + while (sub_81221EC() != TRUE && SummaryScreen_LoadGraphics() != TRUE && sub_81221AC() != TRUE); } -bool8 sub_81BFB10(void) +static bool8 SummaryScreen_LoadGraphics(void) { switch (gMain.state) { @@ -449,12 +812,12 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 5: - sub_81BFE24(); - gUnknown_0203CF1C->unk40F0 = 0; + InitBGs(); + pssData->unk40F0 = 0; gMain.state++; break; case 6: - if (sub_81BFEB0() != 0) + if (SummaryScreen_DecompressGraphics() != FALSE) gMain.state++; break; case 7: @@ -466,12 +829,12 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 9: - sub_81C0098(&gUnknown_0203CF1C->currentMon); - gUnknown_0203CF1C->unk40F0 = 0; + CopyMonToSummaryStruct(&pssData->currentMon); + pssData->unk40F0 = 0; gMain.state++; break; case 10: - if (sub_81C00F0(&gUnknown_0203CF1C->currentMon) != 0) + if (ExtractMonDataToSummaryStruct(&pssData->currentMon) != 0) gMain.state++; break; case 11: @@ -479,11 +842,11 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 12: - sub_81C286C(); + PrintPageNamesAndStatsPageToWindows(); gMain.state++; break; case 13: - sub_81C2D9C(gUnknown_0203CF1C->unk40C0); + sub_81C2D9C(pssData->currPageIndex); gMain.state++; break; case 14: @@ -491,33 +854,33 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 15: - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(pssData->currPageIndex); gMain.state++; break; case 16: sub_81C4190(); sub_81C42C8(); - gUnknown_0203CF1C->unk40F0 = 0; + pssData->unk40F0 = 0; gMain.state++; break; case 17: - gUnknown_0203CF1C->unk40D3[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &gUnknown_0203CF1C->unk40F0); - if (gUnknown_0203CF1C->unk40D3[0] != 0xFF) + pssData->spriteIds[0] = sub_81C45F4(&pssData->currentMon, &pssData->unk40F0); + if (pssData->spriteIds[0] != 0xFF) { - gUnknown_0203CF1C->unk40F0 = 0; + pssData->unk40F0 = 0; gMain.state++; } break; case 18: - sub_81C4984(&gUnknown_0203CF1C->currentMon); + CreateMonMarkingsSprite(&pssData->currentMon); gMain.state++; break; case 19: - sub_81C4A08(&gUnknown_0203CF1C->currentMon); + CreateCaughtBallSprite(&pssData->currentMon); gMain.state++; break; case 20: - sub_81C4A88(); + CreateSetStatusSprite(); gMain.state++; break; case 21: @@ -525,7 +888,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 22: - if (gUnknown_0203CF1C->unk40BC != 3) + if (pssData->mode != PSS_MODE_SELECT_MOVE) CreateTask(sub_81C0510, 0); else CreateTask(sub_81C171C, 0); @@ -541,20 +904,20 @@ bool8 sub_81BFB10(void) gMain.state++; break; default: - SetVBlankCallback(sub_81BFAD0); - SetMainCallback2(sub_81BFAB4); + SetVBlankCallback(SummaryScreen_VBlank); + SetMainCallback2(SummaryScreen_MainCB2); return TRUE; } return FALSE; } -void sub_81BFE24() +static void InitBGs(void) { ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, &gUnknown_0861CBB4, 4); - SetBgTilemapBuffer(1, &gUnknown_0203CF1C->unkTilemap2); - SetBgTilemapBuffer(2, &gUnknown_0203CF1C->unkTilemap1); - SetBgTilemapBuffer(3, &gUnknown_0203CF1C->unkTilemap0); + InitBgsFromTemplates(0, gUnknown_0861CBB4, ARRAY_COUNT(gUnknown_0861CBB4)); + SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); + SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]); + SetBgTilemapBuffer(3, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]); ResetAllBgsCoordinates(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); @@ -567,90 +930,90 @@ void sub_81BFE24() ShowBg(3); } -u8 sub_81BFEB0() +static bool8 SummaryScreen_DecompressGraphics(void) { - switch (gUnknown_0203CF1C->unk40F0) + switch (pssData->unk40F0) { case 0: reset_temp_tile_data_buffers(); decompress_and_copy_tile_data_to_vram(1, &gUnknown_08D97D0C, 0, 0, 0); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 1: if (free_temp_tile_data_buffers_if_possible() != 1) { - LZDecompressWram(&gUnknown_08D9862C, gUnknown_0203CF1C->unkTilemap0); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D9862C, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0]); + pssData->unk40F0++; } break; case 2: - LZDecompressWram(&gUnknown_08D98CC8, gUnknown_0203CF1C->unkTilemap0_1); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D98CC8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][1]); + pssData->unk40F0++; break; case 3: - LZDecompressWram(&gUnknown_08D987FC, gUnknown_0203CF1C->unkTilemap1_1); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D987FC, pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1]); + pssData->unk40F0++; break; case 4: - LZDecompressWram(&gUnknown_08D9898C, gUnknown_0203CF1C->unkTilemap2_1); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D9898C, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][1]); + pssData->unk40F0++; break; case 5: - LZDecompressWram(&gUnknown_08D98B28, gUnknown_0203CF1C->unkTilemap3_1); - gUnknown_0203CF1C->unk40F0++; + LZDecompressWram(&gUnknown_08D98B28, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]); + pssData->unk40F0++; break; case 6: LoadCompressedPalette(&gUnknown_08D9853C, 0, 0x100); LoadPalette(&gUnknown_08D85620, 0x81, 0x1E); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 7: LoadCompressedObjectPic(&gUnknown_0861CFBC); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 8: LoadCompressedObjectPic(&gUnknown_0861D074); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 9: LoadCompressedObjectPic(&gUnknown_0861D0F8); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 10: LoadCompressedObjectPalette(&gUnknown_0861D100); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 11: LoadCompressedObjectPalette(&gUnknown_0861D07C); - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; break; case 12: LoadCompressedPalette(&gMoveTypes_Pal, 0x1D0, 0x60); - gUnknown_0203CF1C->unk40F0 = 0; - return 1; + pssData->unk40F0 = 0; + return TRUE; } - return 0; + return FALSE; } -void sub_81C0098(struct Pokemon *mon) +static void CopyMonToSummaryStruct(struct Pokemon *mon) { - if (gUnknown_0203CF1C->unk40BD == 0) + if (!pssData->isBoxMon) { - struct Pokemon *partyMon = gUnknown_0203CF1C->unk0->mon; - *mon = partyMon[gUnknown_0203CF1C->unk40BE]; + struct Pokemon *partyMon = pssData->monList.mons; + *mon = partyMon[pssData->curMonIndex]; } else { - struct BoxPokemon *boxMon = gUnknown_0203CF1C->unk0->boxMon; - BoxMonToMon(&boxMon[gUnknown_0203CF1C->unk40BE], mon); + struct BoxPokemon *boxMon = pssData->monList.boxMons; + BoxMonToMon(&boxMon[pssData->curMonIndex], mon); } } -bool8 sub_81C00F0(struct Pokemon *a) +static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *a) { u32 i; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - switch (gUnknown_0203CF1C->unk40F0) + struct PokeSummary *sum = &pssData->summary; + switch (pssData->unk40F0) { case 0: sum->species = GetMonData(a, MON_DATA_SPECIES); @@ -661,10 +1024,12 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->item = GetMonData(a, MON_DATA_HELD_ITEM); sum->pid = GetMonData(a, MON_DATA_PERSONALITY); sum->sanity = GetMonData(a, MON_DATA_SANITY_BIT1); - if (sum->sanity != 0) - sum->isEgg = 1; + + if (sum->sanity) + sum->isEgg = TRUE; else sum->isEgg = GetMonData(a, MON_DATA_IS_EGG); + break; case 1: for (i = 0; i < 4; i++) @@ -675,7 +1040,7 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->ppBonuses = GetMonData(a, MON_DATA_PP_BONUSES); break; case 2: - if ((struct Pokemon*)gUnknown_0203CF1C->unk0 == gPlayerParty || gUnknown_0203CF1C->unk40BC == 2 || gUnknown_0203CF1C->unk40EF == 1) + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) { sum->nature = GetNature(a); sum->currentHP = GetMonData(a, MON_DATA_HP); @@ -710,63 +1075,63 @@ bool8 sub_81C00F0(struct Pokemon *a) sum->friendship = GetMonData(a, MON_DATA_FRIENDSHIP); break; default: - sum->ribbons = GetMonData(a, MON_DATA_RIBBON_COUNT); + sum->ribbonCount = GetMonData(a, MON_DATA_RIBBON_COUNT); return TRUE; } - gUnknown_0203CF1C->unk40F0++; + pssData->unk40F0++; return FALSE; } -void sub_81C0348(void) +static void sub_81C0348(void) { - if (gUnknown_0203CF1C->unk40C0 != 2 && gUnknown_0203CF1C->unk40C0 != 3) + if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES) { sub_81C1DA4(0, 255); sub_81C1EFC(0, 255, 0); } else { - sub_81C240C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 0); - SetBgTilemapBuffer(1, &gUnknown_0203CF1C->unkTilemap3); - SetBgTilemapBuffer(2, &gUnknown_0203CF1C->unkTilemap2); + sub_81C240C(pssData->summary.moves[pssData->firstMoveIndex]); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + SetBgTilemapBuffer(1, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0]); + SetBgTilemapBuffer(2, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0]); ChangeBgX(2, 0x10000, 1); - ClearWindowTilemap(0x13); - ClearWindowTilemap(0xD); + ClearWindowTilemap(19); + ClearWindowTilemap(13); } - if (gUnknown_0203CF1C->summary.unk7 == 0) + if (pssData->summary.unk7 == 0) { sub_81C2074(0, 0xFF); } else { - if (gUnknown_0203CF1C->unk40C0 != 2 && gUnknown_0203CF1C->unk40C0 != 3) - PutWindowTilemap(0xD); + if (pssData->currPageIndex != PSS_PAGE_BATTLE_MOVES && pssData->currPageIndex != PSS_PAGE_CONTEST_MOVES) + PutWindowTilemap(13); } sub_81C2524(); - sub_81C2228(&gUnknown_0203CF1C->currentMon); + sub_81C2228(&pssData->currentMon); } -void sub_81C0434() +static void sub_81C0434(void) { FreeAllWindowBuffers(); - Free(gUnknown_0203CF1C); + Free(pssData); } -void sub_81C044C(u8 taskId) +static void sub_81C044C(u8 taskId) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = sub_81C0484; } -void sub_81C0484(u8 taskId) +static void sub_81C0484(u8 taskId) { - if (sub_81221EC() != 1 && !gPaletteFade.active) + if (sub_81221EC() != TRUE && !gPaletteFade.active) { - SetMainCallback2(gUnknown_0203CF1C->unk4); - gUnknown_0203CF20 = gUnknown_0203CF1C->unk40BE; - sub_81C4898(); + SetMainCallback2(pssData->callback); + gUnknown_0203CF20 = pssData->curMonIndex; + SummaryScreen_DestroyUnknownTask(); ResetSpriteData(); FreeAllSpritePalettes(); StopCryAndClearCrySongs(); @@ -778,9 +1143,9 @@ void sub_81C0484(u8 taskId) } } -void sub_81C0510(u8 taskId) +static void sub_81C0510(u8 taskId) { - if (sub_81221EC() != 1 && !gPaletteFade.active) + if (sub_81221EC() != TRUE && !gPaletteFade.active) { if (gMain.newKeys & DPAD_UP) { @@ -800,9 +1165,9 @@ void sub_81C0510(u8 taskId) } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C0 != 1) + if (pssData->currPageIndex != PSS_PAGE_SKILLS) { - if (gUnknown_0203CF1C->unk40C0 == 0) + if (pssData->currPageIndex == PSS_PAGE_INFO) { sub_81C48F0(); PlaySE(SE_SELECT); @@ -824,15 +1189,15 @@ void sub_81C0510(u8 taskId) } } -void sub_81C0604(u8 taskId, s8 a) +static void sub_81C0604(u8 taskId, s8 a) { s8 r4_2; - if (gUnknown_0203CF1C->unk40C3 == 0) + if (!pssData->unk40C3) { - if (gUnknown_0203CF1C->unk40BD == 1) + if (pssData->isBoxMon == TRUE) { - if (gUnknown_0203CF1C->unk40C0 != 0) + if (pssData->currPageIndex != PSS_PAGE_INFO) { if (a == 1) a = 0; @@ -846,7 +1211,7 @@ void sub_81C0604(u8 taskId, s8 a) else a = 3; } - r4_2 = sub_80D214C(gUnknown_0203CF1C->unk0, gUnknown_0203CF1C->unk40BE, gUnknown_0203CF1C->unk40BF, a); + r4_2 = sub_80D214C(pssData->monList.boxMons, pssData->curMonIndex, pssData->maxMonIndex, a); } else if (sub_81B1250() == 1) { @@ -860,21 +1225,21 @@ void sub_81C0604(u8 taskId, s8 a) if (r4_2 != -1) { PlaySE(SE_SELECT); - if (gUnknown_0203CF1C->summary.unk7 != 0) + if (pssData->summary.unk7 != 0) { sub_81C4204(2, 1); - ClearWindowTilemap(0xD); + ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C2074(0, 2); } - gUnknown_0203CF1C->unk40BE = r4_2; + pssData->curMonIndex = r4_2; gTasks[taskId].data[0] = 0; gTasks[taskId].func = sub_81C0704; } } } -void sub_81C0704(u8 taskId) +static void sub_81C0704(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -884,37 +1249,37 @@ void sub_81C0704(u8 taskId) StopCryAndClearCrySongs(); break; case 1: - sub_81C4898(); - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3[0]]); + SummaryScreen_DestroyUnknownTask(); + DestroySpriteAndFreeResources(&gSprites[pssData->spriteIds[0]]); break; case 2: - DestroySpriteAndFreeResources(&gSprites[gUnknown_0203CF1C->unk40D3[1]]); + DestroySpriteAndFreeResources(&gSprites[pssData->spriteIds[1]]); break; case 3: - sub_81C0098(&gUnknown_0203CF1C->currentMon); - gUnknown_0203CF1C->unk40F0 = 0; + CopyMonToSummaryStruct(&pssData->currentMon); + pssData->unk40F0 = 0; break; case 4: - if (sub_81C00F0(&gUnknown_0203CF1C->currentMon) == FALSE) + if (ExtractMonDataToSummaryStruct(&pssData->currentMon) == FALSE) return; break; case 5: - sub_81C49E0(&gUnknown_0203CF1C->currentMon); + RemoveAndCreateMonMarkingsSprite(&pssData->currentMon); break; case 6: - sub_81C4A08(&gUnknown_0203CF1C->currentMon); + CreateCaughtBallSprite(&pssData->currentMon); break; case 7: - if (gUnknown_0203CF1C->summary.unk7) + if (pssData->summary.unk7) sub_81C2074(10, -2); - sub_81C2228(&gUnknown_0203CF1C->currentMon); + sub_81C2228(&pssData->currentMon); data[1] = 0; break; case 8: - gUnknown_0203CF1C->unk40D3[0] = sub_81C45F4(&gUnknown_0203CF1C->currentMon, &data[1]); - if (gUnknown_0203CF1C->unk40D3[0] == 0xFF) + pssData->spriteIds[0] = sub_81C45F4(&pssData->currentMon, &data[1]); + if (pssData->spriteIds[0] == 0xFF) return; - gSprites[gUnknown_0203CF1C->unk40D3[0]].data[2] = 1; + gSprites[pssData->spriteIds[0]].data[2] = 1; sub_81C0E24(); data[1] = 0; break; @@ -925,11 +1290,11 @@ void sub_81C0704(u8 taskId) sub_81C25E8(); break; case 11: - sub_81C2D9C(gUnknown_0203CF1C->unk40C0); + sub_81C2D9C(pssData->currPageIndex); sub_81C2524(); break; case 12: - gSprites[gUnknown_0203CF1C->unk40D3[0]].data[2] = 0; + gSprites[pssData->spriteIds[0]].data[2] = 0; break; default: if (sub_81221EC() == 0 && FuncIsActiveTask(sub_81C20F0) == 0) @@ -942,51 +1307,52 @@ void sub_81C0704(u8 taskId) data[0]++; } -s8 sub_81C08F8(s8 a) +static s8 sub_81C08F8(s8 a) { - struct Pokemon *mon = gUnknown_0203CF1C->unk0->mon; + struct Pokemon *mon = pssData->monList.mons; - if (gUnknown_0203CF1C->unk40C0 == 0) + if (pssData->currPageIndex == PSS_PAGE_INFO) { - if (a == -1 && gUnknown_0203CF1C->unk40BE == 0) + if (a == -1 && pssData->curMonIndex == 0) return -1; - if (a == 1 && gUnknown_0203CF1C->unk40BE >= gUnknown_0203CF1C->unk40BF) + else if (a == 1 && pssData->curMonIndex >= pssData->maxMonIndex) return -1; - return gUnknown_0203CF1C->unk40BE + a; + else + return pssData->curMonIndex + a; } else { - s8 index = gUnknown_0203CF1C->unk40BE; + s8 index = pssData->curMonIndex; do { index += a; - if (index < 0 || index > gUnknown_0203CF1C->unk40BF) + if (index < 0 || index > pssData->maxMonIndex) return -1; } while (GetMonData(&mon[index], MON_DATA_IS_EGG) != 0); return index; } } -s8 sub_81C09B4(s8 a) +static s8 sub_81C09B4(s8 a) { - struct Pokemon *mon = gUnknown_0203CF1C->unk0->mon; + struct Pokemon *mon = pssData->monList.mons; s8 r5 = 0; u8 i; for (i = 0; i < 6; i++) { - if (gUnknown_0861CC1C[i] == gUnknown_0203CF1C->unk40BE) + if (gUnknown_0861CC1C[i] == pssData->curMonIndex) { r5 = i; break; } } - while (1) + while (TRUE) { int b; - s8* c = &gUnknown_0861CC1C[0]; + const s8* c = gUnknown_0861CC1C; r5 += a; if (r5 < 0 || r5 >= 6) @@ -997,45 +1363,46 @@ s8 sub_81C09B4(s8 a) } } -bool8 sub_81C0A50(struct Pokemon* mon) +static bool8 sub_81C0A50(struct Pokemon* mon) { - if (GetMonData(mon, MON_DATA_SPECIES) == 0) + if (GetMonData(mon, MON_DATA_SPECIES) == SPECIES_NONE) return FALSE; - else if (gUnknown_0203CF1C->unk40BE != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) + else if (pssData->curMonIndex != 0 || GetMonData(mon, MON_DATA_IS_EGG) == 0) return TRUE; else return FALSE; } -void sub_81C0A8C(u8 taskId, s8 b) +static void sub_81C0A8C(u8 taskId, s8 b) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; s16 *data = gTasks[taskId].data; if (summary->isEgg) return; - if (b == -1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C1) + else if (b == -1 && pssData->currPageIndex == pssData->minPageIndex) return; - if (b == 1 && gUnknown_0203CF1C->unk40C0 == gUnknown_0203CF1C->unk40C2) + else if (b == 1 && pssData->currPageIndex == pssData->maxPageIndex) return; + PlaySE(SE_SELECT); - sub_81C2C38(gUnknown_0203CF1C->unk40C0); - gUnknown_0203CF1C->unk40C0 += b; + sub_81C2C38(pssData->currPageIndex); + pssData->currPageIndex += b; data[0] = 0; if (b == 1) SetTaskFuncWithFollowupFunc(taskId, sub_81C0B8C, gTasks[taskId].func); else SetTaskFuncWithFollowupFunc(taskId, sub_81C0CC4, gTasks[taskId].func); - sub_81C2DE4(gUnknown_0203CF1C->unk40C0); + sub_81C2DE4(pssData->currPageIndex); sub_81C424C(); } -void sub_81C0B8C(u8 taskId) +static void sub_81C0B8C(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) { data[1] = 1; SetBgAttribute(1, 7, 1); @@ -1050,7 +1417,7 @@ void sub_81C0B8C(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } ChangeBgX(data[1], 0, 0); - SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->unk40C0 << 12) + 0xBC)); + SetBgTilemapBuffer(data[1], pssData->bgTilemapBuffers[pssData->currPageIndex][0]); ShowBg(1); ShowBg(2); } @@ -1060,25 +1427,25 @@ void sub_81C0B8C(u8 taskId) gTasks[taskId].func = sub_81C0C68; } -void sub_81C0C68(u8 taskId) +static void sub_81C0C68(u8 taskId) { s16 *data = gTasks[taskId].data; - gUnknown_0203CF1C->unk40C9 ^= 1; + pssData->unk40C9 ^= 1; data[1] = 0; data[0] = 0; sub_81C1BA0(); - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(pssData->currPageIndex); sub_81C4280(); sub_81C0E24(); SwitchTaskToFollowupFunc(taskId); } -void sub_81C0CC4(u8 taskId) +static void sub_81C0CC4(u8 taskId) { s16 *data = gTasks[taskId].data; if (data[0] == 0) { - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) data[1] = 2; else data[1] = 1; @@ -1090,10 +1457,10 @@ void sub_81C0CC4(u8 taskId) gTasks[taskId].func = sub_81C0D44; } -void sub_81C0D44(u8 taskId) +static void sub_81C0D44(u8 taskId) { s16 *data = gTasks[taskId].data; - if (gUnknown_0203CF1C->unk40C9 == 0) + if (pssData->unk40C9 == 0) { SetBgAttribute(1, 7, 1); SetBgAttribute(2, 7, 2); @@ -1105,48 +1472,48 @@ void sub_81C0D44(u8 taskId) SetBgAttribute(1, 7, 2); schedule_bg_copy_tilemap_to_vram(1); } - if (gUnknown_0203CF1C->unk40C0 > 1) + if (pssData->currPageIndex > 1) { - SetBgTilemapBuffer(data[1], (u8*)gUnknown_0203CF1C + ((gUnknown_0203CF1C->unk40C0 << 12) + 0xFFFFF0BC)); + SetBgTilemapBuffer(data[1], (u8*)pssData + ((pssData->currPageIndex << 12) + 0xFFFFF0BC)); ChangeBgX(data[1], 0x10000, 0); } ShowBg(1); ShowBg(2); - gUnknown_0203CF1C->unk40C9 ^= 1; + pssData->unk40C9 ^= 1; data[1] = 0; data[0] = 0; sub_81C1BA0(); - sub_81C2AFC(gUnknown_0203CF1C->unk40C0); + sub_81C2AFC(pssData->currPageIndex); sub_81C4280(); sub_81C0E24(); SwitchTaskToFollowupFunc(taskId); } -void sub_81C0E24() +static void sub_81C0E24(void) { - if (gUnknown_0203CF1C->unk40C0 == 1) - sub_81C22CC(&gUnknown_0203CF1C->currentMon); + if (pssData->currPageIndex == 1) + sub_81C22CC(&pssData->currentMon); } -void sub_81C0E48(u8 taskId) +static void sub_81C0E48(u8 taskId) { u16 move; - gUnknown_0203CF1C->unk40C6 = 0; - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + pssData->firstMoveIndex = 0; + move = pssData->summary.moves[pssData->firstMoveIndex]; ClearWindowTilemap(0x13); - if (gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible == 0) + if (gSprites[pssData->spriteIds[2]].invisible == 0) ClearWindowTilemap(0xD); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); - if (gUnknown_0203CF1C->unk40C8 == 0) + if (!pssData->unk40C8) { ClearWindowTilemap(5); PutWindowTilemap(6); } - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 0); - sub_81C3E9C(move); - sub_81C3F44(); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 0); + PrintMoveDetails(move); + PrintNewMoveDetailsOrCancelText(); sub_81C44F0(); schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(1); @@ -1155,7 +1522,7 @@ void sub_81C0E48(u8 taskId) gTasks[taskId].func = sub_81C0F44; } -void sub_81C0F44(u8 taskId) +static void sub_81C0F44(u8 taskId) { u8 id = taskId; s16 *data = gTasks[taskId].data; @@ -1165,17 +1532,17 @@ void sub_81C0F44(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, -1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, 1, &pssData->firstMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C8 == 1 - || (gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->unk40C8 == TRUE + || (pssData->newMove == MOVE_NONE && pssData->firstMoveIndex == MAX_MON_MOVES)) { PlaySE(SE_SELECT); sub_81C11F4(taskId); @@ -1198,18 +1565,18 @@ void sub_81C0F44(u8 taskId) } } -bool8 sub_81C1040(void) +static bool8 sub_81C1040(void) { u8 i; for (i = 1; i < 4; i++) { - if (gUnknown_0203CF1C->summary.moves[i] != 0) + if (pssData->summary.moves[i] != 0) return TRUE; } return FALSE; } -void sub_81C1070(s16 *a, s8 b, u8 *c) +static void sub_81C1070(s16 *a, s8 b, u8 *c) { s8 i; s8 moveIndex; @@ -1226,27 +1593,27 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) moveIndex = a[0]; if (moveIndex == 4) { - move = gUnknown_0203CF1C->unk40C4; + move = pssData->newMove; break; } - move = gUnknown_0203CF1C->summary.moves[moveIndex]; + move = pssData->summary.moves[moveIndex]; if (move != 0) break; } sub_81C240C(move); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); - sub_81C3E9C(move); - if ((*c == 4 && gUnknown_0203CF1C->unk40C4 == 0) || a[1] == 1) + PrintMoveDetails(move); + if ((*c == 4 && pssData->newMove == MOVE_NONE) || a[1] == 1) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); } - if (*c != 4 && moveIndex == 4 && gUnknown_0203CF1C->unk40C4 == 0) + if (*c != 4 && moveIndex == 4 && pssData->newMove == MOVE_NONE) { ClearWindowTilemap(14); ClearWindowTilemap(15); @@ -1255,22 +1622,22 @@ void sub_81C1070(s16 *a, s8 b, u8 *c) sub_81C1EFC(0, 3, 0); } *c = moveIndex; - if (c == &gUnknown_0203CF1C->unk40C6) + if (c == &pssData->firstMoveIndex) sub_81C4D18(8); else sub_81C4D18(18); } -void sub_81C11F4(u8 taskId) +static void sub_81C11F4(u8 taskId) { sub_81C4C60(8); ClearWindowTilemap(6); PutWindowTilemap(5); - sub_81C3E9C(0); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap2[0], 3, 1); - sub_81C2194(&gUnknown_0203CF1C->unkTilemap3[0], 1, 1); + PrintMoveDetails(0); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], 3, 1); + sub_81C2194(pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], 1, 1); sub_81C4064(); - if (gUnknown_0203CF1C->unk40C6 != 4) + if (pssData->firstMoveIndex != MAX_MON_MOVES) { ClearWindowTilemap(14); ClearWindowTilemap(15); @@ -1283,506 +1650,160 @@ void sub_81C11F4(u8 taskId) gTasks[taskId].func = sub_81C0510; } -void sub_81C129C(u8 taskId) +static void sub_81C129C(u8 taskId) { - gUnknown_0203CF1C->unk40C7 = gUnknown_0203CF1C->unk40C6; + pssData->secondMoveIndex = pssData->firstMoveIndex; sub_81C4C84(1); sub_81C4AF8(18); gTasks[taskId].func = sub_81C12E4; } -void sub_81C12E4(u8 taskId) +static void sub_81C12E4(u8 taskId) { - u8 a = taskId; s16* data = gTasks[taskId].data; - if (sub_81221EC() != 1) + + if (sub_81221EC() != TRUE) { if (gMain.newKeys & DPAD_UP) { data[0] = 3; - sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->unk40C7); + sub_81C1070(&data[0], -1, &pssData->secondMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 3; - sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->unk40C7); + sub_81C1070(&data[0], 1, &pssData->secondMoveIndex); } else if (gMain.newKeys & A_BUTTON) { - if (gUnknown_0203CF1C->unk40C6 == gUnknown_0203CF1C->unk40C7) + if (pssData->firstMoveIndex == pssData->secondMoveIndex) { sub_81C13B0(taskId, 0); } else + { sub_81C13B0(taskId, 1); + } } else if (gMain.newKeys & B_BUTTON) - sub_81C13B0(a, 0); + { + sub_81C13B0(taskId, 0); + } } } -void sub_81C13B0(u8 taskId, u8 b) +static void sub_81C13B0(u8 taskId, bool8 b) { u16 move; + PlaySE(SE_SELECT); sub_81C4C84(0); sub_81C4C60(18); - if (b == 1) + + if (b == TRUE) { - if (gUnknown_0203CF1C->unk40BD == 0) + if (!pssData->isBoxMon) { - struct Pokemon *why = gUnknown_0203CF1C->unk0->mon; - sub_81C14BC(&why[gUnknown_0203CF1C->unk40BE], gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); + struct Pokemon *why = pssData->monList.mons; + SwapMonMoves(&why[pssData->curMonIndex], pssData->firstMoveIndex, pssData->secondMoveIndex); } else { - struct BoxPokemon *why = gUnknown_0203CF1C->unk0->boxMon; - sub_81C15EC(&why[gUnknown_0203CF1C->unk40BE], gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); + struct BoxPokemon *why = pssData->monList.boxMons; + SwapBoxMonMoves(&why[pssData->curMonIndex], pssData->firstMoveIndex, pssData->secondMoveIndex); } - sub_81C0098(&gUnknown_0203CF1C->currentMon); - sub_81C40A0(gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); - sub_81C4568(gUnknown_0203CF1C->unk40C6, gUnknown_0203CF1C->unk40C7); - gUnknown_0203CF1C->unk40C6 = gUnknown_0203CF1C->unk40C7; + CopyMonToSummaryStruct(&pssData->currentMon); + sub_81C40A0(pssData->firstMoveIndex, pssData->secondMoveIndex); + sub_81C4568(pssData->firstMoveIndex, pssData->secondMoveIndex); + pssData->firstMoveIndex = pssData->secondMoveIndex; } - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; - sub_81C3E9C(move); + + move = pssData->summary.moves[pssData->firstMoveIndex]; + PrintMoveDetails(move); sub_81C240C(move); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); gTasks[taskId].func = sub_81C0F44; } +static void SwapMonMoves(struct Pokemon *mon, u8 moveIndex1, u8 moveIndex2) +{ + struct PokeSummary* summary = &pssData->summary; + + u16 move1 = summary->moves[moveIndex1]; + u16 move2 = summary->moves[moveIndex2]; + u8 move1pp = summary->pp[moveIndex1]; + u8 move2pp = summary->pp[moveIndex2]; + u8 ppBonuses = summary->ppBonuses; + + // Calculate PP bonuses + u8 ppUpMask1 = gUnknown_08329D22[moveIndex1]; + u8 ppBonusMove1 = (ppBonuses & ppUpMask1) >> (moveIndex1 * 2); + u8 ppUpMask2 = gUnknown_08329D22[moveIndex2]; + u8 ppBonusMove2 = (ppBonuses & ppUpMask2) >> (moveIndex2 * 2); + ppBonuses &= ~ppUpMask1; + ppBonuses &= ~ppUpMask2; + ppBonuses |= (ppBonusMove1 << (moveIndex2 * 2)) + (ppBonusMove2 << (moveIndex1 * 2)); + + // Swap the moves + SetMonData(mon, MON_DATA_MOVE1 + moveIndex1, &move2); + SetMonData(mon, MON_DATA_MOVE1 + moveIndex2, &move1); + SetMonData(mon, MON_DATA_PP1 + moveIndex1, &move2pp); + SetMonData(mon, MON_DATA_PP1 + moveIndex2, &move1pp); + SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); + + summary->moves[moveIndex1] = move2; + summary->moves[moveIndex2] = move1; + + summary->pp[moveIndex1] = move2pp; + summary->pp[moveIndex2] = move1pp; + + summary->ppBonuses = ppBonuses; +} + +static void SwapBoxMonMoves(struct BoxPokemon *mon, u8 moveIndex1, u8 moveIndex2) +{ + struct PokeSummary* summary = &pssData->summary; + + u16 move1 = summary->moves[moveIndex1]; + u16 move2 = summary->moves[moveIndex2]; + u8 move1pp = summary->pp[moveIndex1]; + u8 move2pp = summary->pp[moveIndex2]; + u8 ppBonuses = summary->ppBonuses; + + // Calculate PP bonuses + u8 ppUpMask1 = gUnknown_08329D22[moveIndex1]; + u8 ppBonusMove1 = (ppBonuses & ppUpMask1) >> (moveIndex1 * 2); + u8 ppUpMask2 = gUnknown_08329D22[moveIndex2]; + u8 ppBonusMove2 = (ppBonuses & ppUpMask2) >> (moveIndex2 * 2); + ppBonuses &= ~ppUpMask1; + ppBonuses &= ~ppUpMask2; + ppBonuses |= (ppBonusMove1 << (moveIndex2 * 2)) + (ppBonusMove2 << (moveIndex1 * 2)); -#ifdef NONMATCHING -void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - u16 localMoveTo; - u16 localMoveFrom; - u8 localPpTo; - u8 localPpFrom; - u8 localPpBonuses; - u16* moveFromPtr; - u16* moveToPtr; - u8* ppFromPtr; - u8* ppToPtr; - u8* ppBonusesPtr; - - moveFromPtr = &gUnknown_0203CF1C->summary.moves[swappingFromId]; - localMoveFrom = *moveFromPtr; - - moveToPtr = &gUnknown_0203CF1C->summary.moves[swappingToId]; - localMoveTo = *moveToPtr; - - ppFromPtr = &gUnknown_0203CF1C->summary.pp[swappingFromId]; - localPpFrom = *ppFromPtr; - - ppToPtr = &gUnknown_0203CF1C->summary.pp[swappingToId]; - localPpTo = *ppToPtr; - - ppBonusesPtr = &gUnknown_0203CF1C->summary.ppBonuses; - localPpBonuses = *ppBonusesPtr; - -{ - u8 bitsFrom, bitsTo; - - bitsFrom = (localPpBonuses & gUnknown_08329D22[swappingFromId]) >> (swappingFromId << 1); - bitsTo = (localPpBonuses & gUnknown_08329D22[swappingToId]) >> (swappingToId << 1); - - - localPpBonuses &= ~(gUnknown_08329D22[swappingFromId]); - localPpBonuses &= ~(gUnknown_08329D22[swappingToId]); - - localPpBonuses |= ((bitsFrom << (swappingToId << 1)) + (bitsTo << (swappingToId << 1))); -} - - SetMonData(mon, swappingFromId + MON_DATA_MOVE1, &localMoveTo); - SetMonData(mon, swappingToId + MON_DATA_MOVE1, &localMoveFrom); - - SetMonData(mon, swappingFromId + MON_DATA_PP1, &localPpTo); - SetMonData(mon, swappingToId + MON_DATA_PP1, &localPpFrom); - - SetMonData(mon, MON_DATA_PP_BONUSES, &localPpBonuses); - - *moveFromPtr = localMoveTo; - *moveToPtr = localMoveFrom; - - *ppFromPtr = localPpTo; - *ppToPtr = localPpFrom; - - *ppBonusesPtr = localPpBonuses; -} -#else -NAKED -void sub_81C14BC(struct Pokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x28\n\ - adds r7, r0, 0\n\ - adds r4, r1, 0\n\ - adds r6, r2, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r2, [r0]\n\ - lsls r0, r4, 1\n\ - mov r10, r0\n\ - adds r1, r2, 0\n\ - adds r1, 0x84\n\ - adds r0, r1, r0\n\ - str r0, [sp, 0x8]\n\ - ldrh r0, [r0]\n\ - mov r3, sp\n\ - adds r3, 0x2\n\ - str r3, [sp, 0x1C]\n\ - strh r0, [r3]\n\ - lsls r0, r6, 1\n\ - mov r9, r0\n\ - add r1, r9\n\ - str r1, [sp, 0xC]\n\ - ldrh r1, [r1]\n\ - mov r0, sp\n\ - strh r1, [r0]\n\ - adds r1, r2, 0\n\ - adds r1, 0x8C\n\ - adds r3, r1, r4\n\ - str r3, [sp, 0x10]\n\ - ldrb r0, [r3]\n\ - mov r3, sp\n\ - adds r3, 0x5\n\ - str r3, [sp, 0x24]\n\ - strb r0, [r3]\n\ - adds r1, r6\n\ - str r1, [sp, 0x14]\n\ - ldrb r0, [r1]\n\ - mov r1, sp\n\ - adds r1, 0x4\n\ - str r1, [sp, 0x20]\n\ - strb r0, [r1]\n\ - adds r2, 0xA4\n\ - str r2, [sp, 0x18]\n\ - ldrb r0, [r2]\n\ - mov r5, sp\n\ - adds r5, 0x6\n\ - strb r0, [r5]\n\ - ldr r1, =gUnknown_08329D22\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - mov r8, r0\n\ - ldrb r0, [r5]\n\ - adds r2, r0, 0\n\ - mov r3, r8\n\ - ands r2, r3\n\ - mov r3, r10\n\ - asrs r2, r3\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r1, r6, r1\n\ - ldrb r1, [r1]\n\ - mov r12, r1\n\ - adds r1, r0, 0\n\ - mov r3, r12\n\ - ands r1, r3\n\ - mov r3, r9\n\ - asrs r1, r3\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r3, r8\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - ldrb r0, [r5]\n\ - mov r3, r12\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - mov r0, r9\n\ - lsls r2, r0\n\ - mov r3, r10\n\ - lsls r1, r3\n\ - adds r2, r1\n\ - ldrb r0, [r5]\n\ - orrs r0, r2\n\ - strb r0, [r5]\n\ - adds r1, r4, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - mov r2, sp\n\ - bl SetMonData\n\ - adds r1, r6, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - ldr r2, [sp, 0x1C]\n\ - bl SetMonData\n\ - adds r4, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r4, 0\n\ - ldr r2, [sp, 0x20]\n\ - bl SetMonData\n\ - adds r6, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r6, 0\n\ - ldr r2, [sp, 0x24]\n\ - bl SetMonData\n\ - adds r0, r7, 0\n\ - movs r1, 0x15\n\ - adds r2, r5, 0\n\ - bl SetMonData\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - ldr r1, [sp, 0x8]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x1C]\n\ - ldrh r0, [r3]\n\ - ldr r1, [sp, 0xC]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x20]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x10]\n\ - strb r0, [r1]\n\ - ldr r3, [sp, 0x24]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x14]\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - ldr r3, [sp, 0x18]\n\ - strb r0, [r3]\n\ - add sp, 0x28\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif - -#ifdef NONMATCHING -void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - u16 localMoveTo; - u16 localMoveFrom; - u8 localPpTo; - u8 localPpFrom; - u8 localPpBonuses; - u16* moveFromPtr; - u16* moveToPtr; - u8* ppFromPtr; - u8* ppToPtr; - u8* ppBonusesPtr; - - moveFromPtr = &gUnknown_0203CF1C->summary.moves[swappingFromId]; - localMoveFrom = *moveFromPtr; - - moveToPtr = &gUnknown_0203CF1C->summary.moves[swappingToId]; - localMoveTo = *moveToPtr; - - ppFromPtr = &gUnknown_0203CF1C->summary.pp[swappingFromId]; - localPpFrom = *ppFromPtr; - - ppToPtr = &gUnknown_0203CF1C->summary.pp[swappingToId]; - localPpTo = *ppToPtr; - - ppBonusesPtr = &gUnknown_0203CF1C->summary.ppBonuses; - localPpBonuses = *ppBonusesPtr; - -{ - u8 bitsFrom, bitsTo; - - bitsFrom = (localPpBonuses & gUnknown_08329D22[swappingFromId]) >> (swappingFromId << 1); - bitsTo = (localPpBonuses & gUnknown_08329D22[swappingToId]) >> (swappingToId << 1); - - - localPpBonuses &= ~(gUnknown_08329D22[swappingFromId]); - localPpBonuses &= ~(gUnknown_08329D22[swappingToId]); - - localPpBonuses |= ((bitsFrom << (swappingToId << 1)) + (bitsTo << (swappingToId << 1))); -} - - SetBoxMonData(mon, swappingFromId + MON_DATA_MOVE1, &localMoveTo); - SetBoxMonData(mon, swappingToId + MON_DATA_MOVE1, &localMoveFrom); - - SetBoxMonData(mon, swappingFromId + MON_DATA_PP1, &localPpTo); - SetBoxMonData(mon, swappingToId + MON_DATA_PP1, &localPpFrom); - - SetBoxMonData(mon, MON_DATA_PP_BONUSES, &localPpBonuses); - - *moveFromPtr = localMoveTo; - *moveToPtr = localMoveFrom; - - *ppFromPtr = localPpTo; - *ppToPtr = localPpFrom; - - *ppBonusesPtr = localPpBonuses; -} -#else -NAKED -void sub_81C15EC(struct BoxPokemon *mon, u8 swappingFromId, u8 swappingToId) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x28\n\ - adds r7, r0, 0\n\ - adds r4, r1, 0\n\ - adds r6, r2, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r2, [r0]\n\ - lsls r0, r4, 1\n\ - mov r10, r0\n\ - adds r1, r2, 0\n\ - adds r1, 0x84\n\ - adds r0, r1, r0\n\ - str r0, [sp, 0x8]\n\ - ldrh r0, [r0]\n\ - mov r3, sp\n\ - adds r3, 0x2\n\ - str r3, [sp, 0x1C]\n\ - strh r0, [r3]\n\ - lsls r0, r6, 1\n\ - mov r9, r0\n\ - add r1, r9\n\ - str r1, [sp, 0xC]\n\ - ldrh r1, [r1]\n\ - mov r0, sp\n\ - strh r1, [r0]\n\ - adds r1, r2, 0\n\ - adds r1, 0x8C\n\ - adds r3, r1, r4\n\ - str r3, [sp, 0x10]\n\ - ldrb r0, [r3]\n\ - mov r3, sp\n\ - adds r3, 0x5\n\ - str r3, [sp, 0x24]\n\ - strb r0, [r3]\n\ - adds r1, r6\n\ - str r1, [sp, 0x14]\n\ - ldrb r0, [r1]\n\ - mov r1, sp\n\ - adds r1, 0x4\n\ - str r1, [sp, 0x20]\n\ - strb r0, [r1]\n\ - adds r2, 0xA4\n\ - str r2, [sp, 0x18]\n\ - ldrb r0, [r2]\n\ - mov r5, sp\n\ - adds r5, 0x6\n\ - strb r0, [r5]\n\ - ldr r1, =gUnknown_08329D22\n\ - adds r0, r4, r1\n\ - ldrb r0, [r0]\n\ - mov r8, r0\n\ - ldrb r0, [r5]\n\ - adds r2, r0, 0\n\ - mov r3, r8\n\ - ands r2, r3\n\ - mov r3, r10\n\ - asrs r2, r3\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r1, r6, r1\n\ - ldrb r1, [r1]\n\ - mov r12, r1\n\ - adds r1, r0, 0\n\ - mov r3, r12\n\ - ands r1, r3\n\ - mov r3, r9\n\ - asrs r1, r3\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - mov r3, r8\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - ldrb r0, [r5]\n\ - mov r3, r12\n\ - bics r0, r3\n\ - strb r0, [r5]\n\ - mov r0, r9\n\ - lsls r2, r0\n\ - mov r3, r10\n\ - lsls r1, r3\n\ - adds r2, r1\n\ - ldrb r0, [r5]\n\ - orrs r0, r2\n\ - strb r0, [r5]\n\ - adds r1, r4, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - mov r2, sp\n\ - bl SetBoxMonData\n\ - adds r1, r6, 0\n\ - adds r1, 0xD\n\ - adds r0, r7, 0\n\ - ldr r2, [sp, 0x1C]\n\ - bl SetBoxMonData\n\ - adds r4, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r4, 0\n\ - ldr r2, [sp, 0x20]\n\ - bl SetBoxMonData\n\ - adds r6, 0x11\n\ - adds r0, r7, 0\n\ - adds r1, r6, 0\n\ - ldr r2, [sp, 0x24]\n\ - bl SetBoxMonData\n\ - adds r0, r7, 0\n\ - movs r1, 0x15\n\ - adds r2, r5, 0\n\ - bl SetBoxMonData\n\ - mov r0, sp\n\ - ldrh r0, [r0]\n\ - ldr r1, [sp, 0x8]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x1C]\n\ - ldrh r0, [r3]\n\ - ldr r1, [sp, 0xC]\n\ - strh r0, [r1]\n\ - ldr r3, [sp, 0x20]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x10]\n\ - strb r0, [r1]\n\ - ldr r3, [sp, 0x24]\n\ - ldrb r0, [r3]\n\ - ldr r1, [sp, 0x14]\n\ - strb r0, [r1]\n\ - ldrb r0, [r5]\n\ - ldr r3, [sp, 0x18]\n\ - strb r0, [r3]\n\ - add sp, 0x28\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif - -void sub_81C171C(u8 taskId) + // Swap the moves + SetBoxMonData(mon, MON_DATA_MOVE1 + moveIndex1, &move2); + SetBoxMonData(mon, MON_DATA_MOVE1 + moveIndex2, &move1); + SetBoxMonData(mon, MON_DATA_PP1 + moveIndex1, &move2pp); + SetBoxMonData(mon, MON_DATA_PP1 + moveIndex2, &move1pp); + SetBoxMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses); + + summary->moves[moveIndex1] = move2; + summary->moves[moveIndex2] = move1; + + summary->pp[moveIndex1] = move2pp; + summary->pp[moveIndex2] = move1pp; + + summary->ppBonuses = ppBonuses; +} + +static void sub_81C171C(u8 taskId) { sub_81C44F0(); sub_81C4AF8(8); gTasks[taskId].func = sub_81C174C; } -void sub_81C174C(u8 taskId) +static void sub_81C174C(u8 taskId) { s16* data = gTasks[taskId].data; @@ -1793,12 +1814,12 @@ void sub_81C174C(u8 taskId) if (gMain.newKeys & DPAD_UP) { data[0] = 4; - sub_81C1070(data, -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, -1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_DOWN) { data[0] = 4; - sub_81C1070(data, 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(data, 1, &pssData->firstMoveIndex); } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { @@ -1814,7 +1835,7 @@ void sub_81C174C(u8 taskId) { sub_81C48F0(); PlaySE(SE_SELECT); - gUnknown_0203CF21 = gUnknown_0203CF1C->unk40C6; + gUnknown_0203CF21 = pssData->firstMoveIndex; gSpecialVar_0x8005 = gUnknown_0203CF21; sub_81C044C(taskId); } @@ -1837,26 +1858,26 @@ void sub_81C174C(u8 taskId) } } -bool8 sub_81C18A8() +static bool8 sub_81C18A8(void) { - if (gUnknown_0203CF1C->unk40C6 == 4 || gUnknown_0203CF1C->unk40C4 == 0 || sub_81B6D14(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]) != 1) + if (pssData->firstMoveIndex == MAX_MON_MOVES || pssData->newMove == MOVE_NONE || sub_81B6D14(pssData->summary.moves[pssData->firstMoveIndex]) != 1) return TRUE; else return FALSE; } -void sub_81C18F4(u8 taskId) +static void sub_81C18F4(u8 taskId) { ClearWindowTilemap(14); ClearWindowTilemap(15); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(0, 3); sub_81C1EFC(0, 3, 0); - sub_81C4154(); + PrintHMMovesCantBeForgotten(); gTasks[taskId].func = sub_81C1940; } -void sub_81C1940(u8 taskId) +static void sub_81C1940(u8 taskId) { s16* data = gTasks[taskId].data; u16 move; @@ -1866,7 +1887,7 @@ void sub_81C1940(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], -1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(&data[0], -1, &pssData->firstMoveIndex); data[1] = 0; gTasks[taskId].func = sub_81C174C; } @@ -1874,19 +1895,18 @@ void sub_81C1940(u8 taskId) { data[1] = 1; data[0] = 4; - sub_81C1070(&data[0], 1, &gUnknown_0203CF1C->unk40C6); + sub_81C1070(&data[0], 1, &pssData->firstMoveIndex); data[1] = 0; gTasks[taskId].func = sub_81C174C; } else if (gMain.newKeys & DPAD_LEFT || GetLRKeysState() == 1) { - if (gUnknown_0203CF1C->unk40C0 != 2) + if (pssData->currPageIndex != 2) { - ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + move = pssData->summary.moves[pssData->firstMoveIndex]; gTasks[taskId].func = sub_81C174C; sub_81C0A8C(taskId, -1); sub_81C1DA4(9, -2); @@ -1895,12 +1915,12 @@ void sub_81C1940(u8 taskId) } else if (gMain.newKeys & DPAD_RIGHT || GetLRKeysState() == 2) { - if (gUnknown_0203CF1C->unk40C0 != 3) + if (pssData->currPageIndex != 3) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + move = pssData->summary.moves[pssData->firstMoveIndex]; gTasks[taskId].func = sub_81C174C; sub_81C0A8C(taskId, 1); sub_81C1DA4(9, -2); @@ -1910,10 +1930,10 @@ void sub_81C1940(u8 taskId) else if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { ClearWindowTilemap(19); - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) ClearWindowTilemap(13); - move = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; - sub_81C3E9C(move); + move = pssData->summary.moves[pssData->firstMoveIndex]; + PrintMoveDetails(move); schedule_bg_copy_tilemap_to_vram(0); sub_81C1DA4(9, -3); sub_81C1EFC(9, -3, move); @@ -1922,69 +1942,71 @@ void sub_81C1940(u8 taskId) } } -u8 sub_81C1B94() +u8 sub_81C1B94(void) { return gUnknown_0203CF21; } -void sub_81C1BA0() +static void sub_81C1BA0(void) { u16 *alloced = Alloc(32); u8 i; + for (i = 0; i < 4; i++) { - u8 j = i << 1; - if (i < gUnknown_0203CF1C->unk40C1) + u8 j = i * 2; + + if (i < pssData->minPageIndex) { - alloced[j+0] = 0x40; - alloced[j+1] = 0x40; - alloced[j+8] = 0x50; - alloced[j+9] = 0x50; + alloced[j + 0] = 0x40; + alloced[j + 1] = 0x40; + alloced[j + 8] = 0x50; + alloced[j + 9] = 0x50; } - else if (i > gUnknown_0203CF1C->unk40C2) + else if (i > pssData->maxPageIndex) { - alloced[j+0] = 0x4A; - alloced[j+1] = 0x4A; - alloced[j+8] = 0x5A; - alloced[j+9] = 0x5A; + alloced[j + 0] = 0x4A; + alloced[j + 1] = 0x4A; + alloced[j + 8] = 0x5A; + alloced[j + 9] = 0x5A; } - else if (i < gUnknown_0203CF1C->unk40C0) + else if (i < pssData->currPageIndex) { - alloced[j+0] = 0x46; - alloced[j+1] = 0x47; - alloced[j+8] = 0x56; - alloced[j+9] = 0x57; + alloced[j + 0] = 0x46; + alloced[j + 1] = 0x47; + alloced[j + 8] = 0x56; + alloced[j + 9] = 0x57; } - else if (i == gUnknown_0203CF1C->unk40C0) + else if (i == pssData->currPageIndex) { - if (i != gUnknown_0203CF1C->unk40C2) + if (i != pssData->maxPageIndex) { - alloced[j+0] = 0x41; - alloced[j+1] = 0x42; - alloced[j+8] = 0x51; - alloced[j+9] = 0x52; + alloced[j + 0] = 0x41; + alloced[j + 1] = 0x42; + alloced[j + 8] = 0x51; + alloced[j + 9] = 0x52; } else { - alloced[j+0] = 0x4B; - alloced[j+1] = 0x4C; - alloced[j+8] = 0x5B; - alloced[j+9] = 0x5C; + alloced[j + 0] = 0x4B; + alloced[j + 1] = 0x4C; + alloced[j + 8] = 0x5B; + alloced[j + 9] = 0x5C; } } - else if (i != gUnknown_0203CF1C->unk40C2) + else if (i != pssData->maxPageIndex) { - alloced[j+0] = 0x43; - alloced[j+1] = 0x44; - alloced[j+8] = 0x53; - alloced[j+9] = 0x54; + alloced[j + 0] = 0x43; + alloced[j + 1] = 0x44; + alloced[j + 8] = 0x53; + alloced[j + 9] = 0x54; } else { - alloced[j+0] = 0x48; - alloced[j+1] = 0x49; - alloced[j+8] = 0x58; - alloced[j+9] = 0x59; + alloced[j + 0] = 0x48; + alloced[j + 1] = 0x49; + alloced[j + 8] = 0x58; + alloced[j + 9] = 0x59; } } CopyToBgTilemapBufferRect_ChangePalette(3, alloced, 11, 0, 8, 2, 16); @@ -1992,181 +2014,42 @@ void sub_81C1BA0() Free(alloced); } -struct UnkStruct_61CC04 -{ - u8 *ptr; - u8 field_4; - u8 field_5; - u8 field_6; - u8 field_7; - u8 field_8; - u8 field_9; -}; - -#ifdef NONMATCHING -void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) +static void sub_81C1CB0(const struct UnkStruct_61CC04 *unkStruct, u16 *dest, u8 c, bool8 d) { - u8 *alloced = Alloc(a->field_6 * (a->field_7 << 1)); - CpuFill16(a->field_4, alloced, a->field_7*a->field_6); - if (a->field_6 != c) + u16 i; + u16 *alloced = Alloc(unkStruct->field_6 * 2 * unkStruct->field_7); + CpuFill16(unkStruct->field_4, alloced, unkStruct->field_6 * 2 * unkStruct->field_7); + if (unkStruct->field_6 != c) { if (!d) { - for (d;d < a->field_7; d++) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(&a->ptr + ((c + a->field_6*d)), alloced + ((a->field_6*d) << 1), (a->field_6 - c) * 2); + CpuCopy16(&unkStruct->ptr[c + unkStruct->field_6 * i], &alloced[unkStruct->field_6 * i], (unkStruct->field_6 - c) * 2); } } else { - for (d = 0;d < a->field_7; d++) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(&a->ptr + (a->field_6*d), alloced + ((c + a->field_6*d) << 1), (a->field_6 - c) * 2); + CpuCopy16(&unkStruct->ptr[unkStruct->field_6 * i], &alloced[c + unkStruct->field_6 * i], (unkStruct->field_6 - c) * 2); } } } - d = 0; - while (d < a->field_7) + for (i = 0; i < unkStruct->field_7; i++) { - CpuCopy16(alloced + ((a->field_6*d) << 1), b + ((((a->field_9 + d) << 5) + a->field_8) << 1), a->field_6 * 2); - d++; + CpuCopy16(&alloced[unkStruct->field_6 * i], &dest[(unkStruct->field_9 + i) * 32 + unkStruct->field_8], unkStruct->field_6 * 2); } Free(alloced); } -#else -NAKED -void sub_81C1CB0(struct UnkStruct_61CC04 *a, u16 *b, u8 c, u8 d) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r8\n\ - push {r7}\n\ - sub sp, 0x4\n\ - adds r4, r0, 0\n\ - mov r8, r1\n\ - lsls r2, 24\n\ - lsrs r6, r2, 24\n\ - lsls r3, 24\n\ - lsrs r5, r3, 24\n\ - ldrb r1, [r4, 0x6]\n\ - ldrb r0, [r4, 0x7]\n\ - lsls r0, 1\n\ - muls r0, r1\n\ - bl Alloc\n\ - adds r7, r0, 0\n\ - mov r1, sp\n\ - ldrh r0, [r4, 0x4]\n\ - strh r0, [r1]\n\ - ldrb r1, [r4, 0x7]\n\ - ldrb r0, [r4, 0x6]\n\ - adds r2, r1, 0\n\ - muls r2, r0\n\ - movs r0, 0x80\n\ - lsls r0, 17\n\ - orrs r2, r0\n\ - mov r0, sp\n\ - adds r1, r7, 0\n\ - bl CpuSet\n\ - ldrb r0, [r4, 0x6]\n\ - cmp r0, r6\n\ - beq _081C1D60\n\ - cmp r5, 0\n\ - bne _081C1D30\n\ - movs r5, 0\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcs _081C1D60\n\ -_081C1D00:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r1, r2, 0\n\ - muls r1, r5\n\ - adds r3, r6, r1\n\ - lsls r3, 1\n\ - ldr r0, [r4]\n\ - adds r0, r3\n\ - lsls r1, 1\n\ - adds r1, r7, r1\n\ - subs r2, r6\n\ - ldr r3, =0x001fffff\n\ - ands r2, r3\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - ldrb r3, [r4, 0x7]\n\ - cmp r5, r3\n\ - bcc _081C1D00\n\ - b _081C1D60\n\ - .pool\n\ -_081C1D30:\n\ - movs r5, 0\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcs _081C1D60\n\ -_081C1D38:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r1, r2, 0\n\ - muls r1, r5\n\ - lsls r3, r1, 1\n\ - ldr r0, [r4]\n\ - adds r0, r3\n\ - adds r1, r6, r1\n\ - lsls r1, 1\n\ - adds r1, r7, r1\n\ - subs r2, r6\n\ - ldr r3, =0x001fffff\n\ - ands r2, r3\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ - ldrb r3, [r4, 0x7]\n\ - cmp r5, r3\n\ - bcc _081C1D38\n\ -_081C1D60:\n\ - movs r5, 0\n\ - b _081C1D8A\n\ - .pool\n\ -_081C1D68:\n\ - ldrb r2, [r4, 0x6]\n\ - adds r0, r2, 0\n\ - muls r0, r5\n\ - lsls r0, 1\n\ - adds r0, r7, r0\n\ - ldrb r1, [r4, 0x9]\n\ - adds r1, r5\n\ - lsls r1, 5\n\ - ldrb r3, [r4, 0x8]\n\ - adds r1, r3\n\ - lsls r1, 1\n\ - add r1, r8\n\ - bl CpuSet\n\ - adds r0, r5, 0x1\n\ - lsls r0, 16\n\ - lsrs r5, r0, 16\n\ -_081C1D8A:\n\ - ldrb r0, [r4, 0x7]\n\ - cmp r5, r0\n\ - bcc _081C1D68\n\ - adds r0, r7, 0\n\ - bl Free\n\ - add sp, 0x4\n\ - pop {r3}\n\ - mov r8, r3\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); -} -#endif - -void sub_81C1DA4(u16 a, s16 b) + +static void sub_81C1DA4(u16 a, s16 b) { if (b > gUnknown_0861CC04.field_6) b = gUnknown_0861CC04.field_6; if (b == 0 || b == gUnknown_0861CC04.field_6) { - sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->unkTilemap2[0], b, 1); + sub_81C1CB0(&gUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], b, 1); } else { @@ -2180,7 +2063,7 @@ void sub_81C1DA4(u16 a, s16 b) } } -void sub_81C1E20(u8 taskId) +static void sub_81C1E20(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2192,18 +2075,17 @@ void sub_81C1E20(u8 taskId) { data[1] = gUnknown_0861CC04.field_6; } - sub_81C1CB0(&gUnknown_0861CC04, &gUnknown_0203CF1C->unkTilemap2[0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC04, pssData->bgTilemapBuffers[PSS_PAGE_BATTLE_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC04.field_6) { if (data[0] < 0) { - if (gUnknown_0203CF1C->unk40C0 == 2) + if (pssData->currPageIndex == 2) PutWindowTilemap(14); - } else { - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) PutWindowTilemap(13); PutWindowTilemap(19); } @@ -2214,12 +2096,12 @@ void sub_81C1E20(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C1EFC(u16 a, s16 b, u16 move) +static void sub_81C1EFC(u16 a, s16 b, u16 move) { if (b > gUnknown_0861CC10.field_6) b = gUnknown_0861CC10.field_6; if (b == 0 || b == gUnknown_0861CC10.field_6) - sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->unkTilemap3[0], b, 1); + sub_81C1CB0(&gUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], b, 1); else { u8 taskId = FindTaskIdByFunc(sub_81C1F80); @@ -2231,7 +2113,7 @@ void sub_81C1EFC(u16 a, s16 b, u16 move) } } -void sub_81C1F80(u8 taskId) +static void sub_81C1F80(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2243,18 +2125,18 @@ void sub_81C1F80(u8 taskId) { data[1] = gUnknown_0861CC10.field_6; } - sub_81C1CB0(&gUnknown_0861CC10, &gUnknown_0203CF1C->unkTilemap3[0], data[1], 1); + sub_81C1CB0(&gUnknown_0861CC10, pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][0], data[1], 1); if (data[1] <= 0 || data[1] >= gUnknown_0861CC10.field_6) { if (data[0] < 0) { - if (gUnknown_0203CF1C->unk40C0 == 3 && FuncIsActiveTask(sub_81C0B8C) == 0) + if (pssData->currPageIndex == 3 && FuncIsActiveTask(sub_81C0B8C) == 0) PutWindowTilemap(15); sub_81C240C(data[2]); } else { - if (!gSprites[gUnknown_0203CF1C->unk40D3[2]].invisible) + if (!gSprites[pssData->spriteIds[2]].invisible) { PutWindowTilemap(13); } @@ -2267,14 +2149,14 @@ void sub_81C1F80(u8 taskId) schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C2074(u16 a, s16 b) +static void sub_81C2074(u16 a, s16 b) { if (b > gUnknown_0861CBEC.field_6) b = gUnknown_0861CBEC.field_6; if (b == 0 || b == gUnknown_0861CBEC.field_6) { - sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->unkTilemap0[0], b, 0); - sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->unkTilemap0[0], b, 0); + sub_81C1CB0(&gUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); + sub_81C1CB0(&gUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], b, 0); } else { @@ -2284,7 +2166,7 @@ void sub_81C2074(u16 a, s16 b) } } -void sub_81C20F0(u8 taskId) +static void sub_81C20F0(u8 taskId) { s16 *data = gTasks[taskId].data; data[1] += data[0]; @@ -2292,14 +2174,14 @@ void sub_81C20F0(u8 taskId) data[1] = 0; else if (data[1] > gUnknown_0861CBEC.field_6) data[1] = gUnknown_0861CBEC.field_6; - sub_81C1CB0(&gUnknown_0861CBEC, &gUnknown_0203CF1C->unkTilemap0[0], data[1], 0); - sub_81C1CB0(&gUnknown_0861CBF8, &gUnknown_0203CF1C->unkTilemap0[0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBEC, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); + sub_81C1CB0(&gUnknown_0861CBF8, pssData->bgTilemapBuffers[PSS_PAGE_INFO][0], data[1], 0); schedule_bg_copy_tilemap_to_vram(3); if (data[1] <= 0 || data[1] >= gUnknown_0861CBEC.field_6) { if (data[0] < 0) { - sub_81C4A88(); + CreateSetStatusSprite(); PutWindowTilemap(13); schedule_bg_copy_tilemap_to_vram(0); } @@ -2307,143 +2189,62 @@ void sub_81C20F0(u8 taskId) } } -// somebody send help this is a complete fucking mess -#ifdef NONMATCHING -void sub_81C2194(u16 *a, u16 b, u8 c) +static void sub_81C2194(u16 *output, u16 palette, bool8 c) { u16 i; - int var; - b *= 0x1000; + u32 var; + + palette *= 0x1000; var = 0x56A; if (c == 0) { for (i = 0; i < 20; i++) { - a[(i + var) << 1] = gSummaryScreenWindow_Tilemap[i] + b; - a[((i + var) << 1) + 0x40] = gSummaryScreenWindow_Tilemap[i] + b; - a[((i + var) << 1) + 0x80] = gSummaryScreenWindow_Tilemap[i + 20] + b; + output[var + i] = gSummaryScreenWindow_Tilemap[i] + palette; + output[var + i + 0x20] = gSummaryScreenWindow_Tilemap[i] + palette; + output[var + i + 0x40] = gSummaryScreenWindow_Tilemap[i + 20] + palette; } } else { for (i = 0; i < 20; i++) { - a[(i + var)] = gSummaryScreenWindow_Tilemap[i + 20] + b; - a[((i + var)) + 0x40] = gSummaryScreenWindow_Tilemap[i + 40] + b; - a[((i + var)) + 0x80] = gSummaryScreenWindow_Tilemap[i + 40] + b; - } - } -} -#else -NAKED -void sub_81C2194(u16 *a, u16 b, u8 c) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - adds r6, r0, 0\n\ - lsls r2, 24\n\ - lsls r1, 28\n\ - lsrs r4, r1, 16\n\ - ldr r7, =0x0000056a\n\ - cmp r2, 0\n\ - bne _081C21E4\n\ - movs r3, 0\n\ - ldr r5, =gSummaryScreenWindow_Tilemap\n\ -_081C21A8:\n\ - adds r2, r7, r3\n\ - lsls r2, 1\n\ - adds r2, r6\n\ - lsls r0, r3, 1\n\ - adds r0, r5\n\ - ldrh r1, [r0]\n\ - adds r1, r4, r1\n\ - strh r1, [r2]\n\ - adds r0, r2, 0\n\ - adds r0, 0x40\n\ - strh r1, [r0]\n\ - adds r2, 0x80\n\ - adds r0, r3, 0\n\ - adds r0, 0x14\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r2]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - cmp r3, 0x13\n\ - bls _081C21A8\n\ - b _081C221C\n\ - .pool\n\ -_081C21E4:\n\ - movs r3, 0\n\ - ldr r5, =gSummaryScreenWindow_Tilemap\n\ -_081C21E8:\n\ - adds r1, r7, r3\n\ - lsls r1, 1\n\ - adds r1, r6\n\ - adds r0, r3, 0\n\ - adds r0, 0x14\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r1]\n\ - adds r2, r1, 0\n\ - adds r2, 0x40\n\ - adds r0, r3, 0\n\ - adds r0, 0x28\n\ - lsls r0, 1\n\ - adds r0, r5\n\ - ldrh r0, [r0]\n\ - adds r0, r4, r0\n\ - strh r0, [r2]\n\ - adds r1, 0x80\n\ - strh r0, [r1]\n\ - adds r0, r3, 0x1\n\ - lsls r0, 16\n\ - lsrs r3, r0, 16\n\ - cmp r3, 0x13\n\ - bls _081C21E8\n\ -_081C221C:\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif - -void sub_81C2228(struct Pokemon *mon) + output[var + i] = gSummaryScreenWindow_Tilemap[i + 20] + palette; + output[var + i + 0x20] = gSummaryScreenWindow_Tilemap[i + 40] + palette; + output[var + i + 0x40] = gSummaryScreenWindow_Tilemap[i + 40] + palette; + } + } +} + +static void sub_81C2228(struct Pokemon *mon) { if (!CheckPartyPokerus(mon, 0) && CheckPartyHasHadPokerus(mon, 0)) { - gUnknown_0203CF1C->unkTilemap0[0x223] = 0x2C; - gUnknown_0203CF1C->unkTilemap0_1[0x223] = 0x2C; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x2C; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x2C; } else { - gUnknown_0203CF1C->unkTilemap0[0x223] = 0x81A; - gUnknown_0203CF1C->unkTilemap0_1[0x223] = 0x81A; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][0][0x223] = 0x81A; + pssData->bgTilemapBuffers[PSS_PAGE_INFO][1][0x223] = 0x81A; } schedule_bg_copy_tilemap_to_vram(3); } -void sub_81C228C(u8 a) +static void sub_81C228C(bool8 isMonShiny) { - if (a == 0) + if (!isMonShiny) sub_8199C30(3, 1, 4, 8, 8, 0); else sub_8199C30(3, 1, 4, 8, 8, 5); schedule_bg_copy_tilemap_to_vram(3); } -void sub_81C22CC(struct Pokemon *unused) +static void sub_81C22CC(struct Pokemon *unused) { s64 r6r7; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; u16 *r9; u8 i; @@ -2461,7 +2262,7 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - r9 = &gUnknown_0203CF1C->unkTilemap1_1[0x255]; + r9 = &pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][1][0x255]; for (i = 0; i < 8; i++) { if (r6r7 > 7) @@ -2473,221 +2274,237 @@ void sub_81C22CC(struct Pokemon *unused) r6r7 = 0; } - if (GetBgTilemapBuffer(1) == gUnknown_0203CF1C->unkTilemap1) + if (GetBgTilemapBuffer(1) == pssData->bgTilemapBuffers[PSS_PAGE_SKILLS][0]) schedule_bg_copy_tilemap_to_vram(1); else schedule_bg_copy_tilemap_to_vram(2); } -void sub_81C240C(u16 move) +static void sub_81C240C(u16 move) { - u16* r5 = &gUnknown_0203CF1C->unkTilemap3_1[0]; + u16 *tilemap = pssData->bgTilemapBuffers[PSS_PAGE_CONTEST_MOVES][1]; u8 i; - u8 r4; + u8 effectValue; + if (move != MOVE_NONE) { - r4 = gContestEffects[gContestMoves[move].effect].appeal; - if (r4 != 0xFF) - r4 /= 10; - for (i = 0;i < 8; i++) + effectValue = gContestEffects[gContestMoves[move].effect].appeal; + + if (effectValue != 0xFF) + effectValue /= 10; + + for (i = 0; i < 8; i++) { - if (r4 != 0xFF && i < r4) + if (effectValue != 0xFF && i < effectValue) { - r5[((i>>2)*32)+(i&3)+0x1E6] = 0x103A; + tilemap[(i / 4 * 32) + (i & 3) + 0x1E6] = 0x103A; } else - r5[((i>>2)*32)+(i&3)+0x1E6] = 0x1039; + { + tilemap[(i / 4 * 32) + (i & 3) + 0x1E6] = 0x1039; + } } - r4 = gContestEffects[gContestMoves[move].effect].jam; - if (r4 != 0xFF) - r4 /= 10; - for (i = 0;i < 8; i++) + + effectValue = gContestEffects[gContestMoves[move].effect].jam; + + if (effectValue != 0xFF) + effectValue /= 10; + + for (i = 0; i < 8; i++) { - if (r4 != 0xFF && i < r4) + if (effectValue != 0xFF && i < effectValue) { - r5[((i>>2)*32)+(i&3)+0x226] = 0x103C; + tilemap[(i / 4 * 32) + (i & 3) + 0x226] = 0x103C; } else - r5[((i>>2)*32)+(i&3)+0x226] = 0x103D; + { + tilemap[(i / 4 * 32) + (i & 3) + 0x226] = 0x103D; + } } } } -void sub_81C2524() +static void sub_81C2524(void) { - if (gUnknown_0203CF1C->summary.isEgg != 0) + if (pssData->summary.isEgg) ChangeBgX(3, 0x10000, 0); else ChangeBgX(3, 0, 0); } -void sub_81C2554() +static void sub_81C2554(void) { u8 i; - InitWindows(&gUnknown_0861CC24); + InitWindows(gUnknown_0861CC24); DeactivateAllTextPrinters(); + for (i = 0; i < 20; i++) + { FillWindowPixelBuffer(i, 0); + } for (i = 0; i < 8; i++) - gUnknown_0203CF1C->unk40CB[i] |= 0xFF; + { + pssData->windowIds[i] = 0xFF; + } } -void sub_81C25A4(u8 a, const u8 *b, u8 c, u8 d, u8 e, u8 f) +static void SummaryScreen_PrintTextOnWindow(u8 windowId, const u8 *string, u8 x, u8 y, u8 lineSpacing, u8 colorId) { - AddTextPrinterParameterized2(a, 1, c, d, 0, e, gUnknown_0861CD2C[f], 0, b); + AddTextPrinterParameterized2(windowId, 1, x, y, 0, lineSpacing, sTextColors_861CD2C[colorId], 0, string); } -void sub_81C25E8() +static void sub_81C25E8(void) { FillWindowPixelBuffer(17, 0); FillWindowPixelBuffer(18, 0); FillWindowPixelBuffer(19, 0); - if (gUnknown_0203CF1C->summary.isEgg == 0) + if (!pssData->summary.isEgg) sub_81C2628(); else sub_81C2794(); schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C2628() +static void sub_81C2628(void) { u8 strArray[16]; - struct Pokemon *mon = &gUnknown_0203CF1C->currentMon; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; - u16 r5 = SpeciesToPokedexNum(summary->species); - if (r5 != 0xFFFF) + struct Pokemon *mon = &pssData->currentMon; + struct PokeSummary *summary = &pssData->summary; + u16 dexNum = SpeciesToPokedexNum(summary->species); + if (dexNum != 0xFFFF) { StringCopy(gStringVar1, &gText_UnkCtrlF908Clear01[0]); - ConvertIntToDecimalStringN(gStringVar2, r5, 2, 3); + ConvertIntToDecimalStringN(gStringVar2, dexNum, 2, 3); StringAppend(gStringVar1, gStringVar2); - if (IsMonShiny(mon) == 0) + if (!IsMonShiny(mon)) { - sub_81C25A4(17, gStringVar1, 0, 1, 0, 1); - sub_81C228C(0); + SummaryScreen_PrintTextOnWindow(17, gStringVar1, 0, 1, 0, 1); + sub_81C228C(FALSE); } else { - sub_81C25A4(17, gStringVar1, 0, 1, 0, 7); - sub_81C228C(1); + SummaryScreen_PrintTextOnWindow(17, gStringVar1, 0, 1, 0, 7); + sub_81C228C(TRUE); } PutWindowTilemap(17); } else { ClearWindowTilemap(17); - if (IsMonShiny(mon) == 0) - sub_81C228C(0); + if (!IsMonShiny(mon)) + sub_81C228C(FALSE); else - sub_81C228C(1); + sub_81C228C(TRUE); } StringCopy(gStringVar1, &gText_LevelSymbol[0]); ConvertIntToDecimalStringN(gStringVar2, summary->level, 0, 3); StringAppend(gStringVar1, gStringVar2); - sub_81C25A4(19, gStringVar1, 0x18, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(19, gStringVar1, 0x18, 17, 0, 1); GetMonNickname(mon, gStringVar1); - sub_81C25A4(18, gStringVar1, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); strArray[0] = CHAR_SLASH; StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); - sub_81C25A4(19, &strArray[0], 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(19, &strArray[0], 0, 1, 0, 1); sub_81C27DC(mon, summary->species2); PutWindowTilemap(18); PutWindowTilemap(19); } -void sub_81C2794() +static void sub_81C2794(void) { - GetMonNickname(&gUnknown_0203CF1C->currentMon, gStringVar1); - sub_81C25A4(18, gStringVar1, 0, 1, 0, 1); + GetMonNickname(&pssData->currentMon, gStringVar1); + SummaryScreen_PrintTextOnWindow(18, gStringVar1, 0, 1, 0, 1); PutWindowTilemap(18); ClearWindowTilemap(17); ClearWindowTilemap(19); } -void sub_81C27DC(struct Pokemon *mon, u16 a) +static void sub_81C27DC(struct Pokemon *mon, u16 species) { - if (a != SPECIES_NIDORAN_M && a != SPECIES_NIDORAN_F) + if (species != SPECIES_NIDORAN_M && species != SPECIES_NIDORAN_F) { u8 gender = GetMonGender(mon); switch (gender) { - case 0: - sub_81C25A4(0x13, &gText_MaleSymbol[0], 0x39, 17, 0, 3); + case MON_MALE: + SummaryScreen_PrintTextOnWindow(19, gText_MaleSymbol, 57, 17, 0, 3); break; - case 0xFE: - sub_81C25A4(0x13, &gText_FemaleSymbol[0], 0x39, 17, 0, 4); + case MON_FEMALE: + SummaryScreen_PrintTextOnWindow(19, gText_FemaleSymbol, 57, 17, 0, 4); break; } } } -void sub_81C2838(u8 a, bool8 b, u32 c) -{ - BlitBitmapToWindow(a, (b) ? &gUnknown_0861CDD3[0] : &gUnknown_0861CDD3[0] - 0x80, c, 0, 16, 16); -} - -void sub_81C286C() -{ - int r4; - int r2; - int temp; - sub_81C25A4(0, gText_PkmnInfo, 2, 1, 0, 1); - sub_81C25A4(1, gText_PkmnSkills, 2, 1, 0, 1); - sub_81C25A4(2, gText_BattleMoves, 2, 1, 0, 1); - sub_81C25A4(3, gText_ContestMoves, 2, 1, 0, 1); - r4 = GetStringRightAlignXOffset(1, gText_Cancel2, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(4, 0, r2); - sub_81C25A4(4, gText_Cancel2, r4, 1, 0, 0); - r4 = GetStringRightAlignXOffset(1, gText_Info, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(5, 0, r2); - sub_81C25A4(5, gText_Info, r4, 1, 0, 0); - r4 = GetStringRightAlignXOffset(1, gText_Switch, 0x3E); - r2 = r4 - 16; - if (r2 < 0) - r2 = 0; - sub_81C2838(6, 0, r2); - sub_81C25A4(6, gText_Switch, r4, 1, 0, 0); - sub_81C25A4(8, gText_RentalPkmn, 0, 1, 0, 1); - sub_81C25A4(9, gText_TypeSlash, 0, 1, 0, 0); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_HP4, 42); - sub_81C25A4(10, gText_HP4, temp, 1, 0, 1); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_Attack3, 42); - sub_81C25A4(10, gText_Attack3, temp, 17, 0, 1); - temp = 6; - temp += GetStringCenterAlignXOffset(1, gText_Defense3, 42); - sub_81C25A4(10, gText_Defense3, temp, 33, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_SpAtk4, 36); - sub_81C25A4(11, gText_SpAtk4, temp, 1, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_SpDef4, 36); - sub_81C25A4(11, gText_SpDef4, temp, 17, 0, 1); - temp = 2; - temp += GetStringCenterAlignXOffset(1, gText_Speed2, 36); - sub_81C25A4(11, gText_Speed2, temp, 33, 0, 1); - sub_81C25A4(12, gText_ExpPoints, 6, 1, 0, 1); - sub_81C25A4(12, gText_NextLv, 6, 17, 0, 1); - sub_81C25A4(13, gText_Status, 2, 1, 0, 1); - sub_81C25A4(14, gText_Power, 0, 1, 0, 1); - sub_81C25A4(14, gText_Accuracy2, 0, 17, 0, 1); - sub_81C25A4(15, gText_Appeal, 0, 1, 0, 1); - sub_81C25A4(15, gText_Jam, 0, 17, 0, 1); -} - -void sub_81C2AFC(u8 a) +static void PrintAOrBButtonIcon(u8 windowId, bool8 bButton, u32 x) +{ + BlitBitmapToWindow(windowId, (bButton) ? gUnknown_0861CDD3 : gUnknown_0861CDD3 - 0x80, x, 0, 16, 16); +} + +static void PrintPageNamesAndStatsPageToWindows(void) +{ + int stringXPos; + int iconXPos; + int statsXPos; + + SummaryScreen_PrintTextOnWindow(0, gText_PkmnInfo, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(1, gText_PkmnSkills, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(2, gText_BattleMoves, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(3, gText_ContestMoves, 2, 1, 0, 1); + + stringXPos = GetStringRightAlignXOffset(1, gText_Cancel2, 62); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(4, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(4, gText_Cancel2, stringXPos, 1, 0, 0); + + stringXPos = GetStringRightAlignXOffset(1, gText_Info, 0x3E); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(5, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(5, gText_Info, stringXPos, 1, 0, 0); + + stringXPos = GetStringRightAlignXOffset(1, gText_Switch, 0x3E); + iconXPos = stringXPos - 16; + if (iconXPos < 0) + iconXPos = 0; + PrintAOrBButtonIcon(6, FALSE, iconXPos); + SummaryScreen_PrintTextOnWindow(6, gText_Switch, stringXPos, 1, 0, 0); + + SummaryScreen_PrintTextOnWindow(8, gText_RentalPkmn, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(9, gText_TypeSlash, 0, 1, 0, 0); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_HP4, 42); + SummaryScreen_PrintTextOnWindow(10, gText_HP4, statsXPos, 1, 0, 1); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_Attack3, 42); + SummaryScreen_PrintTextOnWindow(10, gText_Attack3, statsXPos, 17, 0, 1); + statsXPos = 6 + GetStringCenterAlignXOffset(1, gText_Defense3, 42); + SummaryScreen_PrintTextOnWindow(10, gText_Defense3, statsXPos, 33, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_SpAtk4, 36); + SummaryScreen_PrintTextOnWindow(11, gText_SpAtk4, statsXPos, 1, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_SpDef4, 36); + SummaryScreen_PrintTextOnWindow(11, gText_SpDef4, statsXPos, 17, 0, 1); + statsXPos = 2 + GetStringCenterAlignXOffset(1, gText_Speed2, 36); + SummaryScreen_PrintTextOnWindow(11, gText_Speed2, statsXPos, 33, 0, 1); + SummaryScreen_PrintTextOnWindow(12, gText_ExpPoints, 6, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(12, gText_NextLv, 6, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(13, gText_Status, 2, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(14, gText_Power, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(14, gText_Accuracy2, 0, 17, 0, 1); + SummaryScreen_PrintTextOnWindow(15, gText_Appeal, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(15, gText_Jam, 0, 17, 0, 1); +} + +static void sub_81C2AFC(u8 a) { u8 i; + ClearWindowTilemap(0); ClearWindowTilemap(1); ClearWindowTilemap(2); ClearWindowTilemap(3); + switch (a) { case 0: @@ -2705,33 +2522,39 @@ void sub_81C2AFC(u8 a) break; case 2: PutWindowTilemap(2); - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(14); } else + { PutWindowTilemap(5); + } break; case 3: PutWindowTilemap(3); - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) PutWindowTilemap(15); } else + { PutWindowTilemap(5); + } break; } + for (i = 0; i < 8; i++) { - PutWindowTilemap(gUnknown_0203CF1C->unk40CB[i]); + PutWindowTilemap(pssData->windowIds[i]); } + schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C2C38(u8 a) +static void sub_81C2C38(u8 a) { u8 i; switch (a) @@ -2748,43 +2571,51 @@ void sub_81C2C38(u8 a) ClearWindowTilemap(12); break; case 2: - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(14); } else + { ClearWindowTilemap(5); + } break; case 3: - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if(!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) ClearWindowTilemap(15); } else + { ClearWindowTilemap(5); + } break; } + for (i = 0; i < 8; i++) - sub_81C2D68(i); + { + SummaryScreen_RemoveWindowByIndex(i); + } + schedule_bg_copy_tilemap_to_vram(0); } -u8 sub_81C2D2C(struct WindowTemplate *template, u8 a) +static u8 AddWindowFromTemplateList(const struct WindowTemplate *template, u8 templateId) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->unk40CB[a]); + u8 *windowIdPtr = &(pssData->windowIds[templateId]); if (*windowIdPtr == 0xFF) { - *windowIdPtr = AddWindow(&template[a]); + *windowIdPtr = AddWindow(&template[templateId]); FillWindowPixelBuffer(*windowIdPtr, 0); } return *windowIdPtr; } -void sub_81C2D68(u8 a) +static void SummaryScreen_RemoveWindowByIndex(u8 windowIndex) { - u8 *windowIdPtr = &(gUnknown_0203CF1C->unk40CB[a]); + u8 *windowIdPtr = &(pssData->windowIds[windowIndex]); if (*windowIdPtr != 0xFF) { ClearWindowTilemap(*windowIdPtr); @@ -2793,302 +2624,259 @@ void sub_81C2D68(u8 a) } } -void sub_81C2D9C(u8 a) +static void sub_81C2D9C(u8 pageIndex) { u16 i; for (i = 0; i < 8; i++) { - if (gUnknown_0203CF1C->unk40CB[i] != 0xFF) - FillWindowPixelBuffer(gUnknown_0203CF1C->unk40CB[i], 0); + if (pssData->windowIds[i] != 0xFF) + FillWindowPixelBuffer(pssData->windowIds[i], 0); } - gUnknown_0861CE54[a](); + gUnknown_0861CE54[pageIndex](); } -void sub_81C2DE4(u8 a) +static void sub_81C2DE4(u8 pageIndex) { - CreateTask(gUnknown_0861CE64[a], 16); + CreateTask(gUnknown_0861CE64[pageIndex], 16); } -void sub_81C2E00() +static void sub_81C2E00(void) { - if (gUnknown_0203CF1C->summary.isEgg) + if (pssData->summary.isEgg) { - sub_81C335C(); - sub_81C33CC(); - sub_81C3428(); - sub_81C349C(); + PrintEggOTName(); + PrintEggOTID(); + PrintEggState(); + PrintEggMemo(); } else { - sub_81C2EC4(); - sub_81C2F5C(); - sub_81C2FD8(); - sub_81C302C(); - sub_81C307C(); - sub_81C3194(); + PrintMonOTName(); + PrintMonOTID(); + PrintMonAbilityName(); + PrintMonAbilityDescription(); + BufferMonTrainerMemo(); + PrintMonTrainerMemo(); } } -void sub_81C2E40(u8 taskId) +static void sub_81C2E40(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + switch (data[0]) { - case 0: - sub_81C2EC4(); - break; case 1: - sub_81C2F5C(); + PrintMonOTName(); break; case 2: - sub_81C2FD8(); + PrintMonOTID(); break; case 3: - sub_81C302C(); + PrintMonAbilityName(); break; case 4: - sub_81C307C(); + PrintMonAbilityDescription(); break; case 5: - sub_81C3194(); + BufferMonTrainerMemo(); break; case 6: + PrintMonTrainerMemo(); + break; + case 7: DestroyTask(taskId); return; } data[0]++; } -void sub_81C2EC4() +static void PrintMonOTName(void) { - u8 r5; - int r2; - if (sub_81A6BF4() != 1 && sub_81B9E94() != 1) + u8 windowId; + int x; + if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE) { - r5 = sub_81C2D2C(&gUnknown_0861CCCC, 0); - sub_81C25A4(r5, gText_OTSlash, 0, 1, 0, 1); - r2 = GetStringWidth(1, gText_OTSlash, 0); - if (gUnknown_0203CF1C->summary.OTGender == 0) - sub_81C25A4(r5, gUnknown_0203CF1C->summary.OTName, r2, 1, 0, 5); + windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0); + SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); + x = GetStringWidth(1, gText_OTSlash, 0); + if (pssData->summary.OTGender == 0) + SummaryScreen_PrintTextOnWindow(windowId, pssData->summary.OTName, x, 1, 0, 5); else - sub_81C25A4(r5, gUnknown_0203CF1C->summary.OTName, r2, 1, 0, 6); + SummaryScreen_PrintTextOnWindow(windowId, pssData->summary.OTName, x, 1, 0, 6); } } -void sub_81C2F5C() +static void PrintMonOTID(void) { - int r4; + int xPos; if (sub_81A6BF4() != TRUE && sub_81B9E94() != TRUE) { - ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)gUnknown_0203CF1C->summary.OTID, 2, 5); - r4 = GetStringRightAlignXOffset(1, gStringVar1, 0x38); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); + ConvertIntToDecimalStringN(StringCopy(gStringVar1, gText_UnkCtrlF907F908), (u16)pssData->summary.OTID, 2, 5); + xPos = GetStringRightAlignXOffset(1, gStringVar1, 56); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, xPos, 1, 0, 1); } } -void sub_81C2FD8() +static void PrintMonAbilityName(void) { - u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); + u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityNames[ability], 0, 1, 0, 1); } -void sub_81C302C() +static void PrintMonAbilityDescription(void) { - u8 ability = GetAbilityBySpecies(gUnknown_0203CF1C->summary.species, gUnknown_0203CF1C->summary.altAbility); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); + u8 ability = GetAbilityBySpecies(pssData->summary.species, pssData->summary.altAbility); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), gAbilityDescriptionPointers[ability], 0, 17, 0, 0); } -void sub_81C307C() +static void BufferMonTrainerMemo(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 *text; + struct PokeSummary *sum = &pssData->summary; + const u8 *text; + DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gUnknown_0861CE74); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gUnknown_0861CE7B); - sub_81C31C0(); - if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || sub_81C3304() == TRUE) + BufferNatureString(); + + if (sub_81A6BF4() == TRUE || sub_81B9E94() == TRUE || IsInGamePartnerMon() == TRUE) + { DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gText_XNature); + } else { - u8 *alloced1 = Alloc(32); - u8 *alloced2 = Alloc(32); - sub_81C31F0(alloced1); - if (sum->metLocation <= 0xD4) + u8 *metLevelString = Alloc(32); + u8 *metLocationString = Alloc(32); + GetMetLevelString(metLevelString); + + if (sum->metLocation < MAPSEC_NONE) { - sub_8124610(alloced2, sum->metLocation); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, alloced2); + sub_8124610(metLocationString, sum->metLocation); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, metLocationString); } - if (sub_81C3220() == 1) + + if (DoesMonOTMatchOwner() == TRUE) { if (sum->metLevel == 0) - text = (sum->metLocation > 0xD4) ? gText_XNatureHatchedSomewhereAt : gText_XNatureHatchedAtYZ; + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureHatchedSomewhereAt : gText_XNatureHatchedAtYZ; else - text = (sum->metLocation > 0xD4) ? gText_XNatureMetSomewhereAt : gText_XNatureMetAtYZ; + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureMetSomewhereAt : gText_XNatureMetAtYZ; } - else if (sum->metLocation == 0xFF) + else if (sum->metLocation == MAPSEC_FATEFUL_ENCOUNTER) + { text = gText_XNatureFatefulEncounter; - else if (sum->metLocation != 0xFE && sub_81C32BC()) - text = (sum->metLocation > 0xD4) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; + } + else if (sum->metLocation != MAPSEC_IN_GAME_TRADE && DidMonComeFromGBAGames()) + { + text = (sum->metLocation >= MAPSEC_NONE) ? gText_XNatureObtainedInTrade : gText_XNatureProbablyMetAt; + } else + { text = gText_XNatureObtainedInTrade; + } + DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, text); - Free(alloced1); - Free(alloced2); + Free(metLevelString); + Free(metLocationString); } } -void sub_81C3194() +static void PrintMonTrainerMemo(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), gStringVar4, 0, 1, 0, 0); } -void sub_81C31C0() +static void BufferNatureString(void) { - struct UnkSummaryStruct *sumStruct = gUnknown_0203CF1C; + struct UnkSummaryStruct *sumStruct = pssData; DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, gNatureNamePointers[sumStruct->summary.nature]); DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, gText_EmptyString5); } -void sub_81C31F0(u8 *a) +static void GetMetLevelString(u8 *output) { - u8 level = gUnknown_0203CF1C->summary.metLevel; + u8 level = pssData->summary.metLevel; if (level == 0) level = EGG_HATCH_LEVEL; - ConvertIntToDecimalStringN(a, level, 0, 3); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, a); + ConvertIntToDecimalStringN(output, level, 0, 3); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, output); } -u8 sub_81C3220() +static bool8 DoesMonOTMatchOwner(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u32 r4; - u8 r5; - if (gUnknown_0203CF1C->unk0 == (union UnkUnion *)&gEnemyParty) + struct PokeSummary *sum = &pssData->summary; + u32 trainerId; + u8 gender; + + if (pssData->monList.mons == gEnemyParty) { - u8 multiID = GetMultiplayerId()^1; - r4 = (u16)gLinkPlayers[multiID].trainerId; - r5 = gLinkPlayers[multiID].gender; + u8 multiID = GetMultiplayerId() ^ 1; + trainerId = (u16)gLinkPlayers[multiID].trainerId; + gender = gLinkPlayers[multiID].gender; StringCopy(gStringVar1, gLinkPlayers[multiID].name); } else { - r4 = GetPlayerIDAsU32() & 0xFFFF; - r5 = gSaveBlock2Ptr->playerGender; + trainerId = GetPlayerIDAsU32() & 0xFFFF; + gender = gSaveBlock2Ptr->playerGender; StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); } - if (r5 != sum->OTGender || r4 != (sum->OTID & 0xFFFF) || StringCompareWithoutExtCtrlCodes(gStringVar1, sum->OTName)) + if (gender != sum->OTGender || trainerId != (sum->OTID & 0xFFFF) || StringCompareWithoutExtCtrlCodes(gStringVar1, sum->OTName)) { - return 0; + return FALSE; } - return 1; + return TRUE; } -bool8 sub_81C32BC() +static bool8 DidMonComeFromGBAGames(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r0 = sum->metGame - 1; - if (r0 <= 4) + struct PokeSummary *sum = &pssData->summary; + if (sum->metGame > 0 && sum->metGame <= VERSION_LEAF_GREEN) return TRUE; return FALSE; } -bool8 sub_81C32E0() +bool8 DidMonComeFromRSE(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r0 = sum->metGame - 1; - if (r0 <= 2) + struct PokeSummary *sum = &pssData->summary; + if (sum->metGame > 0 && sum->metGame <= VERSION_EMERALD) return TRUE; return FALSE; } -bool8 sub_81C3304() +static bool8 IsInGamePartnerMon(void) { if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) && gMain.inBattle) { - if (gUnknown_0203CF1C->unk40BE == 1 || gUnknown_0203CF1C->unk40BE == 4 || gUnknown_0203CF1C->unk40BE == 5) + if (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5) return TRUE; } return FALSE; } -#ifdef NONMATCHING -void sub_81C335C() -{ - u8 r4 = sub_81C2D2C(&gUnknown_0861CCCC, 0); - u32 r5 = GetStringWidth(1, gText_OTSlash, 0); - sub_81C25A4(r4, gText_OTSlash, 0, 1, 0, 1); - sub_81C25A4(r4, gText_FiveMarks, r5, 1, 0, 1); -} -#else -NAKED -void sub_81C335C() -{ - asm(".syntax unified\n\ - push {r4-r6,lr}\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5,r6}\n\ - sub sp, 0x8\n\ - ldr r0, =gUnknown_0861CCCC\n\ - movs r1, 0\n\ - bl sub_81C2D2C\n\ - adds r4, r0, 0\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - ldr r0, =gText_OTSlash\n\ - mov r8, r0\n\ - movs r0, 0x1\n\ - mov r1, r8\n\ - movs r2, 0\n\ - bl GetStringWidth\n\ - adds r5, r0, 0\n\ - movs r0, 0\n\ - mov r9, r0\n\ - str r0, [sp]\n\ - movs r6, 0x1\n\ - str r6, [sp, 0x4]\n\ - adds r0, r4, 0\n\ - mov r1, r8\n\ - movs r2, 0\n\ - movs r3, 0x1\n\ - bl sub_81C25A4\n\ - ldr r1, =gText_FiveMarks\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - mov r0, r9\n\ - str r0, [sp]\n\ - str r6, [sp, 0x4]\n\ - adds r0, r4, 0\n\ - adds r2, r5, 0\n\ - movs r3, 0x1\n\ - bl sub_81C25A4\n\ - add sp, 0x8\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif - -void sub_81C33CC() -{ - int r4; +static void PrintEggOTName(void) +{ + u32 windowId = AddWindowFromTemplateList(gUnknown_0861CCCC, 0); + u32 width = GetStringWidth(1, gText_OTSlash, 0); + SummaryScreen_PrintTextOnWindow(windowId, gText_OTSlash, 0, 1, 0, 1); + SummaryScreen_PrintTextOnWindow(windowId, gText_FiveMarks, width, 1, 0, 1); +} + +static void PrintEggOTID(void) +{ + int x; StringCopy(gStringVar1, gText_UnkCtrlF907F908); StringAppend(gStringVar1, gText_FiveMarks); - r4 = GetStringRightAlignXOffset(1, gStringVar1, 0x38); - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 1), gStringVar1, r4, 1, 0, 1); + x = GetStringRightAlignXOffset(1, gStringVar1, 56); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 1), gStringVar1, x, 1, 0, 1); } -void sub_81C3428() +static void PrintEggState(void) { - u8 *text; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - if (gUnknown_0203CF1C->summary.sanity == 1) + const u8 *text; + struct PokeSummary *sum = &pssData->summary; + + if (pssData->summary.sanity == TRUE) text = gText_EggWillTakeALongTime; else if (sum->friendship <= 5) text = gText_EggAboutToHatch; @@ -3098,141 +2886,158 @@ void sub_81C3428() text = gText_EggWillTakeSomeTime; else text = gText_EggWillTakeALongTime; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); + + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 2), text, 0, 1, 0, 0); } -void sub_81C349C() +static void PrintEggMemo(void) { - u8 *text; - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - if (gUnknown_0203CF1C->summary.sanity != 1) + const u8 *text; + struct PokeSummary *sum = &pssData->summary; + + if (pssData->summary.sanity != 1) { - if (sum->metLocation == 0xFF) + if (sum->metLocation == MAPSEC_FATEFUL_ENCOUNTER) text = gText_PeculiarEggNicePlace; - else if (sub_81C32BC() == 0 || sub_81C3220() == 0) + else if (DidMonComeFromGBAGames() == FALSE || DoesMonOTMatchOwner() == FALSE) text = gText_PeculiarEggTrade; - else if (sum->metLocation == 0xFD) - text = (sub_81C32E0() == TRUE) ? gText_EggFromHotSprings : gText_EggFromTraveler; + else if (sum->metLocation == MAPSEC_SPECIAL_EGG) + text = (DidMonComeFromRSE() == TRUE) ? gText_EggFromHotSprings : gText_EggFromTraveler; else text = gText_OddEggFoundByCouple; } else + { text = gText_OddEggFoundByCouple; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); + } + + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCCC, 3), text, 0, 1, 0, 0); } -void sub_81C3530() +static void sub_81C3530(void) { - sub_81C35E4(); - sub_81C3690(); - sub_81C3710(); - sub_81C37D8(); - sub_81C3808(); - sub_81C3890(); - sub_81C38C0(); + PrintHeldItemName(); + PrintRibbonCount(); + BufferLeftColumnStats(); + PrintLeftColumnStats(); + BufferRightColumnStats(); + PrintRightColumnStats(); + PrintExpPointsNextLevel(); } -void sub_81C3554(u8 taskId) +static void sub_81C3554(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + + switch (data[0]) { - case 0: - sub_81C35E4(); - break; case 1: - sub_81C3690(); + PrintHeldItemName(); break; case 2: - sub_81C3710(); + PrintRibbonCount(); break; case 3: - sub_81C37D8(); + BufferLeftColumnStats(); break; case 4: - sub_81C3808(); + PrintLeftColumnStats(); break; case 5: - sub_81C3890(); + BufferRightColumnStats(); break; case 6: - sub_81C38C0(); + PrintRightColumnStats(); break; case 7: + PrintExpPointsNextLevel(); + break; + case 8: DestroyTask(taskId); return; } data[0]++; } -void sub_81C35E4() +static void PrintHeldItemName(void) { const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == 1 && (gUnknown_0203CF1C->unk40BE == 1 || gUnknown_0203CF1C->unk40BE == 4 || gUnknown_0203CF1C->unk40BE == 5)) + + if (pssData->summary.item == ITEM_ENIGMA_BERRY && sub_81B1250() == TRUE && (pssData->curMonIndex == 1 || pssData->curMonIndex == 4 || pssData->curMonIndex == 5)) { text = ItemId_GetName(ITEM_ENIGMA_BERRY); } - else if (gUnknown_0203CF1C->summary.item == ITEM_NONE) + else if (pssData->summary.item == ITEM_NONE) + { text = gText_None; + } else { - CopyItemName(gUnknown_0203CF1C->summary.item, gStringVar1); + CopyItemName(pssData->summary.item, gStringVar1); text = gStringVar1; } - offset = GetStringCenterAlignXOffset(1, text, 0x48) + 6; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); + + offset = GetStringCenterAlignXOffset(1, text, 72) + 6; + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 0), text, offset, 1, 0, 0); } -void sub_81C3690() +static void PrintRibbonCount(void) { - u8 *text; + const u8 *text; int offset; - if (gUnknown_0203CF1C->summary.ribbons == 0) + + if (pssData->summary.ribbonCount == 0) + { text = gText_None; + } else { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.ribbons, 1, 2); + ConvertIntToDecimalStringN(gStringVar1, pssData->summary.ribbonCount, 1, 2); StringExpandPlaceholders(gStringVar4, gText_RibbonsVar1); text = gStringVar4; } - offset = GetStringCenterAlignXOffset(1, text, 0x46) + 6; - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); + + offset = GetStringCenterAlignXOffset(1, text, 70) + 6; + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 1), text, offset, 1, 0, 0); } -void sub_81C3710() +static void BufferLeftColumnStats(void) { - u8 *alloced1 = Alloc(8); - u8 *alloced2 = Alloc(8); - u8 *alloced3 = Alloc(8); - u8 *alloced4 = Alloc(8); - ConvertIntToDecimalStringN(alloced1, gUnknown_0203CF1C->summary.currentHP, 1, 3); - ConvertIntToDecimalStringN(alloced2, gUnknown_0203CF1C->summary.maxHP, 1, 3); - ConvertIntToDecimalStringN(alloced3, gUnknown_0203CF1C->summary.atk, 1, 7); - ConvertIntToDecimalStringN(alloced4, gUnknown_0203CF1C->summary.def, 1, 7); + u8 *currentHPString = Alloc(8); + u8 *maxHPString = Alloc(8); + u8 *attackString = Alloc(8); + u8 *defenseString = Alloc(8); + + ConvertIntToDecimalStringN(currentHPString, pssData->summary.currentHP, 1, 3); + ConvertIntToDecimalStringN(maxHPString, pssData->summary.maxHP, 1, 3); + ConvertIntToDecimalStringN(attackString, pssData->summary.atk, 1, 7); + ConvertIntToDecimalStringN(defenseString, pssData->summary.def, 1, 7); + DynamicPlaceholderTextUtil_Reset(); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, alloced1); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, alloced2); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, alloced3); - DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, alloced4); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, currentHPString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, maxHPString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, attackString); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, defenseString); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE82); - Free(alloced1); - Free(alloced2); - Free(alloced3); - Free(alloced4); + + Free(currentHPString); + Free(maxHPString); + Free(attackString); + Free(defenseString); } -void sub_81C37D8() +static void PrintLeftColumnStats(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 2), gStringVar4, 4, 1, 0, 0); } -void sub_81C3808() +static void BufferRightColumnStats(void) { - ConvertIntToDecimalStringN(gStringVar1, gUnknown_0203CF1C->summary.spatk, 1, 3); - ConvertIntToDecimalStringN(gStringVar2, gUnknown_0203CF1C->summary.spdef, 1, 3); - ConvertIntToDecimalStringN(gStringVar3, gUnknown_0203CF1C->summary.speed, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, pssData->summary.spatk, 1, 3); + ConvertIntToDecimalStringN(gStringVar2, pssData->summary.spdef, 1, 3); + ConvertIntToDecimalStringN(gStringVar3, pssData->summary.speed, 1, 3); + DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); @@ -3240,317 +3045,183 @@ void sub_81C3808() DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE8E); } -void sub_81C3890() +static void PrintRightColumnStats(void) { - sub_81C25A4(sub_81C2D2C(&gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(AddWindowFromTemplateList(gUnknown_0861CCEC, 3), gStringVar4, 2, 1, 0, 0); } -void sub_81C38C0() +static void PrintExpPointsNextLevel(void) { - struct PokeSummary *sum = &gUnknown_0203CF1C->summary; - u8 r6 = sub_81C2D2C(&gUnknown_0861CCEC, 4); + struct PokeSummary *sum = &pssData->summary; + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CCEC, 4); int offset; u32 expToNextLevel; + ConvertIntToDecimalStringN(gStringVar1, sum->exp, 1, 7); - offset = GetStringRightAlignXOffset(1, gStringVar1, 0x2A) + 2; - sub_81C25A4(r6, gStringVar1, offset, 1, 0, 0); + offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; + SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 1, 0, 0); + if (sum->level < MAX_MON_LEVEL) expToNextLevel = gExperienceTables[gBaseStats[sum->species].growthRate][sum->level + 1] - sum->exp; else expToNextLevel = 0; + ConvertIntToDecimalStringN(gStringVar1, expToNextLevel, 1, 6); - offset = GetStringRightAlignXOffset(1, gStringVar1, 0x2A) + 2; - sub_81C25A4(r6, gStringVar1, offset, 17, 0, 0); + offset = GetStringRightAlignXOffset(1, gStringVar1, 42) + 2; + SummaryScreen_PrintTextOnWindow(windowId, gStringVar1, offset, 17, 0, 0); } -void sub_81C3984() +static void sub_81C3984(void) { - sub_81C3B08(0); - sub_81C3B08(1); - sub_81C3B08(2); - sub_81C3B08(3); - if (gUnknown_0203CF1C->unk40BC == 3) + PrintMoveNameAndPP(0); + PrintMoveNameAndPP(1); + PrintMoveNameAndPP(2); + PrintMoveNameAndPP(3); + + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - sub_81C3F44(); - if (gUnknown_0203CF1C->unk40C6 == 4) + PrintNewMoveDetailsOrCancelText(); + if (pssData->firstMoveIndex == MAX_MON_MOVES) { - if (gUnknown_0203CF1C->unk40C4 != 0) - sub_81C3E9C(gUnknown_0203CF1C->unk40C4); + if (pssData->newMove != MOVE_NONE) + PrintMoveDetails(pssData->newMove); } else - sub_81C3E9C(gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]); + { + PrintMoveDetails(pssData->summary.moves[pssData->firstMoveIndex]); + } } } -void sub_81C39F0(u8 taskId) +static void sub_81C39F0(u8 taskId) { s16 *data = gTasks[taskId].data; - s16 dataa = data[0] - 1; - switch (dataa) + switch (data[0]) { - case 0: - sub_81C3B08(0); - break; case 1: - sub_81C3B08(1); + PrintMoveNameAndPP(0); break; case 2: - sub_81C3B08(2); + PrintMoveNameAndPP(1); break; case 3: - sub_81C3B08(3); + PrintMoveNameAndPP(2); break; case 4: - if (gUnknown_0203CF1C->unk40BC == 3) - sub_81C3F44(); + PrintMoveNameAndPP(3); break; case 5: - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) + PrintNewMoveDetailsOrCancelText(); + break; + case 6: + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (gUnknown_0203CF1C->unk40C6 == 4) - data[1] = gUnknown_0203CF1C->unk40C4; + if (pssData->firstMoveIndex == MAX_MON_MOVES) + data[1] = pssData->newMove; else - data[1] = gUnknown_0203CF1C->summary.moves[gUnknown_0203CF1C->unk40C6]; + data[1] = pssData->summary.moves[pssData->firstMoveIndex]; } break; - case 6: - if (gUnknown_0203CF1C->unk40BC == 3) + case 7: + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) - sub_81C3E9C(data[1]); + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) + PrintMoveDetails(data[1]); } break; - case 7: + case 8: DestroyTask(taskId); return; } data[0]++; } -#ifdef NONMATCHING -void sub_81C3B08(u8 a) +static void PrintMoveNameAndPP(u8 moveIndex) { - struct UnkSummaryStruct *r10 = gUnknown_0203CF1C; - u8 r8 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 sp = sub_81C2D2C(&gUnknown_0861CD14, 1); - u8 r6; - u8 r5; - u8 *text; - int offset; - u16 move; - if (r10->summary.moves[a] != 0) + u8 pp; + u32 ppState; + const u8 *text; + u32 offset; + struct UnkSummaryStruct *summaryStruct = pssData; + u8 moveNameWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 ppValueWindowId = AddWindowFromTemplateList(gUnknown_0861CD14, 1); + u16 move = summaryStruct->summary.moves[moveIndex]; + + if (move != 0) { - move = r10->summary.moves[a]; - r6 = CalculatePPWithBonus(move, r10->summary.ppBonuses, a); - sub_81C25A4(r8, gMoveNames[move], 0, (a<<4) + 1, 0, 1); - ConvertIntToDecimalStringN(gStringVar1, r10->summary.pp[a], 1, 2); - ConvertIntToDecimalStringN(gStringVar2, r6, 1, 2); + pp = CalculatePPWithBonus(move, summaryStruct->summary.ppBonuses, moveIndex); + SummaryScreen_PrintTextOnWindow(moveNameWindowId, gMoveNames[move], 0, moveIndex * 16 + 1, 0, 1); + ConvertIntToDecimalStringN(gStringVar1, summaryStruct->summary.pp[moveIndex], 1, 2); + ConvertIntToDecimalStringN(gStringVar2, pp, 1, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar2); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); text = gStringVar4; - r5 = GetCurrentPpToMaxPpState(r10->summary.pp[a], r6) + 9; - offset = GetStringRightAlignXOffset(1, text, 0x2C); + ppState = GetCurrentPpToMaxPpState(summaryStruct->summary.pp[moveIndex], pp) + 9; + offset = GetStringRightAlignXOffset(1, text, 44); } else { - sub_81C25A4(r8, gText_OneDash, 0, (a<<4) + 1, 0, 1); + SummaryScreen_PrintTextOnWindow(moveNameWindowId, gText_OneDash, 0, moveIndex * 16 + 1, 0, 1); text = gText_TwoDashes; - r5 = 12; - offset = GetStringCenterAlignXOffset(1, text, 0x2C); - } - sub_81C25A4(sp, text, offset, (a<<4), 0, r5); -} -#else -NAKED -void sub_81C3B08(u8 a) -{ - asm(".syntax unified\n\ - push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0xC\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - ldr r0, =gUnknown_0203CF1C\n\ - ldr r0, [r0]\n\ - mov r10, r0\n\ - ldr r4, =gUnknown_0861CD14\n\ - adds r0, r4, 0\n\ - movs r1, 0\n\ - bl sub_81C2D2C\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0x1\n\ - bl sub_81C2D2C\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x8]\n\ - lsls r1, r7, 1\n\ - mov r0, r10\n\ - adds r0, 0x84\n\ - adds r0, r1\n\ - ldrh r5, [r0]\n\ - cmp r5, 0\n\ - beq _081C3C00\n\ - mov r0, r10\n\ - adds r0, 0xA4\n\ - ldrb r1, [r0]\n\ - adds r0, r5, 0\n\ - adds r2, r7, 0\n\ - bl CalculatePPWithBonus\n\ - adds r6, r0, 0\n\ - lsls r6, 24\n\ - lsrs r6, 24\n\ - movs r0, 0xD\n\ - adds r1, r5, 0\n\ - muls r1, r0\n\ - ldr r0, =gMoveNames\n\ - adds r1, r0\n\ - lsls r0, r7, 4\n\ - mov r9, r0\n\ - mov r3, r9\n\ - adds r3, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - movs r0, 0x1\n\ - str r0, [sp, 0x4]\n\ - mov r0, r8\n\ - movs r2, 0\n\ - bl sub_81C25A4\n\ - ldr r0, =gStringVar1\n\ - mov r8, r0\n\ - mov r5, r10\n\ - adds r5, 0x8C\n\ - adds r5, r7\n\ - ldrb r1, [r5]\n\ - movs r2, 0x1\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - ldr r4, =gStringVar2\n\ - adds r0, r4, 0\n\ - adds r1, r6, 0\n\ - movs r2, 0x1\n\ - movs r3, 0x2\n\ - bl ConvertIntToDecimalStringN\n\ - bl DynamicPlaceholderTextUtil_Reset\n\ - movs r0, 0\n\ - mov r1, r8\n\ - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ - movs r0, 0x1\n\ - adds r1, r4, 0\n\ - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr\n\ - ldr r4, =gStringVar4\n\ - ldr r1, =gUnknown_0861CE97\n\ - adds r0, r4, 0\n\ - bl DynamicPlaceholderTextUtil_ExpandPlaceholders\n\ - adds r7, r4, 0\n\ - ldrb r0, [r5]\n\ - adds r1, r6, 0\n\ - bl GetCurrentPpToMaxPpState\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - adds r5, r0, 0\n\ - adds r5, 0x9\n\ - movs r0, 0x1\n\ - adds r1, r7, 0\n\ - movs r2, 0x2C\n\ - bl GetStringRightAlignXOffset\n\ - mov r4, r9\n\ - b _081C3C26\n\ - .pool\n\ -_081C3C00:\n\ - ldr r1, =gText_OneDash\n\ - lsls r4, r7, 4\n\ - adds r3, r4, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - str r5, [sp]\n\ - movs r0, 0x1\n\ - str r0, [sp, 0x4]\n\ - mov r0, r8\n\ - movs r2, 0\n\ - bl sub_81C25A4\n\ - ldr r7, =gText_TwoDashes\n\ - movs r5, 0xC\n\ - movs r0, 0x1\n\ - adds r1, r7, 0\n\ - movs r2, 0x2C\n\ - bl GetStringCenterAlignXOffset\n\ -_081C3C26:\n\ - lsls r2, r0, 24\n\ - lsrs r2, 24\n\ - adds r3, r4, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - movs r0, 0\n\ - str r0, [sp]\n\ - lsls r0, r5, 24\n\ - lsrs r0, 24\n\ - str r0, [sp, 0x4]\n\ - ldr r0, [sp, 0x8]\n\ - adds r1, r7, 0\n\ - bl sub_81C25A4\n\ - add sp, 0xC\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n\ - .syntax divided\n"); -} -#endif - -void sub_81C3C5C(u16 move) -{ - u8 *text; - if (move != 0) + ppState = 12; + offset = GetStringCenterAlignXOffset(1, text, 44); + } + + SummaryScreen_PrintTextOnWindow(ppValueWindowId, text, offset, moveIndex * 16 + 1, 0, ppState); +} + +static void PrintMovePowerAndAccuracy(u16 moveIndex) +{ + const u8 *text; + if (moveIndex != 0) { - FillWindowPixelRect(14, 0, 0x35, 0, 0x13, 0x20); - if (gBattleMoves[move].power <= 1) + FillWindowPixelRect(14, 0, 53, 0, 19, 32); + + if (gBattleMoves[moveIndex].power < 2) + { text = gText_ThreeDashes; + } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].power, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].power, 1, 3); text = gStringVar1; } - sub_81C25A4(14, text, 0x35, 1, 0, 0); - if (gBattleMoves[move].accuracy == 0) + + SummaryScreen_PrintTextOnWindow(14, text, 53, 1, 0, 0); + + if (gBattleMoves[moveIndex].accuracy == 0) + { text = gText_ThreeDashes; + } else { - ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].accuracy, 1, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[moveIndex].accuracy, 1, 3); text = gStringVar1; } - sub_81C25A4(14, text, 0x35, 17, 0, 0); + + SummaryScreen_PrintTextOnWindow(14, text, 53, 17, 0, 0); } } -void sub_81C3D08() +static void sub_81C3D08(void) { - sub_81C3B08(0); - sub_81C3B08(1); - sub_81C3B08(2); - sub_81C3B08(3); - if (gUnknown_0203CF1C->unk40BC == 3) + PrintMoveNameAndPP(0); + PrintMoveNameAndPP(1); + PrintMoveNameAndPP(2); + PrintMoveNameAndPP(3); + + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - sub_81C3F44(); - sub_81C3E2C(gUnknown_0203CF1C->unk40C6); + PrintNewMoveDetailsOrCancelText(); + PrintContestMoveDescription(pssData->firstMoveIndex); } } -void sub_81C3D54(u8 taskId) +static void sub_81C3D54(u8 taskId) { s16 *data = gTasks[taskId].data; s16 dataa = data[0] - 1; @@ -3558,26 +3229,26 @@ void sub_81C3D54(u8 taskId) switch (dataa) { case 0: - sub_81C3B08(0); + PrintMoveNameAndPP(0); break; case 1: - sub_81C3B08(1); + PrintMoveNameAndPP(1); break; case 2: - sub_81C3B08(2); + PrintMoveNameAndPP(2); break; case 3: - sub_81C3B08(3); + PrintMoveNameAndPP(3); break; case 4: - if (gUnknown_0203CF1C->unk40BC == 3) - sub_81C3F44(); + if (pssData->mode == PSS_MODE_SELECT_MOVE) + PrintNewMoveDetailsOrCancelText(); break; case 5: - if (gUnknown_0203CF1C->unk40BC == 3) + if (pssData->mode == PSS_MODE_SELECT_MOVE) { - if (!(gUnknown_0203CF1C->unk40C4 == 0 && gUnknown_0203CF1C->unk40C6 == 4)) - sub_81C3E2C(gUnknown_0203CF1C->unk40C6); + if (pssData->newMove != MOVE_NONE || pssData->firstMoveIndex != MAX_MON_MOVES) + PrintContestMoveDescription(pssData->firstMoveIndex); } break; case 6: @@ -3587,36 +3258,36 @@ void sub_81C3D54(u8 taskId) data[0]++; } -void sub_81C3E2C(u8 moveSlot) +static void PrintContestMoveDescription(u8 moveSlot) { u16 move; if (moveSlot == 4) - move = gUnknown_0203CF1C->unk40C4; + move = pssData->newMove; else - move = gUnknown_0203CF1C->summary.moves[moveSlot]; + move = pssData->summary.moves[moveSlot]; if (move != MOVE_NONE) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); - sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); + SummaryScreen_PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); } } -void sub_81C3E9C(u16 move) +static void PrintMoveDetails(u16 move) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); if (move != MOVE_NONE) { - if (gUnknown_0203CF1C->unk40C0 == 2) + if (pssData->currPageIndex == 2) { - sub_81C3C5C(move); - sub_81C25A4(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); + PrintMovePowerAndAccuracy(move); + SummaryScreen_PrintTextOnWindow(windowId, gMoveDescriptionPointers[move - 1], 6, 1, 0, 0); } else { - sub_81C25A4(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(windowId, gContestEffectDescriptionPointers[gContestMoves[move].effect], 6, 1, 0, 0); } PutWindowTilemap(windowId); } @@ -3628,96 +3299,100 @@ void sub_81C3E9C(u16 move) schedule_bg_copy_tilemap_to_vram(0); } -void sub_81C3F44(void) +static void PrintNewMoveDetailsOrCancelText(void) { - u8 windowId1 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 windowId2 = sub_81C2D2C(&gUnknown_0861CD14, 1); - if (gUnknown_0203CF1C->unk40C4 == MOVE_NONE) + u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1); + + if (pssData->newMove == MOVE_NONE) { - sub_81C25A4(windowId1, gText_Cancel, 0, 0x41, 0, 1); + SummaryScreen_PrintTextOnWindow(windowId1, gText_Cancel, 0, 65, 0, 1); } else { - u16 move = gUnknown_0203CF1C->unk40C4; - if (gUnknown_0203CF1C->unk40C0 == 2) - sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 6); + u16 move = pssData->newMove; + + if (pssData->currPageIndex == 2) + SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 6); else - sub_81C25A4(windowId1, gMoveNames[move], 0, 0x41, 0, 5); + SummaryScreen_PrintTextOnWindow(windowId1, gMoveNames[move], 0, 65, 0, 5); ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, 1, 2); DynamicPlaceholderTextUtil_Reset(); DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gStringVar1); DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, gStringVar1); DynamicPlaceholderTextUtil_ExpandPlaceholders(gStringVar4, gUnknown_0861CE97); - sub_81C25A4(windowId2, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x2C), 0x41, 0, 12); + SummaryScreen_PrintTextOnWindow(windowId2, gStringVar4, GetStringRightAlignXOffset(1, gStringVar4, 0x2C), 0x41, 0, 12); } } -void sub_81C4064(void) +static void sub_81C4064(void) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 0); - FillWindowPixelRect(windowId, 0, 0, 0x42, 0x48, 0x10); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + FillWindowPixelRect(windowId, 0, 0, 66, 72, 16); CopyWindowToVram(windowId, 2); } -void sub_81C40A0(u8 a, u8 b) +static void sub_81C40A0(u8 moveIndex1, u8 moveIndex2) { - u8 windowId1 = sub_81C2D2C(&gUnknown_0861CD14, 0); - u8 windowId2 = sub_81C2D2C(&gUnknown_0861CD14, 1); + u8 windowId1 = AddWindowFromTemplateList(gUnknown_0861CD14, 0); + u8 windowId2 = AddWindowFromTemplateList(gUnknown_0861CD14, 1); - FillWindowPixelRect(windowId1, 0, 0, a * 16, 0x48, 0x10); - FillWindowPixelRect(windowId1, 0, 0, b * 16, 0x48, 0x10); + FillWindowPixelRect(windowId1, 0, 0, moveIndex1 * 16, 0x48, 0x10); + FillWindowPixelRect(windowId1, 0, 0, moveIndex2 * 16, 0x48, 0x10); - FillWindowPixelRect(windowId2, 0, 0, a * 16, 0x30, 0x10); - FillWindowPixelRect(windowId2, 0, 0, b * 16, 0x30, 0x10); + FillWindowPixelRect(windowId2, 0, 0, moveIndex1 * 16, 0x30, 0x10); + FillWindowPixelRect(windowId2, 0, 0, moveIndex2 * 16, 0x30, 0x10); - sub_81C3B08(a); - sub_81C3B08(b); + PrintMoveNameAndPP(moveIndex1); + PrintMoveNameAndPP(moveIndex2); } -void sub_81C4154(void) +static void PrintHMMovesCantBeForgotten(void) { - u8 windowId = sub_81C2D2C(&gUnknown_0861CD14, 2); + u8 windowId = AddWindowFromTemplateList(gUnknown_0861CD14, 2); FillWindowPixelBuffer(windowId, 0); - sub_81C25A4(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); + SummaryScreen_PrintTextOnWindow(windowId, gText_HMMovesCantBeForgotten2, 6, 1, 0, 0); } -void sub_81C4190(void) +static void sub_81C4190(void) { u8 i; for (i = 0; i < 28; i++) - gUnknown_0203CF1C->unk40D3[i] |= 0xFF; + { + pssData->spriteIds[i] = 0xFF; + } } -void sub_81C41C0(u8 spriteArrayId) +static void DestroySpriteInArray(u8 spriteArrayId) { - if (gUnknown_0203CF1C->unk40D3[spriteArrayId] != 0xFF) + if (pssData->spriteIds[spriteArrayId] != 0xFF) { - DestroySprite(&gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]]); - gUnknown_0203CF1C->unk40D3[spriteArrayId] = 0xFF; + DestroySprite(&gSprites[pssData->spriteIds[spriteArrayId]]); + pssData->spriteIds[spriteArrayId] = 0xFF; } } -void sub_81C4204(u8 spriteArrayId, bool8 invisible) +static void sub_81C4204(u8 spriteArrayId, bool8 invisible) { - gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]].invisible = invisible; + gSprites[pssData->spriteIds[spriteArrayId]].invisible = invisible; } -void sub_81C424C(void) +static void sub_81C424C(void) { u8 i; for (i = 3; i < 28; i++) { - if (gUnknown_0203CF1C->unk40D3[i] != 0xFF) + if (pssData->spriteIds[i] != 0xFF) sub_81C4204(i, TRUE); } } -void sub_81C4280(void) +static void sub_81C4280(void) { - switch (gUnknown_0203CF1C->unk40C0) + switch (pssData->currPageIndex) { case 0: sub_81C43A0(); @@ -3733,24 +3408,22 @@ void sub_81C4280(void) } } -void sub_81C42C8(void) +static void sub_81C42C8(void) { u8 i; for (i = 3; i < 8; i++) { - if (gUnknown_0203CF1C->unk40D3[i] == 0xFF) - gUnknown_0203CF1C->unk40D3[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); + if (pssData->spriteIds[i] == 0xFF) + pssData->spriteIds[i] = CreateSprite(&gUnknown_0861CFC4, 0, 0, 2); sub_81C4204(i, TRUE); } } -extern const u8 gUnknown_0861CFDC[]; - -void sub_81C4318(u8 typeId, u8 x, u8 y, u8 spriteArrayId) +static void SetMoveTypeSpritePosAndType(u8 typeId, u8 x, u8 y, u8 spriteArrayId) { - struct Sprite *sprite = &gSprites[gUnknown_0203CF1C->unk40D3[spriteArrayId]]; + struct Sprite *sprite = &gSprites[pssData->spriteIds[spriteArrayId]]; StartSpriteAnim(sprite, typeId); sprite->oam.paletteNum = gUnknown_0861CFDC[typeId]; sprite->pos1.x = x + 16; @@ -3758,20 +3431,20 @@ void sub_81C4318(u8 typeId, u8 x, u8 y, u8 spriteArrayId) sub_81C4204(spriteArrayId, FALSE); } -void sub_81C43A0(void) +static void sub_81C43A0(void) { - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; if (summary->isEgg) { - sub_81C4318(TYPE_MYSTERY, 0x78, 0x30, 3); + SetMoveTypeSpritePosAndType(TYPE_MYSTERY, 120, 48, 3); sub_81C4204(4, TRUE); } else { - sub_81C4318(gBaseStats[summary->species].type1, 0x78, 0x30, 3); + SetMoveTypeSpritePosAndType(gBaseStats[summary->species].type1, 0x78, 0x30, 3); if (gBaseStats[summary->species].type1 != gBaseStats[summary->species].type2) { - sub_81C4318(gBaseStats[summary->species].type2, 0xA0, 0x30, 4); + SetMoveTypeSpritePosAndType(gBaseStats[summary->species].type2, 0xA0, 0x30, 4); sub_81C4204(4, FALSE); } else @@ -3781,43 +3454,379 @@ void sub_81C43A0(void) } } -void sub_81C4420(void) +static void sub_81C4420(void) { u8 i; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; for (i = 0; i < 4; i++) { if (summary->moves[i] != MOVE_NONE) - sub_81C4318(gBattleMoves[summary->moves[i]].type, 0x55, 0x20 + (i * 0x10), i + 3); + SetMoveTypeSpritePosAndType(gBattleMoves[summary->moves[i]].type, 0x55, 0x20 + (i * 0x10), i + 3); else sub_81C4204(i + 3, TRUE); } } -void sub_81C4484(void) +static void sub_81C4484(void) { u8 i; - struct PokeSummary *summary = &gUnknown_0203CF1C->summary; + struct PokeSummary *summary = &pssData->summary; for (i = 0; i < 4; i++) { if (summary->moves[i] != MOVE_NONE) - sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[summary->moves[i]].contestCategory, 0x55, 0x20 + (i * 0x10), i + 3); + SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[summary->moves[i]].contestCategory, 0x55, 0x20 + (i * 0x10), i + 3); else sub_81C4204(i + 3, TRUE); } } -void sub_81C44F0(void) +static void sub_81C44F0(void) { - if (gUnknown_0203CF1C->unk40C4 == MOVE_NONE) + if (pssData->newMove == MOVE_NONE) { sub_81C4204(7, TRUE); } else { - if (gUnknown_0203CF1C->unk40C0 == 2) - sub_81C4318(gBattleMoves[gUnknown_0203CF1C->unk40C4].type, 0x55, 0x60, 7); + if (pssData->currPageIndex == 2) + SetMoveTypeSpritePosAndType(gBattleMoves[pssData->newMove].type, 85, 96, 7); + else + SetMoveTypeSpritePosAndType(NUMBER_OF_MON_TYPES + gContestMoves[pssData->newMove].contestCategory, 85, 96, 7); + } +} + +static void sub_81C4568(u8 a0, u8 a1) +{ + struct Sprite *sprite1 = &gSprites[pssData->spriteIds[a0 + 3]]; + struct Sprite *sprite2 = &gSprites[pssData->spriteIds[a1 + 3]]; + + u8 temp = sprite1->animNum; + sprite1->animNum = sprite2->animNum; + sprite2->animNum = temp; + + temp = sprite1->oam.paletteNum; + sprite1->oam.paletteNum = sprite2->oam.paletteNum; + sprite2->oam.paletteNum = temp; + + sprite1->animBeginning = TRUE; + sprite1->animEnded = FALSE; + sprite2->animBeginning = TRUE; + sprite2->animEnded = FALSE; +} + +static u8 sub_81C45F4(struct Pokemon *mon, s16 *a1) +{ + const struct CompressedSpritePalette *pal; + struct PokeSummary *summary = &pssData->summary; + + switch (*a1) + { + default: + return sub_81C47B4(mon); + case 0: + if (gMain.inBattle) + { + if (sub_80688F8(3, pssData->curMonIndex)) + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + } + else + { + if (gMonSpritesGfxPtr != NULL) + { + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], gMonSpritesGfxPtr->sprites[1], summary->species2, summary->pid); + } + } + else + { + if (pssData->monList.mons == gPlayerParty || pssData->mode == PSS_MODE_UNK2 || pssData->unk40EF == TRUE) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); + } + else + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2], sub_806F4F8(0, 1), summary->species2, summary->pid); + } + } + } + (*a1)++; + return -1; + case 1: + pal = GetMonSpritePalStructFromOtIdPersonality(summary->species2, summary->OTID, summary->pid); + LoadCompressedObjectPalette(pal); + SetMultiuseSpriteTemplateToPokemon(pal->tag, 1); + (*a1)++; + return -1; + } +} + +static void sub_81C4778(void) +{ + struct PokeSummary *summary = &pssData->summary; + if (!summary->isEgg) + { + if (ShouldPlayNormalMonCry(&pssData->currentMon) == TRUE) + { + PlayCry3(summary->species2, 0, 0); + } else - sub_81C4318(NUMBER_OF_MON_TYPES + gContestMoves[gUnknown_0203CF1C->unk40C4].contestCategory, 0x55, 0x60, 7); + { + PlayCry3(summary->species2, 0, 11); + } + } +} + +static u8 sub_81C47B4(struct Pokemon *unused) +{ + struct PokeSummary *summary = &pssData->summary; + u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, 40, 64, 5); + struct Sprite *sprite = &gSprites[spriteId]; + + FreeSpriteOamMatrix(sprite); + + sprite->data[0] = summary->species2; + sprite->data[2] = 0; + gSprites[spriteId].callback = sub_81C4844; + sprite->oam.priority = 0; + + if (!IsMonSpriteNotFlipped(summary->species2)) + { + sprite->hFlip = TRUE; + } + else + { + sprite->hFlip = FALSE; + } + + return spriteId; +} + +static void sub_81C4844(struct Sprite *sprite) +{ + struct PokeSummary *summary = &pssData->summary; + + if (!gPaletteFade.active && sprite->data[2] != 1) + { + sprite->data[1] = IsMonSpriteNotFlipped(sprite->data[0]); + sub_81C4778(); + PokemonSummaryDoMonAnimation(sprite, sprite->data[0], summary->isEgg); + } +} + +void SummaryScreen_SetUnknownTaskId(u8 a0) +{ + sUnknownTaskId = a0; +} + +void SummaryScreen_DestroyUnknownTask(void) +{ + if (sUnknownTaskId != 0xFF) + { + DestroyTask(sUnknownTaskId); + sUnknownTaskId = 0xFF; + } +} + +static bool32 SummaryScreen_DoesSpriteHaveCallback(void) +{ + if (gSprites[pssData->spriteIds[0]].callback == SpriteCallbackDummy) + { + return FALSE; + } + else + { + return TRUE; + } +} + +static void sub_81C48F0(void) +{ + u16 i; + u16 paletteIndex; + + gSprites[pssData->spriteIds[0]].animPaused = TRUE; + gSprites[pssData->spriteIds[0]].callback = SpriteCallbackDummy; + sub_806EE98(); + + paletteIndex = (gSprites[pssData->spriteIds[0]].oam.paletteNum * 16) | 0x100; + + for (i = 0; i < 16; i++) + { + gPlttBufferUnfaded[(u16)(i + paletteIndex)] = gPlttBufferFaded[(u16)(i + paletteIndex)]; + } +} + +static void CreateMonMarkingsSprite(struct Pokemon *mon) +{ + struct Sprite *sprite = sub_811FF94(30003, 30003, gUnknown_0861D120); + + pssData->markingsSprite = sprite; + + if (sprite != NULL) + { + StartSpriteAnim(sprite, GetMonData(mon, MON_DATA_MARKINGS)); + pssData->markingsSprite->pos1.x = 60; + pssData->markingsSprite->pos1.y = 26; + pssData->markingsSprite->oam.priority = 1; + } +} + +static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *mon) +{ + DestroySprite(pssData->markingsSprite); + FreeSpriteTilesByTag(30003); + CreateMonMarkingsSprite(mon); +} + +static void CreateCaughtBallSprite(struct Pokemon *mon) +{ + u8 ball = ItemIdToBallId(GetMonData(mon, MON_DATA_POKEBALL)); + + LoadBallGfx(ball); + pssData->spriteIds[1] = CreateSprite(&gBallSpriteTemplates[ball], 16, 136, 0); + gSprites[pssData->spriteIds[1]].callback = SpriteCallbackDummy; + gSprites[pssData->spriteIds[1]].oam.priority = 3; +} + +static void CreateSetStatusSprite(void) +{ + u8 *spriteId = &pssData->spriteIds[2]; + u8 anim; + + if (*spriteId == 0xFF) + { + *spriteId = CreateSprite(&gUnknown_0861D108, 64, 152, 0); + } + + anim = sub_81B205C(&pssData->currentMon); + + if (anim != 0) + { + StartSpriteAnim(&gSprites[*spriteId], anim - 1); + sub_81C4204(2, FALSE); + } + else + { + sub_81C4204(2, TRUE); + } +} + +static void sub_81C4AF8(u8 a0) +{ + u8 i; + u8 *spriteIds = &pssData->spriteIds[a0]; + + if (pssData->currPageIndex > 1) + { + u8 subsprite = 0; + if (a0 == 8) + { + subsprite = 1; + } + + for (i = 0; i < 10; i++) + { + spriteIds[i] = CreateSprite(&gUnknown_0861D084, i * 16 + 89, 40, subsprite); + if (i == 0) + { + StartSpriteAnim(&gSprites[spriteIds[0]], 4); + } + else if (i == 9) + { + StartSpriteAnim(&gSprites[spriteIds[9]], 5); + } + else + { + StartSpriteAnim(&gSprites[spriteIds[i]], 6); + } + gSprites[spriteIds[i]].callback = sub_81C4BE4; + gSprites[spriteIds[i]].data[0] = a0; + gSprites[spriteIds[i]].data[1] = 0; + } + } +} + +static void sub_81C4BE4(struct Sprite *sprite) +{ + if (sprite->animNum > 3 && sprite->animNum < 7) + { + sprite->data[1] = (sprite->data[1] + 1) & 0x1F; + if (sprite->data[1] > 24) + { + sprite->invisible = TRUE; + } + else + { + sprite->invisible = FALSE; + } + } + else + { + sprite->data[1] = 0; + sprite->invisible = FALSE; + } + + if (sprite->data[0] == 8) + { + sprite->pos2.y = pssData->firstMoveIndex * 16; + } + else + { + sprite->pos2.y = pssData->secondMoveIndex * 16; + } +} + +static void sub_81C4C60(u8 a0) +{ + u8 i; + for (i = 0; i < 10; i++) + { + DestroySpriteInArray(a0 + i); + } +} + +static void sub_81C4C84(u8 a0) +{ + u8 i; + u8 *spriteIds = &pssData->spriteIds[8]; + a0 *= 3; + + for (i = 0; i < 10; i++) + { + if (i == 0) + { + StartSpriteAnim(&gSprites[spriteIds[0]], a0 + 4); + } + else if (i == 9) + { + StartSpriteAnim(&gSprites[spriteIds[9]], a0 + 5); + } + else + { + StartSpriteAnim(&gSprites[spriteIds[i]], a0 + 6); + } + } +} + +static void sub_81C4D18(u8 firstSpriteId) +{ + u8 i; + u8 *spriteIds = &pssData->spriteIds[firstSpriteId]; + + for (i = 0; i < 10; i++) + { + gSprites[spriteIds[i]].data[1] = 0; + gSprites[spriteIds[i]].invisible = FALSE; } } diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c new file mode 100644 index 000000000..521af6dd9 --- /dev/null +++ b/src/unk_pokedex_area_screen_helper.c @@ -0,0 +1,75 @@ +#include "global.h" +#include "main.h" +#include "menu.h" +#include "bg.h" +#include "malloc.h" +#include "palette.h" + +EWRAM_DATA u8 *gUnknown_0203CF28 = NULL; + +static const u16 gUnknown_0861D140[] = INCBIN_U16("graphics/interface/region_map.gbapal"); +static const u8 gUnknown_0861D1A0[] = INCBIN_U8("graphics/interface/region_map.8bpp.lz"); +static const u8 gUnknown_0861DEF4[] = INCBIN_U8("graphics/interface/region_map.bin.lz"); +static const u8 gUnknown_0861E208[] = INCBIN_U8("graphics/interface/region_map_affine.8bpp.lz"); +static const u8 gUnknown_0861EF64[] = INCBIN_U8("graphics/interface/region_map_affine.bin.lz"); + +struct UnkStruct_1C4D70 +{ + u32 bg:2; + u32 unk2:8; + u32 unk10:2; + u32 unk12:20; +}; + +void sub_81C4D70(struct UnkStruct_1C4D70 *template) +{ + u8 unk; + gUnknown_0203CF28 = Alloc(4); + unk = template->unk10; + + if (unk == 0) + { + SetBgAttribute(template->bg, BG_CTRL_ATTR_WRAPAROUND, 0); + decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861D1A0, 0, template->unk2, unk); + sub_8199D3C(decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861DEF4, 0, 0, 1), template->unk2, 32, 32, unk); + } + else + { + SetBgAttribute(template->bg, BG_CTRL_ATTR_WRAPAROUND, 2); + SetBgAttribute(template->bg, 9, 1); + decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861E208, 0, template->unk2, 0); + sub_8199D3C(decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861EF64, 0, 0, 1), template->unk2, 64, 64, 1); + } + + ChangeBgX(template->bg, 0, 0); + ChangeBgY(template->bg, 0, 0); + SetBgAttribute(template->bg, BG_CTRL_ATTR_SCREENSIZE, 1); + CpuCopy32(gUnknown_0861D140, &gPlttBufferUnfaded[0x70], 0x60); + *gUnknown_0203CF28 = template->bg; +} + +bool32 sub_81C4E90(void) +{ + if (!free_temp_tile_data_buffers_if_possible()) + { + ShowBg(*gUnknown_0203CF28); + return FALSE; + } + else + { + return TRUE; + } +} + +void sub_81C4EB4(void) +{ + if (gUnknown_0203CF28 != NULL) + { + FREE_AND_SET_NULL(gUnknown_0203CF28); + } +} + +void sub_81C4ED0(u32 a0) +{ + ChangeBgY(*gUnknown_0203CF28, a0 * 0x100, 0); +} |