Add Pandemonium
[vchess.git] / client / src / variants / Omega.js
index bac8d50..a688a2e 100644 (file)
@@ -278,12 +278,9 @@ export class OmegaRules extends ChessRules {
 
   getPotentialMovesFrom([x, y]) {
     switch (this.getPiece(x, y)) {
-      case V.CHAMPION:
-        return this.getPotentialChampionMoves([x, y]);
-      case V.WIZARD:
-        return this.getPotentialWizardMoves([x, y]);
-      default:
-        return super.getPotentialMovesFrom([x, y]);
+      case V.CHAMPION: return this.getPotentialChampionMoves([x, y]);
+      case V.WIZARD: return this.getPotentialWizardMoves([x, y]);
+      default: return super.getPotentialMovesFrom([x, y]);
     }
   }
 
@@ -312,18 +309,12 @@ export class OmegaRules extends ChessRules {
     return moves;
   }
 
-  addPawnMoves([x1, y1], [x2, y2], moves, promotions) {
-    let finalPieces = [V.PAWN];
+  addPawnMoves([x1, y1], [x2, y2], moves) {
     const color = this.turn;
     const lastRank = (color == "w" ? 1 : V.size.x - 2);
-    if (x2 == lastRank) {
-      // promotions arg: special override for Hiddenqueen variant
-      if (!!promotions) finalPieces = promotions;
-      else if (!!V.PawnSpecs.promotions) finalPieces = V.PawnSpecs.promotions;
-    }
-    let tr = null;
+    const finalPieces = (x2 == lastRank ? V.PawnSpecs.promotions : [V.PAWN]);
     for (let piece of finalPieces) {
-      tr = (piece != V.PAWN ? { c: color, p: piece } : null);
+      const tr = (piece != V.PAWN ? { c: color, p: piece } : null);
       moves.push(this.getBasicMove([x1, y1], [x2, y2], tr));
     }
   }