2019-10-17 12:33:25 +00:00
|
|
|
#ifndef CREATURELIB_BATTLESTATCALCULATOR_HPP
|
|
|
|
#define CREATURELIB_BATTLESTATCALCULATOR_HPP
|
|
|
|
|
|
|
|
#include "../../Core/StatisticSet.hpp"
|
|
|
|
|
|
|
|
namespace CreatureLib::Battling {
|
|
|
|
//predeclare BattleCreature class
|
2019-10-24 11:37:55 +00:00
|
|
|
class Creature;
|
2019-10-17 12:33:25 +00:00
|
|
|
|
|
|
|
class BattleStatCalculator {
|
|
|
|
public:
|
2019-10-24 11:37:55 +00:00
|
|
|
virtual ~BattleStatCalculator() = default;
|
|
|
|
|
|
|
|
virtual Core::StatisticSet<uint32_t > CalculateFlatStats(Creature* creature) const;
|
|
|
|
virtual Core::StatisticSet<uint32_t > CalculateBoostedStats(Creature* creature) const;
|
|
|
|
virtual uint32_t CalculateFlatStat(Creature* creature, Core::Statistic stat) const;
|
|
|
|
virtual uint32_t CalculateBoostedStat(Creature* creature, Core::Statistic stat) const;
|
2019-10-17 12:33:25 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif //CREATURELIB_BATTLESTATCALCULATOR_HPP
|