#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