diff --git a/game/src/game/mod.rs b/game/src/game/mod.rs index 0011a13..661628a 100644 --- a/game/src/game/mod.rs +++ b/game/src/game/mod.rs @@ -96,7 +96,9 @@ impl Game { let hex = Hex::from_tile(play.from); let offset = (piece.player as i8 * 2) - 1; if !piece.promoted && !Hex::is_valid(hex.x() as i8, hex.y() as i8 + offset) { - piece.promoted = true; + if let Some(piece) = &mut self.board.pieces[pid as usize] { + piece.promoted = true; + } } true } else { false }