Implements Pokemon stat calculation.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
33
src/Battling/Library/StatCalculator.hpp
Normal file
33
src/Battling/Library/StatCalculator.hpp
Normal file
@@ -0,0 +1,33 @@
|
||||
#ifndef PKMNLIB_STATCALCULATOR_HPP
|
||||
#define PKMNLIB_STATCALCULATOR_HPP
|
||||
|
||||
#include <Battling/Library/BattleStatCalculator.hpp>
|
||||
#include "../../Library/Statistic.hpp"
|
||||
|
||||
namespace PkmnLib::Battling {
|
||||
class Pokemon;
|
||||
|
||||
class StatCalculator : public CreatureLib::Battling::BattleStatCalculator {
|
||||
protected:
|
||||
virtual uint32_t CalculateHealthStat(const Pokemon* pkmn) const;
|
||||
virtual uint32_t CalculateOtherStat(const Pokemon* pkmn, CreatureLib::Core::Statistic stat) const;
|
||||
virtual float GetStatBoostModifier(const CreatureLib::Battling::Creature* pkmn,
|
||||
CreatureLib::Core::Statistic stat) const;
|
||||
|
||||
public:
|
||||
~StatCalculator() override = default;
|
||||
CreatureLib::Core::StatisticSet<uint32_t>
|
||||
CalculateFlatStats(CreatureLib::Battling::Creature* creature) const override;
|
||||
|
||||
CreatureLib::Core::StatisticSet<uint32_t>
|
||||
CalculateBoostedStats(CreatureLib::Battling::Creature* creature) const override;
|
||||
|
||||
uint32_t CalculateFlatStat(CreatureLib::Battling::Creature* creature,
|
||||
CreatureLib::Core::Statistic stat) const override;
|
||||
|
||||
uint32_t CalculateBoostedStat(CreatureLib::Battling::Creature* creature,
|
||||
CreatureLib::Core::Statistic stat) const override;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // PKMNLIB_STATCALCULATOR_HPP
|
||||
Reference in New Issue
Block a user