summaryrefslogtreecommitdiff
path: root/include/pokemon.h
blob: 6c18f7d677fecaadced3e4c2afd09a29b65db764 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef POKEMON_H
#define POKEMON_H

struct EvolveStruct1
{
    u16 evolve_from;
    u16 evolve_type;
};

struct EvolveNeeds
{
    u16 evolve_need1;
    u16 evolve_need2;
};

struct gPokemon
{
    /* 0x0 */ u8* species;
    /* 0x4 */ u8* category;
    /* 0x8 */ u8 overworld_sprite;
    /* 0x9 */ u8 size;
    /* 0xA */ u8 unkA;
    /* 0xB */ u8 unkB;
    /* 0xC */ s32 move_speed;
    /* 0x10 */ u16 dialogue_sprites;
    /* 0x12 */ u8 unk12;
    /* 0x13 */ u8 type_1;
    /* 0x14 */ u8 type_2;
    /* 0x15 */ u8 walkable_tiles;
    /* 0x16 */ u8 friend_area;
    /* 0x17 */ u8 ability_1;
    /* 0x18 */ u8 ability_2;
    /* 0x19 */ u8 shadow_size;
    /* 0x1A */ u8 unk1A;
    /* 0x1B */ u8 unk1B;
    /* 0x1C */ bool8 isMoving;
    /* 0x1D */ u8 unk1D;
    /* 0x1E */ u16 base_hp;
    /* 0x20 */ u16 base_exp;
    /* 0x22 */ u16 unk22; // verified
    /* 0x24 */ u16 base_att;
    /* 0x26 */ u16 base_spatt;
    /* 0x28 */ u16 base_def;
    /* 0x2A */ u16 base_spdef;
    /* 0x2C */ u16 lowkick_dmg;
    /* 0x2E */ u16 sizeorb_dmg;
    /* 0x30 */ u8 unk30;
    /* 0x31 */ u8 unk31;
    /* 0x32 */ u8 unk32;
    /* 0x33 */ bool8 unk33;
    /* 0x34 */ struct EvolveStruct1 pre;
    /* 0x38 */ struct EvolveNeeds need;
    /* 0x3C */ u16 dexNo;
    /* 0x3E */ u16 internalNo; // verified
    /* 0x40 */ s16 base_recruit; // verified
    /* 0x42 */ u16 alphabetNo;
    /* 0x44 */ u16 parentNo;
    /* 0x46 */ u16 unk46;
};

#endif // POKEMON_H