From 295480c48fc96444768bb5799b83e7f6bd538aa8 Mon Sep 17 00:00:00 2001 From: Natalie Date: Fri, 17 Apr 2026 05:49:08 -0700 Subject: [PATCH] =?UTF-8?q?fix(@projects/@magic-civilization):=20?= =?UTF-8?q?=F0=9F=90=9B=20fix=20deterministic=20player=20order=20in=20kill?= =?UTF-8?q?s=20processing?= 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/processor.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); }