35 lines
854 B
C++
35 lines
854 B
C++
#ifndef CREATURELIB_BATTLECREATURE_HPP
|
|
#define CREATURELIB_BATTLECREATURE_HPP
|
|
|
|
#include "../../GenericTemplates.cpp"
|
|
#include "../../Library/Creature.hpp"
|
|
|
|
namespace CreatureLib::Battling{
|
|
// Forward declare battle class
|
|
class Battle;
|
|
|
|
class BattleCreature {
|
|
GetProperty(Battle*, Battle);
|
|
GetProperty(uint8_t, Level);
|
|
|
|
private:
|
|
Library::Creature* _creature;
|
|
Core::StatisticSet<int8_t > _statBoost;
|
|
Core::StatisticSet<uint32_t > _fullStats;
|
|
|
|
public:
|
|
BattleCreature(Battle* battle, Library::Creature* creature);
|
|
|
|
const Library::Creature* GetBackingCreature();
|
|
void ApplyPostBattleEffects();
|
|
|
|
uint32_t GetStat(Core::Statistic stat);
|
|
void RecalculateStats();
|
|
|
|
void RecalculateStat(Core::Statistic);
|
|
};
|
|
}
|
|
|
|
|
|
#endif //CREATURELIB_BATTLECREATURE_HPP
|