PkmnLib/src/Library/Moves/MoveData.hpp

24 lines
993 B
C++

#ifndef PKMNLIB_MOVEDATA_HPP
#define PKMNLIB_MOVEDATA_HPP
#include <CreatureLib/Library/Attacks/AttackData.hpp>
#include "MoveCategory.hpp"
namespace PkmnLib::Library {
class MoveData final : public CreatureLib::Library::AttackData {
private:
public:
MoveData(const ArbUt::StringView& name, u8 type, PkmnLib::Library::MoveCategory category, u8 power, u8 accuracy,
u8 baseUsage, CreatureLib::Library::AttackTarget target, i8 priority,
const CreatureLib::Library::SecondaryEffect* nullable effect, std::unordered_set<u32> flags)
: AttackData(name, type, static_cast<CreatureLib::Library::AttackCategory>(category), power, accuracy, baseUsage,
target, priority, effect, std::move(flags)) {};
inline PkmnLib::Library::MoveCategory GetCategory() const {
return static_cast<PkmnLib::Library::MoveCategory>(AttackData::GetCategory());
}
};
}
#endif // PKMNLIB_MOVEDATA_HPP