feat(turn): ✨ Update turn processing logic with improved state validation and player turn transitions
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
parent
f4aad57cce
commit
41f2363ba7
1 changed files with 10 additions and 0 deletions
|
|
@ -779,6 +779,16 @@ pub struct PlayerState {
|
|||
/// Empty = fall-through to default at dispatch time.
|
||||
#[serde(default)]
|
||||
pub controller_id: String,
|
||||
/// p1-29h — cross-turn tactical memory: the army-level target-lock +
|
||||
/// commitment-hysteresis channel that makes the AI's war decisive
|
||||
/// (capture → press on → elimination) instead of indecisive (capture →
|
||||
/// disperse → opponent refounds). Borrowed `&mut` by
|
||||
/// `mc_player_api::dispatch::drive_ai_slot` and threaded into the tactical
|
||||
/// movement layer. `#[serde(skip)]` — transient; re-acquired from scratch
|
||||
/// (at most one no-lock turn) after a save/load rather than persisted into
|
||||
/// the save format, keeping the `mc-save` contract unchanged.
|
||||
#[serde(skip)]
|
||||
pub tactical_memory: mc_ai::tactical::TacticalMemory,
|
||||
/// Accumulated expansion capacity (earned from the `expansion` axis).
|
||||
pub expansion_points: u32,
|
||||
/// Per-city list of constructed building IDs. Aligned with `cities`.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue