diff --git a/src/simulator/crates/mc-player-api/tests/common/mod.rs b/src/simulator/crates/mc-player-api/tests/common/mod.rs index 784d0d3a..74cb8e7e 100644 --- a/src/simulator/crates/mc-player-api/tests/common/mod.rs +++ b/src/simulator/crates/mc-player-api/tests/common/mod.rs @@ -24,7 +24,7 @@ use mc_ai::evaluator::ScoringWeights; use mc_ai::tactical::state::{TacticalBuildingSpec, TacticalUnitSpec}; use mc_turn::game_state::{GameState, MapUnit, PlayerState}; -use mc_units::{UnitStats, UnitsCatalog}; +use mc_units::{CombatStats, UnitStats, UnitsCatalog}; /// Mirror of `GdGameState::add_player_militarist` (api-gdext/src/lib.rs). /// @@ -213,6 +213,8 @@ pub fn build_runtime_units_catalog() -> UnitsCatalog { ransom_multiplier: 2.0, build_cost: 0, logistics: None, + // Mirrors public/resources/units/dwarf_warrior.json combat line. + combat: CombatStats { hp: 60, attack: 12, defense: 1, ..Default::default() }, }); cat.insert(UnitStats { id: "dwarf_founder".into(), @@ -223,6 +225,7 @@ pub fn build_runtime_units_catalog() -> UnitsCatalog { ransom_multiplier: 2.0, build_cost: 80, logistics: None, + combat: CombatStats::default(), }); cat } diff --git a/src/simulator/crates/mc-turn/tests/capture_caravan.rs b/src/simulator/crates/mc-turn/tests/capture_caravan.rs index b552d5bb..42ec910f 100644 --- a/src/simulator/crates/mc-turn/tests/capture_caravan.rs +++ b/src/simulator/crates/mc-turn/tests/capture_caravan.rs @@ -22,7 +22,7 @@ use mc_replay::TurnEvent; use mc_turn::{ capture::CapturePosture, AttackRequest, GameState, MapUnit, PlayerState, TurnProcessor, }; -use mc_units::{UnitStats as CatalogUnitStats, UnitsCatalog}; +use mc_units::{CombatStats, UnitStats as CatalogUnitStats, UnitsCatalog}; const CARAVAN_ID: u32 = 900; const MERCHANT_ID: u32 = 901; @@ -38,6 +38,7 @@ fn build_trade_catalog() -> UnitsCatalog { ransom_multiplier: 2.0, build_cost: 0, logistics: None, + combat: CombatStats::default(), }); // merchant.json: tier-1 trade GP — premium ransom multiplier, modest cost. cat.insert(CatalogUnitStats { @@ -49,6 +50,7 @@ fn build_trade_catalog() -> UnitsCatalog { ransom_multiplier: 3.0, build_cost: 80, logistics: None, + combat: CombatStats::default(), }); // caravan_master.json: tier-3 — higher cost AND higher multiplier. cat.insert(CatalogUnitStats { @@ -60,6 +62,7 @@ fn build_trade_catalog() -> UnitsCatalog { ransom_multiplier: 3.5, build_cost: 160, logistics: None, + combat: CombatStats::default(), }); cat } diff --git a/src/simulator/crates/mc-turn/tests/capture_engineer.rs b/src/simulator/crates/mc-turn/tests/capture_engineer.rs index 70a76f41..e3c407db 100644 --- a/src/simulator/crates/mc-turn/tests/capture_engineer.rs +++ b/src/simulator/crates/mc-turn/tests/capture_engineer.rs @@ -27,7 +27,7 @@ use mc_replay::TurnEvent; use mc_turn::{ capture::CapturePosture, AttackRequest, GameState, MapUnit, PlayerState, TurnProcessor, }; -use mc_units::{UnitStats as CatalogUnitStats, UnitsCatalog}; +use mc_units::{CombatStats, UnitStats as CatalogUnitStats, UnitsCatalog}; const ENGINEER_ID: u32 = 800; @@ -42,6 +42,7 @@ fn build_engineer_catalog() -> UnitsCatalog { ransom_multiplier: 2.0, build_cost: 0, logistics: None, + combat: CombatStats::default(), }); // dwarf_engineer.json shape — capturable, premium ransom multiplier, // AP capacity 6 (tier-1 specialist ladder). @@ -54,6 +55,7 @@ fn build_engineer_catalog() -> UnitsCatalog { ransom_multiplier: 3.0, build_cost: 70, logistics: None, + combat: CombatStats::default(), }); cat } diff --git a/src/simulator/crates/mc-turn/tests/capture_pvp_end_to_end.rs b/src/simulator/crates/mc-turn/tests/capture_pvp_end_to_end.rs index 4158359a..98882a99 100644 --- a/src/simulator/crates/mc-turn/tests/capture_pvp_end_to_end.rs +++ b/src/simulator/crates/mc-turn/tests/capture_pvp_end_to_end.rs @@ -43,7 +43,7 @@ use mc_replay::TurnEvent; use mc_turn::{ capture::CapturePosture, AttackRequest, GameState, MapUnit, PlayerState, TurnProcessor, }; -use mc_units::{UnitStats as CatalogUnitStats, UnitsCatalog}; +use mc_units::{CombatStats, UnitStats as CatalogUnitStats, UnitsCatalog}; fn build_capturable_catalog() -> UnitsCatalog { let mut cat = UnitsCatalog::new(); @@ -56,6 +56,7 @@ fn build_capturable_catalog() -> UnitsCatalog { ransom_multiplier: 2.0, build_cost: 0, logistics: None, + combat: CombatStats::default(), }); cat.insert(CatalogUnitStats { id: "worker".into(), @@ -66,6 +67,7 @@ fn build_capturable_catalog() -> UnitsCatalog { ransom_multiplier: 2.0, build_cost: 70, logistics: None, + combat: CombatStats::default(), }); cat }