#ifndef CREATURELIB_BATTLESTATCALCULATOR_HPP #define CREATURELIB_BATTLESTATCALCULATOR_HPP #include "../../Library/StatisticSet.hpp" namespace CreatureLib::Battling { // predeclare BattleCreature class class Creature; class BattleStatCalculator { public: virtual ~BattleStatCalculator() = default; virtual Library::StatisticSet CalculateFlatStats(Creature* creature) const; virtual Library::StatisticSet CalculateBoostedStats(Creature* creature) const; virtual u32 CalculateFlatStat(Creature* creature, Library::Statistic stat) const; virtual u32 CalculateBoostedStat(Creature* creature, Library::Statistic stat) const; }; } #endif // CREATURELIB_BATTLESTATCALCULATOR_HPP