Deukhoofd 32aaa5150a
All checks were successful
Build / Build (push) Successful in 54s
Initial setup for testing AI performance, random fixes
2025-07-05 13:56:33 +02:00

33 lines
1.0 KiB
C#

using PkmnLib.Dynamic.Models;
using PkmnLib.Dynamic.Models.Choices;
using PkmnLib.Static;
namespace PkmnLib.Dynamic.Libraries;
/// <summary>
/// Miscellaneous handlings for battles.
/// </summary>
public interface IMiscLibrary
{
/// <summary>
/// Returns the choice that's used when a Pokemon is unable to make the move choice it wants to, or when it has no
/// moves left, yet wants to make a move.
/// </summary>
ITurnChoice ReplacementChoice(IPokemon user, byte targetSide, byte targetPosition);
/// <summary>
/// Returns whether the given choice is the choice that is used when the user is unable to make a move choice.
/// (usually struggle).
/// </summary>
bool IsReplacementChoice(ITurnChoice choice);
/// <summary>
/// Gets the current time of day for the battle.
/// </summary>
TimeOfDay GetTimeOfDay();
/// <summary>
/// Returns whether the given Pokemon can flee from the battle.
/// </summary>
bool CanFlee(IBattle battle, IFleeChoice fleeChoice);
}