Fix bug in sentry attacked detections when pushing lancers
[vchess.git] / client / src / variants / Cannibal.js
index 1508f67..7860ab0 100644 (file)
@@ -166,7 +166,8 @@ export class CannibalRules extends ChessRules {
 
   getAllValidMoves() {
     const moves = super.getAllValidMoves();
-    if (moves.some(m => m.vanish.length == 2)) return V.KeepCaptures(moves);
+    if (moves.some(m => m.vanish.length == 2 && m.appear.length == 1))
+      return V.KeepCaptures(moves);
     return moves;
   }
 
@@ -180,7 +181,7 @@ export class CannibalRules extends ChessRules {
       this.castleFlags[c] = [V.size.y, V.size.y];
       return;
     }
-    super.updateCastleFlags(move);
+    super.updateCastleFlags(move, piece);
   }
 
   postUndo(move) {