From b19c68965d6249ab4d7873b99e2f22471049b2c1 Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Thu, 23 Jul 2020 16:24:44 +0200 Subject: [PATCH 1/1] Fix Omega promotions --- client/src/variants/Omega.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/client/src/variants/Omega.js b/client/src/variants/Omega.js index 1fde5821..355960b7 100644 --- a/client/src/variants/Omega.js +++ b/client/src/variants/Omega.js @@ -307,6 +307,22 @@ export class OmegaRules extends ChessRules { return moves; } + addPawnMoves([x1, y1], [x2, y2], moves, promotions) { + let finalPieces = [V.PAWN]; + const color = this.turn; + const lastRank = (color == "w" ? 1 : V.size.x - 2); + if (x2 == lastRank) { + // promotions arg: special override for Hiddenqueen variant + if (!!promotions) finalPieces = promotions; + else if (!!V.PawnSpecs.promotions) finalPieces = V.PawnSpecs.promotions; + } + let tr = null; + for (let piece of finalPieces) { + tr = (piece != V.PAWN ? { c: color, p: piece } : null); + moves.push(this.getBasicMove([x1, y1], [x2, y2], tr)); + } + } + getPotentialChampionMoves(sq) { return this.getSlideNJumpMoves(sq, V.steps[V.CHAMPION], "oneStep"); } -- 2.44.0