tumbledemerald-legacy/include/pokeblock.h

80 lines
2.0 KiB
C

#ifndef GUARD_POKEBLOCK_H
#define GUARD_POKEBLOCK_H
#include "constants/berry.h"
#include "constants/pokemon.h"
#define TAG_POKEBLOCK 14818
enum
{
PBLOCK_CLR_NONE,
PBLOCK_CLR_RED,
PBLOCK_CLR_BLUE,
PBLOCK_CLR_PINK,
PBLOCK_CLR_GREEN,
PBLOCK_CLR_YELLOW,
PBLOCK_CLR_PURPLE,
PBLOCK_CLR_INDIGO,
PBLOCK_CLR_BROWN,
PBLOCK_CLR_LITE_BLUE,
PBLOCK_CLR_OLIVE,
PBLOCK_CLR_GRAY,
PBLOCK_CLR_BLACK,
PBLOCK_CLR_WHITE,
PBLOCK_CLR_GOLD,
};
enum
{
PBLOCK_COLOR,
PBLOCK_SPICY,
PBLOCK_DRY,
PBLOCK_SWEET,
PBLOCK_BITTER,
PBLOCK_SOUR,
PBLOCK_FEEL,
};
enum
{
PBLOCK_CASE_FIELD,
PBLOCK_CASE_BATTLE,
PBLOCK_CASE_FEEDER,
PBLOCK_CASE_GIVE
};
// use pokeblock
extern u8 gPokeblockMonId;
extern s16 gPokeblockGain;
void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void));
// pokeblock feed
void PreparePokeblockFeedScene(void);
// pokeblock
extern const s8 gPokeblockFlavorCompatibilityTable[NUM_NATURES * FLAVOR_COUNT];
extern const u8 *const gPokeblockNames[];
extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
void OpenPokeblockCase(u8 caseId, void (*callback)(void));
void OpenPokeblockCaseInBattle(void);
void OpenPokeblockCaseOnFeeder(void);
void ResetPokeblockScrollPositions(void);
u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority);
void ClearPokeblocks(void);
u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock);
u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock);
s8 GetFirstFreePokeblockSlot(void);
bool32 AddPokeblock(const struct Pokeblock *pokeblock);
bool32 TryClearPokeblock(u8 pkblId);
s16 GetPokeblockData(const struct Pokeblock *pokeblock, u8 field);
s16 PokeblockGetGain(u8 nature, const struct Pokeblock *pokeblock);
void PokeblockCopyName(const struct Pokeblock *pokeblock, u8 *dest);
bool8 CopyMonFavoritePokeblockName(u8 nature, u8 *dest);
u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock);
#endif // GUARD_POKEBLOCK_H