From 3d8d68e0c5f465813214e2ea8485dd872b5761e3 Mon Sep 17 00:00:00 2001 From: yukirij Date: Sat, 17 Aug 2024 20:46:29 -0700 Subject: [PATCH] Fix server-side promotion handling. --- game/src/game/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 }