2017-09-28 17:38:07 +02:00
|
|
|
#ifndef GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
|
|
|
|
#define GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
|
2017-09-05 09:41:48 +02:00
|
|
|
|
2018-06-17 16:48:58 +02:00
|
|
|
// return values for BattleAI_ChooseMoveOrAction
|
|
|
|
// 0 - 3 are move idx
|
|
|
|
#define AI_CHOICE_FLEE 4
|
|
|
|
#define AI_CHOICE_WATCH 5
|
2019-06-11 10:45:12 +02:00
|
|
|
#define AI_CHOICE_SWITCH 7
|
2018-06-17 16:48:58 +02:00
|
|
|
|
2018-07-15 12:39:07 +02:00
|
|
|
s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef);
|
|
|
|
s32 AI_CalcPartyMonDamage(u16 move, u8 battlerAtk, u8 battlerDef, struct Pokemon *mon);
|
|
|
|
u16 AI_GetTypeEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef);
|
2018-12-22 20:57:12 +01:00
|
|
|
void BattleAI_SetupItems(void);
|
|
|
|
void BattleAI_SetupFlags(void);
|
2017-09-05 09:41:48 +02:00
|
|
|
void BattleAI_SetupAIData(u8 defaultScoreMoves);
|
|
|
|
u8 BattleAI_ChooseMoveOrAction(void);
|
2019-09-01 14:23:11 +02:00
|
|
|
bool32 IsTruantMonVulnerable(u32 battlerAI, u32 opposingBattler);
|
2020-04-14 13:40:27 +02:00
|
|
|
bool32 IsBattlerAIControlled(u32 battlerId);
|
2018-06-17 16:48:58 +02:00
|
|
|
void ClearBattlerMoveHistory(u8 battlerId);
|
2020-07-15 21:30:24 +02:00
|
|
|
void RecordLastUsedMoveBy(u32 battlerId, u32 move);
|
|
|
|
void RecordKnownMove(u8 battlerId, u32 move);
|
2020-05-18 23:54:12 +02:00
|
|
|
void RecordAbilityBattle(u8 battlerId, u16 abilityId);
|
2018-06-17 16:48:58 +02:00
|
|
|
void ClearBattlerAbilityHistory(u8 battlerId);
|
|
|
|
void RecordItemEffectBattle(u8 battlerId, u8 itemEffect);
|
|
|
|
void ClearBattlerItemEffectHistory(u8 battlerId);
|
2017-09-05 09:41:48 +02:00
|
|
|
|
2017-09-28 17:38:07 +02:00
|
|
|
#endif // GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
|