TODO: Cannibal + pawnfall, at least, fail
authorBenjamin Auder <benjamin.auder@somewhere>
Thu, 12 May 2022 15:15:49 +0000 (17:15 +0200)
committerBenjamin Auder <benjamin.auder@somewhere>
Thu, 12 May 2022 15:15:49 +0000 (17:15 +0200)
base_rules.js
variants/Atomic/class.js

index e7d58b2..a2cb951 100644 (file)
@@ -1347,6 +1347,8 @@ export default class ChessRules {
     });
   }
 
+// TODO: pawnfall + Cannibal issues
+
   pawnPostProcess(moves, color, oppCol) {
     let moreMoves = [];
     const lastRank = (color == "w" ? 0 : this.size.x - 1);
@@ -2154,6 +2156,10 @@ export default class ChessRules {
       return;
     }
     let movingPiece = this.getDomPiece(move.start.x, move.start.y);
+    if (!movingPiece) { //TODO this shouldn't be required
+      callback();
+      return;
+    }
     const initTransform = movingPiece.style.transform;
     let chessboard =
       document.getElementById(this.containerId).querySelector(".chessboard");
index b0662d3..924d222 100644 (file)
@@ -30,7 +30,7 @@ export default class AtomicRules extends ChessRules {
 
   canIplay(x, y) {
     if (this.options["rempawn"] && this.movesCount == 0)
-      return (this.turn == side && this.getPiece(x, y) == "p");
+      return (this.playerColor == this.turn && this.getPiece(x, y) == "p");
     return super.canIplay(x, y);
   }