X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FBalaklava.js;h=4a720f04548cb3f8659fc49dc2529b90721d0170;hp=3a04e1d0669bffe998970d286df6150957828f70;hb=f9f6716634c2faf722b174a9bab7f704a0e65f24;hpb=a0224b03c91dd83a6e133378b85591a1a64e427b diff --git a/client/src/variants/Balaklava.js b/client/src/variants/Balaklava.js index 3a04e1d0..4a720f04 100644 --- a/client/src/variants/Balaklava.js +++ b/client/src/variants/Balaklava.js @@ -61,8 +61,19 @@ export class BalaklavaRules extends ChessRules { : super.getPotentialMovesFrom([x, y]); if (piece != V.KING) { // Add non-capturing knight movements - const lastRank = (this.turn == 'w' ? 0 : 7); + const color = this.turn; + const lastRank = (color == 'w' ? 0 : 7); V.steps[V.KNIGHT].forEach(step => { + // Pawns cannot go backward: + if ( + piece == V.PAWN && + ( + (color == 'w' && step[0] > 0) || + (color == 'b' && step[0] < 0) + ) + ) { + return; + } const [i, j] = [x + step[0], y + step[1]]; if ( V.OnBoard(i, j) &&