X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FKoopa.js;h=8d4f0e97ff7d9ff6728191797bece4fd87a0263f;hp=27c147a98ce91f5f61dbd521c0844f2e92485ef1;hb=fccaa87852129f8f27c66a9d3b626f91868109c8;hpb=85a1dcbab08bdab51c26c27fb8df95bc461617d4 diff --git a/client/src/variants/Koopa.js b/client/src/variants/Koopa.js index 27c147a9..8d4f0e97 100644 --- a/client/src/variants/Koopa.js +++ b/client/src/variants/Koopa.js @@ -219,14 +219,14 @@ export class KoopaRules extends ChessRules { // Forbid kicking own king out const color = this.turn; return moves.filter(m => { - const kingAppear = m.appear.some(a => a.c == color && a.p == V.KING); - return m.vanish.every(v => { - return ( - v.c != color || - !["k", "l"].includes(v.p) || - (v.p == "k" && kingAppear) - ); - }); + const kingVanish = + m.vanish.some(v => v.c == color && ['k', 'l'].includes(v.p)); + if (kingVanish) { + const kingAppear = + m.appear.some(a => a.c == color && ['k', 'l'].includes(a.p)); + return kingAppear; + } + return true; }); }