diff options
Diffstat (limited to 'include/pokemon.h')
-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 */ | ||