PkmnLib.NET/PkmnLib.Dynamic/Libraries/CaptureLibrary.cs

25 lines
643 B
C#
Raw Permalink Normal View History

2025-01-10 10:58:23 +00:00
using PkmnLib.Dynamic.Models;
using PkmnLib.Static;
namespace PkmnLib.Dynamic.Libraries;
public record struct CaptureResult
{
public CaptureResult(bool IsCaught, int Shakes, bool CriticalCapture)
{
this.IsCaught = IsCaught;
this.Shakes = Shakes;
this.CriticalCapture = CriticalCapture;
}
public bool IsCaught { get; init; }
public int Shakes { get; init; }
public bool CriticalCapture { get; init; }
2025-03-02 16:19:57 +00:00
public static CaptureResult Failed => new(false, 0, false);
2025-01-10 10:58:23 +00:00
}
public interface ICaptureLibrary
{
CaptureResult TryCapture(IPokemon target, IItem captureItem, IBattleRandom random);
}