code:
const u16 gSpeciesIdToCryId[] =
{
    [SPECIES_TREECKO - 277] = 273,
    [SPECIES_GROVYLE - 277] = 274,
    [SPECIES_SCEPTILE - 277] = 275,
    [SPECIES_TORCHIC - 277] = 270,
    [SPECIES_COMBUSKEN - 277] = 271,
    [SPECIES_BLAZIKEN - 277] = 272,
    [SPECIES_MUDKIP - 277] = 276,
    [SPECIES_MARSHTOMP - 277] = 277,
    [SPECIES_SWAMPERT - 277] = 278,
    [SPECIES_POOCHYENA - 277] = 359,
    [SPECIES_MIGHTYENA - 277] = 360,
    [SPECIES_ZIGZAGOON - 277] = 378,
    [SPECIES_LINOONE - 277] = 375,
    [SPECIES_WURMPLE - 277] = 290,
    [SPECIES_SILCOON - 277] = 291,
    [SPECIES_BEAUTIFLY - 277] = 292,
    [SPECIES_CASCOON - 277] = 293,
    [SPECIES_DUSTOX - 277] = 294,
    [SPECIES_LOTAD - 277] = 283,
    [SPECIES_LOMBRE - 277] = 284,
    [SPECIES_LUDICOLO - 277] = 285,
    [SPECIES_SEEDOT - 277] = 286,
    [SPECIES_NUZLEAF - 277] = 287,
    [SPECIES_SHIFTRY - 277] = 288,
    [SPECIES_NINCADA - 277] = 301,
    [SPECIES_NINJASK - 277] = 302,
    [SPECIES_SHEDINJA - 277] = 303,
    [SPECIES_TAILLOW - 277] = 266,
    [SPECIES_SWELLOW - 277] = 267,
    [SPECIES_SHROOMISH - 277] = 374,
    [SPECIES_BRELOOM - 277] = 373,
    [SPECIES_SPINDA - 277] = 269,
    [SPECIES_WINGULL - 277] = 280,
    [SPECIES_PELIPPER - 277] = 279,
    [SPECIES_SURSKIT - 277] = 310,
    [SPECIES_MASQUERAIN - 277] = 311,
    [SPECIES_WAILMER - 277] = 377,
    [SPECIES_WAILORD - 277] = 381,
    [SPECIES_SKITTY - 277] = 312,
    [SPECIES_DELCATTY - 277] = 313,
    [SPECIES_KECLEON - 277] = 251,
    [SPECIES_BALTOY - 277] = 329,
    [SPECIES_CLAYDOL - 277] = 330,
    [SPECIES_NOSEPASS - 277] = 306,
    [SPECIES_TORKOAL - 277] = 253,
    [SPECIES_SABLEYE - 277] = 362,
    [SPECIES_BARBOACH - 277] = 318,
    [SPECIES_WHISCASH - 277] = 319,
    [SPECIES_LUVDISC - 277] = 368,
    [SPECIES_CORPHISH - 277] = 320,
    [SPECIES_CRAWDAUNT - 277] = 321,
    [SPECIES_FEEBAS - 277] = 333,
    [SPECIES_MILOTIC - 277] = 334,
    [SPECIES_CARVANHA - 277] = 289,
    [SPECIES_SHARPEDO - 277] = 260,
    [SPECIES_TRAPINCH - 277] = 324,
    [SPECIES_VIBRAVA - 277] = 325,
    [SPECIES_FLYGON - 277] = 326,
    [SPECIES_MAKUHITA - 277] = 304,
    [SPECIES_HARIYAMA - 277] = 305,
    [SPECIES_ELECTRIKE - 277] = 254,
    [SPECIES_MANECTRIC - 277] = 255,
    [SPECIES_NUMEL - 277] = 316,
    [SPECIES_CAMERUPT - 277] = 317,
    [SPECIES_SPHEAL - 277] = 338,
    [SPECIES_SEALEO - 277] = 339,
    [SPECIES_WALREIN - 277] = 340,
    [SPECIES_CACNEA - 277] = 327,
    [SPECIES_CACTURNE - 277] = 328,
    [SPECIES_SNORUNT - 277] = 383,
    [SPECIES_GLALIE - 277] = 307,
    [SPECIES_LUNATONE - 277] = 331,
    [SPECIES_SOLROCK - 277] = 332,
    [SPECIES_AZURILL - 277] = 262,
    [SPECIES_SPOINK - 277] = 322,
    [SPECIES_GRUMPIG - 277] = 323,
    [SPECIES_PLUSLE - 277] = 308,
    [SPECIES_MINUN - 277] = 309,
    [SPECIES_MAWILE - 277] = 363,
    [SPECIES_MEDITITE - 277] = 336,
    [SPECIES_MEDICHAM - 277] = 337,
    [SPECIES_SWABLU - 277] = 263,
    [SPECIES_ALTARIA - 277] = 264,
    [SPECIES_WYNAUT - 277] = 258,
    [SPECIES_DUSKULL - 277] = 256,
    [SPECIES_DUSCLOPS - 277] = 361,
    [SPECIES_ROSELIA - 277] = 252,
    [SPECIES_SLAKOTH - 277] = 298,
    [SPECIES_VIGOROTH - 277] = 299,
    [SPECIES_SLAKING - 277] = 300,
    [SPECIES_GULPIN - 277] = 314,
    [SPECIES_SWALOT - 277] = 315,
    [SPECIES_TROPIUS - 277] = 376,
    [SPECIES_WHISMUR - 277] = 382,
    [SPECIES_LOUDRED - 277] = 380,
    [SPECIES_EXPLOUD - 277] = 379,
    [SPECIES_CLAMPERL - 277] = 341,
    [SPECIES_HUNTAIL - 277] = 342,
    [SPECIES_GOREBYSS - 277] = 343,
    [SPECIES_ABSOL - 277] = 335,
    [SPECIES_SHUPPET - 277] = 282,
    [SPECIES_BANETTE - 277] = 281,
    [SPECIES_SEVIPER - 277] = 259,
    [SPECIES_ZANGOOSE - 277] = 261,
    [SPECIES_RELICANTH - 277] = 367,
    [SPECIES_ARON - 277] = 364,
    [SPECIES_LAIRON - 277] = 365,
    [SPECIES_AGGRON - 277] = 366,
    [SPECIES_CASTFORM - 277] = 356,
    [SPECIES_VOLBEAT - 277] = 357,
    [SPECIES_ILLUMISE - 277] = 358,
    [SPECIES_LILEEP - 277] = 344,
    [SPECIES_CRADILY - 277] = 345,
    [SPECIES_ANORITH - 277] = 346,
    [SPECIES_ARMALDO - 277] = 347,
    [SPECIES_RALTS - 277] = 295,
    [SPECIES_KIRLIA - 277] = 296,
    [SPECIES_GARDEVOIR - 277] = 297,
    [SPECIES_BAGON - 277] = 351,
    [SPECIES_SHELGON - 277] = 352,
    [SPECIES_SALAMENCE - 277] = 372,
    [SPECIES_BELDUM - 277] = 348,
    [SPECIES_METANG - 277] = 349,
    [SPECIES_METAGROSS - 277] = 350,
    [SPECIES_REGIROCK - 277] = 353,
    [SPECIES_REGICE - 277] = 354,
    [SPECIES_REGISTEEL - 277] = 355,
    [SPECIES_KYOGRE - 277] = 370,
    [SPECIES_GROUDON - 277] = 369,
    [SPECIES_RAYQUAZA - 277] = 371,
    [SPECIES_LATIAS - 277] = 257,
    [SPECIES_LATIOS - 277] = 384,
    [SPECIES_JIRACHI - 277] = 385,
    [SPECIES_DEOXYS - 277] = 386,
    [SPECIES_CHIMECHO - 277] = 387,
};

