summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/items.h2
-rw-r--r--include/constants/pokemon.h16
-rw-r--r--include/itemtool.h24
-rw-r--r--include/move_data.h33
-rw-r--r--include/msg_data.h20
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