X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FDark.js;h=96163bfb00715c62be201000d04c0e405b0f7eea;hb=c3d16e78d99e27ddd294647f8f97751727069d5a;hp=6cf3b6787996314abc0ac38c0a0292db7ad50c59;hpb=71ef1664983cd58db3c3bbfdf6cb7c362474e9a5;p=vchess.git diff --git a/client/src/variants/Dark.js b/client/src/variants/Dark.js index 6cf3b678..96163bfb 100644 --- a/client/src/variants/Dark.js +++ b/client/src/variants/Dark.js @@ -63,6 +63,24 @@ export const VariantRules = class DarkRules extends ChessRules { this.enlightened["w"][move.end.x][move.end.y] = true; for (let move of movesBlack) this.enlightened["b"][move.end.x][move.end.y] = true; + // Include en-passant capturing square if any: + let moves = currentTurn == "w" ? movesWhite : movesBlack; + for (let m of moves) { + if ( + m.appear[0].p == V.PAWN && + m.vanish.length == 2 && + m.vanish[1].x != m.end.x + ) { + const psq = m.vanish[1]; + this.enlightened[currentTurn][psq.x][psq.y] = true; + break; + } + } + } + + filterValid(moves) { + // Used in the interface + return moves; } // Has to be redefined to avoid an infinite loop