Several small improvements + integrate options + first working draft of Cwda
[vchess.git] / client / src / variants / Knightpawns.js
index 6b7415c..bf3e773 100644 (file)
@@ -1,6 +1,11 @@
 import { ChessRules } from "@/base_rules";
 
 export class KnightpawnsRules extends ChessRules {
+
+  static get Options() {
+    return null;
+  }
+
   static get PawnSpecs() {
     return Object.assign(
       {},
@@ -34,14 +39,19 @@ export class KnightpawnsRules extends ChessRules {
       if (this.board.every(b => b.every(cell => !cell || cell[0] != c)))
         return (c == 'w' ? "0-1" : "1-0");
     }
-    // Did a black pawn promote? Can the rook take it?
+    // Did a black pawn promote? Can the knight take it?
     const qIdx = this.board[7].findIndex(cell => cell[1] == V.QUEEN);
-    if (qIdx >= 0 && !super.isAttackedByKnight([7, qIdx], 'w'))
+    if (
+      qIdx >= 0 &&
+      (this.turn == 'b' || !super.isAttackedByKnight([7, qIdx], 'w'))
+    ) {
       return "0-1";
+    }
     if (!this.atLeastOneMove()) return "1/2";
     return "*";
   }
 
   postPlay() {}
   postUndo() {}
+
 };