X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FRecycle.js;h=e31badbe7e400134933ada7ed159e2597d793002;hb=90e814b6717b1ba932bba0e52958f54f814a2503;hp=d99228cd0d6b7aab2c16045dfb25617dc429118a;hpb=78d64531113d4b5045ff588dd43f301a332ebae8;p=vchess.git diff --git a/client/src/variants/Recycle.js b/client/src/variants/Recycle.js index d99228cd..e31badbe 100644 --- a/client/src/variants/Recycle.js +++ b/client/src/variants/Recycle.js @@ -14,18 +14,27 @@ export const VariantRules = class RecycleRules extends ChessRules { static ParseFen(fen) { const fenParts = fen.split(" "); return Object.assign(ChessRules.ParseFen(fen), { - reserve: fenParts[5], + reserve: fenParts[5] }); } - static GenRandInitFen() { - return ChessRules.GenRandInitFen() + " 0000000000"; + getEpSquare(moveOrSquare) { + if (typeof moveOrSquare !== "object" || moveOrSquare.vanish.length > 0) + return super.getEpSquare(moveOrSquare); + // Landing move: no en-passant + return undefined; + } + + static GenRandInitFen(randomness) { + return ChessRules.GenRandInitFen(randomness) + " 0000000000"; } getFen() { - return ( - super.getFen() + " " + this.getReserveFen() - ); + return super.getFen() + " " + this.getReserveFen(); + } + + getFenForRepeat() { + return super.getFenForRepeat() + "_" + this.getReserveFen(); } getReserveFen() { @@ -74,7 +83,7 @@ export const VariantRules = class RecycleRules extends ChessRules { } // Used by the interface: - getReservePpath(color, index) { + getReservePpath(index, color) { return color + V.RESERVE_PIECES[index]; }