Skip to main content

weiss_core/state/
mod.rs

1//! Serializable game-state data and domain concepts.
2//!
3//! This module keeps the public `weiss_core::state::*` surface stable while the
4//! internal files are grouped by simulator concepts.
5
6mod attack;
7mod cards;
8mod choice;
9mod game;
10mod modifiers;
11mod player;
12mod reveal;
13mod stack;
14mod stage;
15mod target;
16mod turn;
17
18pub use attack::{
19    AttackContext, AttackStep, AttackType, DamageModifier, DamageModifierKind, DamageType,
20    DerivedAttackSlot, DerivedAttackState, EncoreRequest, PendingTrigger, TriggerEffect,
21    TriggerOrderState,
22};
23pub use cards::{CardInstance, CardInstanceId};
24pub use choice::{
25    ChoiceOptionRef, ChoiceReason, ChoiceState, ChoiceZone, CostPaymentOutcome, CostPaymentState,
26    CostStepKind,
27};
28pub use game::{GameState, TerminalResult, TurnState};
29pub use modifiers::{
30    GrantedAbilityInstance, ModifierDuration, ModifierInstance, ModifierKind, ModifierLayer,
31};
32pub use player::PlayerState;
33pub use reveal::{RevealHistory, REVEAL_HISTORY_LEN};
34pub use stack::{PriorityState, StackItem, StackOrderState};
35pub use stage::{StageSlot, StageStatus};
36pub use target::{
37    PendingTargetEffect, TargetRef, TargetSelectionState, TargetSide, TargetSlotFilter, TargetSpec,
38    TargetZone,
39};
40pub use turn::{Phase, TimingWindow};