X-Git-Url: https://git.auder.net/?p=xogo.git;a=blobdiff_plain;f=variants%2FChakart%2Fclass.js;h=5202b489dfeaad00f5a74cac6f4a678a87a7cc94;hp=d804548e0c0d3ffe74537de3a3b2d13ccdc8f162;hb=b9877ed29697640d72b8f3d89848863fc87bd7e8;hpb=dc10e429231932c19da6d1ff2ce98c7a042829ab diff --git a/variants/Chakart/class.js b/variants/Chakart/class.js index d804548..5202b48 100644 --- a/variants/Chakart/class.js +++ b/variants/Chakart/class.js @@ -312,7 +312,7 @@ export default class ChakartRules extends ChessRules { moves.push(this.getBasicMove([x, y], [x + shiftX, nextY])); } } - this.pawnPostProcess(moves, color, oppCol); + moves = super.pawnPostProcess(moves, color, oppCol); // Add mushroom on before-last square (+ potential segments) moves.forEach(m => { let [mx, my] = [x, y]; @@ -472,8 +472,7 @@ export default class ChakartRules extends ChessRules { ) ) { // "Forgotten" promotion, which occurred after some effect - let moves = [move]; - super.pawnPostProcess(moves, color, C.GetOppCol(color)); + let moves = super.pawnPostProcess([move], color, C.GetOppCol(color)); super.showChoices(moves, r); } else @@ -481,6 +480,8 @@ export default class ChakartRules extends ChessRules { } computeNextMove(move) { + if (move.koopa) + return null; // Set potential random effects, so that play() is deterministic // from opponent viewpoint: const endPiece = this.getPiece(move.end.x, move.end.y); @@ -641,6 +642,7 @@ export default class ChakartRules extends ChessRules { p: this.getPiece(move.start.x, move.start.y) })); } + em.koopa = true; //avoid applying effect break; case "chomp": // Eat piece