X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fvariants%2FOtage.js;h=451059aaf758a7ed0321c6e1137efe62e853feb5;hb=c3145c379cc787d8a9ee7df5c76cb9c8236923a0;hp=2a8891ff6e8c0fa39dac74fbbcc5b00c544cdc8f;hpb=4a3cbf1d8351a20dd3293b9f463f07997886d223;p=vchess.git diff --git a/client/src/variants/Otage.js b/client/src/variants/Otage.js index 2a8891ff..451059aa 100644 --- a/client/src/variants/Otage.js +++ b/client/src/variants/Otage.js @@ -704,8 +704,8 @@ export class OtageRules extends ChessRules { const lm = this.lastMoveEnd[L-1]; const piece = !!lm - ? lm.p : - this.getPiece(move.vanish[0].x, move.vanish[0].y); + ? lm.p + : this.getPiece(move.vanish[0].x, move.vanish[0].y); if (piece == V.KING) this.kingPos[c] = [move.appear[0].x, move.appear[0].y]; this.updateCastleFlags(move, piece); @@ -762,6 +762,13 @@ export class OtageRules extends ChessRules { postUndo(move) { if (this.getPiece(move.start.x, move.start.y) == V.KING) this.kingPos[this.turn] = [move.start.x, move.start.y]; + else { + // Check if a king is being released: put it on releasing square + const L = this.lastMoveEnd.length; + const lm = this.lastMoveEnd[L-1]; + if (!!lm && lm.p == V.KING) + this.kingPos[this.turn] = [move.start.x, move.start.y]; + } } getCurrentScore() {