pokeemerald-expansion/include/field_move.h
2025-05-31 09:03:12 +02:00

38 lines
808 B
C

#ifndef GUARD_FIELD_MOVE_H
#define GUARD_FIELD_MOVE_H
#include "global.h"
#include "constants/field_move.h"
struct FieldMoveInfo
{
bool32 (*fieldMoveFunc)(void);
bool32 (*isUnlockedFunc)(void);
u16 moveID;
u8 partyMsgID;
};
extern const struct FieldMoveInfo gFieldMoveInfo[];
static inline bool32 SetUpFieldMove(enum FieldMove fieldMove)
{
return gFieldMoveInfo[fieldMove].fieldMoveFunc();
}
static inline bool32 IsFieldMoveUnlocked(enum FieldMove fieldMove)
{
return gFieldMoveInfo[fieldMove].isUnlockedFunc();
}
static inline u32 FieldMove_GetMoveId(enum FieldMove fieldMove)
{
return gFieldMoveInfo[fieldMove].moveID;
}
static inline u32 FieldMove_GetPartyMsgID(enum FieldMove fieldMove)
{
return gFieldMoveInfo[fieldMove].partyMsgID;
}
#endif //GUARD_FIELD_MOVE_H