2017-09-07 19:45:32 +02:00
|
|
|
#ifndef GUARD_POKEBLOCK_H
|
|
|
|
#define GUARD_POKEBLOCK_H
|
|
|
|
|
2021-04-11 22:23:10 +02:00
|
|
|
#define TAG_POKEBLOCK 14818
|
2017-12-09 21:23:40 +01:00
|
|
|
|
2017-09-07 19:45:32 +02:00
|
|
|
enum
|
|
|
|
{
|
2020-08-24 20:52:33 +02:00
|
|
|
PBLOCK_CLR_NONE,
|
2017-09-07 19:45:32 +02:00
|
|
|
PBLOCK_CLR_RED,
|
|
|
|
PBLOCK_CLR_BLUE,
|
|
|
|
PBLOCK_CLR_PINK,
|
|
|
|
PBLOCK_CLR_GREEN,
|
2020-08-24 20:52:33 +02:00
|
|
|
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,
|
2017-09-07 19:45:32 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
PBLOCK_COLOR,
|
|
|
|
PBLOCK_SPICY,
|
|
|
|
PBLOCK_DRY,
|
|
|
|
PBLOCK_SWEET,
|
|
|
|
PBLOCK_BITTER,
|
|
|
|
PBLOCK_SOUR,
|
|
|
|
PBLOCK_FEEL,
|
|
|
|
};
|
|
|
|
|
2017-12-16 00:08:23 +01:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
PBLOCK_CASE_FIELD,
|
|
|
|
PBLOCK_CASE_BATTLE,
|
|
|
|
PBLOCK_CASE_FEEDER,
|
|
|
|
PBLOCK_CASE_GIVE
|
|
|
|
};
|
|
|
|
|
2017-12-09 21:23:40 +01:00
|
|
|
// use pokeblock
|
2017-12-10 16:38:27 +01:00
|
|
|
extern u8 gPokeblockMonId;
|
|
|
|
extern s16 gPokeblockGain;
|
|
|
|
|
2017-12-09 21:23:40 +01:00
|
|
|
void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void));
|
|
|
|
|
|
|
|
// pokeblock feed
|
2021-04-12 18:33:06 +02:00
|
|
|
void PreparePokeblockFeedScene(void);
|
2017-12-09 21:23:40 +01:00
|
|
|
|
|
|
|
// pokeblock
|
2020-07-17 02:12:12 +02:00
|
|
|
extern const s8 gPokeblockFlavorCompatibilityTable[NUM_NATURES * FLAVOR_COUNT];
|
2017-12-11 16:52:28 +01:00
|
|
|
extern const u8 *const gPokeblockNames[];
|
|
|
|
extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
|
|
|
|
extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
|
|
|
|
|
2017-12-16 00:08:23 +01:00
|
|
|
void OpenPokeblockCase(u8 caseId, void (*callback)(void));
|
|
|
|
void OpenPokeblockCaseInBattle(void);
|
|
|
|
void OpenPokeblockCaseOnFeeder(void);
|
|
|
|
void ResetPokeblockScrollPositions(void);
|
2017-12-09 21:23:40 +01:00
|
|
|
u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority);
|
2017-09-07 19:45:32 +02:00
|
|
|
void ClearPokeblocks(void);
|
2017-11-27 20:03:41 +01:00
|
|
|
u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock);
|
2017-11-19 22:48:46 +01:00
|
|
|
u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock);
|
2017-12-16 15:10:29 +01:00
|
|
|
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);
|
2017-11-27 20:03:41 +01:00
|
|
|
u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock);
|
2017-09-07 19:45:32 +02:00
|
|
|
|
|
|
|
#endif // GUARD_POKEBLOCK_H
|