From bc5d61a77f1b9f2b917221ec3f5e306818c67cf8 Mon Sep 17 00:00:00 2001 From: Benjamin Auder <benjamin.auder@somewhere> Date: Mon, 20 Jun 2022 22:33:32 +0200 Subject: [PATCH] Fix mushroom effect: more consistent --- variants/Chakart/class.js | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/variants/Chakart/class.js b/variants/Chakart/class.js index a0c854b..61a8ee2 100644 --- a/variants/Chakart/class.js +++ b/variants/Chakart/class.js @@ -640,7 +640,7 @@ export default class ChakartRules extends ChessRules { } getMushroomEffect(move) { - if (move.koopa) + if (move.koopa || typeof move.start.x == "string") return null; let step = [move.end.x - move.start.x, move.end.y - move.start.y]; if ([0, 1].some(i => Math.abs(step[i]) >= 2 && Math.abs(step[1-i]) != 1)) { @@ -652,24 +652,11 @@ export default class ChakartRules extends ChessRules { const afterSquare = [nextSquare[0] + step[0], nextSquare[1] + step[1]]; let nextMove = null; - this.playOnBoard(move); //HACK for getBasicMove() below - if ( - this.onBoard(nextSquare[0], nextSquare[1]) && - ['k', 'p', 'n'].includes(move.vanish[0].p) && - !['w', 'b'].includes(this.getColor(nextSquare[0], nextSquare[1])) - ) { - // Speed up non-sliders + if (this.onBoard(nextSquare[0], nextSquare[1])) { + this.playOnBoard(move); //HACK for getBasicMove() nextMove = this.getBasicMove([move.end.x, move.end.y], nextSquare); + this.undoOnBoard(move); } - else if ( - this.onBoard(afterSquare[0], afterSquare[1]) && - this.board[nextSquare[0]][nextSquare[1]] != "" && - this.getColor(nextSquare[0], nextSquare[1]) != 'a' && - this.getColor(afterSquare[0], afterSquare[1]) != this.turn - ) { - nextMove = this.getBasicMove([move.end.x, move.end.y], afterSquare); - } - this.undoOnBoard(move); return nextMove; } -- 2.44.0