feat(mc-turn): Introduce refound suppression tracking in GameState to prevent duplicate refounds during turn-based gameplay

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
autocommit 2026-06-04 17:11:17 -07:00
parent 02a152b6b1
commit aabaec35e6

View file

@ -914,6 +914,13 @@ pub struct PlayerState {
/// `process_siege` when a city changes ownership.
#[serde(default)]
pub cities_lost_total: u32,
/// p1-29i: game-turn on which this player most recently LOST a city to
/// capture. Drives the post-capture refound cooldown
/// (`CombatBalance::refound_suppression`): `try_found_city` refuses to found
/// a replacement while `turn - last_city_lost_turn < cooldown_turns`.
/// `None` until the first city loss (and on old saves) → no suppression.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_city_lost_turn: Option<u32>,
/// Derived realm-level statistics recomputed at end of every turn by
/// `TurnProcessor::step → recompute_derived_stats`. All future derived
/// scalars land here — single recompute site rule, see `mc_core::derived_stats`.