battler 0.9.1

Pokémon battle engine for Rust.
Documentation
mod action;
mod battle_options;
mod battle_type;
mod calculations;
mod context;
mod context_cache;
mod core_battle;
pub mod core_battle_actions;
pub mod core_battle_effects;
pub mod core_battle_logs;
mod event_result;
mod field;
mod mon;
pub mod mon_states;
mod move_outcome;
mod outside_effect;
mod player;
mod queue;
mod registry;
mod request;
mod shift;
mod side;
mod speed_order;
pub mod weather_states;

pub use action::{
    Action,
    BeforeMoveAction,
    BeforeMoveActionInput,
    EndAction,
    EscapeAction,
    EscapeActionInput,
    ExperienceAction,
    ForfeitAction,
    ItemAction,
    ItemActionInput,
    LearnMoveAction,
    LevelUpAction,
    MonAction,
    MoveAction,
    MoveActionInput,
    OutsideEffectAction,
    SelectAction,
    SelectActionInput,
    ShiftAction,
    SwitchAction,
    SwitchActionInput,
    SwitchEventsAction,
    TeamAction,
    TeamActionInput,
};
pub use battle_options::{
    CoreBattleEngineOptions,
    CoreBattleEngineRandomizeBaseDamage,
    CoreBattleEngineSpeedSortTieResolution,
    CoreBattleOptions,
};
pub use battle_type::BattleType;
pub use calculations::{
    apply_nature_to_stats,
    calculate_hidden_power_type,
    calculate_mon_stats,
    modify_32,
};
pub use context::{
    ActiveMoveContext,
    ActiveTargetContext,
    ApplyingEffectContext,
    Context,
    EffectContext,
    FieldEffectContext,
    MonContext,
    PlayerContext,
    PlayerEffectContext,
    SideContext,
    SideEffectContext,
};
pub use context_cache::ContextCache;
pub use core_battle::{
    CoreBattle,
    PublicCoreBattle,
};
pub use event_result::{
    EventResult,
    EventResultOutput,
};
pub use field::{
    Field,
    FieldData,
    FieldEffectCache,
    FieldEnvironment,
    TimeOfDay,
};
pub use mon::{
    AbilitySlot,
    ActiveMonDetails,
    CalculateStatContext,
    EffectiveAbility,
    Mon,
    MonBattleData,
    MonEffectCache,
    MonExitType,
    MonLearnMoveRequest,
    MonMoveRequest,
    MonMoveSlotData,
    MonNextTurnState,
    MonPersistentMoveData,
    MonPositionDetails,
    MonSpecialFormeChangeType,
    MonSummaryData,
    MonSwitchState,
    MonVolatileState,
    MoveSlot,
    MoveSlotEffectCache,
    PhysicalMonDetails,
    PublicMonDetails,
    RecalculateStatsHpPolicy,
    ReceivedAttackEntry,
};
pub use move_outcome::{
    MoveOutcome,
    MoveOutcomeOnTarget,
};
pub use outside_effect::{
    OutsideEffect,
    OutsideEffectTarget,
    evaluate_outside_effect,
};
pub use player::{
    ExperienceOptions,
    ExperienceShareOptions,
    Player,
    PlayerBattleData,
    PlayerData,
    PlayerDex,
    PlayerOptions,
    PlayerType,
    WildEncounterType,
    WildPlayerOptions,
};
pub use queue::BattleQueue;
pub use registry::{
    BattleRegistry,
    MonHandle,
    MonRegistry,
    MoveHandle,
    MoveRegistry,
};
pub use request::{
    LearnMoveRequest,
    Request,
    RequestType,
    SelectPosition,
    SelectReason,
    SelectRequest,
    SwitchRequest,
    TeamPreviewRequest,
    TurnRequest,
};
pub use side::{
    Side,
    SideData,
};
pub use speed_order::{
    SpeedOrderable,
    compare_priority,
    speed_sort,
};