Begin work on outlining dynamic side
This commit is contained in:
24
PkmnLib.Dynamic/Libraries/DamageCalculator.cs
Normal file
24
PkmnLib.Dynamic/Libraries/DamageCalculator.cs
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user