PkmnLib/src/ScriptResolving/WASM/InterfaceMethods/Library/WASMMoveDataRegistry.cpp

27 lines
1.4 KiB
C++

#include "WASMMoveDataRegistry.hpp"
#include "../../../../Battling/Library/BattleLibrary.hpp"
#include "../../WebAssemblyScriptResolver.hpp"
#include "../WASMHelperFile.hpp"
#include "wasm.h"
using namespace CreatureLib::Library;
wasm_func_t* MoveData_HasFlagByHash(WebAssemblyScriptResolver* resolver) {
return WasmHelpers::CreateFunc<bool, AttackData*, u32>(
resolver, {[](WebAssemblyScriptResolver*, AttackData* move, u32 flag) -> bool { return move->HasFlag(flag); }});
}
void WASMMoveDataRegistry::Register(ArbUt::Dictionary<std::string, wasm_func_t*>& externs,
WebAssemblyScriptResolver* resolver) {
REGISTER_GETTER("move_data_get_name", AttackData, GetName, resolver)
REGISTER_GETTER("move_data_get_type", AttackData, GetType, resolver)
REGISTER_GETTER("move_data_get_category", AttackData, GetCategory, resolver)
REGISTER_GETTER("move_data_get_base_power", AttackData, GetBasePower, resolver);
REGISTER_GETTER("move_data_get_accuracy", AttackData, GetAccuracy, resolver);
REGISTER_GETTER("move_data_get_base_usages", AttackData, GetBaseUsages, resolver);
REGISTER_GETTER("move_data_get_target", AttackData, GetTarget, resolver);
REGISTER_GETTER("move_data_get_priority", AttackData, GetPriority, resolver);
REGISTER_GETTER("move_data_has_secondary_effect", AttackData, HasSecondaryEffect, resolver);
externs.Insert("move_data_has_flag_by_hash", MoveData_HasFlagByHash(resolver));
}