X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FMakruk.js;h=75fb1da23c5ce6bdc41ec41152583ebf485db40c;hb=f5cd0fb81ec9bd790d812c9ad02587e50427fcdf;hp=c7dd3430f96c46c0d6400573ea24d6efdc20508a;hpb=7e8a7ea1cb66adb4a987badfb0a3c2f99a21bd0a;p=vchess.git diff --git a/client/src/variants/Makruk.js b/client/src/variants/Makruk.js index c7dd3430..75fb1da2 100644 --- a/client/src/variants/Makruk.js +++ b/client/src/variants/Makruk.js @@ -16,6 +16,10 @@ export class MakrukRules extends ChessRules { return true; } + static get Notoodark() { + return true; + } + static get PawnSpecs() { return Object.assign( {}, @@ -105,6 +109,12 @@ export class MakrukRules extends ChessRules { ); } + isAttacked(sq, color) { + return ( + super.isAttacked(sq, color) || this.isAttackedByPromoted(sq, color) + ); + } + isAttackedByBishop(sq, color) { const forward = (color == 'w' ? 1 : -1); return this.isAttackedBySlideNJump( @@ -126,6 +136,16 @@ export class MakrukRules extends ChessRules { ); } + isAttackedByPromoted(sq, color) { + return super.isAttackedBySlideNJump( + sq, + color, + V.PROMOTED, + V.steps[V.BISHOP], + "oneStep" + ); + } + static get VALUES() { return { p: 1,