PkmnLib/CInterface/Library/Nature.cpp

24 lines
1.2 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);
}