return V.ShowMoves;
}
+ // Sometimes moves must remain hidden until game ends
+ static get SomeHiddenMoves() {
+ return false;
+ }
+ get someHiddenMoves() {
+ return V.SomeHiddenMoves;
+ }
+
// Generally true, unless the variant includes random effects
static get CorrConfirm() {
return true;
if (
// NOTE: "castling" arg is used by some variants (Monster),
// where "isAttacked" is overloaded in an infinite-recursive way.
+ // TODO: not used anymore (Monster + Doublemove2 are simplified).
(!castleInCheck && this.isAttacked([x, i], oppCol, "castling")) ||
(this.board[x][i] != V.EMPTY &&
// NOTE: next check is enough, because of chessboard constraints