From 9e0e6bd3cce2b76127d4e3130b7a0b4529494d64 Mon Sep 17 00:00:00 2001 From: yukirij Date: Wed, 5 Feb 2025 18:02:09 -0800 Subject: [PATCH] Implement king alt move on server. --- game/src/lib.rs | 18 ++++++++++++++++++ game/src/piece/mod.rs | 4 +++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/game/src/lib.rs b/game/src/lib.rs index d6e6834..e7dfa82 100644 --- a/game/src/lib.rs +++ b/game/src/lib.rs @@ -637,6 +637,24 @@ impl Game { } } } + + // Hearth + 3 => { + for target in &self.board.pieces { + if let Some(target) = target { + let tile = self.board.tiles[target.tile as usize]; + if !tile.threat[!target.player as usize] && target.blocking == 0 { + plays.push(PlayInfo { + valid: true, + threat: false, + play: Play::from_alt(piece.tile, target.tile), + check: CheckState::new(), + blocking: 0, + }); + } + } + } + } _ => { } } diff --git a/game/src/piece/mod.rs b/game/src/piece/mod.rs index ef5979b..3473cdd 100644 --- a/game/src/piece/mod.rs +++ b/game/src/piece/mod.rs @@ -125,7 +125,9 @@ pub const PIECES :[PieceClass; PIECES_COUNT] = [ name: "Heart", moves: MoveSet::new() .add(bit(0) | bit(1) | bit(2) | bit(3) | bit(4) | bit(5) | bit(7) | bit(10)), - pmoves: MoveSet::new(), + pmoves: MoveSet::new() + .add(bit(0) | bit(1) | bit(2) | bit(3) | bit(4) | bit(5) | bit(7) | bit(10)) + .add_alt(3), }, ];