From f3c10e18c1585f043e22b875e9755814fa9218d7 Mon Sep 17 00:00:00 2001
From: Benjamin Auder <benjamin.auder@somewhere>
Date: Thu, 22 Nov 2018 02:14:17 +0100
Subject: [PATCH] Probably fixed Magnetic chess

---
 public/javascripts/base_rules.js        | 3 ++-
 public/javascripts/components/game.js   | 6 +++---
 public/javascripts/variants/Magnetic.js | 2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/public/javascripts/base_rules.js b/public/javascripts/base_rules.js
index d6380675..e757f7ac 100644
--- a/public/javascripts/base_rules.js
+++ b/public/javascripts/base_rules.js
@@ -1035,7 +1035,8 @@ class ChessRules
 		else
 		{
 			// Piece movement
-			return piece.toUpperCase() + (move.vanish.length > 1 ? "x" : "") + finalSquare;
+			return piece.toUpperCase() +
+				(move.vanish.length > move.appear.length ? "x" : "") + finalSquare;
 		}
 	}
 
diff --git a/public/javascripts/components/game.js b/public/javascripts/components/game.js
index 5ad33d07..5690eb14 100644
--- a/public/javascripts/components/game.js
+++ b/public/javascripts/components/game.js
@@ -574,7 +574,7 @@ Vue.component('my-game', {
 			this.newGame("computer");
 		},
 		newGame: function(mode, fenInit, color, oppId, moves, continuation) {
-			const fen = "rbnqknbr/pppppppp/8/8/8/8/PPPPPPPP/BQRKNNRB 1111";//fenInit || VariantRules.GenRandInitFen();
+			const fen = fenInit || VariantRules.GenRandInitFen();
 			console.log(fen); //DEBUG
 			this.score = "*";
 			if (mode=="human" && !oppId)
@@ -634,7 +634,7 @@ Vue.component('my-game', {
 			}
 			else //against computer
 			{
-				this.mycolor = "w";//Math.random() < 0.5 ? 'w' : 'b';
+				this.mycolor = Math.random() < 0.5 ? 'w' : 'b';
 				if (this.mycolor == 'b')
 					setTimeout(this.playComputerMove, 500);
 			}
@@ -672,7 +672,7 @@ Vue.component('my-game', {
 				this.selectedPiece.style.display = "inline-block";
 				this.selectedPiece.style.zIndex = 3000;
 				let startSquare = this.getSquareFromId(e.target.parentNode.id);
-				this.possibleMoves = true //this.mode!="idle" && this.vr.canIplay(this.mycolor,startSquare)
+				this.possibleMoves = this.mode!="idle" && this.vr.canIplay(this.mycolor,startSquare)
 					? this.vr.getPossibleMovesFrom(startSquare)
 					: [];
 				console.log(this.possibleMoves);
diff --git a/public/javascripts/variants/Magnetic.js b/public/javascripts/variants/Magnetic.js
index 4c286e1d..7fecf780 100644
--- a/public/javascripts/variants/Magnetic.js
+++ b/public/javascripts/variants/Magnetic.js
@@ -14,7 +14,7 @@ class MagneticRules extends ChessRules
 			if (newMove_s.length == 1)
 				moves.push(newMove_s[0]);
 			else //promotion
-				moves = moves.concat(moves, newMove_s);
+				moves = moves.concat(newMove_s);
 		});
 		return moves;
 	}
-- 
2.48.1