+ return Object.assign(ChessRules.ParseFen(fen), {
+ reserve: fenParts[5],
+ promoted: fenParts[6]
+ });
+ }
+
+ 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 -";