A few fixes (for updateCastleFlags()) + add Madhouse and Pocketknight variants
[vchess.git] / client / src / variants / Teleport.js
index 6cf14a8..eadaf13 100644 (file)
@@ -135,13 +135,6 @@ export class TeleportRules extends ChessRules {
     return super.underCheck(color);
   }
 
-  getCurrentScore() {
-    if (this.subTurn == 2)
-      // Move not over
-      return "*";
-    return super.getCurrentScore();
-  }
-
   doClick(square) {
     if (isNaN(square[0])) return null;
     // If subTurn == 2 && square is empty && !underCheck, then teleport
@@ -228,28 +221,8 @@ export class TeleportRules extends ChessRules {
         }
       }
     }
-    else {
-      // Normal move
-      const firstRank = (c == "w" ? V.size.x - 1 : 0);
-      const oppCol = V.GetOppCol(c);
-      const oppFirstRank = V.size.x - 1 - firstRank;
-      if (move.vanish[0].p == V.KING && move.appear.length > 0)
-        this.castleFlags[c] = [V.size.y, V.size.y];
-      else if (
-        move.start.x == firstRank &&
-        this.castleFlags[c].includes(move.start.y)
-      ) {
-        const flagIdx = (move.start.y == this.castleFlags[c][0] ? 0 : 1);
-        this.castleFlags[c][flagIdx] = V.size.y;
-      }
-      if (
-        move.end.x == oppFirstRank &&
-        this.castleFlags[oppCol].includes(move.end.y)
-      ) {
-        const flagIdx = (move.end.y == this.castleFlags[oppCol][0] ? 0 : 1);
-        this.castleFlags[oppCol][flagIdx] = V.size.y;
-      }
-    }
+    // Normal check:
+    super.updateCastleFlags(move, move.vanish[0].p, c);
   }
 
   undo(move) {