pokeplatinum/include/battle/trainer_ai.h
2024-07-06 14:40:34 -07:00

38 lines
1.1 KiB
C

#ifndef POKEPLATINUM_BATTLE_TRAINER_AI_H
#define POKEPLATINUM_BATTLE_TRAINER_AI_H
#include "struct_decls/battle_system.h"
#include "battle/battle_context.h"
/**
* @brief Initialize the trainer AI for a given battler.
*
* @param battleSys
* @param battleCtx
* @param battler The battler to be initialized
* @param initScore Bitmask of moves to have their scores initialized; moves
* flagged as such will be initially scored at 100 instead of 0.
*/
void TrainerAI_Init(BattleSystem *battleSys, BattleContext *battleCtx, u8 battler, u8 initScore);
/**
* @brief Execute the trainer AI routine for a given battler.
*
* @param battleSys
* @param battler The battler to be executed
* @return AI execution routine result
*/
u8 TrainerAI_Main(BattleSystem *battleSys, u8 battler);
/**
* @brief Pick the command for a battler to execute.
*
* @param battleSys
* @param battler The battler who is waiting to choose their turn's action
* @return The action to be executed for this battler
*/
int TrainerAI_PickCommand(BattleSystem *battleSys, int battler);
#endif // POKEPLATINUM_BATTLE_TRAINER_AI_H