repo_name: Lunos/pokeemerald

license: mit


code:
#define EGG_MOVES_SPECIES_OFFSET 20000
#define EGG_MOVES_TERMINATOR 0xFFFF
#define egg_moves(species, moves...) (SPECIES_##species + EGG_MOVES_SPECIES_OFFSET), moves

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
};


code:
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}},
};


code:
#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_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),
    }
};


code:
const u8 gItemEffect_Potion[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 20,
};

const u8 gItemEffect_Antidote[6] = {
    [3] = ITEM3_POISON,
};

const u8 gItemEffect_BurnHeal[6] = {
    [3] = ITEM3_BURN,
};

const u8 gItemEffect_IceHeal[6] = {
    [3] = ITEM3_FREEZE,
};

const u8 gItemEffect_Awakening[6] = {
    [3] = ITEM3_SLEEP,
};

const u8 gItemEffect_ParalyzeHeal[6] = {
    [3] = ITEM3_PARALYSIS,
};

const u8 gItemEffect_FullRestore[7] = {
    [3] = ITEM3_STATUS_ALL,
    [4] = ITEM4_HEAL_HP,
    [6] = ITEM6_HEAL_FULL,
};

const u8 gItemEffect_MaxPotion[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = ITEM6_HEAL_FULL,
};

