PkmnLib_rs/src/ffi/dynamic_data/libraries/damage_library.rs

12 lines
523 B
Rust

use crate::dynamic_data::{DamageLibrary, Gen7DamageLibrary};
use crate::ffi::ffi_handle::FFIHandle;
use std::sync::Arc;
/// Creates a new generation 7 damage library. `has_randomness` defines whether a random damage
/// modifier (0.85x - 1.00x) is applied to the calculated damage.
#[no_mangle]
extern "C" fn gen_7_damage_library_new(has_randomness: u8) -> FFIHandle<Arc<dyn DamageLibrary>> {
let v: Arc<dyn DamageLibrary> = Arc::new(Gen7DamageLibrary::new(has_randomness == 1));
FFIHandle::get_handle(v.into())
}