using PkmnLib.Dynamic.Models; using PkmnLib.Dynamic.Models.Choices; using PkmnLib.Static; namespace PkmnLib.Dynamic.Libraries; /// /// Miscellaneous handlings for battles. /// public interface IMiscLibrary { /// /// 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. /// ITurnChoice ReplacementChoice(IPokemon user, byte targetSide, byte targetPosition); /// /// Returns whether the given choice is the choice that is used when the user is unable to make a move choice. /// (usually struggle). /// bool IsReplacementChoice(ITurnChoice choice); /// /// Gets the current time of day for the battle. /// TimeOfDay GetTimeOfDay(); /// /// Returns whether the given Pokemon can flee from the battle. /// bool CanFlee(IBattle battle, IFleeChoice fleeChoice); }