Add Koopa chess, fix Apocalypse and Dice variants
[vchess.git] / client / src / components / Board.vue
index 70c46b9..5ed351a 100644 (file)
@@ -60,10 +60,13 @@ export default {
     if (!!lm) {
       if (!Array.isArray(lm)) lm = [lm];
       lm.forEach(m => {
-        if (V.OnBoard(m.start.x, m.start.y))
+        if (!m.start.noHighlight && V.OnBoard(m.start.x, m.start.y))
           lmHighlights[m.start.x + sizeX * m.start.y] = true;
-        if (V.OnBoard(m.end.x, m.end.y))
+        if (!m.end.noHighlight && V.OnBoard(m.end.x, m.end.y))
           lmHighlights[m.end.x + sizeX * m.end.y] = true;
+        if (!!m.start.toplay)
+          // For Dice variant (at least?)
+          lmHighlights[m.start.toplay[0] + sizeX * m.start.toplay[1]] = true;
       });
     }
     const showLight = (
@@ -188,7 +191,8 @@ export default {
                   "incheck-light":
                     showCheck && lightSquare && incheckSq[ci][cj],
                   "incheck-dark":
-                    showCheck && !lightSquare && incheckSq[ci][cj]
+                    showCheck && !lightSquare && incheckSq[ci][cj],
+                  "hover-highlight": this.vr.hoverHighlight(ci, cj)
                 },
                 attrs: {
                   id: getSquareId({ x: ci, y: cj })
@@ -637,6 +641,7 @@ export default {
           const color = this.analyze ? this.vr.turn : this.userColor;
           if (this.vr.canIplay(color, startSquare))
             this.possibleMoves = this.vr.getPossibleMovesFrom(startSquare);
+          else return;
           // For potential drag'n drop, remember start coordinates
           // (to center the piece on mouse cursor)
           const rect = parent.getBoundingClientRect();
@@ -901,6 +906,10 @@ img.ghost
 
 // TODO: no predefined highlight colors, but layers. How?
 
+.hover-highlight:hover
+  // TODO: color dependant on board theme, or inner border...
+  background-color: #C571E6 !important
+
 .light-square.lichess.highlight-light
   background-color: #cdd26a
 .dark-square.lichess.highlight-dark
@@ -915,4 +924,9 @@ img.ghost
   background-color: #9f9fff
 .dark-square.chesstempo.highlight-dark
   background-color: #557fff
+
+.light-square.orangecc.highlight-light
+  background-color: #fef273
+.dark-square.orangecc.highlight-dark
+  background-color: #e8c525
 </style>