40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
#ifndef CREATURELIB_CREATURE_HPP
|
|
#define CREATURELIB_CREATURE_HPP
|
|
|
|
#include "DataLibrary.hpp"
|
|
#include "Gender.hpp"
|
|
#include "../GenericTemplates.cpp"
|
|
#include "../Core/StatisticSet.hpp"
|
|
|
|
namespace CreatureLib::Library{
|
|
class Creature {
|
|
GetProperty(const DataLibrary*, Library);
|
|
GetProperty(const CreatureSpecies*, Species);
|
|
GetProperty(const SpeciesVariant*, Variant);
|
|
GetProperty(uint8_t, Level);
|
|
GetProperty(uint32_t, Experience);
|
|
GetProperty(Core::StatisticSet, StatExperience);
|
|
GetProperty(Core::StatisticSet, StatPotential);
|
|
GetProperty(uint32_t, UniqueIdentifier);
|
|
GetProperty(Gender, Gender);
|
|
GetProperty(uint8_t, Coloring);
|
|
GetProperty(const Item*, HeldItem);
|
|
|
|
GetProperty(uint32_t, CurrentHealth);
|
|
private:
|
|
std::string _nickname = "";
|
|
int8_t _talentIndex;
|
|
public:
|
|
Creature(const DataLibrary* library, const CreatureSpecies* species, const SpeciesVariant* variant,
|
|
uint8_t level, std::string nickname, int8_t talentIndex, Core::StatisticSet statExperience,
|
|
Core::StatisticSet statPotential, uint32_t identifier, Gender gender,
|
|
uint8_t coloring, const Item* heldItem);
|
|
|
|
std::string GetTalent() const;
|
|
std::string GetNickname() const;
|
|
};
|
|
}
|
|
|
|
|
|
#endif //CREATURELIB_CREATURE_HPP
|