// Linter modifications #![allow(clippy::too_many_arguments, clippy::needless_range_loop)] #![allow(clippy::not_unsafe_ptr_arg_deref)] #![allow(clippy::borrowed_box)] #![allow(incomplete_features)] #![allow(ambiguous_glob_reexports)] #![deny(missing_docs)] #![deny(clippy::missing_docs_in_private_items)] // #![deny(clippy::unwrap_used)] // #![deny(clippy::expect_used)] // Features #![feature(test)] #![feature(const_option)] #![feature(new_uninit)] #![feature(get_mut_unchecked)] #![feature(strict_provenance)] #![feature(fn_traits)] #![feature(unboxed_closures)] #![feature(trait_upcasting)] #![feature(lazy_cell)] #![feature(is_some_and)] //! PkmnLib //! PkmnLib is a full featured implementation of Pokemon. while currently focused on implementing //! generation 7, this library tries to offload generational differences such as move effects //! to a scripting library. //! extern crate core; #[macro_use] extern crate enum_display_derive; #[doc(hidden)] pub use utils::*; use crate::dynamic_data::ScriptCategory; /// The defines module holds the core defines of the library pub mod defines; /// The dynamic data module holds data that can change during execution, and things that relate to /// this. This includes things as Pokemon themselves, battles, etc. pub mod dynamic_data; /// The Foreign Function Interface allows for non Rust applications to call this library. #[cfg(feature = "ffi")] mod ffi; /// Script implementations handles the different ways that dynamic scripts get loaded during battle. pub mod script_implementations; /// The static data module holds data that can be set once, and then never change. This includes /// things such as data about Pokemon species, data about items, etc. pub mod static_data; /// The utils module includes misc utils that are used within PkmnLib pub mod utils;