mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-24 06:57:36 -05:00
282 lines
6.0 KiB
C
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
|