X-Git-Url: https://git.auder.net/assets/css/current/git-logo.png?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FPandemonium.js;h=af87b270c2f9c83c2a213b3b2da9e4eb8eb67b18;hb=b2511e7ed206464ec369920277f474289c33ec66;hp=dae088612b19282abfefabd4ba8030e7fb39cc99;hpb=99ba622adc5909f59962379b94a2b20da4ad84e6;p=vchess.git diff --git a/client/src/variants/Pandemonium.js b/client/src/variants/Pandemonium.js index dae08861..af87b270 100644 --- a/client/src/variants/Pandemonium.js +++ b/client/src/variants/Pandemonium.js @@ -223,6 +223,7 @@ export class PandemoniumRules extends ChessRules { getReserveMoves([x, y]) { const color = this.turn; + const oppCol = V.GetOppCol(color); const p = V.RESERVE_PIECES[y]; if (this.reserve[color][p] == 0) return []; const bounds = (p == V.PAWN ? [1, V.size.x - 1] : [0, V.size.x]); @@ -541,7 +542,7 @@ export class PandemoniumRules extends ChessRules { const steps = V.steps[V.KNIGHT].concat(V.steps[V.ROOK]).concat(V.steps[V.BISHOP]); return ( - super.isAttackedBySlideNJump(sq, color, steps, V.SCEPTER, "oneStep") + super.isAttackedBySlideNJump(sq, color, V.SCEPTER, steps, "oneStep") ); } @@ -549,7 +550,7 @@ export class PandemoniumRules extends ChessRules { return ( super.isAttackedBySlideNJump(sq, color, V.steps[V.BISHOP], V.HORSE) || super.isAttackedBySlideNJump( - sq, color, V.steps[V.ROOK], V.HORSE, "oneStep") + sq, color, V.HORSE, V.steps[V.ROOK], "oneStep") ); } @@ -557,7 +558,7 @@ export class PandemoniumRules extends ChessRules { return ( super.isAttackedBySlideNJump(sq, color, V.steps[V.ROOK], V.DRAGON) || super.isAttackedBySlideNJump( - sq, color, V.steps[V.BISHOP], V.DRAGON, "oneStep") + sq, color, V.DRAGON, V.steps[V.BISHOP], "oneStep") ); } @@ -648,7 +649,7 @@ export class PandemoniumRules extends ChessRules { } updateCastleFlags(move, piece) { - if (move.appear.length == 2) { + if (piece == V.KING && move.appear.length == 2) { // Castling (only move which disable flags) this.castleFlags[move.appear[0].c][0] = 10; this.castleFlags[move.appear[0].c][1] = 10;