29 lines
817 B
Rust
Executable File
29 lines
817 B
Rust
Executable File
use crate::dynamic_data::HitData;
|
|
use crate::script_implementations::wasm::export_registry::register;
|
|
use crate::script_implementations::wasm::extern_ref::ExternRef;
|
|
use crate::script_implementations::wasm::script_resolver::WebAssemblyEnv;
|
|
use wasmer::FunctionEnvMut;
|
|
|
|
register! {
|
|
fn hit_data_get_damage(
|
|
env: FunctionEnvMut<WebAssemblyEnv>,
|
|
hit: ExternRef<HitData>,
|
|
) -> u32 {
|
|
hit.value_func(&env).unwrap().damage()
|
|
}
|
|
|
|
fn hit_data_is_critical(
|
|
env: FunctionEnvMut<WebAssemblyEnv>,
|
|
hit: ExternRef<HitData>,
|
|
) -> u8 {
|
|
if hit.value_func(&env).unwrap().is_critical() { 1 } else { 0 }
|
|
}
|
|
|
|
fn hit_data_fail(
|
|
env: FunctionEnvMut<WebAssemblyEnv>,
|
|
hit: ExternRef<HitData>,
|
|
) {
|
|
hit.value_func(&env).unwrap().fail()
|
|
}
|
|
}
|