X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FSuction.js;h=d12f83d2eb3b83658e6e3119332fe29f080faaba;hb=7e8a7ea1cb66adb4a987badfb0a3c2f99a21bd0a;hp=4ddffbe45b1ca75b4f5d1bdc4e1229c1504024c7;hpb=2f8dce6a81063289d9d4cbca7971f80b1b194b84;p=vchess.git diff --git a/client/src/variants/Suction.js b/client/src/variants/Suction.js index 4ddffbe4..d12f83d2 100644 --- a/client/src/variants/Suction.js +++ b/client/src/variants/Suction.js @@ -1,6 +1,17 @@ import { ChessRules, PiPo, Move } from "@/base_rules"; +import { SuicideRules } from "@/variants/Suicide"; export class SuctionRules extends ChessRules { + + static get PawnSpecs() { + return Object.assign( + {}, + ChessRules.PawnSpecs, + // No promotions: + { promotions: [V.PAWN] } + ); + } + static get HasFlags() { return false; } @@ -132,7 +143,6 @@ export class SuctionRules extends ChessRules { filterValid(moves) { if (moves.length == 0) return []; - const color = this.turn; return moves.filter(m => { const L = this.cmoves.length; //at least 1: init from FEN return !this.oppositeMoves(this.cmoves[L - 1], m); @@ -141,7 +151,7 @@ export class SuctionRules extends ChessRules { static GenRandInitFen(randomness) { // Add empty cmove: - return ChessRules.GenRandInitFen(randomness).slice(0, -6) + "- -"; + return SuicideRules.GenRandInitFen(randomness) + " -"; } getCmoveFen() { @@ -226,4 +236,5 @@ export class SuctionRules extends ChessRules { finalSquare ); } + };