29 lines
1.6 KiB
C++
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
|