From 9943ecdd043bc3b176b1f8d26fce245a85df11e9 Mon Sep 17 00:00:00 2001 From: Natalie Date: Sat, 9 May 2026 12:35:18 -0700 Subject: [PATCH] =?UTF-8?q?feat(@magic-civilization):=20=E2=9C=A8=20add=20?= =?UTF-8?q?combat=20balance=20config=20field?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- src/simulator/crates/mc-turn/src/game_state.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/simulator/crates/mc-turn/src/game_state.rs b/src/simulator/crates/mc-turn/src/game_state.rs index b45cd859..efe977f1 100644 --- a/src/simulator/crates/mc-turn/src/game_state.rs +++ b/src/simulator/crates/mc-turn/src/game_state.rs @@ -309,6 +309,13 @@ pub struct GameState { /// `CombatOutcome::RansomOffered`. #[serde(default)] pub ransom_queue: crate::ransom::RansomQueue, + /// p2-55f: data-driven combat balance config (ransom durations, XP + /// awards, multipliers). Loaded from + /// `public/games/age-of-dwarves/data/combat_balance.json` at game start + /// via `crate::combat_balance::load_combat_balance`. Defaults to the + /// pre-p2-55f hardcoded constants so save migration is no-op. + #[serde(default)] + pub combat_balance: crate::combat_balance::CombatBalance, /// p3-10b: per-lair-tile siege pressure state. Keyed by `(col, row)` /// of the lair tile. Bridge layer ticks pressure each turn via /// `mc_combat::lair::tick_siege` / `decay_siege`; entries are removed