X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FWormhole.js;h=04699b25d046fb60cea520cf1659bff6ea8d6910;hb=f9c36b2da005b596ad656f4b6cc4e09ef3c656f1;hp=76f6d127ad5de4acff7b6587abd0818fb6c7fb79;hpb=8d1fcc37a933554e13bc996b5611f8307a4701e8;p=vchess.git diff --git a/client/src/variants/Wormhole.js b/client/src/variants/Wormhole.js index 76f6d127..04699b25 100644 --- a/client/src/variants/Wormhole.js +++ b/client/src/variants/Wormhole.js @@ -154,16 +154,16 @@ export const VariantRules = class WormholeRules extends ChessRules { } } // Captures - const finalPieces = x + shiftX == lastRank - ? [V.ROOK, V.KNIGHT, V.BISHOP, V.QUEEN] - : [V.PAWN]; for (let shiftY of [-1, 1]) { const sq = this.getSquareAfter([x,y], [shiftX,shiftY]); if ( - sq && + !!sq && this.board[sq[0]][sq[1]] != V.EMPTY && this.canTake([x, y], [sq[0], sq[1]]) ) { + const finalPieces = sq[0] == lastRank + ? [V.ROOK, V.KNIGHT, V.BISHOP, V.QUEEN] + : [V.PAWN]; for (let piece of finalPieces) { moves.push( this.getBasicMove([x, y], [sq[0], sq[1]], { @@ -295,7 +295,7 @@ export const VariantRules = class WormholeRules extends ChessRules { const piece = this.getPiece(move.start.x, move.start.y); // Indicate start square + dest square, because holes distort the board let notation = - piece.toUpperCase() + + (piece != V.PAWN ? piece.toUpperCase() : "") + V.CoordsToSquare(move.start) + (move.vanish.length > move.appear.length ? "x" : "") + V.CoordsToSquare(move.end);