2020-12-20 22:47:20 +01:00
|
|
|
#ifndef GUARD_BATTLE_AI_MAIN_H
|
|
|
|
#define GUARD_BATTLE_AI_MAIN_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
|
2021-11-28 19:12:56 +01:00
|
|
|
#define AI_CHOICE_FLEE 4
|
|
|
|
#define AI_CHOICE_WATCH 5
|
|
|
|
#define AI_CHOICE_SWITCH 7
|
2018-06-17 16:48:58 +02:00
|
|
|
|
2021-01-04 23:30:02 +01:00
|
|
|
#define RETURN_SCORE_PLUS(val) \
|
|
|
|
{ \
|
|
|
|
score += val; \
|
|
|
|
return score; \
|
|
|
|
}
|
|
|
|
|
|
|
|
#define RETURN_SCORE_MINUS(val) \
|
|
|
|
{ \
|
|
|
|
score -= val; \
|
|
|
|
return score; \
|
|
|
|
}
|
|
|
|
|
2022-06-05 17:09:04 +02:00
|
|
|
u8 ComputeBattleAiScores(u8 battler);
|
2018-12-22 20:57:12 +01:00
|
|
|
void BattleAI_SetupItems(void);
|
|
|
|
void BattleAI_SetupFlags(void);
|
2023-08-30 10:18:31 +02:00
|
|
|
void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler);
|
2017-09-05 09:41:48 +02:00
|
|
|
u8 BattleAI_ChooseMoveOrAction(void);
|
2022-08-23 01:07:25 +02:00
|
|
|
void Ai_InitPartyStruct(void);
|
|
|
|
void Ai_UpdateSwitchInData(u32 battler);
|
2022-08-23 11:58:17 +02:00
|
|
|
void Ai_UpdateFaintData(u32 battler);
|
2022-01-13 17:28:27 +01:00
|
|
|
void GetAiLogicData(void);
|
2017-09-05 09:41:48 +02:00
|
|
|
|
2020-12-11 16:05:00 +01:00
|
|
|
extern u8 sBattler_AI;
|
|
|
|
|
2020-12-20 22:47:20 +01:00
|
|
|
#endif // GUARD_BATTLE_AI_MAIN_H
|