Begin work on outlining dynamic side

This commit is contained in:
2024-07-27 16:26:45 +02:00
parent 1b501dee7e
commit a251913ebd
44 changed files with 2150 additions and 19 deletions

View File

@@ -0,0 +1,24 @@
using PkmnLib.Dynamic.Models;
namespace PkmnLib.Dynamic.Libraries;
/// <summary>
/// A damage library holds the functions related to the calculation of damage.
/// </summary>
public interface IDamageCalculator
{
/// <summary>
/// Calculate the damage for a given hit on a Pokemon.
/// </summary>
uint GetDamage(IExecutingMove executingMove, IPokemon target, byte hitNumber, HitData hitData);
/// <summary>
/// Calculate the base power for a given hit on a Pokemon.
/// </summary>
byte GetBasePower(IExecutingMove executingMove, IPokemon target, byte hitNumber, HitData hitData);
/// <summary>
/// Returns whether a specified hit should be critical or not.
/// </summary>
bool IsCritical(IBattle battle, IExecutingMove executingMove, IPokemon target, byte hitNumber);
}