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,30 @@
using PkmnLib.Dynamic.Models;
using PkmnLib.Static;
namespace PkmnLib.Dynamic.Libraries;
/// <summary>
/// A battle stat calculator is used to calculate stats for a Pokemon.
/// </summary>
public interface IBattleStatCalculator
{
/// <summary>
/// Calculate all the flat stats of a Pokemon, disregarding stat boosts.
/// </summary>
void CalculateFlatStats(IPokemon pokemon, StatisticSet<uint> stats);
/// <summary>
/// Calculate a single flat stat of a Pokemon, disregarding stat boosts.
/// </summary>
uint CalculateFlatStat(IPokemon pokemon, Statistic stat);
/// <summary>
/// Calculate all the boosted stats of a Pokemon, including stat boosts.
/// </summary>
void CalculateBoostedStats(IPokemon pokemon, StatisticSet<uint> stats);
/// <summary>
/// Calculate a single boosted stat of a Pokemon, including stat boosts.
/// </summary>
uint CalculateBoostedStat(IPokemon pokemon, Statistic stat);
}