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 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,
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 field::{
Field,
FieldData,
FieldEffectCache,
FieldEnvironment,
TimeOfDay,
};
pub use mon::{
AbilitySlot,
ActiveMonDetails,
CalculateStatContext,
Mon,
MonBattleData,
MonEffectCache,
MonExitType,
MonLearnMoveRequest,
MonMoveRequest,
MonMoveSlotData,
MonNextTurnState,
MonPersistentMoveData,
MonPositionDetails,
MonSpecialFormeChangeType,
MonSummaryData,
MonSwitchState,
MonVolatileState,
MoveSlot,
MoveSlotEffectCache,
PhysicalMonDetails,
PublicMonDetails,
RecalculateBaseStatsHpPolicy,
ReceivedAttackEntry,
};
pub use move_outcome::{
MoveEventResult,
MoveOutcome,
MoveOutcomeOnTarget,
};
pub use outside_effect::{
OutsideEffect,
OutsideEffectTarget,
evaluate_outside_effect,
};
pub use player::{
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,
SwitchRequest,
TeamPreviewRequest,
TurnRequest,
};
pub use side::{
Side,
SideData,
};
pub use speed_order::{
SpeedOrderable,
compare_priority,
speed_sort,
};