23 lines
1.1 KiB
C++
23 lines
1.1 KiB
C++
|
#include "../../src/Library/Natures/Nature.hpp"
|
||
|
#include "../Core.hpp"
|
||
|
using namespace PkmnLib::Library;
|
||
|
|
||
|
export Nature* PkmnLib_Nature_Construct(CreatureLib::Library::Statistic increasedStat, CreatureLib::Library::Statistic decreasedStat,
|
||
|
float increasedModifier, float decreasedModifier) {
|
||
|
return new Nature(increasedStat, decreasedStat, increasedModifier, decreasedModifier);
|
||
|
}
|
||
|
export void PkmnLib_Nature_Destruct(const Nature* p) { delete p; }
|
||
|
|
||
|
#define SIMPLE_GET_FUNC(type, name, returnType) \
|
||
|
export returnType PkmnLib_##type##_##name(const PkmnLib::Library::type* p) { return p->name(); }
|
||
|
|
||
|
SIMPLE_GET_FUNC(Nature, GetIncreaseModifier, float)
|
||
|
SIMPLE_GET_FUNC(Nature, GetDecreaseModifier, float)
|
||
|
SIMPLE_GET_FUNC(Nature, GetIncreasedStat, CreatureLib::Library::Statistic)
|
||
|
SIMPLE_GET_FUNC(Nature, GetDecreasedStat, CreatureLib::Library::Statistic)
|
||
|
|
||
|
#undef SIMPLE_GET_FUNC
|
||
|
|
||
|
export float PkmnLib_Nature_GetStatModifier(PkmnLib::Library::Nature nature, CreatureLib::Library::Statistic stat){
|
||
|
return nature.GetStatModifier(stat);
|
||
|
}
|