X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FRookpawns.js;h=1daae907556a43360be5ea1ed575d184893771d1;hb=7e8a7ea1cb66adb4a987badfb0a3c2f99a21bd0a;hp=abbd78533348db654fa4f4f4e521a7f480994c61;hpb=737a5dafb39740ebe304b8d0a82df85070def571;p=vchess.git diff --git a/client/src/variants/Rookpawns.js b/client/src/variants/Rookpawns.js index abbd7853..1daae907 100644 --- a/client/src/variants/Rookpawns.js +++ b/client/src/variants/Rookpawns.js @@ -1,6 +1,7 @@ import { ChessRules } from "@/base_rules"; export class RookpawnsRules extends ChessRules { + static get PawnSpecs() { return Object.assign( {}, @@ -36,8 +37,12 @@ export class RookpawnsRules extends ChessRules { } // Did a black pawn promote? Can the rook take it? const qIdx = this.board[7].findIndex(cell => cell[1] == V.QUEEN); - if (qIdx >= 0 && !super.isAttackedByRook([7, qIdx], 'w')) + if ( + qIdx >= 0 && + (this.turn == 'b' || !super.isAttackedByRook([7, qIdx], 'w')) + ) { return "0-1"; + } if (!this.atLeastOneMove()) return "1/2"; return "*"; } @@ -48,4 +53,5 @@ export class RookpawnsRules extends ChessRules { static get SEARCH_DEPTH() { return 4; } + };