const u8 gItemEffect_HyperPotion[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 200,
};

const u8 gItemEffect_SuperPotion[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 50,
};

const u8 gItemEffect_FullHeal[6] = {
    [3] = ITEM3_STATUS_ALL,
};

const u8 gItemEffect_Revive[7] = {
    [4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
    [6] = ITEM6_HEAL_HALF,
};

const u8 gItemEffect_MaxRevive[7] = {
    [4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
    [6] = ITEM6_HEAL_FULL,
};

const u8 gItemEffect_FreshWater[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 50,
};

const u8 gItemEffect_SodaPop[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 60,
};

const u8 gItemEffect_Lemonade[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 80,
};

const u8 gItemEffect_MoomooMilk[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 100,
};

const u8 gItemEffect_EnergyPowder[10] = {
    [4] = ITEM4_HEAL_HP,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = 50,
    [7] = -5,
    [8] = -5,
    [9] = -10,
};

const u8 gItemEffect_EnergyRoot[10] = {
    [4] = ITEM4_HEAL_HP,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = 200,
    [7] = -10,
    [8] = -10,
    [9] = -15,
};

const u8 gItemEffect_HealPowder[9] = {
    [3] = ITEM3_STATUS_ALL,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = -5,
    [7] = -5,
    [8] = -10,
};

const u8 gItemEffect_RevivalHerb[10] = {
    [4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = ITEM6_HEAL_FULL,
    [7] = -15,
    [8] = -15,
    [9] = -20,
};

const u8 gItemEffect_Ether[7] = {
    [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL,
    [6] = 10,
};

const u8 gItemEffect_MaxEther[7] = {
    [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL,
    [6] = 0x7F,
};

const u8 gItemEffect_Elixir[7] = {
    [4] = ITEM4_HEAL_PP_ALL,
    [6] = 10,
};

const u8 gItemEffect_MaxElixir[7] = {
    [4] = ITEM4_HEAL_PP_ALL,
    [6] = 0x7F,
};

const u8 gItemEffect_LavaCookie[6] = {
    [3] = ITEM3_STATUS_ALL,
};

const u8 gItemEffect_BlueFlute[6] = {
    [3] = ITEM3_SLEEP,
};

const u8 gItemEffect_YellowFlute[6] = {
    [3] = ITEM3_CONFUSION,
};

const u8 gItemEffect_RedFlute[6] = {
    [0] = ITEM0_INFATUATION,
};

const u8 gItemEffect_BerryJuice[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 20,
};

const u8 gItemEffect_SacredAsh[7] = {
    [0] = ITEM0_SACRED_ASH,
    [4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
    [6] = ITEM6_HEAL_FULL,
};

const u8 gItemEffect_HPUp[10] = {
    [4] = ITEM4_EV_HP,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = 10,
    [7] = 5,
    [8] = 3,
    [9] = 2,
};

const u8 gItemEffect_Protein[10] = {
    [4] = ITEM4_EV_ATK,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = 10,
    [7] = 5,
    [8] = 3,
    [9] = 2,
};

const u8 gItemEffect_Iron[10] = {
    [5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL,
    [6] = 10,
    [7] = 5,
    [8] = 3,
    [9] = 2,
};

const u8 gItemEffect_Carbos[10] = {
    [5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL,
    [6] = 10,
    [7] = 5,
    [8] = 3,
    [9] = 2,
};

const u8 gItemEffect_Calcium[10] = {
    [5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL,
    [6] = 10,
    [7] = 5,
    [8] = 3,
    [9] = 2,
};

const u8 gItemEffect_RareCandy[10] = {
    [3] = ITEM3_LEVEL_UP,
    [4] = ITEM4_REVIVE | ITEM4_HEAL_HP,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = ITEM6_HEAL_LVL_UP,
    [7] = 5,
    [8] = 3,
    [9] = 2,
};

const u8 gItemEffect_PPUp[9] = {
    [4] = ITEM4_PP_UP,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = 5,
    [7] = 3,
    [8] = 2,
};

const u8 gItemEffect_Zinc[10] = {
    [5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL,
    [6] = 10,
    [7] = 5,
    [8] = 3,
    [9] = 2,
};

const u8 gItemEffect_PPMax[9] = {
    [5] = ITEM5_PP_MAX | ITEM5_FRIENDSHIP_ALL,
    [6] = 5,
    [7] = 3,
    [8] = 2,
};

const u8 gItemEffect_GuardSpec[8] = {
    [3] = ITEM3_GUARD_SPEC,
    [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
    [6] = 1,
    [7] = 1,
};

const u8 gItemEffect_DireHit[8] = {
    [0] = 2 << 4,
    [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
    [6] = 1,
    [7] = 1,
};

const u8 gItemEffect_XAttack[8] = {
    [0] = 1,
    [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
    [6] = 1,
    [7] = 1,
};

const u8 gItemEffect_XDefend[8] = {
    [1] = 1 << 4,
    [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
    [6] = 1,
    [7] = 1,
};

const u8 gItemEffect_XSpeed[8] = {
    [1] = 1,
    [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
    [6] = 1,
    [7] = 1,
};

const u8 gItemEffect_XAccuracy[8] = {
    [2] = 1 << 4,
    [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
    [6] = 1,
    [7] = 1,
};

const u8 gItemEffect_XSpecial[8] = {
    [2] = 1,
    [5] = ITEM5_FRIENDSHIP_LOW | ITEM5_FRIENDSHIP_MID,
    [6] = 1,
    [7] = 1,
};

const u8 gItemEffect_SunStone[6] = {
    [4] = ITEM4_EVO_STONE,
};

const u8 gItemEffect_MoonStone[6] = {
    [4] = ITEM4_EVO_STONE,
};

const u8 gItemEffect_FireStone[6] = {
    [4] = ITEM4_EVO_STONE,
};

const u8 gItemEffect_ThunderStone[6] = {
    [4] = ITEM4_EVO_STONE,
};

const u8 gItemEffect_WaterStone[6] = {
    [4] = ITEM4_EVO_STONE,
};

const u8 gItemEffect_LeafStone[6] = {
    [4] = ITEM4_EVO_STONE,
};

const u8 gItemEffect_CheriBerry[6] = {
    [3] = ITEM3_PARALYSIS,
};

const u8 gItemEffect_ChestoBerry[6] = {
    [3] = ITEM3_SLEEP,
};

const u8 gItemEffect_PechaBerry[6] = {
    [3] = ITEM3_POISON,
};

const u8 gItemEffect_RawstBerry[6] = {
    [3] = ITEM3_BURN,
};

const u8 gItemEffect_AspearBerry[6] = {
    [3] = ITEM3_FREEZE,
};

const u8 gItemEffect_LeppaBerry[7] = {
    [4] = ITEM4_HEAL_PP_ONE | ITEM4_HEAL_PP_ALL,
    [6] = 10,
};

const u8 gItemEffect_OranBerry[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 10,
};

const u8 gItemEffect_PersimBerry[6] = {
    [3] = ITEM3_CONFUSION,
};

const u8 gItemEffect_LumBerry[6] = {
    [3] = ITEM3_STATUS_ALL,
};

const u8 gItemEffect_SitrusBerry[7] = {
    [4] = ITEM4_HEAL_HP,
    [6] = 30,
};

const u8 gItemEffect_PomegBerry[10] = {
    [4] = ITEM4_EV_HP,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = -10,
    [7] = 10,
    [8] = 5,
    [9] = 2,
};

const u8 gItemEffect_KelpsyBerry[10] = {
    [4] = ITEM4_EV_ATK,
    [5] = ITEM5_FRIENDSHIP_ALL,
    [6] = -10,
    [7] = 10,
    [8] = 5,
    [9] = 2,
};

const u8 gItemEffect_QualotBerry[10] = {
    [5] = ITEM5_EV_DEF | ITEM5_FRIENDSHIP_ALL,
    [6] = -10,
    [7] = 10,
    [8] = 5,
    [9] = 2,
};

const u8 gItemEffect_HondewBerry[10] = {
    [5] = ITEM5_EV_SPATK | ITEM5_FRIENDSHIP_ALL,
    [6] = -10,
    [7] = 10,
    [8] = 5,
    [9] = 2,
};

const u8 gItemEffect_GrepaBerry[10] = {
    [5] = ITEM5_EV_SPDEF | ITEM5_FRIENDSHIP_ALL,
    [6] = -10,
    [7] = 10,
    [8] = 5,
    [9] = 2,
};

const u8 gItemEffect_TamatoBerry[10] = {
    [5] = ITEM5_EV_SPEED | ITEM5_FRIENDSHIP_ALL,
    [6] = -10,
    [7] = 10,
    [8] = 5,
    [9] = 2,
};

const u8 *const gItemEffectTable[] =
{
    [ITEM_POTION - ITEM_POTION] = gItemEffect_Potion,
    [ITEM_ANTIDOTE - ITEM_POTION] = gItemEffect_Antidote,
    [ITEM_BURN_HEAL - ITEM_POTION] = gItemEffect_BurnHeal,
    [ITEM_ICE_HEAL - ITEM_POTION] = gItemEffect_IceHeal,
    [ITEM_AWAKENING - ITEM_POTION] = gItemEffect_Awakening,
    [ITEM_PARALYZE_HEAL - ITEM_POTION] = gItemEffect_ParalyzeHeal,
    [ITEM_FULL_RESTORE - ITEM_POTION] = gItemEffect_FullRestore,
    [ITEM_MAX_POTION - ITEM_POTION] = gItemEffect_MaxPotion,
    [ITEM_HYPER_POTION - ITEM_POTION] = gItemEffect_HyperPotion,
    [ITEM_SUPER_POTION - ITEM_POTION] = gItemEffect_SuperPotion,
    [ITEM_FULL_HEAL - ITEM_POTION] = gItemEffect_FullHeal,
    [ITEM_REVIVE - ITEM_POTION] = gItemEffect_Revive,
    [ITEM_MAX_REVIVE - ITEM_POTION] = gItemEffect_MaxRevive,
    [ITEM_FRESH_WATER - ITEM_POTION] = gItemEffect_FreshWater,
    [ITEM_SODA_POP - ITEM_POTION] = gItemEffect_SodaPop,
    [ITEM_LEMONADE - ITEM_POTION] = gItemEffect_Lemonade,
    [ITEM_MOOMOO_MILK - ITEM_POTION] = gItemEffect_MoomooMilk,
    [ITEM_ENERGY_POWDER - ITEM_POTION] = gItemEffect_EnergyPowder,
    [ITEM_ENERGY_ROOT - ITEM_POTION] = gItemEffect_EnergyRoot,
    [ITEM_HEAL_POWDER - ITEM_POTION] = gItemEffect_HealPowder,
    [ITEM_REVIVAL_HERB - ITEM_POTION] = gItemEffect_RevivalHerb,
    [ITEM_ETHER - ITEM_POTION] = gItemEffect_Ether,
    [ITEM_MAX_ETHER - ITEM_POTION] = gItemEffect_MaxEther,
    [ITEM_ELIXIR - ITEM_POTION] = gItemEffect_Elixir,
    [ITEM_MAX_ELIXIR - ITEM_POTION] = gItemEffect_MaxElixir,
    [ITEM_LAVA_COOKIE - ITEM_POTION] = gItemEffect_LavaCookie,
    [ITEM_BLUE_FLUTE - ITEM_POTION] = gItemEffect_BlueFlute,
    [ITEM_YELLOW_FLUTE - ITEM_POTION] = gItemEffect_YellowFlute,
    [ITEM_RED_FLUTE - ITEM_POTION] = gItemEffect_RedFlute,
    [ITEM_BERRY_JUICE - ITEM_POTION] = gItemEffect_BerryJuice,
    [ITEM_SACRED_ASH - ITEM_POTION] = gItemEffect_SacredAsh,
    [ITEM_HP_UP - ITEM_POTION] = gItemEffect_HPUp,
    [ITEM_PROTEIN - ITEM_POTION] = gItemEffect_Protein,
    [ITEM_IRON - ITEM_POTION] = gItemEffect_Iron,
    [ITEM_CARBOS - ITEM_POTION] = gItemEffect_Carbos,
    [ITEM_CALCIUM - ITEM_POTION] = gItemEffect_Calcium,
    [ITEM_RARE_CANDY - ITEM_POTION] = gItemEffect_RareCandy,
    [ITEM_PP_UP - ITEM_POTION] = gItemEffect_PPUp,
    [ITEM_ZINC - ITEM_POTION] = gItemEffect_Zinc,
    [ITEM_PP_MAX - ITEM_POTION] = gItemEffect_PPMax,
    [ITEM_GUARD_SPEC - ITEM_POTION] = gItemEffect_GuardSpec,
    [ITEM_DIRE_HIT - ITEM_POTION] = gItemEffect_DireHit,
    [ITEM_X_ATTACK - ITEM_POTION] = gItemEffect_XAttack,
    [ITEM_X_DEFEND - ITEM_POTION] = gItemEffect_XDefend,
    [ITEM_X_SPEED - ITEM_POTION] = gItemEffect_XSpeed,
    [ITEM_X_ACCURACY - ITEM_POTION] = gItemEffect_XAccuracy,
    [ITEM_X_SPECIAL - ITEM_POTION] = gItemEffect_XSpecial,
    [ITEM_SUN_STONE - ITEM_POTION] = gItemEffect_SunStone,
    [ITEM_MOON_STONE - ITEM_POTION] = gItemEffect_MoonStone,
    [ITEM_FIRE_STONE - ITEM_POTION] = gItemEffect_FireStone,
    [ITEM_THUNDER_STONE - ITEM_POTION] = gItemEffect_ThunderStone,
    [ITEM_WATER_STONE - ITEM_POTION] = gItemEffect_WaterStone,
    [ITEM_LEAF_STONE - ITEM_POTION] = gItemEffect_LeafStone,
    [ITEM_CHERI_BERRY - ITEM_POTION] = gItemEffect_CheriBerry,
    [ITEM_CHESTO_BERRY - ITEM_POTION] = gItemEffect_ChestoBerry,
    [ITEM_PECHA_BERRY - ITEM_POTION] = gItemEffect_PechaBerry,
    [ITEM_RAWST_BERRY - ITEM_POTION] = gItemEffect_RawstBerry,
    [ITEM_ASPEAR_BERRY - ITEM_POTION] = gItemEffect_AspearBerry,
    [ITEM_LEPPA_BERRY - ITEM_POTION] = gItemEffect_LeppaBerry,
    [ITEM_ORAN_BERRY - ITEM_POTION] = gItemEffect_OranBerry,
    [ITEM_PERSIM_BERRY - ITEM_POTION] = gItemEffect_PersimBerry,
    [ITEM_LUM_BERRY - ITEM_POTION] = gItemEffect_LumBerry,
    [ITEM_SITRUS_BERRY - ITEM_POTION] = gItemEffect_SitrusBerry,
    [ITEM_POMEG_BERRY - ITEM_POTION] = gItemEffect_PomegBerry,
    [ITEM_KELPSY_BERRY - ITEM_POTION] = gItemEffect_KelpsyBerry,
    [ITEM_QUALOT_BERRY - ITEM_POTION] = gItemEffect_QualotBerry,
    [ITEM_HONDEW_BERRY - ITEM_POTION] = gItemEffect_HondewBerry,
    [ITEM_GREPA_BERRY - ITEM_POTION] = gItemEffect_GrepaBerry,
    [ITEM_TAMATO_BERRY - ITEM_POTION] = gItemEffect_TamatoBerry,
    [LAST_BERRY_INDEX - ITEM_POTION] = NULL
};