Implementation of Pokeballs
This commit is contained in:
25
PkmnLib.Dynamic/Libraries/CaptureLibrary.cs
Normal file
25
PkmnLib.Dynamic/Libraries/CaptureLibrary.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
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; }
|
||||
|
||||
public static CaptureResult Failed => new CaptureResult(false, 0, false);
|
||||
}
|
||||
|
||||
public interface ICaptureLibrary
|
||||
{
|
||||
CaptureResult TryCapture(IPokemon target, IItem captureItem, IBattleRandom random);
|
||||
}
|
||||
Reference in New Issue
Block a user