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