PkmnLib/src/Battling/Library/DamageLibrary.hpp

29 lines
1.6 KiB
C++

#ifndef PKMNLIB_DAMAGELIBRARY_HPP
#define PKMNLIB_DAMAGELIBRARY_HPP
#include <CreatureLib/Battling/Library/DamageLibrary.hpp>
namespace PkmnLib::Battling {
class DamageLibrary final : public CreatureLib::Battling::DamageLibrary {
bool _hasRandomness;
public:
explicit DamageLibrary(bool hasRandomness = true) : _hasRandomness(hasRandomness) {}
uint32_t GetDamage(CreatureLib::Battling::ExecutingAttack* non_null attack,
CreatureLib::Battling::Creature* non_null target, uint8_t hitIndex,
const CreatureLib::Battling::ExecutingAttack::HitData& hitData) const override;
uint8_t GetBasePower(CreatureLib::Battling::ExecutingAttack* non_null attack,
CreatureLib::Battling::Creature* non_null target, uint8_t hitIndex,
const CreatureLib::Battling::ExecutingAttack::HitData& hitData) const override;
float GetStatModifier(CreatureLib::Battling::ExecutingAttack* non_null attack,
CreatureLib::Battling::Creature* non_null target, uint8_t hitIndex,
const CreatureLib::Battling::ExecutingAttack::HitData& hitData) const override;
float GetDamageModifier(CreatureLib::Battling::ExecutingAttack* non_null attack,
CreatureLib::Battling::Creature* non_null target, uint8_t hitIndex,
const CreatureLib::Battling::ExecutingAttack::HitData& hitData) const override;
};
}
#endif // PKMNLIB_DAMAGELIBRARY_HPP