X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FKoopa.js;h=57d19b929f92e4decffa8aceee8a4667829f66f0;hp=8d4f0e97ff7d9ff6728191797bece4fd87a0263f;hb=f9f6716634c2faf722b174a9bab7f704a0e65f24;hpb=fccaa87852129f8f27c66a9d3b626f91868109c8 diff --git a/client/src/variants/Koopa.js b/client/src/variants/Koopa.js index 8d4f0e97..57d19b92 100644 --- a/client/src/variants/Koopa.js +++ b/client/src/variants/Koopa.js @@ -118,7 +118,17 @@ export class KoopaRules extends ChessRules { } getPotentialMovesFrom([x, y]) { - let moves = super.getPotentialMovesFrom([x, y]); + let moves = super.getPotentialMovesFrom([x, y]).filter(m => { + if ( + m.vanish[0].p != V.PAWN || + m.appear[0].p == V.PAWN || + m.vanish.length == 1 + ) { + return true; + } + // Pawn promotion, "capturing": remove duplicates + return m.appear[0].p == V.QUEEN; + }); // Complete moves: stuns & kicks let promoteAfterStun = []; const color = this.turn;