X-Git-Url: https://git.auder.net/?p=xogo.git;a=blobdiff_plain;f=variants%2FAntiking2%2Fclass.js;h=55c9229425c0ddf8fafd0264013a368fa08eae5d;hp=ee1030ac3c0d82cd7dc23355862314d6bb08a36d;hb=f31de5e46015a93dca20765da61670035ce8f491;hpb=006c778a7d68e01f635d3d8faa74284512842356 diff --git a/variants/Antiking2/class.js b/variants/Antiking2/class.js index ee1030a..55c9229 100644 --- a/variants/Antiking2/class.js +++ b/variants/Antiking2/class.js @@ -11,8 +11,8 @@ export default class Antiking2Rules extends AbstractAntikingRules { }; } - genRandInitFen(seed) { - const baseFen = super.genRandInitFen(seed); + genRandInitBaseFen() { + const baseFen = super.genRandInitBaseFen(); // Just add an antiking on 3rd ranks let akPos = [3, 3]; if (this.options.randomness >= 1) { @@ -31,10 +31,23 @@ export default class Antiking2Rules extends AbstractAntikingRules { : "") ); }; - return ( - baseFen.replace("p/8", "p/" + antikingLine('b')) - .replace("8/P", antikingLine('w') + "/P") - ); + return { + fen: baseFen.fen.replace("p/8", "p/" + antikingLine('b')) + .replace("8/P", antikingLine('w') + "/P"), + o: baseFen.o + }; + } + + getCastleMoves([x, y]) { + if (this.getPiece(x, y) == 'a') + return []; + return super.getCastleMoves([x, y]); + } + + updateCastleFlags(move) { + if (move.vanish.length > 0 && move.vanish[0].p == 'a') + return; + super.updateCastleFlags(move); } };