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> /// Gets the current time of day for the battle. /// </summary> TimeOfDay GetTimeOfDay(); bool CanFlee(IBattle battle, IFleeChoice fleeChoice); }