diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/items.h | 2 | ||||
-rw-r--r-- | include/constants/pokemon.h | 16 | ||||
-rw-r--r-- | include/itemtool.h | 24 | ||||
-rw-r--r-- | include/move_data.h | 33 | ||||
-rw-r--r-- | include/msg_data.h | 20 |
5 files changed, 86 insertions, 9 deletions
diff --git a/include/constants/items.h b/include/constants/items.h index 433532a4..a7fcc32f 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -128,7 +128,9 @@ #define ITEM_AIR_MAIL 146 #define ITEM_MOSAIC_MAIL 147 #define ITEM_BRICK_MAIL 148 + #define ITEM_CHERI_BERRY 149 +#define FIRST_BERRY_IDX ITEM_CHERI_BERRY #define ITEM_CHESTO_BERRY 150 #define ITEM_PECHA_BERRY 151 #define ITEM_RAWST_BERRY 152 diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 5c8c32d4..1af59830 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -269,9 +269,15 @@ #define MON_DATA_SPECIES_NAME 178 #define MON_RATIO_MALE 0 +#define MON_RATIO_EIGHTH 31 +#define MON_RATIO_QUARTER 63 +#define MON_RATIO_HALF 127 +#define MON_RATIO_THREEQUARTER 191 #define MON_RATIO_FEMALE 254 #define MON_RATIO_UNKNOWN 255 +#define GENDER_RATIO(frac) ( (frac) <= 1 ? (u8)((frac) * 254.75) : 255 ) + enum MonGender { MON_MALE = 0, @@ -435,4 +441,14 @@ typedef enum EvoMethod EVO_ROUTE217, } EvoMethod; +enum GrowthRate +{ + GROWTH_MEDIUM_FAST = 0, + GROWTH_ERRATIC, + GROWTH_FLUCTUATING, + GROWTH_MEDIUM_SLOW, + GROWTH_FAST, + GROWTH_SLOW, +}; + #endif //POKEDIAMOND_CONSTANTS_POKEMON_H diff --git a/include/itemtool.h b/include/itemtool.h new file mode 100644 index 00000000..525e68f9 --- /dev/null +++ b/include/itemtool.h @@ -0,0 +1,24 @@ +#ifndef POKEDIAMOND_ITEMTOOL_H +#define POKEDIAMOND_ITEMTOOL_H + +#include "global.h" +#include "constants/items.h" + +// Berries (nutdata) + +struct NutData +{ + u16 unk0; + u8 unk2; + u8 unk3; + u8 unk4; + u8 unk5; + u8 unk6; + u8 unk7; + u8 unk8; + u8 unk9; + u8 unkA; + u8 unkB; +}; + +#endif //POKEDIAMOND_ITEMTOOL_H diff --git a/include/move_data.h b/include/move_data.h index 5267bfb1..a970e1bf 100644 --- a/include/move_data.h +++ b/include/move_data.h @@ -3,24 +3,39 @@ struct WazaTbl { - u16 unk0; + u16 effect; u8 unk2; - u8 unk3; - u8 unk4; - u8 unk5; + u8 power; + u8 type; + u8 accuracy; u8 pp; - u8 unk7; + u8 effectChance; u16 unk8; - s8 unkA; + s8 priority; u8 unkB; u8 unkC; - u8 unkD; + u8 contestType; u8 padding[2]; }; +typedef enum MoveAttr { + MOVEATTR_EFFECT = 0, + MOVEATTR_UNK1, + MOVEATTR_POWER, + MOVEATTR_TYPE, + MOVEATTR_ACCURACY, + MOVEATTR_PP, + MOVEATTR_EFFECT_CHANCE, + MOVEATTR_UNK7, + MOVEATTR_PRIORTY, + MOVEATTR_UNK9, + MOVEATTR_UNK10, + MOVEATTR_CONTEST_TYPE, +} MoveAttr; + void LoadAllWazaTbl(struct WazaTbl * dest); u8 WazaGetMaxPp(u16 move, u8 ppUp); -u32 GetWazaAttr(u16 move, u32 attr); -u32 GetAttrFromWazaTbl(struct WazaTbl * wazaTbl, u32 attr); +u32 GetWazaAttr(u16 move, MoveAttr attr); +u32 GetAttrFromWazaTbl(struct WazaTbl * wazaTbl, MoveAttr attr); #endif //POKEDIAMOND_MOVE_DATA_H diff --git a/include/msg_data.h b/include/msg_data.h new file mode 100644 index 00000000..debacc79 --- /dev/null +++ b/include/msg_data.h @@ -0,0 +1,20 @@ +#ifndef POKEDIAMOND_MSG_DATA_H +#define POKEDIAMOND_MSG_DATA_H + +struct MsgData +{ + u16 unk0; + u16 unk2; + u16 unk4; + u16 unk6; + union { + u16 * raw; + NARC * narc; + } data; +}; + +struct MsgData * NewMsgDataFromNarc(u32 type, u32 narcId, u32 msgId, u32 heapno); +u16 * FUN_0200A914(struct MsgData *, u32); +void DestroyMsgData(struct MsgData *); + +#endif //POKEDIAMOND_MSG_DATA_H |