84a9d4ffcf
* wrote foundational terastal tests * implemented baseline test-only Tera functionality; modified GetBattlerType + STAB calculations, misc. changes to some moves * added tests and func. for Stellar type, more tests for Tera Blast * more tests for Stellar type, Conversion fixes, Color Change + Conversion2 future proof * implemented tera blast, expanded stellar type func., fixed tests * last set of Tera/Tera Blast tests for checklist, protean fix * implemented in-battle Terastallization, WIP stellar indicator and tera animation * fixed bad merge * expanded NUMBER_OF_MON_TYPES, cut down on TYPE_STELLAR hackiness, added Stellar type to summary * fixed type indicators * added tera logic to AI * implemented code review changes, added B_TERA_ORB_NO_COST * updated AI to calc damage with Tera when applicable; minor rework to AI gimmick handling * fixed Tera Blast split choice occuring when not Terastallized * fixed Tera Blast using Last Respects BP calcs * added tera type to TrainerMon, code review tweaks
30 lines
1.1 KiB
C
30 lines
1.1 KiB
C
#ifndef GUARD_BATTLE_TERASTAL_H
|
|
#define GUARD_BATTLE_TERASTAL_H
|
|
|
|
void PrepareBattlerForTera(u32 battler);
|
|
bool32 CanTerastallize(u32 battler);
|
|
u32 GetBattlerTeraType(u32 battler);
|
|
bool32 IsTerastallized(u32 battler);
|
|
void ExpendTypeStellarBoost(u32 battler, u32 type);
|
|
bool32 IsTypeStellarBoosted(u32 battler, u32 type);
|
|
uq4_12_t GetTeraMultiplier(u32 battler, u32 type);
|
|
|
|
u16 GetTeraTypeRGB(u32 type);
|
|
|
|
void ChangeTeraTriggerSprite(u8 spriteId, u8 animId);
|
|
void CreateTeraTriggerSprite(u8 battler, u8 palId);
|
|
bool32 IsTeraTriggerSpriteActive(void);
|
|
void HideTeraTriggerSprite(void);
|
|
void DestroyTeraTriggerSprite(void);
|
|
|
|
void TeraIndicator_LoadSpriteGfx(void);
|
|
bool32 TeraIndicator_ShouldBeInvisible(u32 battler);
|
|
u8 TeraIndicator_GetSpriteId(u32 healthboxSpriteId);
|
|
void TeraIndicator_SetVisibilities(u32 healthboxId, bool32 invisible);
|
|
void TeraIndicator_UpdateOamPriorities(u32 healthboxId, u32 oamPriority);
|
|
void TeraIndicator_UpdateLevel(u32 healthboxId, u32 level);
|
|
void TeraIndicator_CreateSprite(u32 battler, u32 healthboxSpriteId);
|
|
void TeraIndicator_DestroySprite(u32 healthboxSpriteId);
|
|
void TeraIndicator_UpdateType(u32 battler, u32 healthboxSpriteId);
|
|
|
|
#endif
|