X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FEightpieces.js;fp=client%2Fsrc%2Fvariants%2FEightpieces.js;h=9ca85956bbd39a66546b90e73a2da514c3e86800;hb=9dca2c935cebcaa3817b4f926f482f9cad4c5b53;hp=81d69d813674a56e7e9cc1a6f97513b8f3b17868;hpb=970b6e201d86067b28d6c7cdf76a72787dc60872;p=vchess.git diff --git a/client/src/variants/Eightpieces.js b/client/src/variants/Eightpieces.js index 81d69d81..9ca85956 100644 --- a/client/src/variants/Eightpieces.js +++ b/client/src/variants/Eightpieces.js @@ -761,6 +761,7 @@ export class EightpiecesRules extends ChessRules { super.isAttacked(sq, color) || this.isAttackedByLancer(sq, color) || this.isAttackedBySentry(sq, color) + // The jailer doesn't capture. ); } @@ -836,6 +837,7 @@ export class EightpiecesRules extends ChessRules { // Helper to check sentries attacks: selfAttack([x1, y1], [x2, y2]) { const color = this.getColor(x1, y1); + const oppCol = V.GetOppCol(color); const sliderAttack = (allowedSteps, lancer) => { const deltaX = x2 - x1, absDeltaX = Math.abs(deltaX); @@ -854,7 +856,7 @@ export class EightpiecesRules extends ChessRules { if ( // NOTE: no need to check OnBoard in this special case (!lancer && this.board[sq[0]][sq[1]] != V.EMPTY) || - (!!lancer && this.getColor(sq[0], sq[1]) != color) + (!!lancer && this.getColor(sq[0], sq[1]) == oppCol) ) { return false; }