diff --git a/src/simulator/crates/mc-turn/src/processor.rs b/src/simulator/crates/mc-turn/src/processor.rs index bb6d5ce9..60e2e734 100644 --- a/src/simulator/crates/mc-turn/src/processor.rs +++ b/src/simulator/crates/mc-turn/src/processor.rs @@ -1349,7 +1349,8 @@ impl TurnProcessor { // Remove killed units in reverse order per player to keep indices valid. // Credit strategic resources back to the owning player on death. - let mut kills_by_player: HashMap> = HashMap::new(); + // BTreeMap ensures players are processed in deterministic index order. + let mut kills_by_player: std::collections::BTreeMap> = std::collections::BTreeMap::new(); for &(pi, ui) in &killed { kills_by_player.entry(pi).or_default().push(ui); }