2019-11-05 13:31:54 +00:00
|
|
|
#ifndef CREATURELIB_DAMAGELIBRARY_HPP
|
|
|
|
#define CREATURELIB_DAMAGELIBRARY_HPP
|
|
|
|
|
|
|
|
#include "../Models/Creature.hpp"
|
|
|
|
#include "../Models/ExecutingAttack.hpp"
|
|
|
|
|
2019-11-28 11:55:22 +00:00
|
|
|
namespace CreatureLib::Battling {
|
2019-11-05 13:31:54 +00:00
|
|
|
class DamageLibrary {
|
|
|
|
public:
|
2019-11-05 16:27:54 +00:00
|
|
|
virtual ~DamageLibrary() = default;
|
2020-04-25 14:51:10 +00:00
|
|
|
virtual uint32_t GetDamage(ExecutingAttack* attack, Creature* target, uint8_t hitIndex,
|
|
|
|
const ExecutingAttack::HitData& hitData) const;
|
2019-11-05 13:31:54 +00:00
|
|
|
|
2020-04-25 14:51:10 +00:00
|
|
|
virtual uint8_t GetBasePower(ExecutingAttack* attack, Creature* target, uint8_t hitIndex,
|
|
|
|
const ExecutingAttack::HitData& hitData) const;
|
|
|
|
virtual float GetStatModifier(ExecutingAttack* attack, Creature* target, uint8_t hitIndex,
|
|
|
|
const ExecutingAttack::HitData& hitData) const;
|
|
|
|
virtual float GetDamageModifier(ExecutingAttack* attack, Creature* target, uint8_t hitIndex,
|
|
|
|
const ExecutingAttack::HitData& hitData) const;
|
2019-11-05 13:31:54 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2019-11-28 11:55:22 +00:00
|
|
|
#endif // CREATURELIB_DAMAGELIBRARY_HPP
|