PkmnLib.NET/PkmnLib.Dynamic/ScriptHandling/ScriptAIInformationInterfaces.cs
2025-07-11 17:03:08 +02:00

29 lines
971 B
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);
}