2020-01-26 14:18:04 +00:00
|
|
|
#ifndef PKMNLIB_DAMAGELIBRARY_HPP
|
|
|
|
#define PKMNLIB_DAMAGELIBRARY_HPP
|
|
|
|
|
2020-02-08 18:22:29 +00:00
|
|
|
#include <CreatureLib/Battling/Library/DamageLibrary.hpp>
|
2020-01-26 14:18:04 +00:00
|
|
|
namespace PkmnLib::Battling {
|
2020-10-15 16:13:00 +00:00
|
|
|
class DamageLibrary final : public CreatureLib::Battling::DamageLibrary {
|
2021-08-24 18:57:45 +00:00
|
|
|
bool _hasRandomness;
|
|
|
|
|
2020-01-26 14:18:04 +00:00
|
|
|
public:
|
2021-08-24 18:57:45 +00:00
|
|
|
explicit DamageLibrary(bool hasRandomness = true) : _hasRandomness(hasRandomness) {}
|
|
|
|
|
2022-03-25 18:08:42 +00:00
|
|
|
uint32_t GetDamage(CreatureLib::Battling::ExecutingAttack* non_null attack,
|
|
|
|
CreatureLib::Battling::Creature* non_null target, uint8_t hitIndex,
|
2020-04-25 14:59:27 +00:00
|
|
|
const CreatureLib::Battling::ExecutingAttack::HitData& hitData) const override;
|
2020-01-26 14:18:04 +00:00
|
|
|
|
2022-03-25 18:08:42 +00:00
|
|
|
uint8_t GetBasePower(CreatureLib::Battling::ExecutingAttack* non_null attack,
|
|
|
|
CreatureLib::Battling::Creature* non_null target, uint8_t hitIndex,
|
2020-04-25 14:59:27 +00:00
|
|
|
const CreatureLib::Battling::ExecutingAttack::HitData& hitData) const override;
|
2022-03-25 18:08:42 +00:00
|
|
|
float GetStatModifier(CreatureLib::Battling::ExecutingAttack* non_null attack,
|
|
|
|
CreatureLib::Battling::Creature* non_null target, uint8_t hitIndex,
|
2020-04-25 14:59:27 +00:00
|
|
|
const CreatureLib::Battling::ExecutingAttack::HitData& hitData) const override;
|
2022-03-25 18:08:42 +00:00
|
|
|
float GetDamageModifier(CreatureLib::Battling::ExecutingAttack* non_null attack,
|
|
|
|
CreatureLib::Battling::Creature* non_null target, uint8_t hitIndex,
|
2020-04-25 14:59:27 +00:00
|
|
|
const CreatureLib::Battling::ExecutingAttack::HitData& hitData) const override;
|
2020-01-26 14:18:04 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // PKMNLIB_DAMAGELIBRARY_HPP
|