#pragma once struct BaseStats { /* 0x00 */ u8 baseHP; /* 0x01 */ u8 baseAttack; /* 0x02 */ u8 baseDefense; /* 0x03 */ u8 baseSpeed; /* 0x04 */ u8 baseSpAttack; /* 0x05 */ u8 baseSpDefense; /* 0x06 */ u8 type1; /* 0x07 */ u8 type2; /* 0x08 */ u8 catchRate; /* 0x09 */ u8 expYield; /* 0x0A */ u16 evYield_HP:2; /* 0x0A */ u16 evYield_Attack:2; /* 0x0A */ u16 evYield_Defense:2; /* 0x0A */ u16 evYield_Speed:2; /* 0x0B */ u16 evYield_SpAttack:2; /* 0x0B */ u16 evYield_SpDefense:2; /* 0x0C */ u16 item1; /* 0x0E */ u16 item2; /* 0x10 */ u8 genderRatio; /* 0x11 */ u8 eggCycles; /* 0x12 */ u8 friendship; /* 0x13 */ u8 growthRate; /* 0x14 */ u8 eggGroup1; /* 0x15 */ u8 eggGroup2; /* 0x16 */ u8 ability1; /* 0x17 */ u8 ability2; /* 0x18 */ u8 safariZoneFleeRate; /* 0x19 */ u8 bodyColor : 7; u8 noFlip : 1; /* 0x1A */ u8 hiddenAbility; }; enum { EGG_GROUP_NONE, EGG_GROUP_MONSTER, EGG_GROUP_WATER_1, EGG_GROUP_BUG, EGG_GROUP_FLYING, EGG_GROUP_FIELD, EGG_GROUP_FAIRY, EGG_GROUP_GRASS, EGG_GROUP_HUMAN_LIKE, EGG_GROUP_WATER_3, EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS, EGG_GROUP_WATER_2, EGG_GROUP_DITTO, EGG_GROUP_DRAGON, EGG_GROUP_UNDISCOVERED }; enum { GROWTH_MEDIUM_FAST, GROWTH_ERRATIC, GROWTH_FLUCTUATING, GROWTH_MEDIUM_SLOW, GROWTH_FAST, GROWTH_SLOW }; enum { BODY_COLOR_RED, BODY_COLOR_BLUE, BODY_COLOR_YELLOW, BODY_COLOR_GREEN, BODY_COLOR_BLACK, BODY_COLOR_BROWN, BODY_COLOR_PURPLE, BODY_COLOR_GRAY, BODY_COLOR_WHITE, BODY_COLOR_PINK }; #define TYPE_NORMAL 0x00 #define TYPE_FIGHTING 0x01 #define TYPE_FLYING 0x02 #define TYPE_POISON 0x03 #define TYPE_GROUND 0x04 #define TYPE_ROCK 0x05 #define TYPE_BUG 0x06 #define TYPE_GHOST 0x07 #define TYPE_STEEL 0x08 #define TYPE_MYSTERY 0x09 #define TYPE_FIRE 0x0a #define TYPE_WATER 0x0b #define TYPE_GRASS 0x0c #define TYPE_ELECTRIC 0x0d #define TYPE_PSYCHIC 0x0e #define TYPE_ICE 0x0f #define TYPE_DRAGON 0x10 #define TYPE_DARK 0x11 #define TYPE_ROOSTLESS 0x13 #define TYPE_BLANK 0x14 #define TYPE_FAIRY 0x17 #define MON_MALE 0x00 #define MON_FEMALE 0xFE #define MON_GENDERLESS 0xFF