pokeplatinum/include/constants/pokemon.h

282 lines
6.0 KiB
C

#ifndef POKEPLATINUM_CONSTANTS_POKEMON_H
#define POKEPLATINUM_CONSTANTS_POKEMON_H
/**
* @brief Pokemon Types
* (Can't make this an enum yet due to issues with csv2bin)
*/
// enum PokemonType {
#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 TYPE_NONE 255
// };
/**
* @brief Pokemon Stats
*/
enum {
STAT_HP = 0,
STAT_ATTACK,
STAT_DEFENSE,
STAT_SPEED,
STAT_SPECIAL_ATTACK,
STAT_SPECIAL_DEFENSE,
STAT_MAX
};
#define MAX_PARTY_SIZE 6
#define NUM_BOOSTABLE_STATS 8
#define MAX_IVS_SINGLE_STAT 31
#define MAX_EVS_SINGLE_STAT 255
#define MAX_EVS_ALL_STATS 510
#define LEARNSET_NO_MOVE_TO_LEARN 0
#define LEARNSET_MOVE_ALREADY_KNOWN 0xFFFE
#define LEARNSET_ALL_SLOTS_FILLED 0xFFFF
/**
* @brief Pokemon Data Parameters
*/
enum PokemonDataParam {
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_ABILITY,
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_MOVE1_CUR_PP,
MON_DATA_MOVE2_CUR_PP,
MON_DATA_MOVE3_CUR_PP,
MON_DATA_MOVE4_CUR_PP,
MON_DATA_MOVE1_PP_UPS,
MON_DATA_MOVE2_PP_UPS,
MON_DATA_MOVE3_PP_UPS,
MON_DATA_MOVE4_PP_UPS,
MON_DATA_MOVE1_MAX_PP,
MON_DATA_MOVE2_MAX_PP,
MON_DATA_MOVE3_MAX_PP,
MON_DATA_MOVE4_MAX_PP,
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_HAS_NICKNAME,
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_GENDER,
MON_DATA_FORM,
MON_DATA_113,
MON_DATA_114,
MON_DATA_115,
MON_DATA_116,
MON_DATA_NICKNAME,
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_OTNAME,
MON_DATA_145,
MON_DATA_146,
MON_DATA_147,
MON_DATA_148,
MON_DATA_149,
MON_DATA_150,
MON_DATA_151,
MON_DATA_MET_LOCATION,
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_STATUS_CONDITION,
MON_DATA_LEVEL,
MON_DATA_162,
MON_DATA_CURRENT_HP,
MON_DATA_MAX_HP,
MON_DATA_ATK,
MON_DATA_DEF,
MON_DATA_SPEED,
MON_DATA_SP_ATK,
MON_DATA_SP_DEF,
MON_DATA_170,
MON_DATA_171,
MON_DATA_172,
MON_DATA_173,
MON_DATA_SPECIES_EGG,
MON_DATA_COMBINED_IVS,
MON_DATA_176,
MON_DATA_TYPE_1,
MON_DATA_TYPE_2,
MON_DATA_179,
};
/**
* @brief PokemonPersonalData Parameters
*/
enum PokemonPersonalDataParam {
MON_DATA_PERSONAL_BASE_HP = 0,
MON_DATA_PERSONAL_BASE_ATK,
MON_DATA_PERSONAL_BASE_DEF,
MON_DATA_PERSONAL_BASE_SPEED,
MON_DATA_PERSONAL_BASE_SP_ATK,
MON_DATA_PERSONAL_BASE_SP_DEF,
MON_DATA_PERSONAL_TYPE_1,
MON_DATA_PERSONAL_TYPE_2,
MON_DATA_PERSONAL_CATCH_RATE,
MON_DATA_PERSONAL_BASE_EXP,
MON_DATA_PERSONAL_EV_HP_YIELD,
MON_DATA_PERSONAL_EV_ATK_YIELD,
MON_DATA_PERSONAL_EV_DEF_YIELD,
MON_DATA_PERSONAL_EV_SPEED_YIELD,
MON_DATA_PERSONAL_EV_SP_ATK_YIELD,
MON_DATA_PERSONAL_EV_SP_DEF_YIELD,
MON_DATA_PERSONAL_ITEM1,
MON_DATA_PERSONAL_ITEM2,
MON_DATA_PERSONAL_GENDER,
MON_DATA_PERSONAL_HATCH_CYCLE,
MON_DATA_PERSONAL_BASE_FRIENDSHIP,
MON_DATA_PERSONAL_EXP_RATE,
MON_DATA_PERSONAL_EGG_GROUP_1,
MON_DATA_PERSONAL_EGG_GROUP_2,
MON_DATA_PERSONAL_ABILITY_1,
MON_DATA_PERSONAL_ABILITY_2,
MON_DATA_PERSONAL_GREAT_MARSH_FLEE_RATE,
MON_DATA_PERSONAL_COLOR,
MON_DATA_PERSONAL_FLIP_SPRITE,
MON_DATA_PERSONAL_TM_LEARNSET_MASK_1,
MON_DATA_PERSONAL_TM_LEARNSET_MASK_2,
MON_DATA_PERSONAL_TM_LEARNSET_MASK_3,
MON_DATA_PERSONAL_TM_LEARNSET_MASK_4,
};
#endif // POKEPLATINUM_CONSTANTS_POKEMON_H