Implements Pokemon stat calculation.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-01-05 15:18:30 +01:00
parent 02ab4b3272
commit 191b128125
12 changed files with 323 additions and 31 deletions

View 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