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