41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
using PkmnLib.Dynamic.Models;
|
|
|
|
namespace PkmnLib.Dynamic.ScriptHandling;
|
|
|
|
// These interfaces are used for the AI to determine contextual information about the battle.
|
|
|
|
/// <summary>
|
|
/// Script for getting the number of turns left on a script by the AI.
|
|
/// </summary>
|
|
public interface IAIInfoScriptNumberTurnsLeft
|
|
{
|
|
/// <summary>
|
|
/// This function returns the number of turns left on the script. This is used for scripts that have a
|
|
/// limited number of turns, such as Sleep or Confusion.
|
|
/// </summary>
|
|
int TurnsLeft();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Script for getting the expected end of turn damage by the AI.
|
|
/// </summary>
|
|
public interface IAIInfoScriptExpectedEndOfTurnDamage
|
|
{
|
|
/// <summary>
|
|
/// This function returns the expected end of turn damage for the script. This is used for scripts that
|
|
/// have an end of turn effect, such as Poison or Burn.
|
|
/// </summary>
|
|
void ExpectedEndOfTurnDamage(IPokemon pokemon, ref int damage);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Script for getting the expected entry damage by the AI.
|
|
/// </summary>
|
|
public interface IAIInfoScriptExpectedEntryDamage
|
|
{
|
|
/// <summary>
|
|
/// This function returns the expected entry damage for the script. This is used for scripts that have
|
|
/// an entry hazard effect, such as Spikes or Stealth Rock.
|
|
/// </summary>
|
|
void ExpectedEntryDamage(IPokemon pokemon, ref uint damage);
|
|
} |