diff --git a/src/simulator/api-gdext/src/lib.rs b/src/simulator/api-gdext/src/lib.rs index 553f38d6..02b3f967 100644 --- a/src/simulator/api-gdext/src/lib.rs +++ b/src/simulator/api-gdext/src/lib.rs @@ -2980,19 +2980,24 @@ impl GdGameState { let city_col = city_col as i32; let city_row = city_row as i32; - let units = (0..3) - .map(|i| mc_turn::MapUnit { - col: city_col + i, - row: city_row, - hp: 60, - max_hp: 60, - attack: 12, - defense: 1, - is_fortified: false, - unit_id: "dwarf_warrior".to_string(), - held_resources: Vec::new(), - patrol_order: None, - ..Default::default() + let units: Vec = (0..3) + .map(|i| { + let unit_u32 = self.inner.next_unit_id; + self.inner.next_unit_id = self.inner.next_unit_id.saturating_add(1); + mc_turn::MapUnit { + id: unit_u32, + col: city_col + i, + row: city_row, + hp: 60, + max_hp: 60, + attack: 12, + defense: 1, + is_fortified: false, + unit_id: "dwarf_warrior".to_string(), + held_resources: Vec::new(), + patrol_order: None, + ..Default::default() + } }) .collect();