#ifndef POKEPLATINUM_CONSTANTS_POKEMON_H
#define POKEPLATINUM_CONSTANTS_POKEMON_H

// Pokemon types
#define TYPE_NONE             255
#define TYPE_NORMAL           0
#define TYPE_FIGHTING         1
#define TYPE_FLYING           2
#define TYPE_POISON           3
#define TYPE_GROUND           4
#define TYPE_ROCK             5
#define TYPE_BUG              6
#define TYPE_GHOST            7
#define TYPE_STEEL            8
#define TYPE_MYSTERY          9
#define TYPE_FIRE             10
#define TYPE_WATER            11
#define TYPE_GRASS            12
#define TYPE_ELECTRIC         13
#define TYPE_PSYCHIC          14
#define TYPE_ICE              15
#define TYPE_DRAGON           16
#define TYPE_DARK             17
#define NUMBER_OF_MON_TYPES   18

#define MAX_PARTY_SIZE  6
#define NUM_BOOSTABLE_STATS 8

enum {
    MON_DATA_PERSONALITY,
    MON_DATA_1,
    MON_DATA_2,
    MON_DATA_3,
    MON_DATA_4,
    MON_DATA_SPECIES,
    MON_DATA_HELD_ITEM,
    MON_DATA_OT_ID,
    MON_DATA_EXP,
    MON_DATA_FRIENDSHIP,
    MON_DATA_10,
    MON_DATA_11,
    MON_DATA_LANGUAGE,
    MON_DATA_HP_EV,
    MON_DATA_ATK_EV,
    MON_DATA_DEF_EV,
    MON_DATA_SPEED_EV,
    MON_DATA_SPATK_EV,
    MON_DATA_SPDEF_EV,
    MON_DATA_COOL,
    MON_DATA_BEAUTY,
    MON_DATA_CUTE,
    MON_DATA_SMART,
    MON_DATA_TOUGH,
    MON_DATA_SHEEN,
    MON_DATA_25,
    MON_DATA_26,
    MON_DATA_27,
    MON_DATA_28,
    MON_DATA_29,
    MON_DATA_30,
    MON_DATA_31,
    MON_DATA_32,
    MON_DATA_33,
    MON_DATA_34,
    MON_DATA_35,
    MON_DATA_36,
    MON_DATA_37,
    MON_DATA_38,
    MON_DATA_39,
    MON_DATA_40,
    MON_DATA_41,
    MON_DATA_42,
    MON_DATA_43,
    MON_DATA_44,
    MON_DATA_45,
    MON_DATA_46,
    MON_DATA_47,
    MON_DATA_48,
    MON_DATA_49,
    MON_DATA_50,
    MON_DATA_51,
    MON_DATA_52,
    MON_DATA_53,
    MON_DATA_MOVE1,
    MON_DATA_MOVE2,
    MON_DATA_MOVE3,
    MON_DATA_MOVE4,
    MON_DATA_58,
    MON_DATA_59,
    MON_DATA_60,
    MON_DATA_61,
    MON_DATA_62,
    MON_DATA_63,
    MON_DATA_64,
    MON_DATA_65,
    MON_DATA_66,
    MON_DATA_67,
    MON_DATA_68,
    MON_DATA_69,
    MON_DATA_HP_IV,
    MON_DATA_ATK_IV,
    MON_DATA_DEF_IV,
    MON_DATA_SPEED_IV,
    MON_DATA_SPATK_IV,
    MON_DATA_SPDEF_IV,
    MON_DATA_IS_EGG,
    MON_DATA_77,
    MON_DATA_78,
    MON_DATA_79,
    MON_DATA_80,
    MON_DATA_81,
    MON_DATA_82,
    MON_DATA_83,
    MON_DATA_84,
    MON_DATA_85,
    MON_DATA_86,
    MON_DATA_87,
    MON_DATA_88,
    MON_DATA_89,
    MON_DATA_90,
    MON_DATA_91,
    MON_DATA_92,
    MON_DATA_93,
    MON_DATA_94,
    MON_DATA_95,
    MON_DATA_96,
    MON_DATA_97,
    MON_DATA_CHAMPION_RIBBON,
    MON_DATA_WINNING_RIBBON,
    MON_DATA_VICTORY_RIBBON,
    MON_DATA_ARTIST_RIBBON,
    MON_DATA_EFFORT_RIBBON,
    MON_DATA_MARINE_RIBBON,
    MON_DATA_LAND_RIBBON,
    MON_DATA_SKY_RIBBON,
    MON_DATA_COUNTRY_RIBBON,
    MON_DATA_NATIONAL_RIBBON,
    MON_DATA_EARTH_RIBBON,
    MON_DATA_WORLD_RIBBON,
    MON_DATA_FATEFUL_ENCOUNTER,
    MON_DATA_111,
    MON_DATA_FORM,
    MON_DATA_113,
    MON_DATA_114,
    MON_DATA_115,
    MON_DATA_116,
    MON_DATA_117,
    MON_DATA_118,
    MON_DATA_119,
    MON_DATA_120,
    MON_DATA_121,
    MON_DATA_MET_GAME,
    MON_DATA_123,
    MON_DATA_124,
    MON_DATA_125,
    MON_DATA_126,
    MON_DATA_127,
    MON_DATA_128,
    MON_DATA_129,
    MON_DATA_130,
    MON_DATA_131,
    MON_DATA_132,
    MON_DATA_133,
    MON_DATA_134,
    MON_DATA_135,
    MON_DATA_136,
    MON_DATA_137,
    MON_DATA_138,
    MON_DATA_139,
    MON_DATA_140,
    MON_DATA_141,
    MON_DATA_142,
    MON_DATA_143,
    MON_DATA_144,
    MON_DATA_145,
    MON_DATA_146,
    MON_DATA_147,
    MON_DATA_148,
    MON_DATA_149,
    MON_DATA_150,
    MON_DATA_151,
    MON_DATA_152,
    MON_DATA_153,
    MON_DATA_POKERUS,
    MON_DATA_POKEBALL,
    MON_DATA_MET_LEVEL,
    MON_DATA_OT_GENDER,
    MON_DATA_158,
    MON_DATA_159,
    MON_DATA_160,
    MON_DATA_161,
    MON_DATA_162,
    MON_DATA_163,
    MON_DATA_164,
    MON_DATA_165,
    MON_DATA_166,
    MON_DATA_167,
    MON_DATA_168,
    MON_DATA_169,
    MON_DATA_170,
    MON_DATA_171,
    MON_DATA_172,
    MON_DATA_173,
    MON_DATA_SPECIES_EGG,
    MON_DATA_175,
    MON_DATA_176,
    MON_DATA_177,
    MON_DATA_178,
    MON_DATA_179,
};

#endif // POKEPLATINUM_CONSTANTS_POKEMON_H
