mirror of
https://github.com/rh-hideout/pokeemerald-expansion.git
synced 2026-03-21 18:04:50 -05:00
52 lines
1.8 KiB
C
52 lines
1.8 KiB
C
#ifndef GUARD_BATTLE_GIMMICK_H
|
|
#define GUARD_BATTLE_GIMMICK_H
|
|
|
|
enum Gimmick
|
|
{
|
|
GIMMICK_NONE,
|
|
GIMMICK_MEGA,
|
|
GIMMICK_ULTRA_BURST,
|
|
GIMMICK_Z_MOVE,
|
|
GIMMICK_DYNAMAX,
|
|
GIMMICK_TERA,
|
|
GIMMICKS_COUNT,
|
|
};
|
|
|
|
struct GimmickInfo
|
|
{
|
|
const struct SpritePalette *triggerPal; // trigger gfx data
|
|
const struct SpriteSheet *triggerSheet;
|
|
const struct SpriteTemplate *triggerTemplate;
|
|
const u32 indicatorPalTag;
|
|
const u8 *indicatorData;
|
|
bool32 (*CanActivate)(enum BattlerId battler);
|
|
void (*ActivateGimmick)(enum BattlerId battler);
|
|
};
|
|
|
|
void AssignUsableGimmicks(void);
|
|
bool32 CanActivateGimmick(enum BattlerId battler, enum Gimmick gimmick);
|
|
bool32 IsGimmickSelected(enum BattlerId battler, enum Gimmick gimmick);
|
|
void SetActiveGimmick(enum BattlerId battler, enum Gimmick gimmick);
|
|
enum Gimmick GetActiveGimmick(enum BattlerId battler);
|
|
bool32 ShouldTrainerBattlerUseGimmick(enum BattlerId battler, enum Gimmick gimmick);
|
|
bool32 HasTrainerUsedGimmick(enum BattlerId battler, enum Gimmick gimmick);
|
|
void SetGimmickAsActivated(enum BattlerId battler, enum Gimmick gimmick);
|
|
|
|
void ChangeGimmickTriggerSprite(u32 spriteId, u32 animId);
|
|
void CreateGimmickTriggerSprite(enum BattlerId battler);
|
|
bool32 IsGimmickTriggerSpriteActive(void);
|
|
bool32 IsGimmickTriggerSpriteMatchingBattler(enum BattlerId battler);
|
|
void HideGimmickTriggerSprite(void);
|
|
void DestroyGimmickTriggerSprite(void);
|
|
|
|
void LoadIndicatorSpritesGfx(void);
|
|
u32 GetIndicatorPalTag(enum BattlerId battler);
|
|
void UpdateIndicatorVisibilityAndType(u32 healthboxId, bool32 invisible);
|
|
void UpdateIndicatorOamPriority(u32 healthboxId, u32 oamPriority);
|
|
void UpdateIndicatorLevelData(u32 healthboxId, u32 level);
|
|
void CreateIndicatorSprite(enum BattlerId battler);
|
|
|
|
extern const struct GimmickInfo gGimmicksInfo[];
|
|
|
|
#endif
|