diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/pokemon.h | 62 |
1 files changed, 62 insertions, 0 deletions
| diff --git a/include/pokemon.h b/include/pokemon.h new file mode 100644 index 0000000..93766ba --- /dev/null +++ b/include/pokemon.h | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | #ifndef POKEMON_H_AD844D6F | ||
| 2 | #define POKEMON_H_AD844D6F | ||
| 3 | |||
| 4 | #define POKEMON_NAME_LENGTH 10 | ||
| 5 | #define OT_NAME_LENGTH 7 | ||
| 6 | #define TILE_SIZE_4BPP 32 | ||
| 7 | |||
| 8 | struct PokemonIntermediate { | ||
| 9 | u32 otId; | ||
| 10 | u32 experience; | ||
| 11 | |||
| 12 | // the stats are calculated from the base stats, IVs, EVs, and Nature, before | ||
| 13 | // transmitting the pokemon's data, in order to keep the IVs and EVs secret. | ||
| 14 | u32 hp; | ||
| 15 | u32 attack; | ||
| 16 | u32 defense; | ||
| 17 | u32 speed; | ||
| 18 | u32 spAttack; | ||
| 19 | u32 spDefense; | ||
| 20 | |||
| 21 | u16 species; | ||
| 22 | u16 heldItem; | ||
| 23 | u16 moves[4]; | ||
| 24 | |||
| 25 | u8 ppBonuses; | ||
| 26 | u8 otGender:1; | ||
| 27 | u8 metLevel:7; | ||
| 28 | u8 metLocation; | ||
| 29 | u8 nickname[POKEMON_NAME_LENGTH]; | ||
| 30 | u8 otName[OT_NAME_LENGTH]; | ||
| 31 | u8 pokeball; | ||
| 32 | u8 altAbility; // waste of space but nothing to pack it with | ||
| 33 | |||
| 34 | // the following values are generated from the personality value. | ||
| 35 | u8 nature:6; | ||
| 36 | u8 gender:1; | ||
| 37 | u8 shiny:1; | ||
| 38 | u8 unownLetter; | ||
| 39 | |||
| 40 | // the level is calculated from the species and experience. this is mostly | ||
| 41 | // included for convenience. | ||
| 42 | u8 level; | ||
| 43 | |||
| 44 | // instead of being represented as a number from 0 to 255, the conditions are | ||
| 45 | // transmitted as numbers from 0 to 10, so as to keep the exact condition | ||
| 46 | // values secret, since only an approximation of the condition value is ever | ||
| 47 | // visible in the game proper. the same goes for the sheen. | ||
| 48 | u8 cool; | ||
| 49 | u8 beauty; | ||
| 50 | u8 cute; | ||
| 51 | u8 smart; | ||
| 52 | u8 tough; | ||
| 53 | u8 sheen; | ||
| 54 | |||
| 55 | // this field can have the following values: | ||
| 56 | // 0 - pokemon does not have pokerus | ||
| 57 | // 1 - pokemon has pokerus | ||
| 58 | // 2 - pokemon had pokerus at one point | ||
| 59 | u8 pokerus; | ||
| 60 | }; | ||
| 61 | |||
| 62 | #endif /* end of include guard: POKEMON_H_AD844D6F */ | ||
